Feeds

How Ellison could fight Google's Android - without lawyers

Lessons from Java's painful past

  • alert
  • submit to reddit

Secure remote control for conventional and virtual desktops

First, the good news. Java on mobile phones has been a palpable success. Installed on eleven billion mobile phones worldwide, Java ME is one of the most widely available software development platforms - ever.

Its APIs are powerful and a pleasure to program with (as long as you're targeting a single device, of course). Also, the Sun Microsystems team did a sterling job of integrating NetBeans with connected profiles, making it easy to create MIDP apps - MIDP, or Mobile Information Device Profile, being the most common Java ME profile for phones.

At this week's OpenWorld in San Francisco, California, Oracle chief executive Larry Ellison's hucksters will be pushing MIDP hard. In theory, MIDP has a compelling story: as a single layer in the phone stack, it can go places Google's Android - the subject of law suit launched by Oracle - can't. Pretty much any modern phone can have a MIDP implementation, and most do.

Victim of history

And yet, developers don't seem to like MIDP. Corporations aren't interested in creating products for it, and it's just never enjoyed the same "fanboi-ism" as Apple's iPhone or Android. Despite its short history, Android already has over 80,000 apps available. By comparison, considering the number of MIDP devices out there, the rolling tumbleweed state of Java ME development suggests that something has gone horribly wrong.

Java ME is a victim of history. As a first-mover in the mobile phone market, it's the product of an era when phones were far more limited. In those days it was necessary to provide a hobbled language with certain packages and API functions missing.

But times change. Increasingly, bemused developers have asked why they couldn't now have the full Java SE on their phone. After all, OSX can be squeezed into an iPhone, and Linux plus the awesome Dalvik virtual machine fit neatly into a growing army of Android devices, while scaling seamlessly up to tablet size. Android runs a subset of Apache Software Foundation's (ASF's) Project Harmony, and implementation of Java SE, with the Dalvik VM.

Java ME was also a victim of circumstance. Instead of being a phone's software stack, it slots neatly into a manufacturer's own stack and operating system. Its reliance on differing implementations of phone and operating system services provided by different manufacturers has resulted in fragmentation sending developers ducking from the shrapnel.

Research in Motion kept the signing process in-house... no third party demanding your money for essentially nothing, on the basis that they exist and that they've deemed themselves to be "trusted".

Developing a MIDP app doesn't just mean creating one application, it means creating and testing on every single different device that you want your app to be available for, and hacking your app to cope with the differences. Frankly it's a nightmare.

The Java Verified program shoulders much of the burden for the decline of MIDP. Awkward for developers, expensive for their employers, impossible for open source or "bedroom coder" hobbyists, it seems designed to make MIDlet deployment a misery.

Those of us who questioned why Sun never managed to capitalize on Java should look at the signing issue. When Sun upgraded to MIDP2/CLDC1.1, they contracted out the certification and testing to third-parties, who could then charge whatever they wanted to sign and test your application.

Research in Motion, by contrast, kept the signing process in-house: pay them the princely sum of $100 per year, and that's that. No third party demanding your money for essentially nothing, on the basis that they exist and that they've deemed themselves to be "trusted".

But above all, Java ME is in desperate need of an official, central app store targeted at non-technical phone users. The Java store currently only caters to desktop Java apps and isn't even available outside the US. Without this essential component, Java ME development will never, ever come alive.

Despite the saddening story of Java on phones, and Oracle's attempt to keep it that way, it is now possible to write Java applications for a growing range of smart phones.

Frothy-mouthed developers can't seem to stop writing Android apps. It helps that Android has its own mascot, the grinning green robot that looks like it's about to start 'dissing mashed potato and selling you its powdered variety. But more practically, the platform fragmentation that has so beset Java ME doesn't seem to have affected Android quite so much. That's because Android controls the entire software stack and Google seems prepared to stand up to the nakedly self-serving phone manufacturers.

Meanwhile, another great Java ME barrier is nimbly avoided: app signing is simple and costs the developer nothing. You can use self-signed certificates to sign your applications. No certificate authority is needed.

Where's the jobs?

The only issue so far, is that the Android developer frenzy hasn't translated into an active job market. Aside from the occasional company employing someone to maintain a mobile version of their software, the majority of Android developers appear to be uploading weekend-coded apps to the marketplace in the hope of cashing in on their hobby.

The unstoppable marching Android paints a brutally different picture from the unhappy Java ME mouse. Java 2 ME - before it became just Java ME - was strong in 2004 compared with the ghost town it is now.

Of course, Java ME profiles will continue to hold a key position in low to mid-range phones - in other words, phones that are not Android or the iPhone. It'll likely be strong, too, on RIM's Blackberry. But for a product's market to be defined in terms of territory that its competitors have deigned to leave untouched, speaks ill of its future.

And if Java ME is to gain any meaningful developer mind and marketshare, Larry will need an extra-special announcement or three up his sleeve at OpenWorld. Namely: a full, uncompromising Java SE implementation, a unified MarketPlace/AppStore so users can browse and download apps over the air, and a single, powerful device configuration for smart phones.

With these three developments, and the backing of all the major phone manufacturers and carriers, Java ME could quickly become a serious contender. Without them, it'll remain a victim of history. ®

Matt Stephens founded independent book publisher Fingerpress, and co-authored Design Driven Testing: Test Smarter, Not Harder, due out this month.

Choosing a cloud hosting partner with confidence

More from The Register

next story
Microsoft on the Threshold of a new name for Windows next week
Rebranded OS reportedly set to be flung open by Redmond
'In... 15 feet... you will be HIT BY A TRAIN' Google patents the SPLAT-NAV
Alert system tips oblivious phone junkies to oncoming traffic
Apple: SO sorry for the iOS 8.0.1 UPDATE BUNGLE HORROR
Apple kills 'upgrade'. Hey, Microsoft. You sure you want to be like these guys?
SMASH the Bash bug! Apple and Red Hat scramble for patch batches
'Applying multiple security updates is extremely difficult'
ARM gives Internet of Things a piece of its mind – the Cortex-M7
32-bit core packs some DSP for VIP IoT CPU LOL
Lotus Notes inventor Ozzie invents app to talk to people on your phone
Imagine that. Startup floats with voice collab app for Win iPhone
'Google is NOT the gatekeeper to the web, as some claim'
Plus: 'Pretty sure iOS 8.0.2 will just turn the iPhone into a fax machine'
prev story

Whitepapers

Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.
Intelligent flash storage arrays
Tegile Intelligent Storage Arrays with IntelliFlash helps IT boost storage utilization and effciency while delivering unmatched storage savings and performance.
Beginner's guide to SSL certificates
De-mystify the technology involved and give you the information you need to make the best decision when considering your online security options.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.
Secure remote control for conventional and virtual desktops
Balancing user privacy and privileged access, in accordance with compliance frameworks and legislation. Evaluating any potential remote control choice.