Native v. Web Apps

Dries Buytaert has posted a disquisition into the friction of native apps and the promise of frameworks such as Ember to further extend the limits of HTML and web site models to better ape the power of native mobile apps in the sense of those available for the Android and iPhone platforms. Native apps fracture the user experience and are pernicious enough in some circumstances to inspire the wonderfully grumpy Tumblr: I Don’t Want Your Fucking App.  Dries sees great potential for web apps to match the better functionalality and hardware integration of a native app — think of going to Starbucks.com to pay for your next skinny crappachino vs. loading their app and waving a bar code in front of the scanner — as the capability to use Javascript front ends puts the client — the browser — in more control of the functions of a website. This could, if adopted, be as transformative to the future of the web as the advances from over ten years ago when LAMP  (the four open source horsemen of  Linux, Apache, MySQL and PhP) and Rails turned Gmail into an Outlook killer.

I’m all for it. The revolution of responsive design did away with the two-front battle of maintaining desktop and mobile versions of websites — no more “M.dot” versions are needed if one follows the expandable precepts of responsive which permits a site to conform to the form factor of whatever device. Why do I care?

Somewhere there exists a list of life’s stressful events — new job, moving, divorce, death of a loved one — and I propose the addition of “moving to a new cell phone” as one of the more soul-crushing, tantrum inducing experiences with the hash tag of #firstworldproblems. My faithful HTC M9 was flaking out due to a weary USB port — charging or not charging depending on the barometer and how badly I depended on it not shutting down when I needed it the most. So, in the spirit of my friend who, bullshit over a lemon of an outboard motor, gave up on the warranty and efforts of the dealer to fix it and just went out and bought a new one, prompting his son to say, “You showed them Dad!” — I bought a new, unlocked phone from HTC and just went through the tedium of moving my life from one over-priced rectangle to another.

Sure, there are transfer tools — and yes, eventually all my old apps and content moved from the retired phone to the new one, but…..And this is a big but that has nothing to do with apps versus web, but one tied to the blinding realization that while the apps and content transfer over — the log in credentials do no. So for hours I have been resetting passwords, transferring payment details, and cursing the total idiocy of passwords, capchas and two-factor authentication.

Anyway, Dries’ post is worth a read. From his post:

“Native applications versus web applications

“Using a native application — for the first time — is usually a high-friction, low-performance experience because you need to download, install, and open the application (Android’s streamed apps notwithstanding). Once installed, native applications offer unique access to smartphone capabilities such as hardware APIs (e.g. microphone, GPS, fingerprint sensors, camera), events such as push notifications, and gestures such as swipes and pinch-and-zoom. Unfortunately, most of these don’t have corresponding APIs for web applications.

“A web application, on the other hand, is a low-friction experience upon opening it for the first time. While native applications can require a large amount of time to download initially, web applications usually don’t have to be installed and launched. Nevertheless, web applications do incur the constraint of low performance when there is significant code weight or dozens of assets that have to be downloaded from the server. As such, one of the unique challenges facing web applications today is how to emulate a native user experience without the drawbacks that come with a closed, opaque, and proprietary ecosystem.”

Author: David Churbuck

Cape Codder with an itch to write

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s