Is the iPhone Warming to Silverlight and JavaFX?
May 12th, 2007I seems that Apple has cracked open the door for third party applications on the iPhone. I hope this means that at least third party XHTML/AJAX applications will be possible. Many of the the mini applications (widgets, dashboard, gadgets) which have become popular over the past year are basically just mini web applications. They render their layout and graphics with standard XHTML, CSS and images with their behavior provided by an enhanced superset of Javascript.
While it may seem limited to networked applications, it will soon be possible to create web applications which work offline with local storage just like a "real" application. Such an application could locally store your preferences such as your zip code and weather data so that when you look at the weather forecast it does not always have to connect to the internet. Since the AJAX explosion there have been a greatly increasing number of tools to support development with Javascript so it is becoming easier every day to build these kind of applications.
But we can now consider using Java and .NET for these mobile applications which could eventually include the iPhone. It seems inevitable anyway. I think it is no accident that Silverlight was ported to work on MacOS X with a very small footprint. They clearly want to make it possible to deploy Silverlight applications to mobile platforms as well, and since the iPhone is running an OS which Apple claims is pretty much the same as MacOS X it may be trivial to extend Silverlight to the iPhone.
I was browsing the JavaFX downloads section and see it is a 9.3 MB download while Silverlight is 5.3 MB on the Mac. Both should fit easily on most modern phones. I hope one or both of these runtimes make it onto the iPhone. One of the first applications I would want to run on it would be a sort of services manager which would host background services much like Windows Services. And in that services container I would run Silverlight or JavaFX mini services which would wake up once in a while and go out and get the things I want, such as TV listings, traffic, weather and blog content so that when I am on the go I can pull up the information immediately. And a logical step would be a few extensions for Firefox or IE 7 which would allow me to configure my preferences with a browser add-in which would store on a website which coordinates with the services on my phone. When I look up an address on Google Maps the browser add-in could ask me if I want the address to be sent to my phone and let me choose with a single click. It would make sense for Google to offer such a feature themselves.
When I need directions somewhere I would put the new address into this website. The next time my phone looks for updates it would automatically pull down that address information and perhaps also get driving directions from my home and office and store it locally on the phone. For TV listings I would have it fire off an alarm before one of my favorite shows comes on. I would also have it warn me about bad weather as a storm starts to roll into my area.
These would make for the ultimate mashups, a terms I really dislike, but as more and more public APIs are published to websites like Flickr.com it will make the phone so much more fun and useful than it is now. It could even prefetch the top photos from Flickr.com for the day for a given tag and give me the option to make it my screen background once a week. I can imagine someone will eventually have a website designed to serve up great photos designed to fit the most popular phones. (Naturally you would need a way for these services to pay for themselves. To make that work I would require the users to come to the website to manage their preferences so I can show Google ads on the pages. And I would limit the number of images they can download unless they pay for a pro level account, much like is done on Flickr.com and LinkedIn.com which both feature pro accounts for a fee.)
The real trick to making these applications work is not really a technical hurdle. The trouble will be keeping the phone companies out of the way. To do anything on my Verizon phone I have to pay for more services on my phone while much of the services I can easily imagine just do not exist. Why can't I manage my address book with a website? Why can't they publish a web services API so that I could host my address book on my website and point my phone to it? How about a service to directly integrate my phone with my DVR at home? Their lack of innovation is designed to keep us dependent on their paid services. Once they start to act as just a service provider instead of a penny pinching gate keeper we will start to use our phones more freely. With that barrier out of the way the things people come up with will be far beyond what we see today. I see Silverlight and JavaFX as the means to make this happen.
