While simple java-based mobile games can be programmed quickly and without major outlay, there are hundreds of different Java-enabled phones currently available, each with wildly differing specifications: screen sizes, memory capabilities, key placements, and so forth. To take advantage of the mobile market, game developers need to be able to port their games to as many handsets as possible. Until now, this process has been extremely costly and time consuming, as you had to program each game specifically for each different handset.
This is where Tira Wireless' Jump Product Suite steps in. The product lets game developers and publishers run their own porting teams [rather than relying on outsourced service providers, though this auxiliary service is also provided by Tira] using a largely automated system to quickly and efficiently port games to hundreds of handsets in far less time than it would have taken to port them manually.
Jump Developer Desktop
The meat of the Jump Product Suite is the Developer Desktop, integrated with the Jump Transformation Engine. The Jump Developer Desktop takes the form of a plug-in for the popular open source Java development environment Eclipse. As part of Eclipse, the Desktop is quick and easy to learn to use for anyone with prior knowledge of Java Development Environments.
Due to the automation inherent in the suite, the porting cycle is fairly rigid. To maximize the usefulness of the system, Tira Wireless recommends that developers use three reference builds - the master versions of the software to be ported - although users are able to choose how many reference builds they want to start with. The reference build platforms currently supported include the Nokia Series 40 and 60. Using a reference build, the product can be ported to handsets that most closely match the required capabilities in these handsets. This function is semi-automated, as each port is itself a separate project. Say, for example, you have a game that you want to port to a high-end phone, a handset loosely similar to Nokia's Series 60. Jump would create for you, on your computer, a configuration file outlining the changes needed to transform this application. The files [the configuration file and the JAR/JAD] are sent to Tira Wireless' servers where the Jump Transformation Engine converts the game to the new handset using the combined target device and channel plug-ins. The revised build is returned to the desktop quickly. Then, using the automatically selected emulator [provided by the device manufacturers, or a generic emulator provided by Tira], the newly created Java files are tested for compatibility.
While the Transformation Engine works well, it has, like all automated systems, a susceptibility to human error. Unless the code fed to it is as generic as possible, the automated ports can be poor, greatly increasing the amount of time required for porting. With the limited resources of the current generation of handsets, teams may have to alter their programming ethos to allow for a smooth porting experience. To many programmers dedicated to squeezing the most out of a platform, this is a major flaw. But the increased portability of clean code makes up for the performance lost from reference builds.
Flaws caused by automated porting can take any form - including severe crashes. However, they mostly comprise graphical glitches and sound errors. The Jump Product Suite is designed so that the porting team never has to alter the reference build source code. But for many projects, errors can be circumvented simply by altering the XML rules the Transformation Engine makes reference to during the port.
For projects with deeper issues, the build is optimized using so-called "adjustment files", which alter the byte code as it's compiled on the Jump servers. Though the Jump system does decrease the number of original source files held by the versioning software, they are modified by a large number of adjustment files for each handset [similar in concept to Aspects in Aspect Oriented Programming]. The porting team does need to learn the new adjustment Java library - a library of pointcuts to sections of code and the alterations possible at such points. Porting engineers therefore still need to be well-versed in Java to debug the provided code - but now they don't have to rely on the programming team [unlike in manual porting], particularly due to the solid documentation Tira provides to assist them.
During the adjustment phase, the project will need to be test repeatedly. Tira provides a whole range of official manufacturer-approved emulators, along with its own generic emulators for phones whose manufacturers have not provided them. The generic emulators may be the weakest part of the suite. For a popular handset, such as British service provider O2's X4 third-generation handset, the emulated version exhibits errors such as refresh problems and graphical glitches that aren't found on the real handset. Some working ports don't even boot successfully in the emulator - they just freeze. Due to the likelihood that the porting team won't have all physical handsets available to them at all times, this is a severe limitation.
Fortunately, for teams that do have physical handsets available for testing, the Jump Product Suite can cut porting time dramatically, even with difficult spaghetti code.
Jump Workflow Manager
The Jump Product Suite also includes the Jump Workflow Manager, a service hosted by Tira that provides tracking, management, and control for the porting process, including secure versioning control and storage. This option is appreciated by some, I'm sure, but is less useful to developers who already have a system implemented for versioning control and local storage system. Yet, for developers who work with remotely located teams or small teams without a strong system already in place, the Workflow Manager is a functional inclusion.
The Tira Knowledge Base is also handy for some. It's a database of known fixes for common porting errors and handset issues, and while it might at first seem to be a boon, the database is confusing to navigate, and some topics are poorly explained.
Tira does provide a great deal of help in the form of manuals and tutorials for beginning users, making the set-up and learning of the system a painless procedure. The availability early on of such thorough documentation makes it particularly disappointing when dealing with advanced issues later, times when you may find yourself trouble-shooting on your own. However, the Knowledge Base is continuously updated, so should become more useful as Tira's customers start to encounter more advanced issues.
The Tira Jump Product Suite is a system that seemingly revolutionizes the wireless games market, allowing even the smallest development teams to take control of porting their games to the widest possible audience. The suite is hampered by the limitations of the emulators provided by the device manufacturers and Tira. Therefore, developers, realistically, should plan to run tests on physical devices throughout the entire porting cycle. While Tira Jump offers the ability to port to hundreds of handsets, small teams might not have the resources available to maintain an ever-growing collection of mobile phones. Even if you're relying on outsourced testing, the low quality of the Tira-provided emulators can leave the porting team with an impossible job.
Despite the system's various issues, once a porting team has learned how to use it, the Tira Jump Product Suite is an excellent and powerful tool for any studio looking to take personal control over its entire wireless games output. While smaller teams will be better suited by outsourcing the entire process, teams with the resources to handle a large library of handsets - and staff with good programming fundamentals - will reap the benefits.