Editor's Note

Going Mobile

A couple of times a week, we are the recipients of advertising e-mail from a popular retailer of mobile products. Here at MSDN Magazine, we field a few dozen publicly available e-mail aliases, so it's easy for mail like this to get lost in the shuffle of our Junk E-Mail folder. (The "Add Sender to Safe Senders List" option seems to exist primarily to satisfy the user's clicking fixation.)

So anyway, we get this mail a couple of times a week and it's one of the first things we open. Even more impressively, it's one of the only e-mails of that type that we allow Outlook to retrieve the pictures for. Advances in the mobile computing market are coming incrementally, yet regularly, and every week there seems to be a cool new gadget to whet our appetites.

But some of these devices seem a bit contrived. For instance, do you really need a handheld device that can pick up digitally transmitted music from your PC in true FM quality? We seem to remember a prototype of a similar gadget some years ago. It had a simple, two-dial interface—volume and tuning—and could actually play sound out of a small, tinny-sounding speaker attached to the unit. They had a weird name for it—a "radio." It cost $9.99, well out of reach for the average consumer. But why go that route when you can now pay hundreds for a handheld that does the same thing and only works within 100 feet of your computer? The world just doesn't appreciate the progress that's made every day.

Seriously though, there are some incredible products available in the market now. You can get a 1GB portable memory card for not much more than $100. At the risk of sounding like Crazy Grandpa Editor, we remember just 15 years ago we walked into the local Egghead and plunked down $450 for a shiny new 20MB hardcard—a hard drive welded onto an interface board. It was guaranteed to almost fit in your PC case if you left the next slot empty. Still, it was a vast improvement over the alternative, which at the time was speaking the words "one" and "zero" onto a cassette.

Much cooler stuff exists today. We recently test-drove a GPS device by Pharos that plugs into the CF slot of a Pocket PC or can use its built-in Bluetooth capabilities to communicate with the device. Being geeks, the first thing we tried was not the built-in software, but our own .NET Compact Framework-based GPS reader. Since only five people on earth seem to know how to program for Bluetooth, we started by frantically tearing through the documents to find out how to communicate natively with such a device. It turns out that our concerns were unnecessary—Bluetooth is actually translated into serial port output, so any functionality you base on a serial comm library works with a device like this.

Which brings us back to mobility, this month's theme. One of our most popular articles in the past five years has been "Serial Comm: Use P/Invoke to Develop a .NET Base Class Library for Serial Device Communications" by John Hind in the October 2002 issue. True, the .NET Framework 2.0 includes serial port functionality in its System.IO.Ports namespace, and Visual Basic 2005 makes it even more accessible through the My namespace, but the article and its accompanying code has been among the most widely downloaded pieces we've published. So, are you wondering where technology like this has been used in the real world? John demonstrates a robotic vehicle built atop .NET-based serial comm libraries in his article in this month's issue.

It's like old friends month here. Paul Yao talks about Tablet PC programming. Dave Edson, the former technical editor of MSJ, marks his triumphant return to print with some great information for any developer who uses the .NET Compact Framework for their Pocket PC development. True, it lacks the excitement of spending a couple hundred dollars to listen to your local Q Morning Zoo on the same device on which you can store the phone number you use to complain to the station about the Q Morning Zoo, but everyone has their own level of excitement.

—J.T.

Thanks to  the following Microsoft technical experts for their help with this and the previous issue: Deborah Annan, Siddharth Bhatia, Justin Brown, Chris Brumme, Susan Chory, Jamie Cool, John Cunningham, Dave Fetterman, Matthew Gibbs, Frank Gocinski, Arin Goldberg, Robert Green, Cindy Gross, Martin Gudgin, Shawn Hernan, Chris Hollander, Michael Howard, Charlie Kaufman, Raja Krishnaswamy, Thomas Krueger, Ronald Laeremans, John Lambert, Gerrard Lindsay, Cory Linton, Steve Lipner, Duncan Mackenzie, Arun Moorthy, Satyajit Nath, Brian Pepin, Matt Powell, Matt Thomlinson, Anson Tsao, Dan Vallejo, Maura Van Der Linden, Ravinder Vuppula, Ting-Hao Yang, and Santosh Zachariah.

ActiveX, IntelliSense, MapPoint, Microsoft, MSDN, Outlook, Visual Basic, Visual C++, Visual Studio, Windows, Windows NT, Win32, and Windows Server are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other trademarks or tradenames mentioned herein are the property of their respective owners.

MSDN Magazine does not make any representation or warranty, express or implied with respect to any code or other information herein. MSDN Magazine disclaims any liability whatsoever for any use of such code or other information.