Thinking About F3 and Silverlight
Last week was abuzz with discussion of RIA. I credit Hinkmond Wong’s post about porting F3 to Java ME with starting it, but most would point to Silverlight. Discussion predominantly revolved around desktop browsers and web downloads, although this video demonstrating Silverlight for Windows Mobile looks great. But really, either or both can be extremely significant in mobile. I hope it’s as more than just another RIA platform though. Rather than restrict them to a constrained environment, I’d like to be able to embed them in downloaded applications that can extend the functionality of each in order to take advantage of features native to the phone.
Stepping back briefly, Silverlight is Microsoft’s cross-browser plugin for delivering .NET Web applications. F3 is a Java scripting language created with the goal to make GUI programming easier, with nice features over something like JavaScript: static typing, type inference, and the ability to import and call any Java class.
The competition for RIA in mobile will be stiff. However, the ability to embed and extend these technologies in applications is largely untapped, even though it could provide a unique solution to a fundamental problem in mobile development: when you can’t easily update your installed code, it’s hard to provide dynamic functionality and features. The Orbit project will embed OpenLazlo into Java ME, but it’s not clear that applications will be able to extend its functionality. Silverlight and F3 are each equally poised to provide this if they:
- Allow the installed application and embedded code to interact.
- Allow the runtime to be extended (e.g. platform invoke or JNI).
- Provide a user-controlled security policy as opposed to requiring a complicated signing process, or worse, a more restrictive sandbox.
Both companies have unique advantages supporting their solution. Sun has the nearly ubiquitous distribution of Java ME on mobile handsets, however today that is in the form of MIDP/CLDC, whereas F3 (and Orbit) require CDC. Microsoft owns a mobile operating system which could allow for tighter integration, although Silverlight on the desktop is a subset of the .NET runtime (but so is the .NET compact framework).
We saw some of Microsoft’s cards last week, but not many in terms of mobile. With Sun, we’ve seen activity on F3, PhoneME Advanced, and the acquisition of SavaJe IP, so we can hope they are heading in this direction. To be sure, neither company solely dictate the functionality of phones, but with JavaOne this week, hopefully Sun will provide some leadership.