 software to oper- ate between a wide variety of different types of mobile phones and other devices without modification, even though the devices may contain very different elec- tronic components. However, although it provides added flexibity, the virtual machine decreases the potential speed of the game and reduces the ability to use the full functionality of a mobile phone (due to the fact that Java software can only Mobile Gaming do what this middle layer will support). On the other hand, due to the extra secu- rity and increased compatibility, the process of writing and distributing Java mobile applications (including games) to a wide variety of mobile devices is greatly simpli- fied. This results in free and easy tools that are made available by Sun, including the Java Development Kit (JDK) used to create the Java software, the Java Wireless Toolkit (Java ME tools) required for packaging and testing the mobile software, and room on a Web server to host the application. The main advantages of Java ME are that is has such widespread adoption worldwide, free and easy access to tools, and a fast-growing handset base. The dis- advantages include the fact that it runs slowly and has technical drawbacks associ- ated with the Java ME MIDP1 (Mobile Information Device Profile version 1) specification, including the fact that it cannot query key status, has no active ren- dering APIs, has no support for audio, requires only HTTP support, and has a lack of clarity in the specifications that often leads to differences in implementations. Qualcomm's (www.qualcomm.com) BREW is perhaps the most powerful mobile gaming technology because it provides complete access to its functionality and control of the mobile device. However, for this reason, Qualcomm and a handful of mobile content providers are the only ones allowed to issue the necessary tools to build BREW applications. Although the BREW software development kit (SDK) is free, BREW applications require a digital signature that can be generated only by Qualcomm and its 