Web Apps Versus Native Apps

Tim Bray has an interestingpost up about mobile web apps versus mobile native apps. It’sworth the read.

I’m not sure I buy Tim’s argument supporting the dilution ofwhat a “web app” is. If a web app is anything that uses data fromthe web, then pretty much everything is a web app now.

In any case, the whole discussion brings me back to the late90s. At the time I worked primarily on platforms featuring thickclient applications (primarily Windows). The web was still largelya toy.

But it was obvious where things were going, so I steered myprojects towards the web, overcoming incredible resistanceamong the teams and among the community. I’m happy I persevered,powering through as technologies like XmlHttpRequest made it aricher, more robust platform.

The Anti-Web Minions

The resistance to the web was largely backed by people whofeared its disruptive nature, worrying that it made the things thatthey know less marketable/relevant (which is also the root of a lotof anti-NoSQL advocacy). Most were professional software developerswho earned their stripes in Win32 and MFC and other thick-clienttechnologies.

The web grew. It certainly didn’t take all software markets (andsome people plying those foundational technologies stillmake most important software. C remains the least sexy languagegoing, but still powers pretty much everything), nor should itever, but for a lot of tasks it was the perfect solution. Itrepresented a tremendous degradation from what waspossible in the native platform (vastly more of a downgradecompared to the modern browser on even mobile devices), but the fewimportant advantages it brought made it a winner.

Along the way there have been a lot of self-interested partiescalling its death. Every time Microsoft rolled out some new clienttechnology, such as WPF, parties like Amazon would release testGUIs showcasing how brilliant the world would be with a fat client,those looking for a salvation from the web would declare it thedeath blow…and then those projects disappeared and the webremained.

I knew WinForms were a non-starter and didn’t waste my time withthem. They died. I knew WPF was a non-starter and didn’t waste mytime with it. It is on life support. I knew Silverlight was anon-starter and didn’t waste my time with it. It, too, is takinglaboured gasps.

Why was that Why, when the client market was a homogenyoverwhelmingly dominated by Windows machines with video cards andplenty of RAM and lots of processing power, did the comparativelycrippled web model own so many markets Back when the web wasactually a pretty miserable stack?

Now look at it: We have a platform with threading, localdatabases, offline utilization, native video and audio,dramatically better scripting performance, vector graphics of allsorts, sockets…it’s insane how much it has improved, even onmobile devices.

History Repeats Itself

IMG_2328

Once again, however, we have a lot of people calling for thedeath of mobile web apps. That group is dominated by iOScheerleaders who, knowing that it has an app advantage, don’t wantto give an inch in the one category that their love dominates.People like Gruber and Siegler. Interestingly this usuallyrepresents a complete 180 from prior positions to embrace this newmarching order.

You Must TripIt. TripIt Real Good

One can’t draw much from Tim’s specific comparison,however. There is nothing visual in that native app that can’t bemirrored, with perfect fidelity, in the web app. Whether one wouldeven want to is open to question, though, as they’re both mightyugly (a lot of the base Android UI kit is…suboptimal). The onlyreason they look different at all is because they were likelydeveloped by different individuals, both of whom set theirindividual fingerprint.

The visual comparsion is irrelevant, as it usually is in suchcomparisons. One could argue that a native app had smootherscrolling or better transitions, but that’s a facet of thebrowser’s implementation, and where it falls behind it needs to be,and will be, improved.

Of course there are some features that can’t be accomodated insuch a web app. With limited knowledge of this specific app, theone missing link seems to be notifications, which could be handledby other means (SMS’, emails, tweets, etc), or maybe that’s thejustification for a native app.

Offline access to cached data, despite the many commentsdeclaring that a deadly point, is not a problem withmobile web apps. That is a problem that has been solved for sometime, so it’s bizarre seeing that myth continue to pervade.

Mobile Web Apps Aren’t Going Anywhere

There are a couple of fantastic mobile web apps. They are thefew. Instead the field is dominated by those that were asecond-thought.

That is changing..quickly.

Twitter has fully embraced the web on mobile, and rumor has itthat Facebook has a major project underway to do the same. Theseleaders, adapting to a heterogenous platform world where you can’tfocus on one curated garden, will set the pace and inevitably thefollowers will follow.