Introducing the Tablet PC, Part 1

Everyone is talking and buzzing about Tablet PCs. Microsoft did their big launches last week in a number of major cities. Here in Indianapolis, there is a launch event later today. The buzz is alive, but is it justified? If it is justified, then what does this mean to developers?

While I was told that Microsoft compared this to being "as big as the move from DOS to Windows," I find that this statement seems to be applied to every large-scale initiative that Microsoft does. I'm waiting for someone to say this about XBox Live that also launches later this week!

Is the Tablet PC revolutionary? If you think the answer is yes, you may want to reconsider. More to the point, consider the phrase "pen-based computing." The Tablet PC is more evolutionary than revolutionary.

A Brief History of Pen-Based Computing

Pen-based computing has been around for over ten years. In fact, a number of companies have launched products, including development tools and APIs for doing pen-based (tablet-style) computing. Most of these products failed or simply disappeared. Ironically, Microsoft is also listed in this group of companies that have had products in the past slip away.

In 1989, the GRiD GRiDPad was released. In 1991, there was the GO PenPoint. In 1992, Microsoft released Microsoft Windows for Pen Computing, which had an API that developers could use to create pen-enabled applications. In 1993, a smaller device that you are more likely to have seen or read about was released—the Apple Newton.

Stepping away from the Tablet PC's other hardware and focusing specifically on the pen, you'll find that in 1996 one of the most successful—and probably the first truly successful—pen-based devices was released. This was the PalmPilot. This success was followed by the Pocket PC and a number of other devices that were released. Many of these used the pen as the primary input device.

Many of these "tablets" and "pen" devices suffered—or still suffer—from a number of problems. The more recent devices such as the Palms and the Pocket PCs are small machines that are limited in what they can do. They not only have small screens, but also limitations on processor speeds and memory capacities. These limitations are much less than a full-fledged computer. The applications that you can run on these devices are much more limited than those that can be used on a desktop or notebook computer as well. On the older, "tablet"-style devices, there were similar issues as well.

So Why Will the Tablet PC Succeed?

As time goes on, things change. Hardware has gotten cheaper. Processors have gotten faster. Computers are getting lighter and more efficient. Resolutions are getting more detailed, and notebook-style screens have gotten both cheaper and better.

The software for recognizing handwriting is also vastly improved. Algorithms for recognizing handwriting are now to the point where both cursive and block letters can be recognized. No longer are users limited to entering characters in one specific, block-style manner.

Combining handwriting recognition that works at an acceptable level with a computer that can do everything your notebook or desktop can do results in a device that has removed most of the limitations of the past. What is needed next is the ability to buy and use applications "off the shelf" that work just like your other applications—with the exception of also being able to use a "pen" to enter information; these features make the Tablet PC more likely to succeed. Finally, providing all of this at a reasonable price is the key. While the initial prices will be higher for Tablet PCs than for other equivalent computer systems, they are not unreasonable.

How Does This Impact Developers?

As I've stated in prior articles and editorials, developers must make fewer assumptions about the interface to their application. The logic of the application should be separated as much as possible from the interface. In the past, I've stated that you should not assume anything about the size of the screen that is being used to view your application. I'm now adding that you should not make assumptions—unless it is mandatory—about the device that will be used to enter information into or to operate your application. Within reason, you should build your applications to take advantage of any type of input that may be used. This includes using a mouse, a keyboard, speech, or handwriting.

Coding an application to recognize handwriting and speech requires additional code beyond what has been used in the past. If you build your applications with the knowledge that speech and handwriting may be incorporated into them, you will be able to add this much more easily in the future.

Consider using a Windows application without also using a mouse. Ten years ago, the mouse was not the primary means of navigation. In ten years, not being able to use a pen or speech could be like operating Windows today without a mouse. As Scotty stated in Star Trek III: The Search for Spock, " A keyboard. How quaint."

The Tablet PC Software

Microsoft is actually selling the Tablet PC software rather than the hardware. They have created a set of features that computer hardware will need to support to work with their software. This set of guidelines must be met to be called a "Microsoft Tablet PC."

The software is a modified version of Windows XP that includes features necessary for the functionality of a Tablet PC. This software is called the Microsoft® Windows® XP Tablet PC Edition; an SDK for it can be downloaded from the Microsoft site at:

This software includes new controls and concepts such as "inkable regions" and InkEdit. Inkable regions are areas within the interface that can accept pen input. An InkEdit control is a control that looks like a regular edit control; however, it also accepts written input.

I'll talk more the Tablet PC SDK in a future article. This will include presenting you with the code to create a "Writing Hello World" application.

Concluding Thoughts on the Tablet PC

To conclude, I believe the Tablet PC has a better chance today of success than any of its predecessors. I believe the hardware is close to what it needs to be. As portable computers continue to thin in size over the next couple of years and as screen technologies get better, I believe the value of the Tablet PC will grow. Just as there are a number of reasons for people to swap out their desktop computers for notebooks, I believe a number of people are going to find good reasons to trade in their PDAs or notebooks for Tablets. They will do this, not because it is the fun thing to do, but because the Tablet PC better fits their needs. As developers, we need to consider these changes to the hardware as we create applications that we want to last.