Palm's new OS finds the sweetest spot
Fourth Time lucky?
Analysis If necessity is the mother of invention, maybe it helps to be really, really needy when you have to come up with something great. That would seem to apply to Palm, which was considered down and out when it was developing its new mobile operating system, webOS. But as further details of the system and development process emerged this week, it looks like a very smart design choice indeed.
Dave Pike, well known in the Palm developer community, makes some intelligent speculation on his blog based on leaked screenshots of the development environment. Dave spikes Linux running a web server, but also suggests that Palm has used the Open Services Gateway Initiative running on a Java VM.
"OSGi makes Android's IPC-based component model look slow, weak and restrictive. OSGi communicates with its bundles by ordinary method calls, a much better way to enable the kind of mash-ups that have made Android attractive to developers," he suggests. Well, there is an OSGi framework for Android - we covered it here - but they come from third parties and it's not Google's preferred approach. So a really ancient specification designed for embedded devices finally gets its moment in the sun.
We have an early glimpse of webOS development from internet radio service Pandora, over at PalmInfoCenter here. Pandora's Tom Conrad points out:
So what can we conclude?
Overnight, large industrial-strength operating systems, the kind Microsoft and Symbian want to license you, now look like overkill for simple local applications and applications that access a web service. This leaves a small but important class of applications for which there is no alternative but to use the native frameworks.
Apple's iPhone OS is also a complex industrial-strength OS - Unix, obviously - but thanks to its very well thought out APIs, developers don't find development as challanging as Symbian, even though Objective C may be new to them. Android seems to suffer all the drawbacks that writing for a non-standard Java would suggest, but it does have the might of Google behind it.
Palm's careful hybrid approach makes a lot of sense. Make local services really rich and easy to use - and make accessing web and "cloud" services trivial. This is really the territory Adobe should own. Adobe's Flash for mobile once looked to solve a lot of these headaches, but the company could never capitalise on it. It's not uncommon to see Flash Lite today, but rarely as anything other than a presentation run time.
Of course Palm remains the neediest, and least capitalised of all the players: Apple, RIM, Nokia, Google and Microsoft have far deeper pockets. But after all the mis-steps over the years - anyone else remember Palm CTO Bill "Mad" Maggs explaining that mobile devices didn't need a memory management unit? - Palm has stumbled on what may be a real sweet spot. ®
Also, for network-bandwidth-heavy things like Jaiku (as mentioned in the article), it's not like the JS app has to individually process every byte of data - if they do something like implement a Socks server (like NetShare on the iPhone) there's very little heavy lifting that has to happen in the app itself. It'd just be passing large byte arrays around, for the most part.
Good luck Palm
As an avid PalmOS user for many years I wish Palm all the best, and will probably get one just to support them (yes I am a *fanboy* :P )
OSGi more than a buzz word for mobile Java
@Steven: OSGi may be a trendy acronym among server-side Java developers, but for mobile Java developers it answers some really serious deficiencies that the JCP has failed to address for years. Java ME MIDP's lack of a component model has created the worst kind of fragmentation and the many ways MIDP keeps mobile Java developers from leveraging all the innovation that is going on elsewhere in the software world has relegated it to "toy" status, despite the fact that it's on a billion phones and has such tantalizing potential. OSGi enables mobile Java environments to align with standards that server-side Java developers enjoy without imposing ever more bloated monolithic stacks. Honestly, for mobile developers it's like being let out of prison. I should add that the speculation that Palm is using OSGi or will have a Java SDK at all contains a good dose of wishful thinking. I think they'd be crazy not to, but that's about all the reason I had for supposing they've actually done so.
@Register: My last name is Beers, not "Pike." Since the Internet never forgets :-)