Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Jolt Awards

Jolts 2007: Mobile

Jolt Winner

Carbide .c++ Professional Edition

Mike Trujillo; Product Marketing Manager

Nokia is moving upstream from their base mobile phone market into high-end, multifaceted, and extremely versatile portable computing devices that just happen to be shaped like a phone. Make no mistake, though, these computing powerhouses often pack more audiovisual, screen resolution, and storage capacity than many laptops only a couple years old. And while developing applications for this embedded platform isn't a trivial task, Nokia has eased the burden considerably with their Eclipse-based Carbide C++ development environment. Most of the upper-tier Nokia models run the Symbian operating system, requiring a special C++ compiler and linker to convert code into executables. Once developers select the type of Nokia device they wish to target and load its profile into Carbide, applications can be first written and monitored in the virtual emulator before sending to the actual device. This is especially useful for apps that consume network resources.

A fairly hefty rig is required to run Carbide due to its Eclipse underpinnings, and the virtual sessions and debugging overhead and tweaking the platform for the optimal configuration takes some effort but once set up, it offers developers a stable, effective environment to create great mobile programs. The main reason for this is Carbide's built-in performance monitors (called the "Performance Investigator"), which graphically analyzes on-board device performance data, and crash debuggers for faster identification of program errors. A user interface designer considerably reduces the time to hack out a front-end, supplying a palette of popular UI controls for faster mock-ups of the next killer concept. And Nokia's developer forums offer a community abuzz with code snippets, best practices, and dynamic interchange of ideas and solutions for even the most obtuse coding issues. Any developer enthralled with the idea of creating applications on Nokia's advanced mobile devices needs the Carbide IDE to realize their visions on the Nokia platform.

--Mike Riley

Productivity Award


AppForge has been a perennial Jolt Judge favorite. It provides -- or rather, provided -- a plugin to Visual Studio, letting you lay out device applications quickly and easily, write code that dealt very well with mobile issues like intermittent aperiodic synchronization, and most importantly, hid the platform differences so that you could seamlessly "write once, deploy many" to just about every PDA, phone, or handheld of interest. So their Productivity Award this year was well-earned.

But as of late last month, AppForge's website went dark, redirecting to Oracle home page without a hint of explanation. Developers and consultants say they were left twisting in the wind, unable to activate new licenses or even deploy applications on new devices. Since then n lews has been slowly released that Oracle has bought out the intellectual property rights.

No further information was available at press time. The Jolt judges are sorry to see Crossfire go; even more, we wish its apparent demise had been handled with a bit more grace. Our sympathies to the developers and end users.

--Rick Wayne

Productivity Award

NetBeans Mobility Pack 5.5 and Sun Java Wireless Tookit 2.2
Sun Microsystems

If you haven't tried the NetBeans IDE lately, you owe yourself a treat. Try it out and see how easy mobile application development can be.

The overall integration with the clean NetBeans environment makes development much quicker than most, if not all, vendor-specific IDEs. It supports multiple device configurations for each application that greatly reduce duplicate coding, and it supports multiple third-party emulators to speed-up the testing process. Of course, the GUI builder, Ant build tool, and debugger all help to make developers that much more productive.

The 5.5 version of NetBeans Mobility Pack now supports JMUnit for unit testing, SVG Graphics for vector graphics and animation, and many platforms, including Windows CE. ItÕs a great package for mobile development!

--Hugh Bawtree

Productivity Award


The Qtopia Phone Edition is a complete UI and application framework for Linux-based mobile phones. For application developers, Qtopia is similar to TrollTech's Qt framework (a cross-platform UI framework for PCs). Hence, Qtopia makes it easy for the 150,000+ existing Qt developers to develop mobile phone applications.

Unlike Qt, Qtopia is much more than a UI framework. In fact, it provides all features we normally expect from an operating system. Based on the Linux kernel, Qtopia embeds a compact windowing system; supports a variety of input methods (e.g., keypad, touch screen, stylus), network protocols (e.g., GPRS/3G, WiFi, Bluetooth), and media formats; and provides a complete set of basic phone applications, such as voice call management, calendar, address book, messaging, media player, web browser, and the like. Third-party Qtopia applications have access to all the C++ APIs in the underlying operating system, allowing developers to unlock the full potential of the phone.

But perhaps the biggest problem is that Qtopia phones are hard to find. So far, Motorola is the only big name phone manufacturer to adopt Qtopia on some of its low-volume phone models. Developers writing Qtopia applications will find a very limited audience. That is in stark contrast with Qt developers whose applications can target almost all PC users.

--Michael Yuan

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.