On Monday evening I was at MoMo London at the ‘annual’ HTML5 vs Native debate. It was excellently chaired by the entertaining Ewan MacLeod of Mobile Industry Review, with two teams of debaters. Andrew Betts (FT Labs), Sam Arora (DeviceAnywhere) and Jose Valles (BlueVia) were in the ‘Pro-HTML5’ team while Nick Barnett (Mippin), Alex Caccia (Marmalade) and Chris Book (Bardowl) were in the ‘pro-native’ team.
To cut a long story short, the usual pros and cons of HTML5 and native were discussed (see my previous posts) and predictably it came down to ‘horses for courses’. It all depends on your project. However, there were some items of interest that might be worth further thought…
- All the latest apps the panel had downloaded were native.
- Andrew Betts from FT Labs suggested HTML5 hasn’t been found suitable for many projects because HTML app implementors "didn’t do it very well".
- Jose Valles said that maybe there’s a need to push to get (HTML) APIs open. Later, Jon Rabin, organiser of MoMoLo mentioned CoreMob that has these goals.
- Alex Caccia commented on how they (Marmalade) think of ARM as a platform across devices, in a similar way to the way some people see HTML5 as cross platform.
- Alex also observed that when you get stuck, HTML5 tends to be a black box that needs difficult experimentation while native has APIs that are easier to explore.
- There was contention as to whether an app should look and behave like other apps on the phone or use brand-familiar idioms. Again, it depends on the actual app (and brand).
- There was an observation from Andrew that companies tend to blow their budget on creating an iOS app. When they suddenly realise Android is needed, there’s much less money available and the result is a poorer app. When further platforms are needed, the budgets get even smaller.
- There was a question as to what the next billion users, in less developed countries, might end up using and whether this might influence development trends.
- Finally, reversing last year’s result, the audience voted for native over HTML.