Category Archives: Mobile Services

How to make Java suck? Ask Sun!

Whenever I talk about Flex and other Adobe stuff with colleagues and geeks I know, sometimes I get the annoyed answer like “Adobe is evil, it’s proprietary code, there’s a governance issue.” Of course the implicit assumption is that Sun Microsystems does it so much better. Well, let me tell you a story about Sun Microsystems’ tremendous governance.

At this time, I’m trying to put together a prototype for a mobile service of mine, using Java Mobile Edition and several of its optional API’s. One of those API’s is core to my application since it is what I use to connect to my backend server: JSR172, aka Web Services API. When I started this prototype, I knew that using optional API’s is risky, because not all cell phones out there support all of them. But it’s a prototype, I just want to make sure it works on my own super-phone (Nokia N95 8GB), and I’ll try to find a solution later for other phones.

So I ordered my very expensive phone and while I was waiting for it, I started working on my J2ME application. I tested it under Sun’s reference implementation Wireless ToolKit and everything worked just great. Then I downloaded the Nokia toolkit and there I had an issue, something cryptic like “(1) Missing end tag for body or envelope”. I thought it had to be an issue related to the beta version of the toolkit, so when I got my phone, I deployed it there and boom: same error. No way to connect to my backend server! Then I started to get nervous. I left a message on, and nobody seems to be able to give me serious options.

So now I’m stuck with an application that works great on Sun’s reference implementation, but nobody uses their implementation on their phones. It could be that Nokia did a bad job reimplementing the specification. But if Sun had done things right, there would be a comprehensive compatibility test that would enforce all the implementations to work the same. Or at least, there would be the option to replace the phone implementation with theirs. But wait, outside of the WTK, the WSA page has not been updated since June 2005! Come on!

No wonder why Google Android and Nokia Qtopia are working on alternatives…

Blown Away!

Sometimes I like to believe that my passion for technology watch gives me this little je ne sais quoi that allows me to determine with a pretty good accuracy whether a given technology is going to be huge or not. Of course sometimes I’m proven wrong, most of the time because something else comes in the way and changes everything. But this time…

If you want to bet on technology horses, here are my tips for the 5 years to come:

  • Rich Internet Applications, and more specifically Flex
  • Model-Driven Architecture, and more specifically AndroMDA
  • Service-Oriented Architectures, and more specifically… nothing in particular, flexible solutions first and foremost (maybe we have to find another name for it before IBM and others make it disappear under tons of marketing crap)
  • Semantic Web, including RDF, OWL & Co.
  • And my special mention today goes to… the one that just reappeared in my top 5: MOBILE SERVICES!

Of course I’m talking about Google’s Android.

Yes, I know, my opinion is biased, I usually love everything Google does, because I can’t help admiring the creativity they are able to generate and the innovation they drive. But hey, I’ve been doing Java ME development on my free time for a few years now, and each time I came back to it, it was like a huge pain: all this fragmentation, impossible to use even the simplest services on my own 6-month old phone… and I don’t even mention this crappy emulator. And now I can’t even develop on my Mac!

Well, guess what! I’ve only been playing with Android for a few minutes, and it has a great development environment (even if I’m still waiting for the IntelliJ integration), a very good-looking emulator, and the API seems really simple to use. And when you read all the industry commitment there is behind it with the Open Handset Alliance, and you start to imagine this could become THE industry standard, with all its openness and non-fragmentation. That’s really exciting!

You know what, that’s what I’ll never like with Sun Microsystems: they have this very annoying tendancy to let go, to release a big clumsy technology, and to rest on the fact that they are the first one on this market. And then they wait. They have done it with J2EE (those who do EJB’s, raise your hands! that’s what I thought…), Spring & Co have created something better, now they’re trying to catch up with JSF and EJB3, but I doubt they will make it. And now it could happen with J2ME: they have neglected mobile platforms for too long, and now they’re going to pay the price. Do I believe that JavaFX Mobile is going to change it? Look, I haven’t seen a single working environment with it yet, but why not. Time will tell!

What about you? What horses would you bet your savings on?