SproutCore: Demos Start to Prove the Point
Developers I know will often evangelize their chosen platform, framework, or approach. Vendors like Adobe and Microsoft have theirs (e.g., runtimes and tools to deliver AIR and Silverlight respectively) and they expend a lot of effort examining the entire value chain — from developer, designer tools to finished runtime container — and figure out ways to make theirs the dominant runtime and thus control the upstream value chain and potentially make bazillions.
Making strategic choices as a creator or even as an end-user on next generation internet-centric applications — be they “Web 2.0” or hybrid desktop/web — is a challenge. None of us want a repeat of the video days when one had to choose Windows Media, Real or Quicktime (or all three) to deliver video, and even the right choice wasn’t a good experience for the viewer since WMV or Real didn’t run well on a Macintosh or at all on Linux.
The flip side with that video example is that content creators today are delivering video and applications to the most widely available runtime container, Flash, which means that Adobe is in a much better position to control the upstream value chain than anyone else and sell design, development and end-user tools and licenses to everyone along that value chain. That’s one reason why Silverlight is of such extremely high importance to Microsoft as they certainly don’t want to abdicate the hybrid application space, and everyone along that chain, to anyone else.
Apple is eerily silent in this video battle, as well as one emerging to connect all the different devices we use (desktop, laptop, mobile phone) to application functionality delivered via the ‘cloud’. For example, there’s been a lot of talk about the lack of Flash on the iPhone — and conjecture on how Apple disallowing it is placing Flash at a competitive disadvantage as a runtime container — but it’s all speculation about how Apple is doing so to keep a proprietary platform from gaining hold of the iPhone delivery model.
With respect to video runtime, the lack of Apple discussing publicly the installed base of Quicktime, which is undoubtedly close to Adobe’s touted 97%-of-all-computers claim for Flash due to every iTunes instance installing Quicktime on that computer, is a puzzler since they could be a player in the runtime battle for video delivery.
Why hasn’t Apple made Quicktime a target runtime container to compete with Adobe and Microsoft and ensure they dominate the value chain?
When people discuss hybrid applications, the most oft-cited example is iTunes. It’s a desktop application that allows us to “Rip, Mix, Burn” our music and stick it on an iPod or iPhone. It’s considered hybrid since it also connects to the ‘net for music, video (and now iPhone app) purchases, podcast downloads, and cover art for the music you’ve ripped off of CD’s.
TRIANGULATION IS THE POINT
Connecting the desktop to internet/web server functionality “in the cloud” isn’t enough when we carry around devices like an iPhone or the rumored touch tablet and other small devices growing in penetration. Now we have three primary uses for so-called hybrid applications:
- Do stuff on our desktops that connect to the internet so we can purchase items, access our stuff or collaborate/share with others. Examples include iTunes, Apple’s MobileMe, Google Docs and Acrobat online
- Access, manage or use our stuff with a web browser from any connected computer or device
- Synchronize, access and manipulate our stuff with our “extreme mobile” devices (e.g., iPhone, $399 Eee PC)
Apple’s Safari browser is based on the open source WebKit, and it was quite revealing when they delivered a session at their June Worldwide Developers Conference entitled “Building Native Look-and-Feel Web Applications Using SproutCore.”
Though little has been intimated publicly on what Apple might specifically do in the hybrid application space, it’s clear that they’re driving forward in this area and delivering MobileMe (online applications also connecting desktop and iPhone through the ‘cloud’) and the success with small apps running on the iPhone itself, point the way to a distinct possibility that their vision of hybrid applications is triangulation with devices.
Huh? What the hell does “triangulation of devices” mean Borsch?
If more and more of us buy iPhones, the rumored touch tablet coming, and have desktop computers (either PC’s or Mac’s), why deliver an iTunes for the desktop when you can deliver it in the cloud like a MobileMe app and have it available to every device, sync’ing them together? Why focus on delivering hybrid applications that only connect the desktop to the cloud?
SproutCore is an approach that points the way to a hybrid, synchronization, and Web-based application delivery model that is being driven to ensure that no single vendor controls the value chain.
If you’ve used iTunes or iPhoto, the image here (of a very early demo that doesn’t support all browsers…yet) is of a web photo application using the SproutCore model and toolset. Of course, it doesn’t yet use a ‘triangulation’ approach to sync photos from the desktop to the cloud to an iPhone or device, but an app on the desktop or smartphone could easily connect to the server in the cloud and do so.
The best part? Open web standards. On their FAQ page SproutCore asks, “Why should I use SproutCore instead of a plugin like Flash or Silverlight?
If you’re making a strategic choice as a developer, content creator or deliverer of applications, how can you be certain that SproutCore will be embraced over an Adobe AIR or Microsoft Silverlight? Will the tools upstream in the value chain be available to create and develop runtimes that are open, or does it make more sense to go with a proprietary vendor approach?
I would argue that it depends…on your goals and objectives, support from a commercial vendor, and momentum (which is clearly in Adobe’s favor now). Delivering hybrid applications that triangulate to the desktop, cloud and smartphones requires a helluva lot more than a SproutCore approach alone could deliver (e.g., significant server-centric, scalable delivery would be required), but at least it’s a web standards, fairly fast development environment for creating the web portion of a triangulation strategy.
If you’re watching this space, I suspect that we’ll see a more fully fleshed out runtime container strategy from Apple by next January’s Macworld (though whether they’ll try to control it like the iPhone platform remains to be seen). Then we’ll begin to understand if the proprietary vendor approach is the one to take. If these vendors truly deliver amazing and wonderful tools and processes that nail every part of the upstream value chain, then people may choose that path.
If Apple (and others like Google) can convince everyone that an open, web standards approach will keep the internet a level playing field where all of us can innovate and create (my hope), then people may choose that path.
Which one would you choose and/or which approach (open or proprietary) do you think will win?