Sunday, June 29, 2014

Native vs. Web Platform War: Post Google I/O 2014 Thoughts



In this year's Google I/O (2014) Google unveiled it's attempt to blur the lines between so called "native" apps and "web apps", code name Material Design

Ironically, the first applications to get the material design facelift are polymer web components

The native vs. web platform war is the key to solving the cross-device/cross platform challenge that the software world is facing these days. This war is responsible for the fact that there are extremely few successful true cross-device applications out there today: how many true-cross device apps like Facebook do you know, where you can post a photo from your laptop and then read and responds to your friend's comments on that photo from your iPhone, using an interface that feels and behaves the same?

From an engineering perspective, in this war this is only one inevitable winner: the web platform. The problem: the war is going to last for years to come because both Google and Apple have a strong interest to keep their tight grasp over the apps eco-system. 

To use Material Design components in native apps one would have to wait for the next Android OS to gain popularity (reminder: By Google’s own count,  only 13.6% of Android phones are running the latest public build of the OS, Android 4.4.) where as in hybrid apps (or just "mobile web") you could embrace the concept using Google's resources today. Which again serves as an example of why the concept of implementing too much of the application layer as a part of the OS for native apps is a problem. 

The apps model is a crippled model where Android is the browser and apps are websites. Chrome extensions are native to Chrome too. They can leverage amazing capabilities via Chrome's API, where Chrome acts as an OS, supplying client APIs similar to what you would find on Android. Heck, there's even a Chrome Web Store, where you could download Chrome apps. Sounds familiar? 

Would anyone sane in his mind ever think about not using web applications on the internet and move to Chrome extensions or Chrome apps instead? That is exactly what native apps mean for the mobile ecosystem. 

As proven by many of their ongoing efforts, and by the publishing of Material Design to Polymer on the day of announcing it, Google as a "web-first" company, surely understands the pitfalls of the native ecosystem. However this situation is good for Google (and Apple in the case of iOS): on the internet ecosystem, Google controls only search. On the mobile, it controls both the search and the "websites" (actually apps) themselves!

No comments:

Post a Comment