Chapter 2. The Mobile World

A New Era of Gaming

Get ready for a tour of the micro device world. This chapter will show you the attributes, limitations, and specifications behind the latest crop of gadgets capable of running Java 2 Micro Edition (J2ME). The list includes Personal Digital Assistants (PDAs), television set-top boxes, automotive navigation systems, home appliances, two-way pagers, credit cards, and mobile phones.

As you begin to think about developing games and other entertaining applications, this chapter will help you focus in on a target platform and give you some idea of your game design parameters.

NOTE

Keep in mind that new Java devices are constantly being introduced. While some of the devices listed here may amaze you, others will seem laughably out-of-date within the next year or so. An up-to-date list can be found on Sun's Web site: http://wireless.java.sun.com/device/.

Micro Devices

While the definition of what exactly a micro device is may vary, J2ME focuses on everything from set-top boxes to tiny chips embedded in appliances—devices nearly as powerful as any desktop computer.

Although we will touch on all relevant J2ME platforms, this book focuses on mobile phones using the MIDP. This is for several reasons:

  • It is expected that the vast majority of games written for J2ME will be for devices that are portable, have a screen for visual output, offer some amount of network access, and have a keypad for user input. In other words, a mobile phone. Although it is theoretically possible to create a game for a smart Java credit card—for example, a game wherein you guess the price of items before you purchase them—such situations will be rare.

  • More advanced devices—such as set-top boxes that mix interactive content with TV video—will most definitely be popular platforms for many games. In fact, dedicated gaming consoles such as Sony's PlayStation 2 may actively support Java in the near future. However, games written for such appliances will likely use special graphics APIs and more advanced Java 2 Standard Edition (J2SE) libraries. At this time, there are few high-end devices focusing on J2ME.

Most cell phones use the MIDP profile of J2ME. However, bigger mobile phones with PDA functionality usually run the more advanced PersonalJava. Additionally, some phones—especially in Asia—run proprietary versions of Java. All of these standards will be discussed in Chapter 4, “Wireless Standards: How Data Goes To and Fro.”

The Micro Revolution Begins

When Sun Microsystems decided to create the Java 2 Micro Edition, many companies wanted to be a part of it. These companies all wanted to be able to add J2ME capabilities to their products.

Java holds many advantages:

  • Most phones come with a set bundle of applications such as silly games, organization tools, and basic calculators. Mobile phone manufacturers realize that in order to stay competitive, phones will need to become expandable, and be able to support tons of different business and entertainment apps. Users will want to be able to download new software on-the-fly and erase old or irrelevant programs. A fully functional programming language such as Java makes that possible.

  • It is estimated that 2.5 million developers around the world already know and love Java. Release a J2ME product and people can start developing for it right away, with little or no additional training.

  • Lots of good stuff is already written in Java. There are already scads of cool Java applications and applets out there, making it easy to convert the best apps to a micro format.

  • By supporting a de facto standard, hundreds of applications will be available for new devices the moment they hit the market. For example, if somebody creates a kick-butt shooter game in J2ME, then it will work on any current and future J2ME devices with few or no changes.

  • Java has a well-defined security model. This means that manufacturers don't have to worry about a Melissa-like virus getting into a mobile phone's address book and automatically calling everybody up and sending them the virus.

  • Instead of developing and maintaining a proprietary programming language across various devices, manufacturers would much rather license a stable, known language such as Java. The same language can now work across various processors and operating systems.

Wide Support

Just some of the companies that are developing J2ME products and services include the following:

  • Far EasTone

  • Fujitsu

  • Matsushita/Panasonic

  • Mitsubishi

  • Motorola

  • NEC

  • Nokia

  • One 2 One

  • Philips

  • Research In Motion (RIM)

  • Siemens

  • SmarTone

  • Sony

  • Symbian

  • Telefonica

Micro Java is rapidly taking hold all over the world.

Asia

The first region of the world to adopt the Java 2 Micro Edition was Asia. In Japan especially, there has been massive acceptance and penetration of Java phones. According to Nikkei BP, there were 4.65 million J2ME phones in Japan in the first quarter of 2001—out of a total of 14.8 million mobile phones. That means that 31% of phones in Japan will be Java phones. As handsets become more functional, it is expected that more than 40% of phones will support Java by the fourth quarter of 2001. Many different manufacturers—Matsushita/Panasonic, NEC Corp., Mitsubishi, Sony, and Fujitsu—are creating phones for Japan's NTT DoCoMo wireless service.

Other mobile network operators, such as Japan's J-PHONE GROUP, are unrolling third-generation wireless networks with Java-phones as the central component. In South Korea, LG Telecom introduced Java with their i-Book mobile phone.

Europe

The European market was next to fall prey to the Java invasion. Many of the latest phones are being built atop the Symbian EPOC platform, which supports Java technology. Various companies will roll out anywhere from 40 to 60 million Java devices. Companies that have signed up to license the Symbian platform include Ericsson, Motorola, Nokia, Philips, and Psion.

In addition, manufacturers such as Siemens, Nokia, and Motorola released J2ME phones during the summer of 2001.

North America

The first mobile phone to support J2ME was released in the spring of 2001 by Motorola. The i85s and i50sx phones, using the Nextel service and the Motorola iDen network, are predicted to be just the beginning of Motorola's new product line. The Motorola Accompli 008, released in July of 2001, is the first J2ME mobile phone for GSM networks. To understand more about GSM networks, check out Chapter 4.

Nokia has also recently announced that it will support Java technology in most of its future mobile terminals, with plans to sell more than 50 million Java handsets in 2002 and 100 million Java phones by the end of 2003. Nokia phones will support various flavors of Java, ranging from MIDP to PersonalJava and JavaPhone.

In addition, many North American wireless services already support Java, or are planning to support Java network traffic in the near future. These companies include Nextel, Cingular, and Sprint PCS.

High-End Java Devices: Set-Top Boxes, Phones, Consoles

Most high-end devices run a special version of J2ME known as PersonalJava. In addition, many devices implement the JavaTV APIs.

Set-top box manufacturers that support J2ME include Motorola and Philips.

PersonalJava

PersonalJava is an application environment for network-connected, resource-limited devices. Basically, it is a simplified, pared-down version of the Java 2 Standard Edition that everybody knows and loves. The idea is to take the most popular features and libraries of Java and squeeze them into a smaller footprint.

Some features of the latest PersonalJava 3.0 include the following:

  • Java Native Interface (JNI) 1.2 support

  • Java Virtual Machine Debugging Interface (JVMDI) 1.2 support

  • Java Virtual Machine Profiler Interface (JVMPI) 1.2 support

  • The Truffle Graphical Toolkit—This allows for platform-independent, customized look and feel components. This includes the Touchable user interface, specially designed for touch screen devices. For example, Figure 2.1 shows a sample mail application designed using Truffle.

    A visually appealing PersonalJava application.

    Figure 2.1. A visually appealing PersonalJava application.

The PersonalJava application environment is an additional set of libraries that sits atop the Connected Device Configuration (CDC) of J2ME. For more information about all this, see Chapter 8, “J2ME Overview.”

More information, including a PersonalJava emulation environment and software for ensuring that your Java code is PersonalJava compatible, can be found at http://www.javasoft.com/products/personaljava/.

JavaTV

JavaTV is an Application Program Interface (API) specifically designed for a digital television receiver. It sits atop PersonalJava and includes special functions for

  • Streaming audio and video

  • Accessing in-band and out-of-band data channels

  • Changing channels

  • On-screen graphical overlays

For more information on the Java TV API, visit http://java.sun.com/products/javatv/.

JavaPhone

The JavaPhone 1.0 specifications are a set of routines with access to typical phone capabilities such as specific phone functionality, scheduling, contacts and phone books, power monitoring, and serial communications.

PingTel xpressa Phone

This is not a mobile phone, but an actual digital desktop phone. All voice comes through over IP, allowing for amazing versatility and functionality. For example, the phone supports up to 1,024 simultaneous calls and can easily perform multi-party conferencing, forwarding, call logging, caller ID, and other advanced tasks.

The phone is entirely Java-based. It runs the PersonalJava environment, along with a host of other APIs to control calls and audio systems. It comes with its own xpress Window Toolkit (xWT) for user interface design, and supports Java Management Extensions (JMX), Java Naming and Directory Interface (JNDI), Java Database Connector (JDBC), Remote Method Invocation (RMI), Java Dynamic Management (JDMK), and Java Beans.

Display Size: 160×160

URL: http://www.pingtel.com/homepage.php3

Sharp NC-10 IP Phone

This multimedia voice-over-IP phone is more than a cordless phone. It has fax, Web browsing, and e-mail services built in. All input occurs through the touch screen. It can also run Java applets.

URL: http://www.sharp.co.jp/sc/eihon/nc10/text/sys.html

Personal Digital Assistants (PDAs)

Personal Digital Assistants commonly focus on storing a database of contacts with phone numbers, a calendar with schedules, a memo pad, and a to-do list. But PDAs such as the iPaq and Palm have become more than fads—after you start to rely on them, carrying them becomes almost as necessary as breathing.

In addition, most PDAs support third-party applications. This means that your PDA can have word processors, image drawing tools, and spreadsheets. One of the most popular categories of PDA apps is, of course, games.

J2ME PDA Profile

There is currently a specification being written using the Java Community Process to extend and enhance the J2ME CLDC. The specification is called JSR-000030: The PDA Profile.

Companies working on the profile include Sun Microsystems, Palm Computing, Siemens, Motorola, Nokia, Sharp, and Sony. After this specification is complete, we can likely expect to see Java pre-installed on many more PDAs.

This profile will focus on handheld devices with the following attributes:

  • No less than 512KB total memory (ROM and RAM combined) available for Java runtime and libraries, and no more than 16MB.

  • Limited power (typically battery operated).

  • User interfaces having at least a total resolution of at least 20,000 pixels, a pointing device, and character input.

The PDA profile adds a special display toolkit with special classes and objects for small screens. This will be subset of Standard Java's Abstract Window Toolkit (AWT). More information about the profile can be found at http://jcp.org/jsr/detail/75.jsp.

PalmOS

Many handheld devices support the Palm Operating System (PalmOS). Palm Computing has a whole line of different devices—Palm V, the wireless Palm VII, Palm Vx, Palm m500, and Palm m505. There are also numerous modems available for Palms, made by companies such as Minstrel. Visit http://www.palm.com/ for more details.

In addition, companies have licensed the PalmOS. Handspring, for example, created the Visor, the Prism, and the Visor Edge (shown in Figure 2.2). Handspring specializes in an expansion slot called the Springboard, which enables you to plug-in components such as digital cameras, global positioning systems (GPS), and more memory. Visit http://www.handspring.com/ for more info.

The Handspring Visor EdgeHandspring Visor Edge.

Figure 2.2. The Handspring Visor Edge.

Sony also has a line of organizers using PalmOS. The Sony CLIE (pronounced klee-ay), for example, has a full color display, supports the Sony memory stick, and comes with a built-in MP3 player. Read more about the CLIE at http://www.sonystyle.com/micros/clie/.

Several new phones actually support the PalmOS. Handspring has a VisorPhone that clips into the Springboard slot on their Visor products, as shown in Figure 2.3. Kyocera has a device called the 6035 SmartPhone (previously known as the Qualcomm pdQ), with CDMA digital wireless access.

The PDAsPalmOSPalmOSVisorPhoneVisorPhone.

Figure 2.3. The VisorPhone.

Microsoft Windows CE

Microsoft's handheld operating system, formerly known as PocketPC, looks and acts similarly to desktop versions of Windows such as Windows 95 and Windows NT. Many devices, ranging from micro-notebook computers to small cell phones, run atop the Windows CE environment. Windows CE supports micro versions of popular Windows software such as Pocket Outlook 2000, Pocket Internet Explorer, and Microsoft Money for PocketPC.

The Compaq iPaq series of handhelds is perhaps the most popular CE device, shown in Figure 2.4. Sleek, light, and with a beautiful back-lit color screen, it allows for 32MB of RAM and can support plug-in devices such as monitors, keyboards, and modems. It also has excellent sound quality and enables you to record voice memos or play MP3s. More details can be found at http://athome.compaq.com/showroom/static/iPAQ/handheld_jumppage.asp.

The Compaq iPaq.

Figure 2.4. The Compaq iPaq.

The range of Casio Cassiopeia series of handhelds have the capability to display more than 64,000 colors. Many use IBM's microdrive technology for additional storage and come with 32MB of RAM. More information can be found at http://www.casio.com/personalpcs/section.cfm?section=19.

Hewlett Packard's Jornada series of handheld PCs and organizers also runs atop Windows CE. More info can be found at http://www.hp.com/jornada/.

Siemens SIMpad SL4

This tablet-shaped computer, shown in Figure 2.5, offers organization tools and instant connection to the Internet. It is built atop Windows CE. To jump online, the pad need only point towards any infrared-capable mobile phone. It comes with 16MB of memory and can be expanded to 64MB. Most navigation occurs with your fingertip, touching the screen.

The SIMpad SL4.

Figure 2.5. The SIMpad SL4.

The SIMpad comes loaded with Insignia's Jeode KVM, allowing for full PersonalJava compatibility.

More info can be found at http://www.siemens.ie/News/simpad.htm.

Siemens SX45

This is a mobile phone with the capabilities of a full-blown Windows CE computer. Although Siemens plans to add Java functionary to the SX45, the current crop of devices will not have Java installed.

Symbian EPOC

Symbian's EPOC operating system is a popular operating system that supports full-featured applications that fit on small devices.

Symbian OS Version 6.0 includes PersonalJava built in, and is the first commercial JavaPhone implementation on wireless devices. Future Symbian releases will support MIDP and CLDC, and be able to instantly run and deploy MIDlets.

Smartphones with Symbian will come with a MIDP and CLDC-capable KVM. Higher-end devices such as communicators and handheld computers will use a combination of PersonalJava and JavaPhone.

NOTE

Note that not every device with EPOC currently supports PersonalJava out of the box. Adding Java support is available, but up to the device manufacturer.

More information about Java's role at Symbian can be found at http://www.symbian.com/technology/keytech-bigjava.html.

Psion netBook (Series 7)

This device, created by Psion Teklogix, is somewhere between a sub-notebook sized computer and a PDA. It is geared for the mobile workforce, and comes with full Java (J2SE) 1.1.4 support.

The netBook is very popular in Europe, and runs the Symbian EPOC platform along with the Psion Teklogix Java Platform.

URL: http://www.psionteklogix.com/main/netbook.htm

Psion RevoPlus

This sleek pocket-sized EPOC device has 16MB of RAM, full WAP and HTML browsing, and full organizer personal functionality. The screen is touch sensitive, and you can write or select objects using a stylus. Check it out in Figure 2.6.

The Psion RevoPlus.

Figure 2.6. The Psion RevoPlus.

Although Java isn't pre-installed, you can install it with an included CD-ROM.

You can hold up an infrared-compatible mobile phone to instantly fire up the RevoPlus wireless functionality.

Display Size: 480×160 pixels

URL: http://www.psion.com/revoplus/

Sharp Zaurus SL-5000

This device is really nifty! It has a full pop-out keyboard, CompactFlash expansion slots, a beautiful color screen, and a light, slim casing. Even better, it runs Linux as its operating system, and has the PersonalJava 1.2 environment pre-installed!

Display Size: 240×320

URL: http://developer.sharpsec.com/

Other Linux Handhelds

Several other handhelds are coming out that run the Linux operating system.

For example, the Samsung Yopy, designed by a small company called GMate, has Linux at its core. More information can be found at http://www.yopy.com/. Any Linux device can be easily loaded with PersonalJava.

Micro Java Virtual Machines

While most PDAs do not have Java pre-installed on them, it is almost always possible to get Java support. Some devices are even capable of running the full Java 2 Standard Edition. This section will show you some of the ways to fit a Java virtual machine (JVM) onto various devices.

Javasoft's KVM for the Palm

You can download a full Software Development Kit (SDK) enabling you to develop Java applications on your desktop and then deploy them on your Palm.

URL: http://java.sun.com/products/cldc/

Javasoft's MIDP for the PalmOS

Sun also offers a special version of MIDP for the PalmOS. You can download a binary release of the CLDC and MIDP libraries, along with a desktop utility that converts MIDlets into Palm's PRC files. In addition to all of MIDP's standard features, the library also includes some expanded PalmOS-only features:

  • Palm preferences

  • HotSync support

  • MIDlet beaming support

URL: http://java.sun.com/products/midp/palmOS.html/

Javasoft's PersonalJava for Windows CE

A binary version of the PersonalJava environment is available for Windows CE Version 2.11. A version for the latest Windows CE Version 3.0 or better is not available yet.

URL: http://java.sun.com/products/personaljava/

IBM J9 VM

IBM's J9 Virtual Machine supports PalmOS, Windows CE, as well as pretty much every other major operating system out there. The Visual Age Micro Edition product enables developers to create CLDC as well as Connected Device Configuration (CDC) programs for J2ME.

URL: http://www.embedded.oti.com/learn/vaesvm.html

Esmertec Jbed Micro Edition CDLC

Esmertec has created a small and fast JVM specially tailored to the Palm Operating System. Unlike many other JVMs, the JbedVM CLDC compiles Java bytecode to native code on the device itself, making execution times an order of magnitude faster than standard, interpreted JVMs.

URL: http://www.esmertec.com/p_jbed_cldc_long.html

kAWT Extended KVM (xKVM)

Formerly known as the ColorKVM, this KVM version runs on color versions of the PalmOS 3.5 or better. This team has taken Sun's KVM 1.0.2 source code and added support for advanced Palm devices:

  • Color and grayscale graphics, including 16-bit color for Handspring and other devices that support high resolutions.

  • JogDial support for the Sony CLIE devices.

  • HandEra 330s 240×320 QVGA high-resolution screen and support for minimizing and maximizing the silkscreen.

A special micro version of Standard Java's Abstract Window Toolkit can also be included in the KVM.

URL: http://www.kawt.de/

Kadasystems Kada VM

This VM is a clean-room implementation of PersonalJava for the JVM. The VM comes packaged with the Kada APIs, which support PersonalJava 1.1.8 as well as java.sql and java.math for more advanced applications. The Kada APIs have a total footprint of 460KB.

There are two sizes of Kada VM you can download: The Kada Compact VM for simple AWT or network applications running on smaller devices; and the Kada Standard VM, which has support for database functionality.

Both versions of the KadaVM are available for PalmOS 3.5 or Windows CE.

URL: http://www.kadasystems.com/kada_vm.html

MicroJBlend

Using the technology behind JBlend, which is a well-known and very quick embedded Java system, MicroJBlend is a KVM for Windows CE that supports the full J2ME MIDP specification. The latest version also supports NTT DoCoMo's i-Appli standard.

URL: http://www.jblend.com/en/overview/microJBlend.html

Jeode EVM

The Jeode Embedded Virtual Machine (EVM) is a PersonalJava-compliant runtime environment available for many processors and devices, including the Windows CE 2.12 and 3.0. Jeode has created one of the fastest virtual machines out there.

A special iPaq version called JeodeRuntime is available, including plug-in support for Pocket Internet Explorer.

URL: http://www.insignia.com/products/default.asp

NSIcom CrEme

CrEme is an augmented Java Virtual Machine, specially designed for Windows CE devices. The VM is easy-to-install and has a small footprint.

URL: http://www.nsicom.com/products/creme.asp

HP chaiVM for Pocket PC

This virtual machine supports the full version of JDK 1.1.8 along with JNI. A version of Chai for the Jornada is freely available, and needs 16MB of memory to run.

A CLDC/MIDP version of chaiVM is expected out by the end of the year.

URL: http://www.hp.com/products1/embedded/products/platform/chaivm.html

SAVAJE XE Operating System

This is a full-blown JVM for the StrongARM processor. It allows the full Java 2 Standard Edition with JDBC, Jini, RMI, and so on to run on the iPaq, the Psion netBook, and other such devices.

SavaJe XE has a 12MB footprint and requires a minimum hardware configuration of a 190MHz Intel StrongARM processor (SA1100/1110) with 32MB of RAM.

URL: http://www.savaje.com/products/savajexe.html

Transvirtual Kaffe

Kaffe is a clean-room, open source implementation of the Java virtual machine and class libraries. Started by Tim Wilkinson and added to by dozens of contributors, Kaffe enables PersonalJava 3.0 programs to be run on nearly any platform or operating system. In addition to the full JDK 1.3 PersonalJava functions, Kaffe handles graphics, file management, and networking. A Windows CE version is available.

URL: http://www.kaffe.org/

Mobile Phones and Pagers

Following are a list of known J2ME mobile phones and pagers. Each listing includes information about the phone's manufacturer, operating platform, and mobile network type.

Most phones will have links to Web sites where you can find more information about pricing and availability.

Casio CdmaOne C452CA

This shock-resistant and water-resistant device runs the MIDP along with JBlend and EZPlus. It is available in Japan, utilizing the JDDI network.

Wireless Network: CDMA

Display Size: 120×133

URL: http://www.casio.co.jp/gzone/

Ericsson R380

This is a PDA and phone. The screen is a huge, extremely roomy 360 pixels wide. The top of the phone flips open to reveal the screen as well as a full keyboard. Available in Europe and the United States.

Platform: Symbian EPOC

Wireless Network: GSM

Display Size: 360×120

URL: http://www.ericsson.com/WAP/products/r380.shtml

Fujitsu F503i

This is Fujitsu's stab at the 503 line of phones. Like all DoCoMo phones, it runs using the J2ME/CLDC with special i-Appli class libraries.

Wireless Network: i-mode (PDC)

Display Size: 120×130/8 bits

Limits: 50 JAR files, with a maximum file size of 10KB

URL: http://pr.fujitsu.com/jp/news/2001/01/18-3.html

Hitachi CdmaOne C451H

This device runs the MIDP along with JBlend and EZPlus. It is available in Japan, utilizing the KDDI network.

Wireless Network: CDMA

Display Size: 120×143 pixels/8 bits

URL: http://www.hitachi.co.jp/Prod/vims/mobilephone/

LG Telecom p510 (i-Book)

LG Telecom's i-Book runs a special version of J2ME CLDC called Kittyhawk. Kittyhawk is similar to some of the older versions of MIDP. The phone is available only in South Korea.

Wireless Network: CDMA

Display Size: 128×128/4 grayscale

Limits: 10 JAR files, with a maximum file size of 60KB (45KB recommended).

URL: http://java.ez-i.co.kr

Other LG Telecom Phones

LG Telecom's has several next generation phones running MIDP. These include the C-nain 200, CX-300L, Cyber-ez-X1. The other phones use the Kittyhawk Java profile, but the C-nain 2000 not only has a 4906-color screen, but runs pure MIDP.

Wireless Network: CDMA

URL: http://java.ez-i.co.kr

Matsushita/Panasonic P503i

This is Matsushita's version of the 503 line of DoCoMo phones. It too uses the J2ME/CLDC, with special i-Appli class libraries.

The predecessor to this phone, the 503i, was the first Java phone to be released in the world. A glitch forced DoCoMo to recall more than 100,000 units.

Wireless Network: i-mode (PDC)

Display Size: 120×130/8 bits

Limits: 7 JAR files, with a maximum file size of 10KB

URL: http://www.mci.panasonic.co.jp/pcd/p503i/

Matsushita/Panasonic P503iS

This beautiful DoCoMo phone folds up and has a slick color display. It too runs i-Appli.

Wireless Network: i-mode (PDC)

Display Size: 120×130/8 bits

URL: http://www.mci.panasonic.co.jp/pcd/p503is/

Matsushita/Panasonic FOMA P2101V

This advanced phone actually has a video camera. Because it works with a third-generation mobile network, it is capable of real-time video conferencing! FOMA, by the way, stands for Freedom of Mobile Multimedia Access.The display is full, startling color. It is available only in Japan. It runs using NTT DoCoMo's i-Appli class library.

Wireless Network: 3G (W-CDMA)

Display Size: 176×220/18 bits

URL: http://foma.nttdocomo.co.jp/monitor/term/n-e-p2101v.html

Mitsubishi D503i and D503iS

Mitsubishi weighs in with this 503 line of phone. It has a color display and runs on DoCoMo, using the J2ME/CLDC with special i-Appli class libraries.

Wireless Network: i-mode (PDC)

Display Size: 132×142/10 bits

URL: http://www.docomo-kansai.co.jp/text/mova/products/d503i/

Mitsubishi J-D05

This advanced phone runs the full CLDC/MIDP using JBlend. It also includes J-PHONE-specific class libraries (JSCL). The phone not only has active-matrix color displays, but a large 1MB memory capacity and built-in digital camera. It is available only in Japan.

Wireless Network: i-mode (PDC)

Display: 12 bits

URL: http://www.j-phone-east.com/company/n/2001/010614_3.htm

Motorola i85s

The Motorola i85s was the first J2ME/MIDP phone to be released in the United States, and has been available since March 2001. It is also available in Canada, Brazil, Israel, and the Middle East. The phone also features Nextel's popular two-way radio service. You see what it looks like in Figure 2.7.

Motorola's i85s: The first Java phone in the United States.

Figure 2.7. Motorola's i85s: The first Java phone in the United States.

Currently, Nextel's Java service does not allow for network communications, so multiplayer games are not possible. Nextel plans to enable network access by the end of 2001, however.

Motorola also offers a service whereby MIDlets for the phone can be downloaded at www.motorola.com/idenupdate

Wireless Network: iDen

Display Size: 110×102/2 bits

URL: http://www.mot.com/LMPS/iDEN/products/i85s/i85s.html

Motorola i50sx

The i50sx has all the features of the i85s phone such as voice activation and speaker phone, but is intended more for the consumer market than the business market. It has interchangeable, colored faceplates, seen in Figure 2.8.

Motorola's i50sx.

Figure 2.8. Motorola's i50sx.

Wireless Network: iDen

Display Size: 110×102/2 bits

URL: http://www.mot.com/LMPS/iDEN/products/i50sx/i50sx.html

Motorola Accompli 009 PIC

The Accompli 009 PIC is a cute little pager with a color display and a full tiny keyboard capable of running Java applications. See Figure 2.9.

Motorola's Accompli 009 PIC.

Figure 2.9. Motorola's Accompli 009 PIC.

Wireless Network: GSM 900Mhz, GSM 1800Mhz, GSM 1900Mhz, GPRS

Display Size: 240×160 pixels

URL: http://commerce.motorola.com/consumer/QWhtml/a009.html

Motorola, Accompli 008/6288

This advanced little device, shown in Figure 2.10, offers all the functionality of an organizer in the package of a phone. The screen is grayscale, but it includes a full date book, phone book, and even a dictionary. You can synchronize the phone with your computer to keep track of appointments and contacts.

Motorola's Accompli 008.

Figure 2.10. Motorola's Accompli 008.

Additionally, the Accompli 008 offers full on-screen keyboard and voice recognition. It also has handwriting recognition for Chinese as well as English, so you use a stylus to enter most of your information.

The phone is not currently available in North America. Currently the focus is in Europe and Hong Kong, where the phone has a Chinese-English dictionary installed.

Wireless Network: GSM 900Mhz, GSM 1800Mhz, GPRS

Display Size: 240×320 pixels total, 240×236 pixels usable display area

URL: http://www.motorola.de/mobiltel/public/produkte/datenblaetter/accompli008/datenblatt.shtml

Other Motorola Phones

Other Motorola offerings include the i55sr (110×102 screen), the i80s (119×64/1 bit screen), and the i90c (111×110 screen). All of these phones run on the iDen network.

NEC N503i

Every other Japanese manufacturer has created a 503 line of color phone, and NEC is no exception. Also like the others, it runs using the J2ME/CLDC with special i-Appli class libraries.

Wireless Network: i-mode (PDC)

Display Size: 120×130/10 bits

URL: http://www.nec.co.jp/japanese/product/mobile/lineup/n503/

NEC FOMA N2001

This sleek, color display phone runs on third-generation mobile networks within Japan and supports J2ME/CLDC, along with NTT DoCoMo's i-Appli Java libraries. Like other FOMA phones, it has a video camera for true Dick Tracy-like video phoning.

Wireless Network: 3G (W-CDMA)

Display: 12 bits

URL: http://www.nec.co.jp/japanese/product/mobile/n2001.html

Nokia 9210 and 9290 Communicator

This is another phone/organizer combination. The communicator folds open vertically, providing a full keyboard and a nice, large screen. The screen is full color and can play short video clips, and the high-speed network makes e-mail and other digital communications very efficient. Get a sneak peek of it in Figure 2.11.

Nokia's Communicator.

Figure 2.11. Nokia's Communicator.

The phone has built-in fax, e-mail, and Web browsing. The 9290 version of the Communicator is intended for United States markets, and the 9210 version is already widely available in Europe.

The full PersonalJava 1.1.1 platform is built into the phone, and MIDP libraries can be added in on top of PersonalJava. The JavaPhone 1.0 API is also included.

Platform: Symbian EPOC

Wireless Network: GSM 900Mhz, GSM 1800Mhz. The 9290 supports GSM 1900Mhz

Display Size: 640×200/12 bits (463×168 available for Java MIDlets)

URL for 9210: http://www.nokia.com/phones/9210/

URL for 9290: http://www.nokia.com/phones/9290/

Information About Java: http://forum.nokia.com/javaforum/main/1,6668,1_0_30,00.html

RIM/iPaq Blackberry

The Blackberry, created by Research In Motion and licensed by Compaq, was one of the first devices to support the MIDP version of J2ME out of the box. Intended mostly for quick and easy wireless e-mail, the Blackberry has become a smash sensation in North America and abroad.

The screen size for various Blackberries ranges from pager-sized to Palm-sized.

RIM URL: http://www.rim.com/products/handhelds/index.shtml

iPaq URL: http://www.compaq.com/products/handhelds/blackberry/

More info about the Blackberry Java development can be found at http://developers.rim.net/tools/jde/index.shtml.

Samsung SCH-X130, SCH-X230, SCH-X350, and SCH-X350

This group of phones run a special Java virtual machine called the XVM created by the Korean company XCE. The Java is MIDP compatible, with 256KB runtime memory and Korean Locale support (EUC-KR).

The SCH-X130 and SCH-X350 have displays of 128×128/2 bits. The SCH-X230 is 120×160/8 bits. And the SCH-X250 has a 120×160 screen with 8 bits of color.

The phone's focus is on top-notch sound capabilities. The phone uses 16 chord progressions instead of digital or mechanically produced sound. The phone will come with Top-40 hits as well as natural sound clips. There will also be a Palm Top Karaoke function. This will allow for excellent game background music and sound effects! The phone can also transfer data over CDMA 2000, which means rates can get as high as 144Kpbs.

Wireless Network: CDMA 2000

Limits: 90KB of application memory (including RMS databases), with 180K of runtime RAM

URL: http://www.samsung.com.au/samsung.asp?cat=11&obj=503

Sharp J-SH07

The J-SH07, made for J-PHONE, runs the full CLDC/MIDP using JBlend. It also has the capability to run a set of J-PHONE-specific class libraries (JSCL).

The phone not only has a great color display, but can support 3D polygons. This means that 3D games are now totally feasible! Instead of transferring heavy bitmaps, graphics can be transported to the phone in fast vector format.

Wireless Network: i-mode (PDC)

Display Size: 120×160 pixels, 16 bits

Limits: Maximum JAR size is 30KB

URL: http://www.sharp.co.jp/products/jsh07/

Siemens SL45i (or 6688i)

This phone not only supports J2ME with MIDP, but comes with additional Java class libraries enabling you to access special features such as the phone's vibrator, light, sound tones, melody composer, and better image manipulating. There is even an included game API! We will, of course, cover this API in great detail later in this book.

The phone comes with many games pre-loaded, including Bricks, Worm, Chess, Black Jack, and I-Skiing. Siemens has also made over-the-air provisioning of applications very easy and feasible. The phone also has a built-in MP3 player and a slot for MMC memory cards, with 32MB of standard memory. It even comes with a designer stereo headset, enabling you to activate some commands by voice.

Wireless Network: GSM 900Mhz, GSM 1800Mhz

Display Size: 101×80/1 bit

Limits: Maximum JAR size is 30KB

URL: http://www.siemens.com/page/1,3771,242906-1-999_5_0-0-pressIndex_20_bereichChoice_999,00.html

Sony SO503i

Sony has created a 503 DoCoMo color phone, as well. It runs the CLDC with i-Appli DoCoMo classes.

Wireless Network: i-mode (PDC)

Display Size: 120×120/16 bits

URL: http://www.sony.co.jp/sd/products/Consumer/KEITAI/so503i/

Toshiba J-T06

This advanced phone runs the full CLDC/MIDP using JBlend. It also includes J-PHONE-specific class libraries (JSCL). You can take snapshots with the built-in digital camera and send the picture, though One Touch Mail, to any other person. Pretty cool! The J-TO6 is available only in Japan.

Wireless Network: PDC

Display: 16 bits

URL: http://www.j-phone-east.com/company/n/2001/010614_2.htm

Low-End Java Devices: Smart Cards and Embedded Chips

Although the game possibilities are somewhat limited, you may want to look into developing games for smart cards, embedded devices, medical instruments, smart chips in home appliances, and other small systems capable of running Java.

JavaCard

Visa, American Express, Europay, and many other credit card companies around the world have put smart Java chips into their credit cards creating “smart cards.”

Many embedded chips, and other small embedded devices, run via the JavaCard API. The JavaCard API is a secure, lightweight subset of J2ME classes intended for environments that have nearly no memory.

The reasons for adding Java to a credit card are plentiful. Typically, a credit card only has a magnetic strip with simple information such as the account number, expiration date, and cardholder's name. JavaCard enables much more advanced information to be stored on the card, such as vendor account information, personal profiles, frequent flier miles, or other incentive points. More information about JavaCard can be found at http://java.sun.com/products/javacard/.

EmbeddedJava

Sun's EmbeddedJava technology is a way of taking a standard Java application environment and condensing it into small memory footprints. EmbeddedJava is different from the Java and PersonalJava platforms in that there are no core APIs that must be implemented. Rather, APIs can be configured depending on the target platform and the needs of the platform.

When using EmbeddedJava, you can grab any fields and methods from the core JDK 1.1.7 APIs (except java.applet) and leave behind the rest. Sun provides optimizing tools to create a scaled-down embedded environment. More information can be found at http://java.sun.com/products/embeddedjava/.

Summary

Aren't some of these devices cool? And this is only the beginning… The rest of this book will show you how to actually program games that support all of these devices, and look their best on various types of screens. Want to know what you're up against? The next chapter will show you some actual wireless games currently out on the market.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.219.228.88