Wizard API updated!
Tim Boudreau has released a new version of the Swing Wizard library (version 0.997) that fixes the WizardException bug reported in JavaWorld's recent Open Source Java Project profile. The article's examples have been reworked to test out the new, improved WizardException. Thanks, Tim, for this helpful fix!
Open Source Java Projects: The Wizard API

Newsletter sign-up

Sign up for our technology specific newsletters.

Enterprise Java
View all newsletters

Email Address:

J2ME: The next major games platform?

Is J2ME feasible as a high-end games platform for mobile devices?

Do you think that Java has become a little staid and unexciting? As a language matures and your experience with it grows, does it not naturally become less interesting? Well, that's what I tend to tell myself.

I have a theory about what really sells a language -- that is, for those developers who are lucky enough to choose the paradigm they work in. My theory -- completely unscientific, of course -- is that developers base their decisions on two simple factors:

  1. The coolness factor
  2. The "what's-in-it-for-me" factor -- in other words, how many jobs will it generate, what kind of work will I do, what sort of career path does it offer and, most importantly, what is the likely salary?


In Java's early days, the applet drew developers to the emerging language. When I read about Java in a magazine article in 1996, I was interested, but it was not until I saw my first applet that I became hooked on the idea -- the coolness factor clearly at work.

Since then, other client-side Web technologies have grown popular -- without completely replacing Java in the browser -- and consequently, developers now choose a language for what's-in-it-for-me reasons. As the demand increases for Java developers, salaries continue to head skyward.

Eventually the coolness factor cooled, as did general excitement for the language, until Java 2 Micro Edition (J2ME) came along.

TEXTBOX: J2ME did not just suddenly appear; PersonalJava has been around for quite some time and is currently up to 1.2. However, J2ME represents a fairly strong commitment from Sun to the embedded/mobile market, and it now seems that the market is finally taking notice, judging by the number of forthcoming products being developed to support Java in one form or another. Note that J2ME includes PersonalJava, EmbeddedJava, and the new Mobile Information Device Profile (MIDP). :END_TEXTBOX

Smaller is better?

If you believe industry analysts, who sometimes rival movie critics in their accuracy, embedded computer usage will grow by enormous percentages over the next three to five years. Mobile phones and PDAs are just the tip of the iceberg. Home networking, wearable computers, and more hover in our near future. What better platform to power the applications on those new devices than Java?

All the reasons for using Java on the desktop and server apply to smaller machines as well, and the most important reason, of course, is platform independence. With the possible exception of Palm, no single operating system rules the world of embedded devices at the moment, at least not compared to the desktop world. Some argue that portability is not an issue for embedded devices; speed and stability take precedence. While it may not be essential to operating system or hardware manufacturers -- who, after all, want more products for their systems than are available for their competitors -- I believe portability remains a concern for developers. The more market you have, the more money you can make.

The killer app

So what will be the first killer applications for cutting-edge mobile phones that sport color screens and broadband Internet connectivity? The answer: games. What sort of games? Answering that question exposes a slight inadequacy with J2ME: as opposed to the original Java killer app, the applet, it's difficult to demonstrate J2ME's potential and thus difficult to demonstrate J2ME's coolness.

1 | 2 | 3 | 4 | 5 | 6 |  Next >
Resources
  • J2ME and PersonalJava
  • Java on the metal
  • ARM has added Java support to its processors. A good place to start reading (click on CPUs, then click on ARM Jazelle Technology)
    http://www.arm.com/
  • Jbed is a combination of JVM and a realtime operating system available on a number of different embedded platforms
    http://www.jbed.com/p.html
  • Ajile produces realtime, low-powered Java processors, plus evaluation boards for prototyping
    http://www.ajile.com/
  • Zucotto offers the Xpresso Java semiconductor
    http://www.zucotto.com/
  • Other virtual machines
  • Hardware
  • Additional sources