Printer Friendly
The Free Library
14,652,126 articles and books
Member login
User name  
Password 
 
Join us Forgot password?

Mobile development tools: although much of the challenge of mobile development comes down to good old-fashioned architecture and coding, you can ease the workload by choosing the right tool for the job.


RECENTLY, I WAS WATCHING MY DVD DVD: see digital versatile disc.
DVD
 in full digital video disc or digital versatile disc

Type of optical disc. The DVD represents the second generation of compact-disc (CD) technology.
 of The 5th Element with my son when it occurred to me that writing code for mobile devices is kind of like being the inventor of the turkey dinner in a cube Milla Jovanovich's character eats at the priest's house. (If you haven't seen this movie, it's a fun and very geeky romp.)

Let me explain. When you think of a turkey dinner, what comes to mind? If you're in the U.S., you probably think of Thanksgiving--a cornucopia cornucopia (kôr'nykō`pēə), in Greek mythology, magnificent horn that filled itself with whatever meat or drink its owner requested.  of food that's pleasing to both the palate and the eye. Imagine taking your Thanksgiving feast and pressing it into a cube about the size of a deck of cards. Think that sounds tough? That's what mobile device developers are called on to do every day.

Your users have been jaded by the sensory feast that is the modern personal computer. Multi-media sound with virtual three-dimensional encoding, ultra-high-resolution screens with 128 megabytes of memory to make them lightning fast, the ability to burn gigabytes of data onto a DVD, and virtual laser imaging keyboards--this is what your audience is used to. As a mobile developer, however, you're probably handed something like the noble but somewhat limited Palm V and asked to put the corporate database on it. The company isn't going to spring for new Tungstens for everyone, so you'll just have to make due in the 2MB of memory that is your least common denominator least common denominator
n. Abbr. lcd
The least common multiple of the denominators of a set of fractions: The least common denominator of 1/3 and 1/4 is 12.
.

Now that's a challenge. While a lot of this challenge comes down to good old-fashioned architecture/design and coding, you can ease much of the workload by choosing the right tool for the job. In this article, I look at several of these tools and summarize their basic capabilities, strengths, and weaknesses. Specifically I'll evaluate seven tools:

* Microsoft eMbedded Visual Tools

* IBM (International Business Machines Corporation, Armonk, NY, www.ibm.com) The world's largest computer company. IBM's product lines include the S/390 mainframes (zSeries), AS/400 midrange business systems (iSeries), RS/6000 workstations and servers (pSeries), Intel-based servers (xSeries)  WebSphere Studio Device Developer

* Metrowerks CodeWarrior

* Borland C++ BuilderX and JBuilderX

* J2ME (Java 2 Platform, Micro Edition) A version of Java 2 for cellphones, PDAs and consumer appliances. J2ME uses the K Virtual Machine (KVM), a specialized Java interpreter for devices with limited memory.  

Qualcomm BREW

Microsoft embedded Visual Tools http://www.microsoft.com Free

The 2003 edition of Microsoft Visual Studio Microsoft Visual Studio is Microsoft's flagship software development product for computer programmers. It centers on an integrated development environment which lets programmers create standalone applications, web sites, web applications, and web services that run on any platforms  .NET officially replaces eMbedded Visual Tools (EVT EVT Eventueel (Danish: Maybe)
EVT Extreme Value Theory (prediction tool for extrapolation of trend graphs)
EVT Embedded Visual Tools
EVT Emergency Vehicle Technician
EVT Erstverkaufstag
), but for those of us with smaller budgets, this tool still does the job very easily. To find it, go to the Microsoft download site at http://www.microsoft.com/downloads and search for eMbedded Visual Tools. Be prepared though, the 2002 version is more than 210MB, and the previous version is more than 300MB--and you might need them both!

You might be interested in the older version because there are some devices that support Pocket PC, but not Pocket PC 2002; I recently discovered this important detail when writing some code for an older release of the Symbol PPT 2800 device. If in doubt, go with the older version first. (The 2002 version shows as EVT 2002, the other just shows as EVT). There is very little difference between the development environments, but the Pocket PC 2002 SDK (Software Developer's Kit) See developer's toolkit and Windows SDK.

SDK - Software Developers Kit (or "Software Development Kit").
 that the newer version installs can really mess up development on the older PDAs and phones.

Figure 1 shows the eMbedded Visual Basic environment, but the eMbedded Visual C is also similar to the C environment in VS 6. As you can see, there is a layered tool palette A collection of buttons (icons) grouped on screen that provide a quick way to select available functions by pointing and clicking. Tool palettes were originally used with graphics applications such as paint, drawing and image editing programs.  on the left with the standard ActiveX type tools, a project window on the upper right, and the properties window on the bottom right. The center of the screen is available for code and the visual design. The code windows have the thoughtful color-coding and auto-completion capabilities you've become used to. The standard debugging capabilities are there too, but beware--their emulators aren't completely accurate and debugging on the devices themselves is extremely laborious.

[FIGURE 1 OMITTED]

In this environment, you can develop applications for any device that runs Windows CE (Windows Consumer Electronics) Microsoft's version of Windows for handheld devices and embedded systems that use x86, ARM, MIPS and SHx CPUs. Windows CE .NET superseded Windows CE 3.0. , Pocket PC, or SmartPhone. The new .NET offers similar limitations on devices, with the "Smart Device" projects available under the VB and C# environments.

IBM WebSphere Studio Device Developer

http://www.ibm.com $599

WebSphere Studio Device Developer is part of the WebSphere Studio suite of products, so if you're comfortable and familiar with those tools, you'll find yourself right at home here. In addition, IBM has standardized on the Eclipse platform for its workbench environment. Eclipse gives developers a single open-source tool environment into which they can plug lava development tools from different vendors. This is certainly an idea whose time has come. A number of vendors are using Eclipse as a base for their products, making skillsets more transferable as developers move from one job/language/platform to the next.

The workbench consists of perspectives, views, and editors. A perspective is a group of views and editors focused on a particular type of development (figure 2). For example, you can have a perspective specific to doing C++ development as opposed to doing lava development. Each language and project provides its own particular perspective of the work environment (workbench) and you can have multiple perspectives open in the workbench at any one time. Views, unsurprisingly, are available for viewing resources, starting editors, etc. while editors are specifically oriented towards manipulating various project resources (source files, etc.). As you can see, the environment is simple and open. You can do some pretty cool things, for example loading in Rational Rose design docs to have it generate code and stubs stubs

The shares of equity in a firm that is financed almost completely with debt. Stubs are often created when firms go through a leveraged buyout or pay big cash dividends in order to fend off a takeover.
 for you. But in the end, this is where you'll be coding and debugging. Personally, I like having the outline view available (shown on the right-hand side right-hand side nderecha

right-hand side right nrechte Seite f

right-hand side nlato destro 
 of the screen) because it makes it easy to find methods, variables, and the like. You can, however, choose your own personal preference then save it as a perspective for later use.

[FIGURE 2 OMITTED]

The focus of WSDD WSDD Web Service Deployment Descriptor (Apache Axis library)
WSDD Wood Structural Design Data
WSDD Worldwide Systems Development Division
WSDD Websphere Developer Domain
WSDD Websphere Studio Device Developer
 is lava-based or lava-supported devices. In the lava world--this basically means J2ME. Both Connected Device Configuration The Connected Device Configuration (CDC) is a framework for building Java ME applications on embedded devices ranging from pagers up to set-top boxes. However, there is also CLDC and MIDP to allow a more fine-grained distinction.  (CDC See Control Data, century date change and Back Orifice.

CDC - Control Data Corporation
) and Connected Limited Device Configuration The Connected Limited Device Configuration (CLDC) is a specification of a framework for Java ME applications targeted at devices with very limited resources such as pagers and mobile phones. The CLDC was developed under the Java Community Process as JSR 30 (CLDC 1.  (CLDC See J2ME. ) are supported with a project frame provided for creating MIDlet Suites. It also supports C, C++, and full lava development (for devices that support it) as well as a wide variety of platforms including several Palm variations, Nokia, Linux, Windows CE, and Pocket PC. You can even build onto the Eclipse environment by using one of the two provided Eclipse modeling framework Eclipse Modeling Framework (EMF) is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model.  project shells.

Metrowerks CodeWarrior

http://www.metrowerks.com $1,674

For a long time, many considered CodeWarrior to be the king of mobile development tools. The CodeWarrior product for developing C code for the Palm OS was, and probably still is, used by more developers of Palm software than any other tool. Metrowerks has a history of providing development tools for the breadth of the mobile world and still provides more than 31 different versions to support various architectures. The version I evaluated is the Metrowerks CodeWarrior Professional 5.2.1 for Symbian OS An open standard operating system for data-enabled mobile phones (smartphones) from Symbian Ltd., London (www.symbian.com). It supports Java, PC synchronization, Bluetooth local wireless access and GPRS packet-switched data. . Symbian is a small-footprint device operating system operating system (OS)

Software that controls the operation of a computer, directs the input and output of data, keeps track of files, and controls the processing of computer programs.
 that's supported by a variety of mobile phone developers including Nokia, Ericsson, and Motorola. It s a feature-rich environment with some powerful extensions for building applications for mobile handsets.

CodeWarrior for Symbian was a bit of a disappointment for me I've been using CodeWarrior for Palm and some straight C development on and off for several years, but it's been a while since I've used it. In a straight comparison against the other products available in this space, I was left a little flat-footed. Although it has all the standard IDE components you'd expect (editors, debuggers, object browsers, etc.), they aren't easily or intuitively put together. Even the help system appeared a bit cumbersome, using CodeWarrior-specific terms (layout is the generic term for user screen, for example). It's also missing some of the niceties ni·ce·ty  
n. pl. ni·ce·ties
1. The quality of showing or requiring careful, precise treatment: the nicety of a diplomatic exchange.

2.
 like automatic code hiding, term completion, etc. that some of the other products in this review provide. The layout designer is a bit cumbersome and didn't seem to provide a simple interface for extending your environment with new Beans, ActiveX, or whatever you happen to have for your Symbian device.

Figure 3 shows some of the major components available in the IDE, and as you can see, it does have the basics. The class browser A software tool in an object-oriented language that lets you scroll through and edit a hierarchical tree of objects. A refactoring browser makes it easier to move routines by ensuring that all linkages are maintained properly.  is actually very nicely put together and easy to use. The file editor is straightforward, if pretty vanilla. The project manager is a bit perplexing per·plex  
tr.v. per·plexed, per·plex·ing, per·plex·es
1. To confuse or trouble with uncertainty or doubt. See Synonyms at puzzle.

2. To make confusedly intricate; complicate.
 because context menus don't always seem to work where expected and some items simply seem to be nonexistent non·ex·is·tence  
n.
1. The condition of not existing.

2. Something that does not exist.



non
. You can, however, open multiple projects simultaneously and swap back and forth between them--a cool feature, but it s pretty rare to need to work on two projects simultaneously.

[FIGURE 3 OMITTED]

All in all, while CodeWarrior delivers the basics; it's just not too interesting or sexy doing it. That said, CodeWarrior is still the only game in town for some of the environments you might need to develop for. If you've got to deliver in multiple environments, I'd probably still start at Metrowerks to see if it has my environments covered, and then maybe look for something with some of the bells and whistles A slang English term for exceptional features in some product. In the computer field, it typically refers to functions in software that may be greatly appreciated by some users, even though they may not be necessary most of the time.  I really like (personally, for example, I'm addicted to code completion). All in all, CodeWarrior is a simple and adequate tool, if a bit limited and sometimes cumbersome.

Borland BuilderX and JBuilderX

http://www.borland.com $1,000 for C++ BuilderX, $400 for JBuilder

Borland has created a certain consistency of quality all the years I've used their tools, and the tools in this roundup don't disappoint. I looked at two versions: Borland C++ BuilderX 1.5 Mobile Edition and Borland JBuilderX Mobile Edition. Both these products are easy to install (even if it does take a while-admittedly, partly due to the Symbian SDKs that come as part of the installation), and both performed well.

Although it's been a while since I used the Borland C++ tools, the workspace environment still feels comfortable and familiar. The C++ edition also includes integrated design The introduction to this article provides insufficient context for those unfamiliar with the subject matter.
Please help [ improve the introduction] to meet Wikipedia's layout standards. You can discuss the issue on the talk page.
 tools (the Together designer), integrated interfaces to source management (you can choose from a wide variety of source management tools), as well as all the standard project management, code editing, integrated debugging, and resource manipulation. In addition, the editor offers an extremely convenient new capability I'm happy to say I'm seeing in more and more editors: the ability to collapse lines of code The statements and instructions that a programmer writes when creating a program. One line of this "source code" may generate one machine instruction or several depending on the programming language. A line of code in assembly language is typically turned into one machine instruction.  to make viewing the structure of the code easier (figure 4). This is an extremely handy capability.

[FIGURE 4 OMITTED]

The Java version of the BorlandX tool is similar to the JBuilder tool with which you might already be familiar. Here again, a pane-centric workspace orientation to the development environment carries through from the full JBuilder product. In addition, integrated source control hooks, integrated debugging, collapsible code, full references to the JDK (Java Development Kit) A Java software development environment from Sun. It includes the JVM, compiler, debugger and other tools for developing Java applets and applications. Each new version of the JDK adds features and enhancements to the language.  on your machine, tabbed access to design and source views of code, as well as automatic identification and integration of a number of SDKs (it found my Symbian SDK automatically during the installation) make this a powerful lava toolset (figure 5). The version 1 used for this roundup also supports MIDP (Mobile Information Device Profile) A programming interface (API) for cellphones and pagers for the Java 2 Platform, Micro Edition (J2ME). It provides support for a graphical interface, networking and storage of persistent data for "MID Profile" applications,  2.0 along with the J2ME Wireless Toolkit 2.0_01. I found the refactoring capability to be an interesting, if possibly overly complex, tool for refitting code. (Refactoring is the process of taking an existing piece of code and reworking it under the covers without changing what the user sees or how they interact with it.) JBuilderX has a variety of tools for identifying elements to refactor and tracking them through the entire project.

Both of these tools from Borland have carefully thought-out color coding of your source code and a variety of useful support and help tools. In general, these tools have gained immeasurably from their full featured counterparts.

J2ME Wireless Toolkit http://java.sun.com Free

Although all the tools I've evaluated so far are complete IDEs, no roundup of mobile development tools would be complete without at least a brief look at the lava 2 Micro Edition (J2ME) Wireless Toolkit.

This is a free implementation of the J2ME environment available from the lava Web site at http://java.sun.com. If you aren't familiar with it, J2ME is the portion of the lava platform specifically oriented toward developing applications for small-footprint devices such as cell phones and PDAs. It's based on a subset of the lava 2 Standard Edition (J2SE (Java 2 platform, Standard Edition) See Java 2.

J2SE - Java 2 Platform, Standard Edition
) APIs with certain limitations. Essentially, a base set of APIs was chosen for two primary Configurations: Connected Device Configuration (CDC) and Connected Limited Device Configuration (CLDC). On top of these are profiles, the most used of which is Mobile Information Device Profile Mobile Information Device Profile (MIDP) is a specification published for the use of Java on embedded devices such as mobile phones and PDAs. MIDP is part of the Java Platform, Micro Edition (Java ME) framework and sits on top of Connected Limited Device Configuration, a set  (MIDP). If your phone is Java-enabled, it's probably running MIDP.

The toolkit itself comes with a variety of tools for allowing you to build and test J2ME applications. It's very MIDP-centric, although ostensibly os·ten·si·ble  
adj.
Represented or appearing as such; ostensive: His ostensible purpose was charity, but his real goal was popularity.
 you could build both other CLDC profile-compliant and CDC-compliant applications. For a list of the tools included in the toolkit, subscribers can read an extended version of this article online at http://Advisor.com /doc/14493.

In addition to the primary tools, which are all available from your Windows start menu, there are several command-line utilities that provide additional capabilities such as JAR creation, creation of code stubs, certificate management, etc. (figure 6).

Installation of the Toolkit is straightforward and well documented. The caveat is that it assumes and enforces a specific directory structure for your J2ME projects. Fortunately, the directory, structure is well thought out and has saved me a couple of times in the past from not structuring my MIDLet Suite appropriately.

As with most of the tools I evaluated, WTK WTK Wireless Toolkit
WTK WorldToolKit (Proprietary Graphics API)
WTK We the Kings (band)
WTK Well Tempered Klavier (JS Bach)
WTK Wireless Tool Kit
 generates the appropriate distributables for your application. It doesn't have an integrated debugger, but it does let you connect to an IDE debugger if you choose. This capability, however, is pretty limited and difficult to use. All in all, the WTK is well worth the price (hey, it's free after all!) and the time you'll spend learning how to use it. For a first project, or for just for a quick and dirty demo, the J2ME Wireless Toolkit delivers.

Qualcomm BREW SDK http://www.qualcomm.com Free

As this article has moved along, I've gradually gotten further from full IDE environments, and now I'm on the far end of the spectrum. Binary Runtime Environment for Wireless BREW is an application development platform created by Qualcomm for mobile phones. It was originally developed for CDMA handsets, but has since been ported to other air interfaces including GSM/GPRS, UMTS, and CDMA.  (BREW) is a standard for creating applications to run on wireless devices. The main proponent for BREW is Qualcomm, which has the largest number of BREW-compliant devices. It is a thin and fast environment that provides hooks to do some really cool things on BREW-enabled devices (for example, hooking your application to the integrated GPS capabilities of some phones).

The BREW SDK is how you develop applications for BREW. It isn't an IDE. It provides some general development and debugging tools, sample applications (with source!), an emulator, reference materials, and user guides (figure 7). The IDE works best with Microsoft Visual Studio 6.0 for C/C C/C Center to Center
C/C Combustion Chamber
C/C Command/Control
C/C Crew Chief
C/C cabin cruiser (US DoD)
C/C chief complaint (medical)
C/C Channel-to-Channel
C/C Communication and Collaboration
++. I tried using the samples in the .NET environment, but it was missing some of the new files required for project management there. You can certainly convert them over, but it will take some effort.

Installation is simple, and in addition to the SDK libraries, several other tools and utilities get installed. For a list of these tools, subscribers can read an extended version of this article online at http://Advisor.com/doc/14494.

All in all, the BREW SDK is a very complete toolset for building and delivering BREW-enabled applications. Don't take this one lightly though. There's a lot to doing a good BREW application. Start by downloading the free SDK from the BREW home site at http://brew.qualcomm.com/brew/en/. This will give you links to all the tools and support you'll need. BREW is more actively used outside the US than in, although it is gaining momentum.

Time to go mobile!

Well, there you have it; seven tools all designed for, or at least focused on, developing for a mobile environment. Can you use them to make that turkey dinner in a cube like we talked about at the beginning of this article? Maybe not, but they'll get you started developing cutting-edge functionality for those cube-sized mobile devices.

MOBILE BUSINESS BENEFITS

Developers of mobile applications have a formidable task on their hands: Create applications for users who are used to large screens, eye-catching multi-media features, and lots of memory--but do it on devices that fit in the palm of your hand. Here are the tools to get you started.

Larry Whipple is the CTO (Chief Technical Officer) The executive responsible for the technical direction of an organization. See CIO and salary survey.  for Tarallax Wireless, Inc. where he is guiding the development of new and innovative technologies in the areas of intelligent sensor An intelligent sensor takes some predefined action when it senses the appropriate input (light, heat, sound, motion, touch, etc.). Description
The sensor has to do the following tasks:
  • Give a digital signal.
  • Be able to communicate the signal.
 networks. He has been a developer, trainer, and author since the early 1980s in various IT technologies. Larry has developed on numerous and varied platforms using a variety of tools and languages ranging from IBM mainframes Following are the mainframe architectures used in IBM mainframes since the original System/360 introduced in 1964.

Year Architecture Model numbers System/360 1964 System/360 2xxx (2020 to 2195) System/370
 to Verifone POS (1) See point of sale and packet over SONET.

(2) "Parent over shoulder." See digispeak.

POS - point of sale
 terminals. He was a senior technical architect and director of the Media and Entertainment group at Silverline Technologies, Ltd. He has developed numerous Java-based Web applications including those used at the award-winning vw.com Web site and a merchandising Web site for the recent animated blockbuster TitanAE. He has a patent-pending on an innovative electronic payment product and co-authored Building an Intelligent e-Business (January 2001).
COPYRIGHT 2004 Advisor Publications, Inc.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2004, Gale Group. All rights reserved. Gale Group is a Thomson Corporation Company.

 Reader Opinion

Title:

Comment:



 

Article Details
Printer friendly Cite/link Email Feedback
Author:Whipple, Larry
Publication:Mobile Business Advisor
Article Type:Product/Service Evaluation
Date:Sep 1, 2004
Words:2853
Previous Article:Tips for telecommuting success: telecommuting can cut costs, boost employee morale, and improve productivity--but only if you have the right tools...
Next Article:Voice applications: a reality: tiny screens? Elusive connections? Voice-enable your Web applications so mobile users can access them via phone. It's...
Topics:



Related Articles
TEACHER EVALUATIONS - Some numbers don't add up.
THREE NEW UNISYS CLEARPATH MAINFRAMES MULTIPLY CAPACITY AND SIMPLIFY IT MANAGEMENT.(Brief Article)(Product Announcement)
The virtual patient encounter--units of service in the electronic age.(Patient Care)
Elderly want easy-on, stylish fashions.(Advertisement)
SERVOY EMBEDS SQL ANYWHERE STUDIO IN DEVELOPER SOLUTION.
Voice applications: a reality: tiny screens? Elusive connections? Voice-enable your Web applications so mobile users can access them via phone. It's...
WIRELESS DATABASE APPLICATIONS PRODUCED IN MINUTES.
Wireless service providers reveal coverage--good and bad.(Cingular Wireless L.L.C. and T-Mobile USA Inc. are providing maps)(Brief Article)
Match mobile technology with business needs: are fears of choosing the wrong mobile devices and services keeping you from taking your company mobile?...
Playbook: I can't stress this enough ... delegating is key to avoiding workplace stress.(TIPS AND TRAINING FOR MANAGERS)

Terms of use | Copyright © 2009 Farlex, Inc. | Feedback | For webmasters | Submit articles