I dragged myself away from Mini Kiss and Robot Fighting at the ‘After Dark’ bash on Thursday evening (seriously, this was geek entertainment to the max) to head to a session title JRubMe. OK, it was a typo and it was actually JRubyME. It was already looking less interesting.
In the end, I think I learnt more about the folly of human endeavour than about JRuby on Java ME devices. A guy from Symbian – my favourite mobile OS – was talking about how he managed to convince his boss to try to get Ruby onto Symbian. He had two approaches, one was porting the C implementation of Ruby, the other was running JRuby under the mobile JVM.
It took him 3 weeks to ‘port’ the C version but never really got it to work. He then managed to ‘port’ JRuby in a few days and got a basic script to paint a red box and play a really annoying sound. I say ‘port’ because it didn’t actually support everything and hence was not useful in any real sense.
He went on to explain the intricacies of CDC, CLDC, Ruby 0.8.2, Ruby 0.9.8 and whole bunch of other stuff which boiled down – as far as I can tell – to ‘we can either port an old version of Ruby and have it severely limited’ or ‘we can port a newer version of Ruby and it will work on devices in 2 or 3 years time, and it will be severely limited’.
Why even bother, I hear you ask (I know I was asking it)? Well apparently ‘more is better’ when it comes to development options on mobile devices. Also, there was one throw away comment about Ruby allowing you to ‘code on the device’ and hence making it easier to try out code rather than the cumbersome code, build, deploy to device model. Although I can see how this might be worthwhile, I am not sure this is the way to solve it. How about better standards and emulators?
In any case, there isn’t any code, there isn’t a project, and there isn’t even a community asking for it to be built. Don’t hold your breath for Ruby on the Mobile anytime soon.