I am dictating the outline and first paragraphs of this column into a handheld recorder. After I plug it in to my computer, I’ll run a program to transcribe it, add paragraph breaks and punctuation, delete the hemming and hawing, and find a strong paragraph to move to the beginning. I will use a keyboard at some point, but not until the column is roughed out. I prefer to write, and read, on a slate computer the size of a writing pad.
I love to program for this computer. I learned the API from the very first beta, before there was hardware, and targeted the OS in projects I wrote on weekends and evenings. I learned that creating a great user experience that works with direct manipulation is more challenging than it initially seems; you might anticipate issues with the screen (parallax and larger buttons), but it turns out that the way that the hand and wrist move above the screen is at least equally challenging.
Writing on glass is not at all the same as writing on paper, and even on a screen the size of a pad of paper, cursive writing feels like you’re writing on an index card held in portrait mode. Nonetheless, I’m a huge believer in the form factor, and have written dozens of programs and articles on programming for it over the years.
“Over the years? Apple’s iPad has only just been announced!” you say? That’s true, but Microsoft first shipped an Ink-enabled version of Windows XP in 2002. Ink is baked into Vista and Windows 7. You can use pen input on a standard Windows Form, and you can program Ink directly in any managed language. Resolutions better than 1024×768 are readily available, Ink is captured faster and more accurately than mouse movement, and handwriting recognition has been improved and improved again until it is easily adequate for both cursive and block printing.
I’ve had five Tablet PCs over the years: two slates and three convertibles, including a Toshiba M200 that was probably my all-time favorite computer. I’ll compose this article using a Motion Computing M1400 slate manufactured in, I guess, 2004 or so.
It has the same resolution as the iPad and a “view anywhere” screen, so I can do my rough editing on my lanai in the tropical Hawaiian sun. I have a docking station in my office where I’ll do my final editing. The software I’ll use to transcribe the dictated outline is from Nuance; it’s superior to Microsoft’s built-in speech dictation and is the best of several alternatives that have competed in the marketplace. The software I’ll use for editing is the best general-audience application written in the 21st century: Microsoft OneNote.
When I’m done filing this column, I’m going to continue work on my company’s latest project, a C# program that targets GPS-enabled smartphones, and the slate form factor, an enterprise application for the trucking industry. Unfortunately, that program won’t run on Windows. It’s written using the MonoTouch tool chain, and it will target the iPhone and the iPad initially. My clients are talking about porting it—to Android. Windows, and the newly announced Windows Mobile 7 phone platform, is an afterthought at best.
If you detect not just disappointment but bitterness, you’re right. The iPad doesn’t have a stitch of original software at the OS level. Its industrial design is lovely, but its hardware specs are unimpressive, particularly its screen resolution (768 horizontal pixels is not sufficient for reading a multiple-column magazine, newspaper or journal article. Been there, done that, suffered the eye strain.)
I would much, much prefer to program for the CLR, the Microsoft Ink APIs, and the more powerful and flexible OS of Windows. I would have a broader talent base from which to recruit excellent developers, I would have a much more varied and powerful set of development tools, and the software would integrate more easily with other systems. The bottom line is that if I were programming for the Tablet PC, I would be able to deliver value to my clients faster.
But as a software developer, I have to do what the market will pay for. I loved object orientation and I liked Smalltalk, but the jobs were in C++, so I did OOP in C++. I loved GUIs and I liked OS/2, but the jobs were in Windows, so I did GUIs in Windows. I loved managed runtimes and I liked C#, and (hooray!) the market agreed. I love the slate form factor and I like the Tablet PC, but the jobs are for Cocoa Touch, so what choice does my company have but to respond?
Microsoft used to have perhaps-not-the-best technology but overwhelming mindshare. Today, Microsoft has the best languages, the best managed runtime, the best standard library, and the best research and development teams, and it is being upstaged by a 768×1024 single-tasking slate.
Microsoft needs to do some basic things. They need to understand that the success of the Windows platform is acutely tied to its appeal to developers (“Developers! Developers! Developers!” as Steve Ballmer once said). And they need to add Ink editing to Office.”
Larry O’Brien is a technology consultant, analyst and writer. Read his blog at www.knowing.net.