Historically, mobile development has been a difficult process. The tight memory and low processing power required that developers work with either assembly language or perhaps in C. Those old requirements have been washed away by rapid developments in mobile hardware. Those developments have changed the mobile device world; however, the perception of the development community hasn’t kept pace with the changes in the devices. Below are the top five misconceptions about mobile development.
1. Processing Power
I remember my first computer. It was a 1MHz Commodore 64. I remember my first PDA. It was a Sharp Wizard with 128K of memory with a processor speed that I’m not sure was ever quoted. As I sit on a 3 GHz computer with a gigabyte of RAM writing this article, I’m astounded at the changes which have taken place over the last 20 years. My Pocket PC-based PDA has a 400MHz processor and 64MB of RAM onboard, as well as another 256MB on a storage card that is always in the device.
My PDA plays MPEG movies, runs multiple applications at the same time and has the raw processing power to do what seemed impossible only a few short years ago. As a point of comparison, the PDA that I keep on my belt has more processing power than the laptop computer my wife uses to surf the internet, do our accounting, and email pictures of our son to the grandparents. So why is it that most people think that PDA devices don’t have enough processing power? Limited processing power is definitely a misconception about mobile development.
2. Data Storage
It used to be that if you had a large contact list you would have to decide which contacts you kept on your PDA. Today, you can keep photos of your entire contact list on your mobile device. Storage options for mobile devices have radically changed. Compact Flash options allow for 2GB of storage in a PDA. Secure Digital cards can store 1GB of storage in the size of little more than a postage stamp. You can be walking around with a phone that has more memory than most desktop computers.
With the obvious exception of media files, most people will never consume this much storage on a PDA. For all but the most exotic applications, there’s more than enough storage available. Minimal data storage is definitely a misconception about mobile development.
3. Development Complexity
It used to be that developing for mobile devices meant developing in proprietary compilers with a completely different set of tools that were unfamiliar. However, Microsoft has changed all that for its devices. Microsoft developers that want to develop for the Pocket PC or SmartPhone can do so from the familiar Visual Studio.NET environment.
The gap is closing rapidly on what is supported on a mobile device environment versus what is supported in a PC environment. Microsoft has coded a substantial portion of the .NET framework for use on portable devices. The Compact Framework, as it’s called, is familiar to .NET developers because there are the same objects in the same namespace, with the same properties and methods. In five minutes, with no previous experience, you can develop your first “Hello World” application on a mobile device.
That isn’t to say there isn’t an art to building mobile applications. Designing user interfaces when you have such a small canvas can be an art form, as can keeping your data storage and code sizes small; however, mainstream applications can be developed quickly and easily in familiar tools. The perceived difficulty in developing for mobile devices is definitely a misconception shared by many developers.
4. Data Entry Applications
On the surface, mobile devices appear to be perfect. Enough power and storage, easy development tools, but there is a catch. Most mobile devices don’t have keyboards, causing data entry difficulties one wouldn’t find on a computer. We take for granted the performance that we have working on a computer. We expect that we can enter data almost as fast as we can speak. However, without a keyboard, entering data is a bit different.
Data entry on a mobile device has to rely on techniques for making data entry easier. Techniques like drop-down or combo boxes, can make it easier to capture information when it’s the same kind of information all the time. Other techniques, like transforming script writing into characters, are supported devices that are having increasing success.
In certain applications, other types of alternative data entry may be an option. Some devices support bar code readers and most devices support voice recording. Depending upon the type of data being captured, options like this may make data entry possible on the devices.
However, while data entry applications are not frequently a good fit for mobile applications, data retrieval applications are. All too often developers favor data entry applications for mobile devices while overlooking data retrieval applications with minimal data entry.
As I was writing this article, I reached down to my Pocket PC on my belt so that I could check and update my to-do list. I turned it on and was greeted with the welcome screen for the Pocket PC (the same welcome screen that you’ll see when you first boot up the device). Somehow, in the madness of the day, the device chose to lose everything I had on it. The good news was there was little or no data on the device that wasn’t backed up. I expect that I have a few to-do items that I’ll have to check off again. I also have a phone number that I wrote down, which is still in my phone, which I’ll have to copy over again.
The point of this was apparently a simple reminder for me that these consumer mobile devices, while durable enough for every day use, are not infallible. We tend to think about mobile applications in terms of the slick new devices that we see in the consumer market. However, as we design mission critical or even business critical solutions, we must consider whether or not the devices should be industrial versions or standard devices.
Even for those painfully aware of the fragility of the electronics and the need to protect them, accidents do happen and equipment does fail. Believing that mobile devices are infallible is the last of the top five misconceptions of mobile development.
About the Author
Robert Bogue, MCSE (NT4/W2K), MCSA, A+, Network+, Server+, I-Net+, IT Project+, E-Biz+, CDIA+ has contributed to more than 100 book projects and numerous other publishing projects. He writes on topics from networking and certification to Microsoft applications and business needs. Robert is a strategic consultant for Crowe Chizek in Indianapolis. Some of Robert’s more recent books are Mobilize Yourself!: The Microsoft Guide to Mobile Technology, Server+ Training Kit, and MCSA Training Guide (70-218): Managing a Windows 2000 Network. You can reach Robert at Robert.Bogue@CroweChizek.com.
# # #