Yesterday at CTIA Wireless IT and Entertaiment Yahoo! announced their contribution to the mobile platform wars in the form of an XML-based language named BluePrint. BluePrint allows the generation of mobile applications for Windows Mobile and S60, as well as widgets that run inside the Yahoo! Go environment. Yahoo! has provided us an overview here.
The quest for "write once, run anywhere" continues. Unfortunately, after many years of bitter experience working in the mobile space, I have come to realise that the goal of a single environment that will give you a good quality application experience on all platforms is doomed to failure. Every mobile device has its fair share of idiosyncracies and unique advantages and features. A "cross-platform" toolkit like BluePrint is unfortunately doomed to deliver you a mobile experience that, although workable, is going to be too slow, too bloated, too limiting and too disconnected from the device it is running on. If you really want to produce a great mobile application you need to develop it with an appreciation for the underlying platform and not just opt for the lowest common denominator.
My current favourite example is the iPhone/iTouch development environment. Apple has put the brakes on Flash content and Java content, not because they want to spoil Adobe and Sun's party, but because they know that the only way they will encourage the development of great quality applications is by forcing developers to appreciate the API and the platform they have assembled. Allowing cross-platform content on would result in a very bland and dysfunctional collection of applications. Pushing developers into Objective-C and the Touch environment forces them to rethink their application approaches rather than just cranking the handle on the last Java app they wrote.
We will run BluePrint through the wringer in due course; before we even embark on that particular expedition, though, I feel I know what is coming.