Hacker News new | ask | show | jobs
by costacoast 5254 days ago
As a web developer I have typically argued in favor of write once, execute everywhere robust web apps being the future of mobile interaction. Having built websites and apps designed to work well on mobile however, this typically leads to a stream of constant headaches trying to accommodate for the myriad of different mobile browsers and features each support/allow.

Similar to the way that different desktop browsers each roll out new feature support, and often times support features in completely different ways (CSS transparencies/gradients anyone?) mobile browsers have even slower and more varied support for features and interaction control. This problem with desktop browsers has kept most web developers and firms I work with from integrating the latest and greatest HTML5/CSS3 features in all their sites, because there is a huge handicap in trying to optimize for so many different platforms as each evolves on its own timeline.

Even though writing the same app to work well in both iOS and Android is a HUGE undertaking, the advantage is you are only writing your application to meet two different sets of API specifications. Even better yet since mobile devs are typically either iOS OR Android experts you can potentially have two different teams of devs working on the platform they know best instead of having one html team constantly striving to make your application work well (or at all) in a dozen different commonly used mobile web browsers.

I applaud Facebook for their efforts to build out a really great looking mobile web app that does look an awful like their mobile apps, but has anyone watched someone who doesn't know (or care) about the difference between a native app and mobile web app use it? I got a fairly tech-savvy family member a kindle fire recently and it comes pre-installed with a shortcut to the Facebook mobile web app because the native app is not available in the amazon marketplace. Watching over their shoulder I was amazed to see how frustrating the experience was for them when the querystring gets corrupted at certain points and all they are left with is a PHP whitescreen of death. No loading symbol, no ability to get out of the corrupted state the browser got itself into, and generally the user was left with no idea why this wasn't working as nicely as their Facebook app on iOS/Android that looks exactly the same.

At the end of the day I now lean more toward the side of mobile apps continuing to be more efficient and effective for apps that require lots of interaction with the user even if you could technically implement all those interactions in a browser. The relative simplicity of only having to code for two platforms instead of 12, and simultaneously providing your users with a more responsive experience is definitely worth it.