Developers Are Go: Yahoo! Mobile Developer Platform

Updated: February 22, 2008

"There is a lot of Internet content out there that isn't Yahoo! content," said Adam Taggert, director of product marketing for Yahoo! Mobile. "We want to tap the manpower, the talent and the innovation of the developer and publisher community so that consumers can decide what services they want on their phone."

Yahoo!'s Mobile Developer Platform is built on top of the same programming language and tools that Yahoo! uses internally to bring its own Web services to mobile devices.

These mobile applications, which Yahoo! calls "mobile widgets," are accessible from either the Yahoo! Go Java applet or Yahoo!'s new mobile home page. One of the most compelling features is the ability to plug your own widget into Yahoo!'s "carousel" UI (user interface), where it is available alongside widgets from both Yahoo! and launch partners like eBay Inc., and MTV Networks. Users can add and delete widgets and choose them from a growing selection that will be made available on Yahoo!'s mobile home page.

Widgets have become popular as a means of providing access to Web services without having to go through a Web browser. It's important to note, however, that the widgets you can create with the Yahoo! Mobile Developer Platform are similar in spirit only.

From a developer perspective, Yahoo!'s Mobile Developer Platform has a lot in common with that of Facebook. Like that platform, it requires learning a new and unfamiliar markup language. However, the language is similar enough to existing languages that anyone with Web-development experience should be up and running quickly.

Yahoo!'s approach to mobile development differs from others that have taken a device-optimized or OS-centric approach. Mobile widgets will run on the billions of devices that Yahoo! Go supports. Many of the technical hurdles have been overcome: today's mobile devices are much more capable, and the networks are fast enough to support such applications as two-way video conferencing, live TV, location-based services and e-commerce. But developers must still jump through many hoops to bring an application to market.

"Today, it is just really hard to develop mobile content," said Taggart. "You need to worry about porting your app to thousands of device types, carrier networks and browser types. It's very costly, time-intensive and buggy. We've cracked this with our platform that we've had to build in-house, and we are just opening the doors to the rest of the world."

Reading Yahoo!'s Blueprint

Widgets are developed in Blueprint, an XML-based programming language, based on a simplified implementation of XForms. You simply define your business and UI logic and leave visualization up to the widget-engine renderer. In this early version, the platform does a good job of ensuring that your content will look good on a wide variety of mobile devices, but it currently lacks the ability to provide hooks into the capabilities of individual devices, which might include GPS navigation or built-in cameras. This is expected to change as the platform matures.

Blueprint is a declarative language — containing no scripting or procedural code — with a syntax which comes directly from XForms. This allows widgets to run on a much wider variety of devices, including those which have no scripting mechanism at all. Blueprint encapsulates and hides scripting specifics so the code can run either directly on the phone itself or, as with XHTML, the logic can live on the server.

Unfortunately, this compatibility was achieved at the expense of features. Still missing are the advanced data-binding and MVC (model-view-controller) aspects of XForms. This does mean, however, that Blueprint should be immediately understood by anyone who has ever used a markup language such as XHTML. For a typical widget, Yahoo! suggest using PHP or another server-side language to serve Blueprint markup. Cookies can be used to store per-client persistent data. Yahoo! says that future versions of Blueprint will be based on a fuller implementation of XForms . When that time comes, it will be possible to run widgets directly on any supported device rather than serving them up remotely. Running code on the device will allow data to be cached in local models or other local storage, thereby improving performance. In addition, Yahoo! will open up further and extend language support for everything it's using on the Yahoo! home page. That will include support for items such as the map and list controls currently found in Yahoo! Go, and it will enable such capabilities as location-based services.

What are Mobile Widgets?

Yahoo! has defined three kinds of mobile applications: widgets, snippets and RSS views. Let's take them one at a time, in order of complexity.

A widget is an application that contains customized layouts that appear on one or more screens. Each screen is a separate file containing a Blueprint page element. Widgets appear on a user's My Widgets page after being selected from the Widget Gallery; they can also be added to the Yahoo! Go carousel for faster access. In addition to XML files, widgets can include GIF, PNG, JPEG or TIFF graphics.

Snippets share a standard layout, with Yahoo! navigation aids framing the screen, and they can link to widgets as well as to external Web sites. Each screen is a single file containing a Blueprint snippet element. Snippets appear on a user's home page after being selected from the Snippet Gallery.

Still missing from this release of the platform, but expected soon, RSS views only require a configuration file that specifies the source of the syndication feed and other application metadata. RSS views don't use Blueprint.

Yahoo! is quick to stress that it is not yet providing the necessary language extensions and tools required to build 3-D games or audio-recording applications. While you won't see Quake running on Yahoo! Go anytime soon, you will see a version of eBay that brings most of the PC experience, including bidding, into a mobile environment.

Today, widgets are hosted locally on developers' servers, but in the future Yahoo! intends to host them on its own servers.

Related Categories
Featured Research
  • On-Demand Webinar - Smarter@Sales Operations: Automation to Maximize the Buyer’s...

    This on-demand webinar looks at what best-in-class companies are doing in terms of sales enablement to ensure that the buyer’s journey through the sales operations process is efficient and more satisfying for the buyer, so that the seller can in turn close deals more often and more efficiently. Download the on-demand webinar to learn how you can help your sales operations function perform more effectively in 2013 and beyond. more

  • Texting. Smartphones. Tablets. Oh my! Business Communications in a Mobile World

    Today, people communicate for work anywhere, anytime, and on any device. Even with undeniable business behavior changes, the vast majority of companies haven’t optimized their communications infrastructure for mobile workforces or BYOD. Join this webinar on June 20, 2013 at 1:00 PM Pacific Daylight Time to get ahead of the pack and learn the benefits of a cloud communications solution that supports the new world of work. more

  • Mobile Workforce Management: 7 Key Benefits for Growing Companies

    This white paper from ClickSoftware will take a brief look at current trends and the real business benefits behind adopting a software solution for the automation and management of the mobile workforce. more

  • The New Mobile World: Changing the Way You’ll Service Your Customers

    On-Demand Webinar Join us for this no-cost web event where you’ll get an extensive look at how companies can take advantage of the mobile revolution to deliver improved and expanded service experiences for their customers, both inside and outside the contact center. more