• 05
  • September

Why I hate web apps

In a recent discussion about building a tool with web and mobile clients, someone raised a point about building a web app for handhelds to cover all platforms and then slowly replace them with native apps. I realized that I hated web apps, here’s why.

My main objection with webapps is that they are very unoptimized for for cellular networks. It’s my first point.

1. Wasting bandwidth on layout. Instead of loading useful content, webapps use precious bandwidth to load user interface. That’s something that binary apps already have for you, the UI is already there only thing you spend your bandwidth on is useful data

Now, smart frameworks for webapps would re-use the same template and employ some kind of pre-caching for smooth operation, but still it’s unnecessary bandwidth especially if you are on 3G data.

2. Poor user experience. What happens when you try tap around the app is it starts to load other views introducing delays, braking up the layout sometimes. Also, Safari works poorly with web inputs, many times you cannot see what you are typing in. Things like this make user experience very unpleasant.

3. Poor controls. Obviously web apps do not implement controls native apps have (like action sheets, Android menu, etc). Now, you either have to make the web app limited in functions or jam pack the page with links and buttons. The challenge now is to try to hit those links, most times I miss :)

4. Unable to handle special functions. In our case we had video streaming on the website played by flash. That’s not possible to reproduce neither on iPhone nor default Android setup. Web app is not really an option here. With native apps, you can setup codecs and play almost whatever media stream you need even without flash.

5. Platform confusion. Two best frameworks for web apps I’ve seen are “jQuery mobile” and “Sencha touch”, but they clearly try to reproduce iPhone’s behaviour. Rest of the platforms have to put up with that, even though Android has taken biggest market share back in Q2 2011. Not logical at all.

Theoretically all these things can be ironed out and accommodated, but in production conditions, it’s not going to be viable for you to build a web app from ground up to avoid all these misfortunes. You will have to use a framework. If there’s a way to build web apps without these annoyances, I have yet to see it.

 

  • I have to agree with what you've said about web app just wasting your bandwidth. Great article. I had great time reading it.
blog comments powered by Disqus