At the beginning of January, 2005, Developer.com started the next loop of its Product of the Year 2005 Contest. In this article, I'll briefly cover the contest's finalists and highlight their exciting features. The last year hasn't brought us great surprises, to tell you the truth. The Wireless Mobile Developers community seems to be keeping its preferences sternly enough. If you'll take a look at the finalists of Year 2004, you'll see that few products have just vanished for some reason, and some new ones have jumped in. Nevertheless, the core players are here. A more interesting fact is that some of the nominees are presented in several contest categories. This definitely ranks their quality and attractiveness for developers. But well, I should unveil who the finalists of the Wireless/Mobile Development Product of the Year 2005 Contest were:
- AppForge Crossfire 5.5
- IBM Cloudscape V10.0
- Sun Microsystems Inc J2ME Wireless Toolkit 2.2
- Microsoft MapPoint Location Server
- Nokia Series 40 Developer Platform 2.0
- Sybase PocketBuilder
In the next sections, I'll quickly describe each finalist and its possible pros and cons. We developers understand that there are no ideal products; each one has its own pluses and minuses. Our own applications are just perfect example of it. However, we make the decision of which product or tool to use in particular situation basing on thousands of factors. I hope that this article also can help you in this tender topic too.
AppForge Crossfire 5.5
In November, 2004, AppForge (www.appforge.com) released the next generation of its multi-platform development solution. Crossfire applications will run on a long list of the handheld, mobile, and wireless devices including Palm OS, Motorola A1000, Pocket PC 2000/2002, Windows Mobile 2003, Nokia Series 60, and Symbian UIQ.
Crossfire transparently intergates itself into various MS Visual Studio IDEs. Programmers may use VB 6.0, VB.NET, or C# to create applications for mobile devices running different platforms within their regular environment. Crossfire applications are created using specialized mobile controls, libraries, and modules that are available in the IDE. Crossfire is shipped with more than 30 standard controls, as well as modules and libraries for database synchronization, bar code scanning, communications, and telephony. Crossfire 5.5 has an ability to read Radio Frequency Identification (RFID) tags.
To run AppForge applications, you need to install The AppForge Crossfire Client (Booster) on the target mobile device. Booster allows Crossfire applications to take full advantage of all the specific hardware features on the mobile and wireless devices.
But, nothing is costless, unfortunately. Booster has a footprint from about 300 Kb up to 1 Mb, depending on device and OS. Well known also is that, when you're using any additional library or framework, the application size grows rapidly. All this is true for Crossfire, and can be an unacceptable overhead for systems with highly restricted resources.
IBM Cloudscape V10.0
IBM Cloudscape V10.0 is an embedded open-source Java database. It is platform independent and has a relatively small footprint. Obviously, Cloudscape runs on each standard JVM, so you'll be overjoyed as Java programmer developing your app once and then deploying it anywhere it can be run.
The term "embedded" needs to be explained here in a bit more detail. Its usual meaning is used for software that is prewired or burned onto hardware, such as cell phones, WinCE devices, and so forth. In a database engine's language, it nevertheless tells you something else: You can "embed" such an engine into your own programm. Mobile applications in many cases do not need most enterprise-level features, so the engine itself can reduce its footprint to the size acceptable for PDAs.
Cloudscape's small size does not say everything about its features. It is robust. Despite its small core size, it's quite spacious. The table size and number of rows are practically limited only by available storage. More than one thousand columns per table and 32 Kb indexes can satisfy anyone's paranoia.
Cloudscape is designed for zero-adminstration, so you need just to install it, load your data, and start working. I'd like to note here that Cloudscape's technology is an extension of IBM's larger data product strategy. You can see that Cloudscape was also nominated in the DBMS category this year. Together with Eclipse, it becomes an attractive development route for Java-based systems.
Microsoft MapPoint Location Server
With Microsoft's MapPoint Location Server, you can integrate location-based services into applications that target mobile devices, such as a Pocket PC or Smartphone. MapPoint is Microsoft's technology for mapping and location services platforms and applications. It connects wireless mobile devices, location service providers, and MapPoint Web Service to provide powerful location-based services to end users. Microsoft's MapPoint Location Server is an enterprise server product that works with desktop and mobile clients to help enterprise users with the location of their mates and collegues everywhere outside the office. It allows clients to conduct location searches and execute "Find Nearby" queries. Mobile users can use MapPoint Location Server to locate each other. Non-mobile users can use MapPoint Location Server to locate enterprise users who are on the road. Such exciting features highly increase the dynamics of company management.
MapPoint Location Server does not require GPS hardware. It locates a provisioned user's mobile device by communicating with a mobile operator. Typically, a user gets the requested services as a result of a mutli-stage interaction between the client agent at mobile device, mobile operator, and MapPoint Web Service. Such interaction is initialted by MapPoint Location Server. All communications details are hidden from end-users and developers. MapPoint Location Server serves as an smart aggregator for mobile operators by abstracting all irritating implementation details. Once the location is obtained, it can be used for any required task; for example, nearby categorical searches and so forth.
From the application developer side, we have the Microsoft MapPoint Location Server SDK. It contains two main parts:
- the MapPoint Location Server Web Service development
- the MapPoint Location Server API
Web Service-based stuff is on board when you need to develop a location-enabled application for mobile sales people, provide powerful dispatching capabilities, and so on.
When you are required to deliver an application that will be used for server management— for example,it will add new users to MapPoint Location Server—you turn to the MapPoint Location Server API. In any ,case you get rich class libraries that empower your application to the extreme.
Nokia Series 40 Developer Platform 2.0
Nokia's Series 40 Developer Platform 2.0 (www.forum.nokia.com) gives Java developers access to the high volume, fast-growing mobile markets. A huge number of cell phone units are sold per year, and success on this platform is crucial for the commercial success of any mobile application. Nokia has several platforms for different device lines, and Series 40 is at the high end.
Symbian now holds a large piece of mobile market. Many developers select this platform to provide efficient solutions in a wide range of business and game areas. Nokia Series 40 devices are probably the most popular mobile devices in the world. Microsoft is trying to penetrate this market's niche with the MS Smartphone platform. But, in the meantime, Symbian is definitely winning the game.
The Developer Platform 2.0 consists of J2ME with Connected Limited Device Configuration 1.1, Mobile Information Device Profile 1.1, and the Nokia UI API for backward compatibility. In addition, it also supports Java Bluetooth Specifications (JSR-82), Wireless Messaging Specifications (used for SMS and Call Broadcast Service), and the Mobile Media API to deal with native sound and video services. I won't write a lot on this topic. That's Java, it describes enough. The good news is that the device emulator comes with a great look and feel. It is highly spacious, and provides a developer with a real device sense.
Sybase PocketBuilder (www.sybase.com) is a highly productive 4GL RAD IDE for super-fast graphical development. It targets various Pocket PC devices. PocketBuilder greatly simplifies the development and deployment of enterprise-level applications. It uses DataWindow technology to provide virtually code-free development for data access and presentation, complex business logic processing, and so forth. PocketBuilder also supports iAnywhere's MobiLink technology, allowing data synchronization for mobile users. You can quickly and easily create applications by using wizard-driven development. Moreover, old PowerBuilder applications can now be converted to get new life.
Along with its amazing 'no coding' approach, Sybase PocketBuilder includes support for different handheld hardware periphery such as Phone and SmartPhone Support, digital cameras, scanners, GPS devices, and so forth. End users can make a voice or data call directly from the application, send SMS messages, and so forth. A nice, useful feature is printing support, an area really lacking in Windows CE-powered handhelds.
The downside of Sybase PocketBuilder is that it does restict a developer to a predefined set of capabilities. Performance issues are also a pain...
Sun Microsystems Inc J2ME. Wireless Toolkit 2.2
And finally—the Winner! As it happened a year ago, the J2ME Wireless Toolkit 2.2 from Sun (www.sun.com) has conquered the first prize again. Taking into account Java's dominating position over the mobile and wireless market, one might presuppose such a result. You can easily see that a Java-based product is presented in each contest category.
Java technology has a huge install base. It is deployed in more than 350 million Java technology-enabled mobile devices from numerous manufacturers and mobile operators worldwide. Approximately 1.5 billion consumers are expected to be using mobile technologies by 2007. So, applause goes to the Winner!
But, J2ME Wireless Toolkit 2.2 is really cool. It is much more than just the next release of a powerful tool. It implements more than a dozen new, impressive features:
- Connected Limited Device Configuration (CLDC) 1.1 (JSR 139)
- Mobile Information Device Profile (MIDP) 2.0 (JSR 118)
- Java Technology for the Wireless Industry (JTWI) 1.0 (JSR 185)
- Wireless Messaging API (WMA) 2.0 (JSR 205)
- Mobile Media API (MMAPI) 1.1 (JSR 135)
- PDA Optional Packages for the J2ME Platform (JSR 75)
- Java APIs for Bluetooth (JSR 82)
- J2ME Web Services Specification (JSR 172)
- Mobile 3D Graphics API for J2ME (JSR 184)
- Support for Multimedia Messaging Service (MMS) in the WMA console
- Simulated Bluetooth environment for JSR 82 support
- New large-screen (QVGA) DefaultColorPhone emulator skin
- Network monitor support for MMS and Bluetooth
In addition, existing tools have been improved and enhanced to better suit developers' dreams. As the world of wireless Java technology grows rapidly, the J2ME Wireless Toolkit keeps pace and contains all the tools you need. You can download the toolkit from the Sun site so that you can get excited by its capabilities.
In terms of applications and applets running on mobile devices, Java's J2ME became a preferred platform for development, over and above a number of other development platforms, including Microsoft's Windows CE Compact Framework. It has gathered strong developer support and is intrinsically a better choice for highly diverse hardware and software environments that currently exist in the mobile and wireless market. This trend has proved itself during the last few years. I believe that such a drift will continue while Microsoft's CE.NET initiative will gradually get stronger. As you can see, there were no pure Microsoft's products among the nominees in the mobile/wireless category this year. It may be a result of a delay with the Visual Studio 2005 release. It has been announced to be delivered at the end of 2004, but... Let's hope that Microsoft has meant its fiscal year. Nevertheless, we've whitnessed a significant improvement in PDAs' hardware capabilities. Devices have gotten more powerful, utilized much more memory on board, screen quality has reached VGA resolution, and so forth. All these factors can give a new leap to each big player on the mobile market.
About the Author
Alex Gusev started to play with mainframes at the end of the 1980s, using Pascal and REXX, but soon switched to C/C++ and Java on different platforms. When mobile PDAs seriously rose their heads in the IT market, Alex did it too. Now, he works at an international retail software company as a team leader of the Mobile R department, making programmers' lives in the mobile jungles a little bit simpler.