Tuesday, May 13, 2008

Yahoo Go 3.0: Almost good enough

When we compare the mobile strategies of the big 3 (Google, Yahoo, Microsoft) we see a clear differentiation:
  • Google: bring search to the mobile by putting it on a map
  • Yahoo: bring applications to the mobile by providing a widget framework
  • Microsoft: use Windows Mobile to make tight integrations with Live

Although they have different approaches for the same market, I believe Yahoo is leading the pack when it comes to mobile solutions. Yahoo Go 2.0 was the first truly usable webportal on mobile. They made the decision to go with a smart client approach instead of trying to publish web pages that fit on a mobile device screen. Although it was good, Go 2.0 had a severe restriction: you could only use it for services created by Yahoo themself.

Yahoo Go Version 3.0 is not just an update to the mobile yahoo client. Instead, it functions as a stealth vehicle by bringing to us the first version of Yahoo Mobile Widgets. The fact that this technology is still in its early stages is even reflected in the name of the widget lanuguage they propose: "Blueprint".

Blueprint: the Yahoo mobile widget language

Of course I had to compare the Blueprint language to the GLOWE XML file format used by Citylive (check out this nice video I made about it). First disappointment: Blueprint is completely closed source. This means that if you learn the language, you can not use the widgets outside of Yahoo's own client and widget library. It also means that your widget needs to follow Yahoo content policy. Amongst others, this means no porn or other offensive content. (If you know that the availability of porn was a major factor in the adoption of both VHS video and the WWW, you know this is not a minor issue).

It's a pitty that third parties can not use Blueprint to create their own solutions. The absense of a mobile widget standard is exactly what caused Citylive to start GLOWE (Global Language for Open Widget Environments). Our customers need the ability to extend their platform to the community and allow people to add functionality without requiring full web-developer skills.

Regarding the skillset needed for Blueprint I can tell you that this looks promising. The presentation format is easy to learn and use. Of course the side effect is that the UI's of the different applications all work more or less in the same way, but I'm sure this will evolve in the future. For now, it looks pretty basic, but at least it works.

What we need to create an app

The real pain of creating a web app today is making the logic and code that goes behind the GUI. A lot of people can create GUI's, but most fear the complexity of the code that is needed behind it to handle the data. That's why mashups are such a good invention: you benefit from the logic that is already present in the application you are creating a mashup from and you combine it with your own data and presentation format.

This is where my main problem with Blueprint lies: it does not help you to create a backend. You can define a Blueprint widget page, but then you need to figure out how to generate that page from a web server. Of course, this is the way all internet applications work today. But since Yahoo adopted the approach of using a smart client, I would have expected that their widget language would go a bit further then just presentation layer and also include slick and easy ways to code application logic. Hopefully this will come in the near future, otherwise I don't see much difference between Blueprint and a set of mobile-specific CSS files you use in a standard way in HTML.

With GLOWE, we created data-driven programming. If you define a data template for e.g. an Ebay auction, you can feed it an xml stream from Ebay containing your favorite auctions and the widget engine will automatically make a list of the auctions, using your template. Since most mashups are data-driven, this approach works beautifully for mobile widgets. All of the code is contained in 1 xml file and the programmer does not need his own webserver to generate dynamic pages. We have similar systems to store and retrieve profile data and user preferences.

I am sure Yahoo will evolve Blueprint into something more usefull by including application logic in the scope. I even believe that in 2 years time a standard language to create mobile widgets will emerge. In any case, Citylive is promoting this already by sponsoring the glowe.org community. Today there is GLOWE, tomorrow there will probably be another widget lanuguage. But it is clear that the world needs an open standard to develop mobile widgets. And if we want to repeat the success story of HTML, this language better be simple and self sufficient, just like GLOWE.

No comments:

Post a Comment