There can be good reasons for software fragmentation: the use cases and capabilities of a refrigerator, a TV, and mobile phone are all very different. However, fragmentation within a category, and even across similar categories, is superfluous and was, prior to the introduction of mobile, a solved problem thanks to web apps.

Speed is the other big issue when it comes to the new wave of devices around us. As discussed at length in his excellent article on the topic (which should be required reading for anyone participating in the native vs. mobile web debate), Drew Crawford points out that there are serious performance issues on mobile that you don’t see on the desktop which cripple mobile web’s performance capabilities. As illustrated in Crawford’s chart below, the iPhone 4S has browser performance that edges out IE8 in 2010, and doesn’t come close to the fast browsers available at the time.

According to Crawford, all the assumptions about the platform that have made Javascript (and web apps generally) successful on the desktop (tons of memory, fast CPU, low latency internet connection) aren’t available on mobile, and as a result, the performance trade-off made by Javascript in favor of programmer productivity is not tenable.

I can’t argue with Crawford’s numbers - mobile web is too slow for serious web apps today. Facebook’s HTML5 reversal should be evidence enough of that. However, as Crawford pointed out, the iPhone 4S (released in late 2011) is comparable to a slow browser in 2010, so we should expect phones released this year, like the iPhone 5S/6, to have performance near slow browsers in 2012, which is not bad when it comes to web app development. Even if hardware gains are all that we have to look forward to in mobile, it would be a mistake to bet against Moore’s law when it comes to more powerful computing making its way to phones and other devices.

While mobile devices will always lag behind their desktop peers, they will soon be “good enough” for most applications that matter to most users. Facebook’s experiment with mobile web was a failure, but as with many things in technology, it was a failure because it was before its time - in a few years (or sooner), a mobile web Facebook experience will be near native, and close enough to make the development and deployment benefits outweigh the performance costs.

Performance is an issue that time and Moore’s law will solve, but platform fragmentation is a drag on innovation that the march of technology can’t fix.