A New Year, a New Future
This is my last column as J2ME editor. A convergence of circumstances has made this an opportune time for me to sign off.
With the January issue of JDJ the J2ME section will be merged into the enterprise section. This reflects, in my opinion, a truth that some of the greatest benefits of J2ME will be realized through its symbiosis with J2EE. While the general industry press frequently centers on J2ME's capabilities for game development, or such trifles as Christina Everywhere, I think that it is in the evolution of the mobile workforce that we'll see some of the most significant advantages of J2ME come to the fore.
We're beginning to see how the combination of notebook PCs and WiFi opens up opportunities to work from nontraditional venues. Now extend that model to smaller, more mobile devices supported by 3G networks, and mobile computing becomes pervasive - or, dare I use that overused word, ubiquitous. Current applications such as mobile e-mail, for all of their success, are relatively primitive examples of the benefits to come from mobile computing. Simply being able to remotely access enterprise assets such as engineering schematics, real-time pricing information, and billing records opens up a wealth of opportunity to increase productivity and offer new services. Add the likelihood of innovative applications that leverage enterprise assets in unexpected ways and the benefits of mobile enterprise computing multiply.
What does this have to do with the aforementioned "convergence of circumstances"? Well, JDJ's merging of the J2ME and enterprise sections coincides with a time frame I established for myself earlier in the year - a year-end deadline for either finding enough J2ME work to make it my primary focus, or accepting that the J2ME market isn't mature enough yet for that to happen. New work hasn't come, so I'm concentrating my efforts on J2EE.
Now my opinion about J2ME hasn't become negative - I still think it has great potential and will experience continuing success. It has a powerful edge over its competitors in the quality of the technology and commercial presence, and is a strong bet to become the predominant technology for developing mobile applications (and may be so already). However, I have come to suspect that the future legions of J2ME programmers forecast by Sun and others won't be quite as massive as claimed. The heavy lifting will continue to be done on the enterprise side.
One reason I think this is so is because, quite simply, the J2ME applications of today can't be very big or complex. Forgive me for stating the obvious, but limited memory, data storage, and processing power significantly limit the number and diversity of potential mobile applications, and one developer can pretty much write an entire application with a few weeks', or at most a few months', effort.
This is changing, of course, and will continue to change. For example, the MIDP 2.0 spec mandates a minimum of 128KB for volatile memory (heap), compared to 32KB for the MIDP 1.0. (With the MIDP 1.0, if you hadn't heard of an obfuscator before, you quickly learned that it was a necessity for compacting almost any MIDlet into the footprint supported by most MIDP devices.) And, of course, continued improvements in the speed, memory capacities, and processing power of the hardware will create opportunities for new applications. But I think that in the near future (the next few years), the real power in J2ME applications will be seen in sophisticated clients for back-end, enterprise systems. The real increase in the number of J2ME programmers will occur, I suspect, as enterprise developers begin to mobilize their applications. Yes, there will be a segment of the Java community that is focused primarily on J2ME development, but I believe that for most Java developers, J2ME development will be an adjunct to their main task, developing enterprise applications, which is where you'll find me.
I'm not disappearing from these pages entirely though. I'll continue as a contributing editor, and will chime in occasionally with my perspective on things J2EE, J2ME, Java, et al. In making that transition, I'd like to thank the JDJ staff for giving me the privilege of writing this column, and for their efforts and success in publishing a quality magazine each month.
Glen Cordrey is a software architect working in the Washington, DC, area. He's been using Java for five years, developing both J2EE and J2ME applications for commercial customers.