Future of Java Embedded VMs

I’m writing about this topic based on a request made by Artur Lojewski back in November last year, it has taken me a while to collect my thoughts on this topic as well as find time to sit down and write a posting.  Artur attended Eclipse Summit Europe where Dave Thomas (Big Dave) gave a talk entitled “Next Generation Embedded Software – The Imperative is Agility!” and asked what my opinion was.

Unfortunately I didn’t attend that Eclipse Summit Europe, so I didn’t hear what Dave had to say.  Talking to some folk that I do know who went – their impression was “Vintage Dave“.  I have made reference to this in the past – but I did work for Object Technology International and my university education was heavily influenced by Dave Thomas – myself and my classmates were some of the first to work our way through learning datastructures etc., in Smalltalk.  So a lot of my opinions of what Dave says are going to be coloured by my past experience (and his influence on the start of my career).

Almost any talk given by Dave will get people to sit back and think – he’s also not afraid to stand in front of an audience full of Java programmers and tell them that they’ve picked the wrong language.  In my experience he always has some good points and is worth listening to, but to interpret his talks as a set of black and white statements (or out of context) is dangerous.  There were two other bloggers that gave some in person accounts of his talk – I’d encourage you to read those.  Another reasonable reference is to read about Dave’s thoughts on JavaScript – and if you go back to what got Java started (the browser plug-in) and where Java is today, it is clear that the language didn’t fulfill the original promise.

There are others who are predicting that embedded java is dead, even James Gosling has suggested that J2ME is done.  However, if we take a look at embedded Java today – you’ll see that the Blu-ray format is a new niche for this technology.  As well, even low cost phones such as the Nokia 2760 support the J2ME profile.  This means that as a platform, there are actually billions of devices out there – how is this not success?

I think it depends on what the original goals were, and the future of the platform.  Among the various J2ME enabled devices, there are differences.  This isn’t really a lot better in the browser / javascript space, but Web2.0 holds the spotlight at the moment.  Probably the biggest threat to the J2ME space is the new generation of smart phones:  iPhone, G1 and Palm Pre – none of these have embraced Java as the path forward.

Looking at embedded hardware, we’re starting to see more and more capable hardware in the palm of your hand.  For example – iPhone is a 400MHz ARM cpu compare this to a hot desktop circa 1998 (PentiumII 400MHz), the very definition of what embedded means is changing.  In the near term J2ME will continue to be an expected feature in cell phones, so there is still a market which will continue for several (5?) years.  As the smart phone market sorts itself out we’ll see which new (or old) technology rises to the top.  It is probably safe to say that J2ME will have an impact on the outcome,  but to bet on it as the winner is probably long odds.

Disclaimer: The postings on this site are my own and don’t necessarily represent IBM’s positions, strategies or opinions.

Nintendo DS Lite (NDS)

Gaming is what got me into computers, I was facinated by the idea that it was possible to create your own games.  I started out with the Commodore-64 which let me play lots of games, but also gave me a chance to learn a lot of programming.  My next computer was a PC (386sx) and by this time I was more focused on programming than gaming.  Later on after university I picked up a Nintendo 64, which in its day was a ground breaking console.  This was also around the time that id Software was reinventing the PC gaming market with Doom and later Quake – this resulted in many late nights sessions at work where we’d setup a network game after hours.

Having met some seriously fanatical gamers, I can’t call myself one.  I like to play from time to time, but the constant hardware upgrades and time investment keep me from being very serious.  In late 2004 I picked up a GameBoy Advance SP – it was a great way to kill time in an airport.  Ken had purchased a few MovieAdvance carts, which let me play some homebrew and movies (poor quality, but this is a 16MHz ARM chip!).  For my birthday in 2006 Jenn got me Nintendo DS Lite, and it is so much more than just a simple game machine..

When I got a copy of Super Mario 64 for the NDS, it completely blew my socks off.  Here is a game that in 1996 was one of the coolest looking (and fun) games I’d ever played – and now 10 years later its running on a handheld.  Of course there is also the well known side scrolling New Super Mario Bros and of course The Legend of Zelda: Phantom Hourglass which are must have games on the NDS.  Moving a bit away from games, the BrainAge series are very addictive – and the web browser gets regular use by me.

In my opinion a must have is one of the many flash cartridges for the NDS.  I bought an R4DS from consolesource.com back in early 2007.  The flash cart world is a bit odd, there is a very strong homebrew scene – but an even stronger pirate community.  The flash carts themselves live in a gray area, and are illegal to sell in some countries.  Some of companies making these products tend to seem a little shady as well, often creating cheap knock-offs so there is an element of buyer beware.

The R4DS takes a microSD card, which is almost hilariously small.  Let’s take a quick look at some of the software I have loaded on mine today.

There is plenty of other stuff as well, but those are a few highlights – every one is worth the time to download and install.

I also use the NDS as a reading light – so while I don’t play games every day, I do use it almost every night.  The new DSi looks very tempting, but I suspect I’ll wait until the price comes down a bit – and we start to see more software which is unique to the DSi.  I can’t wait to see what the homebrew community cooks up for it.