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:

The fragmentation effect

A look at how device fragmentation influences J2ME application development

With the promise of a billion Java-enabled wireless handsets in the market by 2006 (according to Ovum Research), the opportunities to profit from the development and sale of J2ME applications may seem limitless. Limitless, that is, until you recognize that reaching that market requires the creation of hundreds of different versions of every application to satisfy multiple device-, language-, and operator-specific requirements.

Developers and publishers know this problem by the name fragmentation. Fragmentation is the evil twin of differentiation, a term marketing managers use to explain the need to create so many different handsets. Since people want their phones to look and perform differently and generally do not want to pay for features they won't use, handset manufacturers must offer devices to satisfy every possible taste.

While differentiation may be good for handset marketers to increase sales, fragmentation is a major problem for developers. Fragmentation drives up the costs and time it takes to get an application to the mass market. Applications have to be ported from one device to another, translated from one language to another, and even customized for specific mobile operator needs. The result is often hundreds of different stock keeping units (SKUs) of the same product.

But specifically, what causes fragmentation and why can't standards be adopted to help alleviate it? Let's look at a mobile application's typical environment to understand this issue further.

The mobile device and J2ME operating environment. Click on thumbnail to view full-size image.

By dissecting the application environment into layers, we see how each component is full of variables that can be combined in different ways. This results in significant differences that affect the application's operation. The basic layers are as follows:

  • Physical device characteristics
  • Device OS characteristics and APIs
  • JVM and APIs
  • Operator/market requirements and client/server APIs


Physical device characteristics

Similar to a PC, a mobile device has numerous elements in its physical structure that influence how an application functions. To suggest that all of these elements could be standardized is to overlook that this market is alive with constant innovation both for style and for new technology purposes. Add to that the fact that you don't have dominant players that can create defacto standards and you end up with hundreds of devices with different physical characteristics.

The chip level

At the chip level, we have elements like memory and processing speed, both of which are determined by the handset manufacturer's choice of processor. The decision of which processor to use is often based on economics and technology, as well as the rate of technology change. Chip processing speed affects how quickly the application can respond to a user's command and may limit the capability to quickly refresh the highly graphical elements of a J2ME game, for example. Both online and offline memory are also equally important and, again, establish limits for both the storage and operations of a J2ME application.

1 | 2 | 3 | 4 |  Next >

Discuss

Start a new discussion or jump into one of the threads below:

Subject Replies Last post
. NetBeans Mobility Pack
By Lukas
2 04/24/08 05:11 AM
by Anonymous
. There is a Solution!
By Enough
1 04/22/08 06:02 AM
by Anonymous
. The fragmentation effect
By JavaWorldAdministrator
1 04/21/08 06:37 AM
by Anonymous
. Fragmentation can be Won Over
By Anonymous
0 04/05/08 06:04 PM
by Anonymous


Resources