Why do you need an app for that?

I have recently stopped using the Facebook and Mail apps for my iPad and iPhone in favour of the HTML equivalents offered through Safari. The reasons: Mobile-optimized web applications are now as good, or even better in many cases, as their native app equivalents. In the case of the Mail app, I have found that the gmail mobile version has a superior search feature and is much faster in loading my messages. For facebook, I just found the app limited and more buggy than the HTML equivalent.

In general, I’ve come to the conclusion that if you’re going to build a native app for something, you’d better have a good reason – and good reasons are becoming fewer as HTML browsers improve their support for HTML5. The only valid reason at this point is a requirement for significant client-side processing – e.g. a 3-D game. But as WebGL matures even this will be quite possible in HTML.

So here are some reasons for developing your mobile applications in HTML5:

  1. Increased productivity in most cases over development of native apps.
  2. Real standards-based, cross-platform support so you can write it once and have it work on all major platforms (Android, iPhone, Blackberry, etc…).
  3. True freedom of deployment. You are not locked into Apple’s (or the next would-be gatekeeper’s) store or subject to their sovereign choice of what can and cannot be installed.

The remaining reasons why you may still need to develop a native app:

  1. You want to use a platform specific feature that isn’t available through the web api. E.g. the accelerometer, or the contacts list, or push notifications, GPS, etc..
  2. You need more client-side processing power than you can harness through the web.

The compelling reasons to want to develop a native app:

  1. To get it into the app store and maybe make some money.
  2. Toolkits (e.g. XCode/Interface builder) are developed and promoted specifically for making apps target a specific platform. This can make it seem easier to break into the market since there are lots of learning resources on how to use these tools.

The biggest challenge right now facing HTML mobile developers is that the tools are less promoted and more scattered. This is because the major stakeholders (e.g. Apple) have a significant interest in getting you to develop your app natively so that it will be exclusively available for their platform, and they will get a cut of any revenue through their store model. If you look, however, there are tools out there for building slick HTML mobile apps that look and feel very much like native apps. Some examples include:

  1. Sencha Touch
  2. jqTouch

And there are more where those came from. If you still want to develop a native app and you would prefer to work with open technologies like HTML and Javascript you may want to look at Appcelerator which provides tools to develop applications in Javascript, HTML, and CSS that can be compiled into native apps all the major smart phones (e.g. Android, iOS).

Donald Trump for Panderer of the United States

I saw Donald Trump on Pierce Morgan last night where he declared his possible candidacy for President in 2012. Wow, does he ever have his finger on the pulse of the American people – at least those from the red states. He has clearly calculated his message to speak to “red” America in his hope to fill the leadership void that currently haunts the GOP. A paraphrase of a few of his panderous statements:

1. China is the enemy
2. If he were President he would enact a 25% tax on all Chinese goods – because they aren’t playing fair.
3. Too much money is spent on education at the federal level. Education should be handled locally.
4. He’s a military man. He would increase military spending if he were president.
5. America has become a joke internationally, and he would restore its honor in the world (he seemed to be hinting at doing that with the military).
6. He would stick it to OPEC. He’d go over there with the military at his back and dictate the terms under which they would provide the US with oil.
7. He would assign tough wall street negotiators to handle negotiations with other countries… not the diplomats.
8. The US should be charging South Korea for the protection they receive from the US.
9. He loves Sarah Palin. He just thinks she can’t win a national election.

Now some of these positions, I’m sure, are genuinely his. But it looks to me like these statements have been carefully crafted to appeal to the right. I’m sure that, over the next several weeks, he’ll be testing the waters with these ideas so he can assess his chances of winning an election.