I was recently travelling, dependent on internet cafes to find maps, hotels, trains and planes. But enough about my life and travels, lemme think out loud again about Android vs JavaFX Mobile. I say the game only gets really interesting when common handsets have converged with personal computers, so these platforms become indistinguishable to consumers and software developers.
Recently i was travelling through Europe for three months without my laptop and/or its 3G wireless internet connection, sometimes cycling in the French Pyrenees, not knowing for sure if i would find a bed at the next town, after many hours in the saddle, running out of sunlight, not to mention energy.
One of many things i learnt from this wonderful experience is that cellphones ought to have practical web browsers. They ought to negate the need for finding an internet cafe, but they don't, not mid-level handsets anyway.
I bought one of the latest Nokia 3G feature phones in London for £89.99, with which i took photo's and sent SMS'es to my heart's content, but browsing the web was not practical eg. searching for accommodation, checking maps, train schedules, booking flights and what-not.
Reading a few blogs et al, one gets the impression that everyone immediately assumes that Android will be a success. Arguably Google's brand, money, reputation, talent, web apps and userbase all but guarantee this, as illustrated by the size and scope of the Open Handset Alliance. However this alliance excludes Sun and Nokia for example, who have been investing in existing mobile Java platforms for quite some time. Might JavaFX Mobile eg. an opensource JavaSE/JavaME/Linux mobile stack, join the Blackberry, the iPhone and Android as a smartphone game-changer?
As we now know, Android is another opensource mobile platform, built on Linux et al, with an Apache-licensed Java'esque layer ie. Harmony, Dalvik VM and android.* which includes a brand new UI toolkit.
Many handset makers welcome this free offering from Google, who is vendor-neutral, and bidding on the 700Mhz spectrum to boot. Opensource OS'es aren't dominating consumer PCs, and consumers aren't crying out for opensource handsets per se. But phones that integrate well with your favourite Google services may be very attractive to customers.
Nokia, RIM and Apple have their own smartphone software platforms, and so they aren't in the OHA, where handset makers commit to producing an Android phone. Carriers want to offer great phones to their customers, but also they are a conservative bunch, and concerned about VoIP and IM impacting their revenue, not to mention dual-mode handsets that can switch at wifi hotspots.
Are developers crying out for yet another mobile platform? If it affords total freedom on millions of truely open handsets, then for sure. I'm crying out for extending the PC platform to mobiles, so i can write once, run everywhere. Android steps in that direction, being a Linux-based mobile platform. But it is a divergence from mobile Java efforts and standards many years in the making, through collaboration by the major players eg. Sun, Nokia, et al. Android employs the Java programming language, but unfortunately is not a standard or complete Java platform, ie. it doesn't commit to JavaME or JavaSE. Having said that, JavaME is bound to be supported on many Android-based handsets, and in time maybe JavaSE too.
There are other Linux-based mobile platforms, and JavaME is pretty universal, so Android is a non-standardised upstart at this stage. We can only wait to see the market penetration of Android handsets in the years ahead, and how developers and other players respond, eg. Sun with JavaFX Mobile. Android's APIs might become a JSR which is then included in the JavaFX Mobile stack, and/or JavaFX Mobile might leverage Android's OS? Who knows!?
The hype around the Blackberry, iPhone and future gPhones is contributing to the rapid growth of the smartphone market in general. And today's smartphones are tomorrow's affordable handsets.
To my mind the game then gets really interesting when common handsets have converged with personal computers, and these platforms become indistinguishable to consumers and software developers. Gimme a handset with Linux, Firefox, JavaSE, Swing and Webstart - otherwise it's just a gimmicky ol' phone, innit!?