How often have you been at user group meetings, conferences, or other geek-gatherings discussing the “good old days”? The days when we all were true code-warriors, feeding punch-cards into ancient readers, or replacing tubes and removing literal bugs from our hardware. We have come a long way since the good old days, when computers filled entire rooms. Those were the days when computers were about as stationary as it gets, short of a bunker or Hoover dam. “Being mobile” meant carrying punch cards from one room to another.

Today, things are quite a bit different. Mobile computing has become the most pervasive form of computing. Notebook computers outsell desktops. As new portable computers rival their bulky counterparts in performance, even hardcore users such as gamers make the move to mobility. More often than not, a laptop computer replaces the desktop machine in today’s offices and living rooms, making the portable computer not just a companion device, but the user’s main computer.

Companion devices are important. Personally, I have fallen in love with my new Ultra-Mobile PC (UMPC). In fact, I am writing this very article on a plane using my UMPC. I am not ready to give up my bigger Tablet PC yet, but it sure is nice to have a device that is small, less than two pounds in weight, has an external (optional) keyboard, and runs all my Microsoft® Windows® applications. I was using my Tablet PC earlier on this flight, but ran out of battery after about three hours. My UMPC, on the other hand, runs for roughly seven hours on one battery and I have two batteries, allowing me to work for more than an entire work-day without the need to recharge. I have considered buying a slate Tablet PC in addition to my convertible Tablet PC, for those times when I just want to lay on the couch and browse the Web or read a digital article or book. But UMPCs are a lower-cost alternative.

From a hardware point of view, the world is great for mobile PCs, no matter whether they are notebooks, Tablet PCs, or Ultra-Mobile PCs. And clearly, for software vendors and developers, this is the largest and most mainstream market to go after these days. However, I am always surprised how few developers ever give any special thought to mobile PC development. “After all,” so the reasoning seems to go, “mobile PCs are just regular Microsoft Windows PCs. So there is nothing special to do as a developer…”. But I beg to differ! Mobility means a lot more than carrying your laptop from your office to the conference room. Mobility means that you can use a mobile PC anywhere and at any time, no matter whether the person is holding the PC in their hand, balances it on their lap, or has it on a desk at the office. They do not run out of battery when they are needed most (such as at the end of a meeting when that final decision needs to be made). They still provide access to that important piece of information, even when the connection to the database has been lost. And mobile PCs allow a user to search for a piece of information effectively, even if they don’t have a keyboard.

These features do not come for free of course. Microsoft Outlook® doesn’t have offline capabilities by accident. Instead, Microsoft architected those offline features in Outlook from the ground up. Developers today need to think about battery consumption. (Do you really need to show that fancy animation when the battery is down to 10%? Do you really want to start data reorganization when the system has five minutes of remaining power?) Developers also need to understand network connections. (Why does your application keep pinging the database server when it is obvious that there is no connectivity and the application should use an offline storage solution instead?) Developers need to understand advantages and disadvantages provided by different devices. You shouldn’t assume that the target machine has an 800x600 minimum resolution anymore, because with UMPCs, the Microsoft Windows XP and Windows Vista™ operating systems run on lower resolutions. As smaller devices become powerful enough to run a Windows operating system (instead of a Windows Mobile® operating system), you’ll even see more variation in screen resolution. Also gone are the days when you optimize an application’s UI for one type of input (such as either mouse or keyboard input) only. Today you can use the same interface in completely different ways, featuring anything from conventional keyboard input, to pen interaction, to touch and writing with a finger, to speech recognition.

This issue of CoDe Focus: Mobile PC Development is all about providing the best possible mobile PC experience for your users, and the most competitive application for your business. It is all about using the great new mobile PC features found in Windows Vista. This new operating system marks a big leap forward for mobile scenarios. Of course, mobility isn’t just about PCs running Windows. You also need to consider “the devices”. By that I mean special small devices running Windows Mobile, such as Pocket PCs and Smartphones. This issue of CoDe Focus isn’t about those. At least not until these devices become powerful enough to run a full version of Windows. But that doesn’t mean that Windows Mobile development isn’t important. Quite the contrary! In fact, CoDe Focus is considering a special issue on that topic as well. Check out www.code-magazine.com/focus for more information and let us know whether you are interested in that particular topic.

Talking about sitting on your couch and reading a digital magazine: At EPS Software (CoDe Magazine’s parent company) we have been hard at work building a next generation publishing system based entirely on Microsoft .NET Framework version 3.0, Windows Presentation Foundation (WPF), and Windows Communication Foundation (WCF). By the time you read this magazine, the first version should be available to the public, and this very magazine will be one of the first to be published in this new and exciting format, which aims to provide the most advanced digital reading experience available anywhere. (And it is an open platform, so ultimately other publishers will be able to use it too.) We haven’t announced the final name of the product yet, but since you are a technical person who will probably really appreciate this cool new technology, I’ll let you in on a secret: visit www.code-magazine.com/ripple to be among the first to get a copy of this free product, with tons of content pre-loaded. Oh, and enjoy the cool mobile PC and Ultra-Mobile PC features we have built in…

Markus Egger