The web changed things. It’s dictated the path of Android, iOS and Chrome OS. All three are operating systems that approach menial computer tasks in an entirely different way:
- they store things in the cloud
- they hide the filesystem from you
- they’ve shed the shackles of the traditional desktop and windowing metaphor
We no longer have to discuss whether it was actually Xerox PARC that invented the “Recycle Bin” concept, we can instead discuss whether we even need one (( The answer is yes, but not for files. Could be for closed tabs, or it could hold an “Undo” history perhaps. )). It’s exciting. A computer no longer has to have a floppy or a disc drive. In fact, often times you don’t even need a keyboard. In the future, we might not need a physical interface at all, controlling everything with voice and gestures. It’s as if the new way has uprooted us from the rut of putting application links in a dock and discussing whether the window close button should be in the top left or the top right corner. Everything is different, and we can thank Apple first and Google second, for finally bringing us this much needed paradigm shift. In one key area of this exciting new future, however, Google and Apple differ in their approaches.
The Apple approach
Apple has had astounding success with their app store ecosystem. While they used to tout that “the web is the SDK”, they eventually did release an SDK for native apps, an SDK that is now making Apple and a bunch of developers rich of of $2.99 downloads. Sure enough, native apps can do things web-apps can’t do currently: they can sink their teeth deep into the hardware of the iPhone and do wonders with files, storage, GPS, gyroscopes, cameras etc. The biggest weakness with native apps may also be the biggest strength: developers have to go through Apple and sell through Apple. This, incidentally, screens out the malware that’s possible when working with native code.
Most recently, Apple has unveiled the iCloud North Carolina data-center which’ll store your digital life and make sure it pops up on your various digital devices connected. This includes documents and spreadsheets (as well as third party apps using the API). Apps are still native, but the documents are in the cloud. Naturally you’ll need an iOS or Mac device to actually use these apps.
The Google approach
Google is definitely working on it. They’re working to simplify local data storage for when you need to use your apps offline, or for example “Pin” your Google Music so it plays from the cache rather than stream over WiFi or 3G. They’ll be giving web-app developers access to both the GPU and CPU through Native Client (NaCl), and through HTML5 they’re opening up access to rich animation, audio and video playback. Add to that package their O3D technology, which aims to bring real 3D to the web. These are all the bricks and mortar Google believes are necessary to create web-apps that rival native apps. They believe this so much, that they’re gambling a fair bit of their own future on this.
It’s a risky business. It’s quite evident that Apples app store has its share in this paradigm shift we’re experiencing. Apple has proven that if you do it right, you can not only sell music, but you can even sell TV episodes, movies, apps and books. All the while, without rampant piracy; because Apple sells these things at rather fair prices. $2.99 is a price-point that’s so low, most people see no reason to jump through hoops to pirate an application. Meanwhile, Apple takes 30% and developers are still happy, because they’ve never sold so many apps.
Web-apps are a harder sell, mostly because it’s an untested ecosystem. Google are dipping their feet in the water with the Chrome store these days, but with no success worth mentioning. If you can’t sell web-apps, why should you build them? Developers, like in any other business, need money to live. If the App Store will do that for them, then that’s where they’ll go.
Google’s web-app gamble
So if native apps outperform web-apps in operating system integration, performance, features and even revenue, why even bother with web-apps? That’s the million dollar question. Here’s an excerpt from In The Plex by Stephen Levy — “the Google book”:
At the time , Google was about to launch a project it had been developing for more than a year, a free cloud-based storage service called GDrive. But Sundar [Pichai] had concluded that it was an artifact of the style of computing that Google was about to usher out the door. He went to Bradley Horowitz, the executive in charge of the project, and said, “I don’t think we need GDrive anymore.” Horowitz asked why not. “Files are so 1990,” said Pichai. “I don’t think we need files anymore.”
Horowitz was stunned. “Not need files anymore?”
“Think about it,” said Pichai. “You just want to get information into the cloud. When people use our Google Docs, there are no more files. You just start editing in the cloud, and there’s never a file.”
When Pichai first proposed this concept to Google’s top executives at a GPS—no files!—the reaction was, he says, “skeptical.” [Linus] Upson had another characterization: “It was a withering assault.” But eventually they won people over by a logical argument—that it could be done, that it was the cloudlike thing to do, that it was the Google thing to do. That was the end of GDrive: shuttered as a relic of antiquated thinking even before Google released it. The engineers working on it went to the Chrome team.
Zap Brannigan, the illustrious captain from Futurama said it best: “In a game of chess, you can never let your opponent see your pieces”. Well Google’s playing the long chess game, and they firmly believe that the future is web-based. They believe it so firmly that all of their apps are web-apps first, Android apps second. Changes trickle from the cloud and to the apps, not the other way around. Google believes the web will be the operating system, that the new-tab-page will be your homescreen, that URLs are on their way out and that bookmarks are your cloud-synced homescreen app shortcuts. Everything will be updated automatically, and it’ll all be tied to your login.
Opponents argue that you can never get a platform feel with such a diluted SDK; that for the truck apps you’ll always need access to the lowest machine-level code of the system (an access even Google’s Native Client can’t grant due to its sandboxing). I will argue that consistency can be achieved without having your hands held by the operating system developer. Sure, with great power comes great responsibility, and you can bet that there’s going to be a period of web-apps that do the same things in wildly different ways. But if Mac expert John Gruber is to be believed, that doesn’t matter in this day and age. To quote Yogi Berra: if the app is good, the app is good.
It’s a high stakes game Google is playing. But they’re the first player in the game, and if The Google Hunch turns out to be right — that web-apps are indeed the future — Google will have built a new pie for themselves. They’ll own the ecosystem and they’ll be giving it away for free so anyone that tries to go proprietary will have an uphill battle. Web-apps will work in a cross-platform way as yet unseen; once you’ve bought access to Plants Vs. Zombies in a cloud app-store, you’ll be able to play it on your Nexus Three, your television, your home computer, your library, in your car… you’ll even be able to play it on your urban-hipster-friends iPad 2. Native apps will be the new “compatability mode” and “rewritten as a web-app” will be the changelog item you’re waiting for.