Yuriy Dybskiy

Curious JavaScript Engineer, @html5cat

Why Most Mobile Apps Suck or ‘What Mobile Web Devs Can Learn From Game Devs’

Thanks for all the attention this post got on reddit! You guys rock! That’s some 6,584 rocking people :) Join the discussion.

I’ve been arguing recently with a few folks that the reason Facebook mobile apps suck isn’t because they chose HTML5 blend over pure native but rather due to poor execution on their side.

There were a bunch of articles written to support both sides but arguing about it isn’t really productive, is it? Last night I read an amazing article by Patrick Wyatt – The making of Warcraft part 1. I hope you played Warcraft or at least Warcraft 2.

The problems outlined there make our today’s hurtles laughable. Fitting a game into 640Kb of memory, code versioning via “remembering which files are changed on that floppy disk”, huge multiplayer latencies.

We are spoiled these days and some of us got too comfy thinking 3G and LTE can solve all those latency problems for you. The real answer to the problems with most mobile apps these days (including Facebook’s) is Patrick’s another great article – Reducing perceived latency and Mike Krieger’s (Instagram) – Secrets to Lightning Fast Mobile Design slide deck.

Slide 25 sums it up nicely in three ‘easy’ steps:

  1. perform actions optimistically
  2. adaptively pre-load content
  3. move bits when no-one’s watching

The later two are pretty self-explanatory, but I’d like to elaborate a bit more on the first one. First time I saw it I assumed it ment optimizations, but what it really means is optimism.

Be optimistic about the and make the user feel productive. Here’s one of the slides:

Just like Ogre in Warcraft would say “Daboo” once you command to move, it didn’t really mean that all the requests had finished. It was a simple acknowledgment for the user that we got your command.

What if the request fails? Notify user unobtrusively:

At the end of the day, choosing tools you use is important but much more important is how you use them.

In light of some Vancouver game studios shutting down I don’t think people need to be worried – it could be great for many companies if a game dev joined them.

So if you are a dev looking for work in Vancouver – get in touch with Boris Mann or Igor Faletski. They helped me find Unbounce team and I can’t recommend them enough.

If you read this far, follow me on twitter – @dybskiy

Thanks to sidcool1234 for submitting to reddit.

Update 1: reddit reader barsoap pointed out the following:

There’s one keyword here: Immersion. Immersion breakers kill every game, and while break of workflow might not kill an application, it’s definitely going to make it suck. The difference in game vs. app developers here is that game developers focus on immersion from the get-go, even design their games around it, while app developers start off with a set of functionality and, at least hopefully, consider immersion as an afterthought. Do you remember Kai Krause’s early work, such as Kai’s Photo Soap? Those were designed around immersion, not functionality.

Nexus 7 Field Testing

Nexus 7 and Joffre lake (c) Anton Bielousov

Nexus 7 on the rocks (c) juliedoro.com

Some Thoughts on Nexus 7

I’m writing this post from my nexus in a sushi bar.

Is it more convenient than writing on an iPhone? Not really. I still need to have one — for tethering.

The size is amazingly pleasant though. 7 inch narrow screen is very convenient.

It’s a fun experiment — immersing yourself into a new ecosystem. Being surrounded by Apple all the time, having an Android OS is nice for change.

I wanted to have an android device ever since they came out, but iPhone was always superior to Google counterparts. Main reason is Google maps. I bike a lot so having a bike paths layer always appealed to me.

Is nexus 7 superior to Apple’s iPad? Nope, built quality and screen quality are much lower. Price doesn’t really justify it.

What’s interesting is that Apple now has to defend the 7 inch niche and trust me, it’s here to stay.

Jelly Bean is fast. Most apps aren’t though. Chrome is a bit of a disappointment too — browsing in Firefox is much smoother.

Gmail lacks unified inbox. I wonder for how long can Google pretend that people have only one account?

Google maps aren’t very snappy either — apple is still unbeatable here, but the ability to cache certain part of the map really comes handy. I wish they could cache bike path too.

I’ll post the list of nice apps to have later, but for now I must say its a really comfortable form-factor so I’m looking forward to what apple will respond with.

Think Different

Think different, Toronto Subway. My small tribute to Steve

iPad vs. iPad 2 vs. Kindle 3G Part 2

iPad Wi-Fi + 3G 64GB – $550

Right after the release of iPad 2, as expected, the used market for the original iPads got pretty crowded and the prices started to drop. Sure, there were still sellers asking $450 for the Wi-Fi only 16 Gb iPad which was selling at Apple store for $399. But there are always more adequate sellers and I got the top of the line first generation iPad 3G for just $550 including a nice red cover case and Apple warranty. Could not be more happy, right?

iPad vs. iPad 2 vs. Kindle 3G Part 1

For the last couple of months I’ve been using iPads quite extensively and a week ago I sold them all switching to Kindle. But first things first. Here is the chronology of the events:

Inception

Hi everyone, it is finally time to remove some dust from this domain and bring it to life. What will I post here? First of all, everything related to Photography. I really love it and would like to share my experience as much as possible.  Photos will be posted here obviously, some technical reviews. Mobile development is another huge topic I would cover. You are very welcome to leave comments if you want to suggest something or just to say “hi”! どぞよろしくおねがいたします。 P.s.: Here is how my first site looked like in 1998 – turn on time machine. P.p.s.: Inception was a nice movie indeed.