Editor's note: This is a guest post by Bruno Fernandez-Ruiz, whose bio is below. CNET invited him to write about Yahoo's new approach to mobile development.
The much-hyped HTML5 Web standard is often positioned as the alternative to native application development. However, the reality is that WC3's HTML5 alone is not enough at this pivotal time in Web history. Which is why at Yahoo we're determined to return to our tech-first roots and help the Web evolve by pioneering the next application platform.
And guess what? It's more than HTML5.
When David Filo and Jerry Yang started a simple, static content Web site in 1994, they of course had no idea that 18 years later users would be consuming interactive, immersive applications on touch-based tablet devices, like Yahoo Livestand for iPad.
Today, this switch from a site-centric Web to an app-centric Web is forcing developers to rethink the technologies they use, and it's sparking a debate about whether Web apps can really compete with native apps.
Developers focused on creating the best possible user experience are attracted to the performance and usability advantages of native development--in particular the finer memory management control it offers, as well as its ability to access a device's camera, address book, etc.
Unfortunately, developing on several native platforms at once is costly and time-consuming, and the market is so fragmented that most developers can't justify limiting themselves to a single platform. Apple iOS and Google Android combined represent fewer than 500 million of the 2 billion connected users on the Internet, according to the companies' own sales and activation metrics. Therefore, being locked into only one of these non-interoperable ecosystems is a dangerous short-term revenue trade-off that ultimately handicaps growth for any developer.
With 1.2 billion people already connecting to the Internet on mobile devices, according to the International Telecommunications Union, and with more users switching from PCs to touch-based tablets like Apple's iPad, it is critical for developers to find efficient ways to reach both high- and low-end mobile devices. As an industry, we need to start bringing content experiences simultaneously to all connected devices, at a speed and quality that consumers expect.
How do we make this happen?
HTML5 is not a solution by itself, but it is the beginning of a solution. HTML5 provides a useful set of new standard application programming interfaces, but it's not enough to turn the Web into a viable ecosystem that can compete with native device application development. For the Web to regain its dominance and become the next application platform, we need to improve app programming tools, make sure Web apps can run across all devices and operating systems, enable their distribution via closed app stores, speed up their performance, ensure they work even in unreliable or slow networks across the globe, and toughen up security.
Distribution: With well over 500,000 applications in Apple's iTunes App Store, and soaring iPhone and iPad sales, we know that users are happy to consume and pay for applications. But, a challenge for developers is that Web applications distributed as native applications in an app store model require a "chrome" that wraps the HTML5 Web application so it doesn't run within the standard visible browser. Apache's PhoneGap and Yahoo's Livestand make it easy for developers to add this native chrome and to access native device APIs--such as the device's camera--from the Web application.
Packaging: Yahoo's Livestand provides the necessary granularity, modularity, and compose-ability capabilities needed for packaging Web modules into large Web applications, otherwise completely missing from the HTML5 standard.
Performance: Many HTML5-based applications in the Apple and Android app stores don't perform or feel as "silky" as pure native applications, because they can't access hardware-based graphics acceleration. Thankfully, the CSS presentational language is helping to address this in its third version, known as CSS3, which gives developers access to 2D and 3D graphics. Platforms such as Apple's iOS and Google's Android are implementing hardware-accelerated CSS3 for native-like performance.
Cocktails aims to help shape how people will use the Internet in the next decade, especially with connected devices. Because we recognize the danger in this technology becoming proprietary, we will be making our first Cocktail, Mojito, open-source within a few weeks, to evolve the Web into an open platform for application development. We encourage developers to download the Mojito code from GitHub or from developer.yahoo.com and provide us with their feedback.