It looks like I was not the only one perplexed with RIM's announcement of Virtual BlackBerry for Windows Mobile, I was reading this blog post from Fabrizio today, and I share his perspective on the issue: the only real use scenario for this software would be one of the many IT organizations migrating from RIM to WIndows Mobile that want to continue to provide a BlackBerry experience to users who want to stay in a familiar user interface while they do the transition - a temporary measure to help migrate away from BlackBerry.

 Of course, this is vaporware as far as I know (maybe they will show it today at WES) - it will be critical to see how good a job they do on the user interface and how much of a Blackberry experience you can provide. At the end it should not be that difficult - the BalckBerry OS, user interface and apps are all based on the J2ME platforom and many Windows Mobile devices ship with a J2ME virtual machine in ROM. However, it iwll be challenging to do many things without low-level APIs.

Who knows - maybe RIM is thinking of becoming a WIndows Mobile licensee and add their secret sauce on top of it: imagine of a combination of Palm (moved from Palm OS to provide a unique UI on top of WM) and Good (providing additional device management and security in a NOC model over WM and other platforms).

Yesterday's annoucement is more clear to me: In its press release RIM validates the leadership of Visual Studio and >NET int the enterprise and try to "ride that wave" , but in reality it is unly FUD: sure thay can develop a plug-in for Visual Studio and anyone with basic web services skills can leverage .NET in a back end - that's the idea behind web services. The problem is that this changes nothing about the BlackBerry client platform: it is still J2ME and RIM's Java development tools and J2ME platform are pretty bad compared to the .NET compact framework with Visual Studio on Windows Mobile.

Surely you are thinking, this is a marketing guy from Microsoft preaching about the virtues of their platform - but in this case (at least) I have a bit more experiece. Until recently I worked at Motorola among Bala Kumar, Jim Van Perusem and the WMSG team that really developed the J2ME spec. I was responsible for the first J2ME development tools in the market (CodeWarrior Wireless Studio), building the SDKs, and working with most wireless operators and device manufacturers on their Java applciation strategy and ecosystem. The fact is that J2ME is a standard driven by a committee which is the worst way possible to drive innovation: everyone wants to differentiate (look at how many APIs exist, resutling in JTWI) yet decisions take a long time. Back in 2001 we were talking about MIDP 2.0 - it's been 7 years now and we are nowhere close MIDP 3.0. As a result, J2ME ended up becoming a lowest common denominator.

On the other side, Microsoft was built around developers (Basic was the first product written by Bill Gates) and the company makes incredible investments in the developer community and in developer technologies. The .NET compact framework evolves quickly and adopts newer technologies (Like LINQ). The power of Visual Studio, the ability to use ASP.NET mobile controls, the built in ROM (in WM6) SQL Server with features like cursors and merge replication make Windows Mobile a far more capable mobile platform.