Tablet UML News


News and commentary (and whatever else catches my eye)
from Martin L. Shoemaker, author of Tablet UML
and UML and Tablet PC instructor for The Richard Hale Shaw Group

Tuesday, April 10, 2007

My speaking and other travel schedule (Revised April 10, 2007)
UPDATE: To make it easier to find this entry, I've added a link to it in the right sidebar, right under the links for my books and my classes.

West Michigan .NET User Group in Grand Rapids MI. April 17. Topic: Dee Jay: A Voice-Controlled Juke Box for Windows Vista.

Ann Arbor Day of .NET in Ann Arbor MI. May 5. Topic: Talking with Vista.

West Michigan Day of .NET in Grand Rapids MI. May 5. Topics: Do, Undo, Redo, Do Over: A Generics Command Pattern Implementation; Talking with Vista.

Huntsville New Technology User Group in Huntsville AL. September 11. Topic: Dee Jay: A Voice-Controlled Juke Box for Windows Vista.

Saturday, December 9, 2006

Reply hazy, try again
Still exploring. Updates soon, I hope.

Saturday, December 2, 2006

Help me help someone
As some of you may know, I have been named an MVP for Visual Development (C#) by Microsoft. The MVP program is an effort by Microsoft to recognize people in the community who help other people to learn and use Microsoft's technologies. They give us advance information and other perks because they know we're enthusiastic supporters of their products. They hope that their supporting us will help us to build the community of satisfied Microsoft users.

As part of that growth effort, early this year they sent us each three coupons for MSDN Premium Subscriptions, with the instruction that we were to use them to help the community. They gave us no rules or guidelines beyond that. MSDN Premium is a developer suite consisting of pretty much every development tool Microsoft has, plus developer licenses for Office, SQL Server, and every operating system Microsoft publishes. There's lots of other stuff as well. It's everything a developer needs to develop for the MS platforms.

I'm trying to take seriously the commission to use these coupons for the good of the community. I gave my first coupon to a friend of a friend who was out of work, and who wanted to upgrade his skill set. I figured that was a good cause. I gave my second coupon to the West Michigan .NET User Group where I was speaking, so that they could offer it as a door prize to help promote the group. Good .NET groups are a great way to spread .NET programming knowledge.

But I'm still trying to find a home for the final MSDN Premium Subscription before year end; and I really want to make this one count. I would like it to go to a good cause; but I'm not sure what that cause should be, so I'm asking for your help. Maybe you know a way I can use this to help a good cause. Maybe you know a good charity that could use it, or maybe a really deserving person who could use it to get into a development job. When I give this one away, I want to feel like Microsoft and I made a difference in some way.

So if you have a suggestion for a way to put this coupon to good use, please let me know. Either leave a comment, or send an email to MSDN*at*TabletUML*dot*com (address obscured to cut down on spam — you can figure it out). I'll take all suggestions from now until next Friday. Then I'll review them, decide which looks like the best (as judged by me and some trusted friends), and announce the results in the following week.

A lot of people would like this for the free stuff. I understand that. If you're going to suggest I give it to you, I won't ask you not to; but please consider if you're doing so for the free stuff, or because you really have a need for it. I'll listen to your justification; but the coupon will go where I think it will do the most good.

I really hope you can help me here. Thanks!

Sunday, October 15, 2006

The 21st Century Cocktail Napkin presentation is now available on-line!
The 21st Century Cocktail Napkin is a talk I presented to the Ann Arbor .NET Developers group on June 14. It's an example of a smart cocktail napkin application built using the Tablet PC API. In a a smart cocktail napkin application, you draw shapes as part of some design you'll share with other readers; but as you draw, the Tablet PC also recognizes and understands what you draw, and creates information behind the drawing. (For an example of a smart cocktail napkin application, you can start here.)

Now, thanks to Camtasia Studio, I have a recording of this presentation. And thanks to YouTube, I can now present it to you on-line:



And you can also download a ZIP file of the slides and the sample code.

Look for more recorded presentations soon. And if you're looking for an easy-to-use UML tool for Tablet PCs, check out Tablet UML.

Wednesday, October 4, 2006

The Ink in 60 Seconds presentation is now available on-line!
Ink in 60 Seconds! is a talk I have presented to a number of user groups (some courtesy of INETA). It consists of a number of small little demos of Tablet PC programming, most written in 60 seconds or less.

Now, thanks to Camtasia Studio, I have a recording of this presentation from the Ann Arbor .NET Developers group on June 14, 2006. And thanks to YouTube, I can now present it to you on-line here. And you can also download a ZIP file of the slides and a cleaned-up version of the sample code.

One part of the video may need explanation. Part of the fun of this talk is the deadline: can I write that code in 60 seconds? And if not, I expect the audience to heckle and laugh. But just in case they need encouragement, I wrote a little tool called Egg Timer. When I launch it, it starts a 60-second clock; and if I don't stop it before the clock elapses, it will heckle me. So if you hear a strange computer voice at spots in the video, it means I ran out of time.

And for those who are curious: yes, my car is much better now.

Look for more recorded presentations soon! And if you're looking for an easy-to-use UML tool for Tablet PCs, check out Tablet UML.

Update: Here's an attempt to embed the video in this post:



Update: Fixed the link to the ZIP file. Thank you, )Stéphane Torres.

Wednesday, April 12, 2006

Vox: A text-to-speech application for keyboard and pen
It looks like I'll be speaking at the Day of .NET in Ann Arbor, MI. And in preparation for that event, the Ann Arbor Computer Society is having a night of Grok Talks on .NET topics, and I was asked to participate. For those who haven't seen them before, a Grok Talk is a quick (ten minutes or less) talk on a small topic, with a focus on demonstrating just a little bit of code or a little technique people can use in their projects. Now normally, I have a bit of Ent in me: ten minutes is scarcely enough time to say good morning. But when I needed to come up with a topic for my Grok Talk and I hadn't enough time to think through it, I said, "Text to speech." And then afterwards, I thought about it, and realized: with Microsoft Speech API (SAPI) 5.1, text-to-speech takes three lines of code. Literally:


ISpVoice mVoice = new SpVoiceClass();
uint uiStream;
mVoice.Speak("Hello, world!", 1, out uiStream);


And one of those lines is a variable declaration! So this topic would take me less than a minute to cover. Whatever would I do with the remaining nine minutes?

So being the Tablet PC guy that I am, I decided to mix in some Ink capabilities as well. So I had a vision of an application that would speak whatever the user writes.

And thus, with some additional thought and design and coding, was born Vox: A text-to-speech application for keyboard and pen; and once I wrote it, I decided to use it as a springboard for discussing Ink and Speech programming under .NET.

Vox is available free to anyone who's interested. I haven't tested it on a non-Tablet PC yet; but it's supposed to work just as well there, because I detect at run time whether the computer has the Tablet PC OS or not, and fall back to non-Tablet mode if not. You can type any message (or write it on a Tablet PC), and Vox will speak the message. It will also remember every message, so that you can repeat a message easily. And it has a user-editable list of Quick Words at the bottom of the form, so that you can tap a word or phrase to say it without writing or typing.

If you like Vox, let me know; and if you would like to learn about the code...


Friday, March 24, 2006

Boston, here I come!
It's a little late to announce this — particularly since the class is full — but it's worth mentioning for future reference. The Richard Hale Shaw Group is presenting our Visual Studio Team System class at the Microsoft Technology Center in Waltham, MA, with me as lead instructor.

We're also trying to find another chance for me to present Ink in 60 Seconds while I'm there.

Sunday, March 19, 2006

Bonjour, Montreal!
This is a little late, because I've been doing post travel stuff, and then getting ready for the new VSTS class coming up. To the fine folks in Montreal, I say: Pardonnez-moi, svp, mes amis!

So on Wednesday night in Montreal, I gave my presentation to GUMSNET: Ink in 60 Seconds. Despite my rather hideous attempt to apologize in French for not being able to speak French, they were most gracious hosts. (And darn it! I rehearsed that apology over a dozen times on the trip, until I had it down pat; and then I fell apart when I actually had to give it. Here's what I meant to say: Bon soir, monsieurs! Mon nom est Martin L. Shoemaker, et je ne comprends pas le français. Pardon, si vous plais. Je suis un debutante en français. Mais mon Tablet PC comprend le français!)

I got caught in a lot of Montreal traffic, and also had to fight to find parking in Centre-ville, so I was just a bit late. And then my machine had to reboot. But we finally got rolling, and I started writing little Tablet PC demos, with a 60 second clock running. There were occasional laughs at my expense when I missed the 60 second mark; but on the other hand, many of the demos were done in under 30 seconds. The Tablet PC API is just that powerful. By the time we were done, we were drawing pictures, editing them, erasing them, saving them, loading them, and exporting them as images. We were also drawing shapes that the Tablet PC recognized and identified. We were converting handwriting to text, in both English and French. And we even wrote some text by hand and then had the Tablet PC speak it out loud. We finished with ten ideas for great Tablet PC apps just waiting to be written. I hope that I inspired someone in the audience to go write one.

There was one hang-up in the presentation; and I promised the good folks from GUMSNET that I would blog about it, including what I learned afterward. Late in the presentation — right about the time I tried to do handwriting recognition, when I needed really good ink collection — my wonderful Gateway CX200X Tablet PC started exhibiting dead spots that were strangely reminiscent of the bad old days of Toshiba. The dead zones weren't as consistent, but they were irritating. And they always seemed to be right where I was writing text en français to try to show off the multi-lingual power of the Tablet PC. The audience was forgiving for this, but they did insist on knowing the answer when I learned it. Well, here's what I think I have learned. I noticed that the pen seemed to behave better when I held it at different angles; and then I remembered that when we broke for dinner, I dropped the pen. And as far as I can recall, there were no dead zones before the break, only after. I suspected that maybe I had jammed something in the pen tip; and with a little experimentation, I found that rotating the pen around its axis or relative to the screen could sometimes make the dead zone go away. Suspecting a pen problem rather than a screen problem, I pulled out my spare pen. And I have had no dead zone problems since.

All in all, Montreal was a delightful place to visit, and I hope to return some day when I have a little more time to visit. And the folks at GUMSNET were a great audience. I ran about 40 minutes over time (gee, there's a surprise); and they were all alert and attentive right to the end. We would probably have stayed longer, but the Microsoft employee who was keeping the facility open for us wanted to go home!

Of course, Richard would have my hide if I didn't mention that Ink in 60 Seconds is the opening segment of our Tablet PC Programming Workshop, where you can learn all this and much, much more about building your own Tablet PC applications. In the class, you won't just watch: you'll build a full-featured Tablet PC application yourself, and learn the Tablet PC from the inside. I hope we'll be adding a public Tablet PC class to our schedule first, but you can always bring us to your site.

Monday, March 13, 2006

Ink in 60 Seconds
So why aren't you writing Tablet PC applications with .NET yet?

Do you think it's too difficult? Do you think you're too busy to learn the Tablet PC API? Well, I say you're wrong.

Or do you just not see what sort of Tablet PC app you might build? Do you think that there's no great Tablet PC applications out there for you? Well, I say you're wrong again.

And I'm so sure you're wrong, I'm going to prove it to you at the Groupe d'utilisateurs de l'archutecture Microsft .Net de Montreal by building some simple little Tablet PC samples — samples you can easily adapt into your own applications — each written in under 60 seconds. (Note: In order to meet that time limit, I'll be writing these in C#, the language I know best. Every single one of these demos could be written in 60 seconds in VB.NET, but only by a better VB programmer than me!)

Then after each sample is running, I'll explain to you what I did, how I did it, and how you might expand on it. Some of the samples I'll build include:


  • 60 Seconds to Ink: Capturing Ink in a window in your application.

  • 60 Seconds to Ink Anywhere: Capturing Ink in any window in your application.

  • 60 Seconds to Programmatic Ink: Adding Strokes programmatically to an Ink surface.

  • 60 Seconds to Saving Ink: Saving your drawings.

  • 60 Seconds to Loading Ink: Loading your drawings.

  • 60 Seconds to Saving Some Ink: Saving part of a drawing.

  • 60 Seconds to Loading Some Ink: Loading a drawing into an existing drawing.

  • 60 Seconds to Exporting Ink: Savinging your drawings as images you can share with non-Tablet PC users.

  • 60 Seconds to Selecting, Moving, and Resizing: Manipulating the Ink that you draw.

  • 60 Seconds to Erasing: Erasing the Ink that you draw.

  • 60 Seconds to Drawing Attributes: Drawing with multiple colors, transparent Ink, and different shapes and sizes of pens.

  • 60 Seconds to Clipboarding: Really simple Ink clipboard functionality — and why it doesn't work!

  • 60 Seconds to Simple Handwriting Recognition: Simple handwriting in a form.

  • 60 Secondes au Français: Identification d'écriture en français.

  • 60 Seconds to More Handwriting Recognition: Handwriting recognition mixed with typing.

  • 60 Seconds to Handwriting Recognition Anywhere: Handwriting recognition from any Ink surface.

  • 60 Secondes à Plus Français: Plus d'identification d'écriture en français.

  • 60 Seconds to Text-to-Speech: A simple talking application.



And just in case those samples don't inspire you to devise a great new Tablet PC application, I'll finish the presentation by spending 60 seconds (probably more) describing each of ten different killer Tablet PC applications that I'm just too busy to write myself, but which I think somebody should be writing.

So fasten your seat belts. This is gonna be one heck of a fast ride!

And no, I'm not doing this talk just for the free pizza from INETA and the free trip to Montreal. I certainly hope that some of the attendees are so excited that they'll want to take our Tablet PC Programming workshop, where we'll go places you just can't reach in 60 seconds.

Thursday, March 9, 2006

My dream Origami project
OK, let me first acknowledge right up front: this project is eminently impractical. For one thing, there’s the price: replacing a paper process with at least four Origamis (plus other support hardware) is just a bit pricey. And for another thing, many of the target end users are just a bit suspicious of and even opposed to technological solutions. They think the paper processes are working just fine, thank you very much. (Though as someone who occasionally has to process their paperwork, let me tell you: it ain’t easy, and often their handwriting and habits complicate my job.)

Still, inspired by Epee Bill, I had this vision. And I really do think it would be a vast improvement over the paper processes, if people would accept it. Just imagine...

Mr. Vesper stands beside the fencing strip. In his hands is an Origami: somewhat heavier than the clipboard he once would have carried, but not much larger. On the Origami screen are the names of two fencers. He calls them: "Up next. Mr. Smith. Mr. Bolakowski." The fencers enter the strip, Smith on the right and Bolakowski on the left, and hook up to their wires. Then they present their weapons to Mr. Vesper. He tests each one, and then with his finger makes two "check" gestures on the Origami to indicate that the weapons passed inspection.

Mr. Vesper returns to the sideline and calls out: "Fencers ready..." The combatants assume their en garde positions. "Fence!" The wireless microphone he wears picks up this command and starts the fencing clock, as the fencers approach each other. (If Mr. Vesper preferred not to wear the mike, he could also start the clock by pressing a button on the Origami.) The fencers engage. Beat, beat, beat, feint, attempted parry, disengage, lunge! The scoring box lights up with one light, and Mr. Vesper calls "Halt!" Ideally, the scoring box automatically stopped the fencing clock; but since most scoring boxes aren’t capable of that, Mr. Vesper can also stop the clock via voice or button. Mr. Vesper calls the action, and then records a touch left by making a downstroke gesture in a box near Mr. Bolakowski’s name. The Origami acknowledges by announcing, "Touch, Bolakowski. Score is 1, 0." Meanwhile, the Origami uses WiFi to update the tournament server; and then the server posts the results live to the tournament’s Web site. One of the tournament workers is also wandering around between the strips, using another Origami to record live video and stream it to the server and from there to the site. Fencers and fans from all over the world can follow the tournament in real time. A tournament monitor near the bout table shows the live results. It has a touch screen (in fact, it’s really a larger Tablet PC device being used as a kiosk) so that spectators and fencers can navigate to different pages and check current standings. (This will, I hope, keep them from coming to the bout table and distracting us from our work by asking, "So if I win my next bout, who will I face after that?" Or "So is this an A tournament?" [Like I know how to answer that.] On the other hand, this system will do so much of my work, so I may have time for questions.)

Mr. Vesper repeats, "Fencers ready... Fence," and the clock and the action start again. Thrust, retreat, thrust, retreat, ballestra-lunge! And the scoring box lights up with one white light. Off target. Mr. Vesper calls the action and records the off target by making a downstroke in a different box (colored white to match the white off-target light). The Origami announces, "Off target, Bolakowski. Score is 1, 0."

"Fencers ready... Fence!" Taking a more aggressive tact, Mr. Bolakowski almost immediately leaps into a fleche. But his timing is off, and he ends up colliding with Mr. Smith. Mr. Vesper calls, "Halt! Red card." And he makes a downstroke in a third box (colored red for penalties). The Origami needs more information, so it pops up a list of possible reasons for the penalty, and Mr. Vesper checks the one that says, "Corps a corps." The Origami announces, "Red card. Bolakowski. Score is 1, 1."

Chastened, Mr. Bolakowski falls back into a more defensive mode. He and Mr. Smith trade thrusts and parries and occasional points back and forth, but the action slows. Eventually, the fencing clock runs out, and the Origami announces, "Time." Mr. Vesper calls halt, and then says, "Victory to Mr. Bolakowski, 4-3." The Origami has already figured this out for itself; but since no result is official until a director confirms it, the Origami presents the results to him. He makes a check gesture, and the official results are sent to the server and the Web. Immediately his Origami screen displays the next bout, and he calls it out: "Fencing, Emerson, Jones." Mr. Jones is not immediately available for some reason, so the Origami begins a countdown clock. If he doesn’t arrive in time, he’ll forfeit.

When the last pool bout of the event is complete, the server immediately produces a seed page and also an elimination table. It also pushes the list of elimination bouts out to the directors’ Origamis. The software on the Origamis knows that these are elimination bouts, so it changes the way it keeps time: elimination bouts run to 15 points, and are stopped every three minutes for a one minute break.

Now again, I know this is impractical, probably for more reasons than I have identified. (Flashing blades and computer equipment may be a bad combination.) And while I do think Microsoft could be interested in unusual showcases for their devices as a way to get publicity, I’m not sure that getting involved with fencing is the way to do it, at least not in America: in a country where competitive hot dog eating is actually broadcast on ESPN, fencing can’t get any air time. But boy, would I love to see it in operation! And I could write practically this whole system by myself, without a whole lot of work; and I could teach a team how to write it in under a week. I just have no confidence I’ll ever persuade anyone to let me. But I can dream...

Of course, there are other sports that could make good showcases. I’m thinking that the American biggies – football, basketball, and baseball – would make poor showcases. The fields of play are too large, and officials are too distant from the action, so no one would ever see the Origamis. So that hints at what would make a good showcase sport: one with a smaller playing field, with probably only a small number of participants (two, or maybe four), and where the officials are fairly close to the action so that the Origami will be in the camera shot quite often.

Tennis, anyone?

UPDATE: Fixed the score, thanks to Epee Bill.
All right, NOW I can talk about Origami...
...but Microsoft says it so much better here. As some reports have hinted, Origami devices (now known as "Ultra-Mobile PCs") are small, light, highly portable Tablet PCs.

And for developers, there's a lot more on Ultra-Mobile PCs here.

And of course, if you want to learn how to write programs for UMPCs (boy, is that an ugly abbreviation, or what?), I would like to suggest that you start with our Tablet PC Programming Workshop. (If your organization plans to deploy a large number of UMPCs, Microsoft's SSP program recommends our course.)

UPDATE: Epee Bill (famed member of the Ann Arbor Dueling Society) asks:


And if I asked you, "Why do I want one of these and no a PDA?" what would you say?


Well, Bill, I'm not sure that my answer will make any difference to you, because you're a Mac guy. But I'll give you the answer anyway. Does the PDA run Word? Excel? Outlook? Internet Explorer? Windows media player? A wide range of PC games? MapPoint? And pretty much all of your Windows software?

Does the PDA play DVDs? A UMPC will, though I expect you'll have to plug in an external DVD player on most of them, and probably a power cord. DVD playing should use a lot of battery power.

And while I'm at it, does the PDA run Tablet UML? Or OneNote? Or Journal? Or the Franklin Planner software? Or GoBinder? Or any other Tablet PC software?

See, you're a Mac guy, so you don't have any Windows software; but a lot of people do. For them, this may be a good alternative to a high-end PDA. (Low-end PDAs will still be a lot cheaper.)

And wait until we see new applications built on the power of ultra-mobile connectivity and power. I have some ideas on those, but not enough time to present them right now.

Wednesday, February 1, 2006

Best laugh of the week... from a geek!
Never would I have guessed that a presentation on the architecture of handwriting recognition systems would be a source of great hilarity. At the Microsoft Mobile Platforms Division Partner Briefing, Jay Pittman has us rolling in the aisles. Some examples.

"So you write 'dictionary', but the recognizer comes up with 'dictum'. So we let the user select the 'um' and rewrite it. But we have to do that in context of the first part. Otherwise, Bill Gates tries this, and he writes 'ionary', and the system looks it up in the dictionary and finds the first matching word, 'ion'. And then Bill Gates uses... 'colorful' language."

"I never imagined when I was planning my career that some day Bill Gates would pay me to look up dirty words in the dictionary."

"So we have to mark certain words as being in the dictionary, but being 'restricted'. That means that, when the recognizer can't recognize something but the F-word looks like a possible match, we still don't put it in the match list. We have to put it in the dictionary, or else when someone types it, it will show up as a misspelling. Then someone will write a letter to the editor: 'Microsoft doesn't know the F-word.' But that doesn't mean they want it showing up in the suggested word list. That way, we'll get letters from Senators. Or Archbishops. (Audience laughs.) It has happened."

"KKOMO: That means 'Krispy Kreme's Outside My Office'. It makes you very popular here at Microsoft."

"We don't pre-announce things... usually because we don't know!"

Mr. Pittman is one funny speaker!

On a more serious, business note: at this briefing, Microsoft announced that the Richard Hale Shaw Group is now their official partner for developer training for enterprise Tablet customers. If you're not quite large enough to be one of their enterprise customers, you can get the same training directly from us.

UPDATE: "We also get asked about Klingon text recognition. The answer's still no."

UPDATE: Fixed a dumb spelling error.

Saturday, October 15, 2005

Seen around the tech blogs this week
Ever have a night when you really need to get up early, and yet things keep you up late, and finally it seems like the safest course is just to stay up? Or does that only happen to me? Either way, this is one of those nights. In five-and-a-half hours, my plane leaves Atlanta. I've been away from Sandy and the dogs and our home for four weeks. I am going to be on that plane. And I already learned this week that this hotel's wake-up calls are still pretty unreliable. And while the M200 has pretty good speakers and usually serves as my alarm clock, it's having some problems right now. (Never buy Toshiba. Toshibas are junk.) And this 3500 has had the speakers repaired, but they pretty much suck, and I can barely hear them. (Never buy Toshiba. Toshibas are junk.)

So at this point, the safe way to be sure I'm on that plane is to stay awake until I board, and then sleep on the plane. So to find things to keep me going, I decided to do something I haven't done in a while. It's time for another installment of Seen around the tech blogs.

--------------------------------------------------------

Richard Hale Shaw makes an interesting argument against the C# using statement (not the using directive; and thank you, C# team, for that bit of confusing language). I disagree with him; but it will take time and sleep before I can fully explain why. The short preview: he says you can't force people to use your class correctly; I say I can, and I'll show you how, soon.

--------------------------------------------------------

Joe Kunk passes along some suggestions on porting MFC code to .NET, including some discussion of tools to automate parts of the port. Since I have a presentation on this topic, I'm going to check out those tools.

--------------------------------------------------------

From the Earth to the Moon links to this discussion of where the Apollo capsules are today. Until it shut down, the Michigan Space and Science Center in Jackson was home to the Apollo 9 capsule. (Commander McDivitt was a Jackson-area native.) I used to go there for inspiration whenever I had a spare afternoon. When I think of what those engineers accomplished at a time where the sum total of all the computers at NASA amounted to less memory than I have in my hand, I realize that no job of mine is that tough. It was a sad day when I learned that MSSC had closed. Now I have to go all the way to San Diego to see Apollo 9. Of course, my flight home tomorrow ends in Dayton (I started this trip with INETA meetings in Cincinatti and Dayton), and Apollo 15 is at the Air Force museum there; and later this year I'll be in Huntsville for another INETA presentation, where Apollo 16 is. So I'll get my fixes then. (Bonus: outside of Dayton and on the road toward home is the Neil Armstrong Museum!)

--------------------------------------------------------

James Avery is looking to switch blog engines, and wishes he had a decent, easy to use and extend .NET solution. I could be wrong, James, but I think it will be really easy to build your own with ASP.NET 2.0.

--------------------------------------------------------

Tablet PC Buzz points out this post by Josh Einstein about fixes that will make Tablet PC components work properly under .NET Framework 2.0. I'm getting a new version of Tablet UML ready, so this was important news to me!

--------------------------------------------------------

Space Law Probe has a round-up of reactions to China's manned space launch.

--------------------------------------------------------

I don't have James Hudnall under Tech Blogs, because I think of him as a comics guy. His Espers is one of my favorite series. But he's also a computer geek. This week, he posted about the latest story on e-paper, and we drooled over the possible comic book applications.

Marvel has released 40 Years Of The Amazing Spider-Man on CD. I haven't picked it up yet, because I'm afraid someone may get it for me as a gift, and I wouldn't want to spoil that. I really would love to read that collection on a Tablet PC (particularly my new Gateway CX200X Tablet PC, to be ordered next week); but a programmable e-paper comic would be equally cool.

(And I hope that Marvel and DC and others release a lot more of their back stock this way.)

--------------------------------------------------------

Mike Swanson shows off the 5 best videos from the PDC. I wish I could've been there, but I was earning the money that will pay for my new Gateway CX200X Tablet PC.

--------------------------------------------------------

Matt Propst announces the Formal Cancellation of Grand Valley Programming Competition. That's too bad, but I hope they can pull it off next year. Josh Holmes and I were asked to be judges. One of my oldest programming memories is high school programming competitions at Grand Valley, so this would've been like going full circle.

--------------------------------------------------------

And speaking of Josh Holmes, he has a couple of posts on his latest work with Compact Framework and Win CE. Josh is my goto guy on this Windows handheld stuff, and he should be yours, too.

--------------------------------------------------------

Sam Gentile posts about a Channel 9 interview with him and Ward Cunningham. Since neither gentleman is shy — especially with their opinions! — it's pretty no-holds-barred.

--------------------------------------------------------

And speaking of Robert Scoble (the guy behind Channel 9), he's on a crusade to get Microsoft to focus on blog searching.

--------------------------------------------------------

Julie Lerman has a 512MB memory chip for a Toshiba Portege M200. Julie, Julie, Julie... Some day you'll learn: never buy Toshiba. Toshibas are junk.

Look at this Gateway CX200X Tablet PC, Julie. Look at the 14" wide-screen. Isn't it... tempting? Look at that optional 4-year, on-site, parts and labor and accidental damage warranty look... comforting?

--------------------------------------------------------

Lora at What Is New posts that the Windows Mobile PC Team (i.e., the Tablet team plus) now has a group blog.

--------------------------------------------------------

And speaking of the Windows Mobile PC Team... This is a little belated note (since I just learned of their blog from Lora): they write of the work their people did in helping to support Hurricane Katrina relief. I've already noted the contributions by Best Buy, WalMart, Home Depot, Edward Jones, McDonald's, and others; so it's only fair that I point out that my favorite software company has pledged over $9 million in cash, materials, and support to the relief effort. Thank you, Microsoft.

--------------------------------------------------------

Howard Lovy has retired NanoBot. That's too bad, but his new job probably keeps him plenty busy.

--------------------------------------------------------

Thom Robbins forwards an announcement of the general availability of the "Project Server Visual Studio Team System Connector" application. "The solution provides guidance for integrating Project Server and Visual Studio Team System. It demonstrates how Project Server and Visual Studio Team System can be integrated together to provide extended value for project and resource managers and guides developers through the process of building and customizing components that link the project management and software development tools. This is a foundation for partners to build applications that can integrate the two server products and provide specialized functionality."

As someone who's more and more excited about process and practices, I'm pleased by this news.

--------------------------------------------------------

James Kendrick — a.k.a. jkOnTheRun — links to this Detroit Free Press story about Bill Gates's visit to Ann Arbor. (Oh, sure, Bill... Come to town when I'm three or four states away! OK, I wouldn't have been invited anyway, since his presentation was for students. But still...) I think the story hints at one reason why I suspect for Microsoft's strong support for the Tablet PC: Bill loves his Tablet, and has wanted one for a long time. You don't believe me? He described his vision of the platform in drooling detail way back in The Road Ahead (or maybe it was Business @ the Speed of Thought — I'm on the road, remember, so I don't have my books with me). There are few people who are more fanatical about Tablet PCs than I am, but Bill's clearly one of them. And so I have a sneaking suspicion that, just as Microsoft will always sell a version of Basic so long as Bill's involved, so too will they make sure that somebody's making new Tablet PCs for Bill to play with.

(NOTE: The above is tongue-in-cheek, and I know nothing about Microsoft's internal platform decisions nor the reasons for those decisions. But I do know that it's true that Bill loves his Tablet PCs.)

--------------------------------------------------------

And speaking of jkOnTheRun... He links to more proof that Toshibas are junk. And he has a plea:


Let’s help Tracy get her Tablet back. Anyone with a Toshiba horror story about repair or customer service difficulties please chime in here with a comment. Let’s see if a string of unsatisfied customers can get Toshiba’s attention about Tracy’s plight. It’s worth a shot as she has nothing to lose since she is already without her precious.


I'm about to throw some links your way, James, as you asked. But at this point, you may already know my conclusion: never buy Toshiba. Toshibas are junk.

--------------------------------------------------------

There! That worked out just about perfectly. I planned to start prepping and packing at 0600, and it's 0553. That gives me just enough time to do a cursory proofread, and then post.

When next you hear from me, I hope to be H*O*M*E! Sandy, I'm on my way!

Related Posts (on one page):

  1. Seen around the tech blogs this week
  2. Seen around the tech blogs this week...

Saturday, October 1, 2005

Acknowledging the pioneers
For a long time now, I've been using the phrase "Smart Cocktail Napkin" to describe a class of Tablet PC applications that let a user sketch out an idea, and the computer understands what was drawn and adds meaning to it. Most of the Gold Nugget app ideas so far are examples of Smart Cocktail Napkin applications.

Well, these folks beat me to the metaphor by nearly a decade: The Electronic Cocktail Napkin Project. In their own words:


The Electronic Cocktail Napkin is a pen based drawing environment written in Macintosh Common Lisp. It aims to support designing using hand drawn sketches and diagrams. We want to make it easy to make expressive drawings — as easy as pencil and paper — that can also be managed and interpreted by the program. We'd like to take advantage of designers' experience with the rich tradition of drawing and the directness of pencil and paper as well as the symbolic and numeric manipulations that computers make possible. In other words, we want to work with pencil and intelligent paper.


This was NSF-funded research work. They really did some good, ground-breaking research and thought. While the Tablet PC hardware and API have exceeded their hardware platform, their vision of what can be done with the hardware is still forward-thinking today. If you're looking for people who have really thought about how a pen adds power to a computer, start with The Design Group.
Tablet PC Gold Nugget #7: Chem Pad



This one's pretty vague, because I've never studied chemistry after high school; but I know that chemical diagrams are easy to draw by hand, and hard to create in a typical word processor or graphics package. So Chem Pad would allow a chemist to draw the diagram by hand; and then the app would apply chemical knowledge to create a cleaned-up, ready-for-publication version of the diagram. Chem Pad should run as a stand-alone app that can svae the diagrams or copy them to the clipboard; and it should also run as an MS Word add-in that can automatically insert the images into the text.

Chem Pad could also do things such as calculating the molecular wait of the diagram as drawn, automatically adding valence numbers, and maybe even identifying flaws in the diagram. And since there are high-end chemical visualization tools out there, Chem Pad should export to their file formats. There's probably a lot more that it should do; but I'm not a chemist, so I can't think what that might be. If you can, I can teach you how to write Chem Pad.
Tablet PC Gold Nugget #6: TacMap, the Game



Here's a variation on TacMap, one which was hinted at in that nugget. You let players use the pen to sketch out orders for movement and attacks and other actions in a turn-based strategy game. The player could draw various shapes on a particular unit to represent various actions, such as digging in, fortifying, building, planting, etc. The player could also draw paths for units to follow. And then the user could also switch modes (perhaps via the pen's barrel button, or perhaps even by voice command) to order units to attack particular targets. And the player should be able to click or tap on a unit to open a status window for that unit.

There's a lot more that a game like this should have: a good story line, compelling music, and great graphics. I'm not a game programmer, so I don't know how many other things you should add. But if you do, I can teach you how to write the pen and voice controls.

(For some sad reason, I keep getting an image of John Madden and his electronic whiteboard, and imagining that being animated. But I suspect that X's and O's just aren't good enough for today's graphics-obsessed gamer. Still, the TacMap game idea could work for a football game as well, if you supplied better graphics and sound.)

UPDATE: Oops! I forgot to mention that Tracking Systems is an extremely simple example of a Tablet PC game. It's not great, but it should get you thinking.
Tablet PC Gold Nugget #5: TacMap



Here's a Tablet PC gold nugget for any military programmers out there: TacMap, a tactical map for battle planning and evaluation. This app would allow a commander to use a simple pen to draw and update a battle map, either for planning an upcoming battle or for plotting observations and movements for a battle in progress.

TacMap should allow drawing or importing of maps, as well as of units and sets of units. A commander should be able to draw new enemy units as they're discovered, and should be able to drag and drop units to reflect plans or observations. The commander should be able to tap or click a unit to pop up a detail window to add status information and issue orders. (If you're really ambitious, you could even allow the commander to open a communications channel to friendly units by way of the detail window.)

The commander should also be able to modify the map on the fly, drawing in obstacles, hazards, and other terrain features as the battlefield changes.

For battle planning purposes, you might even allow units to be animated. The commander could sketch out a path for each unit to follow, and could also and time marks to indicate when a given unit is expected to reach a given point. The commander could also designate fire arcs and fire rates or other instructions. Meanwhile, another commander playing the role of the enemy could plot out likely tactics for opposing units. Then the map could be animated, so that the command staff could watch the plans play out and look for possible problems.

That's a start. I've never been in the military, and I'm not a tactician, so I can't envision everything TacMap should do. But if you can, I can teach you how to write it.
Tablet PC Gold Nugget #4: Note Pad Framework



I forgot about this nugget; and it's one you may want to consider as part of building this or one of these. The idea would be that, rather than just building a custom Smart Blueprint app, you would build a framework that allows you to plug symbol sets into a basic map drawing component. The map drawing piece would support drawing and dimensioning frames or layouts, and maybe importing of existing maps; and the plug-in API would let you design symbol grammars and attach them to data and meaning behind the diagram. This would be a lot of work to do for one Smart Blueprint app, but it would make further Smart Blueprint apps a lot easier.

And you know what I have to say next: I can teach you how to write that framework.
Tablet PC Gold Nugget #3: Sheet Music



OK, this isn't an original idea by any means, but it's still a good one: the Tablet PC allows for the simplest, most natural way to compose music on the computer. I know because it has already been done: see the Tablet PC Music Composition Tool, written by Andrew Forsberg, Loring Holden, Timothy Miller, and Robert Zeleznik of Brown University. When I put this in the hands of a musician, he or she immediately knows how to use it. You just draw musical notes on staves, exactly like composers do on staff paper; and then you press Play, and the music plays in one or two of a wide range of synthesized musical instruments. Their eyes light up, and they say, "I want one!"

But after they play with it a while longer, their eyes droop, and they say, "Let me know when it's finished." The Composition Tool is interesting, but incomplete. It was written as a grad school programming project and an entry in a Tablet PC programming contest, not as a commercial product. And after waiting for three years for the excellent team from Brown to finish the job, it looks like they're just not interested. That leaves the way clear for somebody else to do the work, only better. Here are some ways to do even better than the Composition Tool:


  • While I really like the Composition Tool, it's imprecise. It's easy to put a note in the wrong place. And as we'll see below, that's a hard mistake to fix. I know that a Tablet PC app can be more precise than this, so precision will just take some testing and tuning.

  • It needs those fundamental editing features that all users want in a document editor: Undo, Redo, Cut, Copy, and Paste.

  • It needs the ability to select and edit a note. You should be able to drag it and drop it to a different value on the scale.

  • It should support the pen eraser, where available.

  • It only supports two staves and two instruments. That number should be variable.

  • It should support more notations, such as guitar chords and drum notation.

  • It should support recording the music as audio files and probably MIDI files.

  • It should allow the composer to add lyrics.

  • It needs a print function. The print function should be able to produce both a master score and individual instrument scores.



That's a start. There should probably also be smarter musical transformations, such as "Transpose this section up an octave" or "Fix this section so that the key signature is correct." I would give you even more suggestions; but my high school musical training never really got that far, so I'm no sort of expert in the music domain. But if you are, I can teach you how to write a Sheet Music app, so you can hear the musicians say, "I want one!"
Tablet PC Gold Nugget #2: Variations on a theme



Our second gold nugget builds upon our first. The Electrician's Note Pad is one example of a category we can call Smart Blueprints: applications where a user draws a building plan or a property map, and then adds symbols that the app assigns particular meanings to. Here are some obvious variations:


  • Carpenter's Note Pad. The same idea, but with carpentry symbols.

  • Plumber's Note Pad. The same idea, but with plumbing symbols.

  • Heating and Cooling Note Pad. The same idea, but with HVAC symbols.

  • Decorator's Note Pad. The same idea, but with interior design symbols.

  • Landscaper's Note Pad. The same idea, but with landscaping symbols.

  • Architect's Note Pad. Similar to the other Note Pads described above, but with an important twist: the architect can change symbol sets, switching from electrical view to plumbing to heating, etc., as the architect tries to capture various views of the building. Each view should appear in a "layer" within the diagram; and the architect should be able to show or hide layers as needed.



Given the original idea, these were all easy to imagine. Still, there are opportunities there for someone or some team with the right domain expertise. I'm not that person; but if you are, I can teach you how to write these apps.
Tablet PC BootCamp in Boston: It's official!
Moved to the top because it's marketing, ya know? It doesn't make sense to let your marketing messages scroll off the cliff...

OK, I've been announcing this for a little while now, but now it's official: registration is now open for our Tablet PC Programming BootCamp - Nov 1-4, 2005, in Boston. From the registration page:



  • This course personally taught by Martin L. Shoemaker, author of Tablet UML (the UML program you don’t have to learn!)

  • When: Nov 1-4 (Tuesday-Friday), 2005, 9am-7pm

  • Where: Microsoft's Boston offices in Waltham, MA

  • Where to stay: Hotels and Travel Info.

  • Course Description and Outline for this Class Details...

  • This is a HANDS-ON class: you’ll need to bring a Tablet PC configured as detailed below.

  • It’s a BootCamp: 9-10hrs a day, and you’ll have Homework to do

  • You’ll receive 200+ pages of labs, 100+ pages of slides, and all code samples built in-class — and a copy of Tablet UML!

  • Personal attention from Martin L. Shoemaker

  • The best darn Tablet PC training around!

  • Seating is limited to 15 students: register today!




I hope to see you there!

UPDATE: Like all Richard Hale Shaw Group classes, this one is also available at your site. You can train a busy development team all at once, and save money in the process! Contact Richard for details.

Friday, September 30, 2005

Tablet PC Gold Nugget #1: Electrician's Note Pad
Steve McConnell wrote a great software development book, Professional Software Development. (Actually, in my opinion, Steve McConnell has written more great software development books than anyone I know, save perhaps Martin Fowler.) But before Steve wrote Professional Software Development, he wrote an earlier version called After the Gold Rush. The central metaphor there was that early in a gold rush, many people can get rich by picking up nuggets that are just waiting to be found; but that after those are gone, people can only succeeed by planning, building infrastructure, and working with more discipline to dig out the more difficult and hidden treasures. And he said that software development had moved past the gold rush stage, where great ideas were just waiting to be discovered. Newer advances will require a lot more effort to bring to fruition.

But that's in general. There are still niches where great ideas are just waiting for someone to make them happen. And one of those niches is Tablet PC applications. I contend that some really powerful Tablet PC apps are just waiting for the right developer with the right domain expertise and Tablet PC programming skills to open up a whole new market.

And since I'm hoping to teach you Tablet PC programming, I figure one way to get you interested is to throw out ideas of how you might strike gold with a Tablet PC app...


This first gold nugget comes courtesy of my friend Tom Lavey. He and his partner Charlie own L & M Precision Machine, Inc., of Pinckney, MI. (If you need high quality short runs of production turned small parts up to 1.625 inches in diameter, I highly recommend their work. And full disclosure: I'm their Web designer and administrator. But that's a volunteer position, so I don't have a stake in their work. I just think they do great work!) When I was trying to explain to Tom why Tablet PCs are so cool, he immediately envisioned my second-favorite example of a great Tablet PC app (right after Tablet UML). Loosely paraphrased, here's what he said:


So last week, we had the electrician come in to give us a quote on wiring up the shop. He took out a yellow legal pad, and he drew out a sketch of the layout. Then he asked us where the machines and equipment were going to go, and he drew in conduit, junctions, outlets, etc. And then when we were all done, he said, "OK. Let me take this back to the office, and I'll have a quote for you in three to five days.

Now if he had a Tablet PC, you're saying he could draw the same picture; but when he drew conduit or a junction or an outlet, the computer would know what he meant. It wouldn't be just lines, it would have meaning. And when he was all done, he could push a button, and out would pop an estimate. Is that about right?


And Tom was exactly right. (And yes, I'm still annoyed that a machinist saw this great example, and beat this programmer to the idea. Serves me right for having smart friends...)

Now let's flesh out Tom's idea a little bit:


  • The electrician would start by drawing the building layout. For this, he'll need basic sketching capabilities, including various pens and colors, selection and erasing, the whole gamut of standard sketching tools.

  • In addition to sketching, though, he'll need dimensioning. He should be able to tap or click a line in the layout and enter information about the wall length. He may also need to be able to add comments. For example, he may want to indicate the material a wall is made from, so that he knows how hard it will be to drill holes or snake conduit.

  • The app should automatically clean and straighten lines, but the electrician should be able to turn this feature off.

  • For drawing conduit and junctions, etc., the system should define a shape grammar, where particular symbols correspond to particular types of electrical equipment. As much as possible, the shape grammar should duplicate the notation the electrician is already using; but since I don't know that notation, I can't predict what compromises will be needed.

  • The electrician should be able to click or tap a symbol and pop up a detail window. This should let him do things like indicate conduit length, make notes, and select from a list of alternatives (different types of junction boxes, etc.).

  • There should be a database behind the app, providing the various alternatives that can appear in the detail window. Ideally, this should include latest pricing, and even live update via the Web (wireless, of course).

  • The electrician should also be able to just sketch and just write notes, without any recognition. This lets him draw and write things the programmer never expected.

  • There should be a Prepare Quote button. This should pop up a form that prompts the electrician to fill in any details he overlooked, and to make any choices of equipment type that he hasn't identified yet. When he answers all the questions and adds in any other charges he can foresee, the system will produce a quote. He can also email it to the client and to the home office.

  • The app should let the electrician define business rules with regards to the quote. For example, some businesses may prefer not to give the client a preliminary quote until supervisors back at the office have approved it.



That's a start. I'm sure there's more this app should do; but I'm not an electrician, I don't know the domain, and so I can't define it better. But if you can, I can teach you how to write it.

Sunday, September 11, 2005

Tracking Systems activated!
Presented free of charge (and also without support, just so we're clear up front): Tracking Systems, a game for the Tablet PC.

Now let me repeat that up front, more clearly: Tracking Systems will only run on true Tablet PCs running Microsoft Windows XP, Tablet PC edition, and upgraded to version 1.7 of the Tablet PC API. If you try to run it on anything else, it's not going to work. End of discussion.

Tracking Systems hearks back to space defense games from the early age of video games: alien saucers fly over your city, dropping bombs; and it's your job to destroy saucers and defend the city. But there's a twist: you use your Tablet PC pen to draw your defenses.


  • In one mode, you can draw torpedoes. Simply draw a stroke, and a torpedo will launch. The size and power of the torpedo varies with the length of the stroke. The speed of the torpedo is based on how fast you drew it.

  • In the second mode, you can draw shields. Any stroke you draw becomes a full strength shield. When a bomb hits a shield anywhere along its length, the whole shield weakens, until it's eliminated.



You can change modes in two ways: you can press the Torpedoes or Shields buttons; or if your Tablet PC pen has a barrel switch, you can hold that down to draw shields, and release it to draw torpedoes.

Here's a screen capture from a game of Tracking Systems:



Tracking Systems is far from a commercial game. For one thing, it's rather crude and unpolished (a lot like the games that inspired it, in fact). And it can get sluggish when there are a lot of saucers and missiles in the air, since I haven't put any work into multithreading or other optimization techniques.

But as a demonstration of Tablet PC programming techniques, Tracking Systems has a lot to offer:


  • It responds to Stroke events, in order to draw torpedoes and shields.

  • It reads Stroke properties to determine the size of each torpedo.

  • It manipulates Stroke properties to change Stroke color to indicate shield strength.

  • It manually adds Stroke objects to the Ink surface to create the saucers and buildings and bombs and torpedoes.

  • It manually removes Stroke objects when items are destroyed.

  • It manually moves Stroke objects as items move on the screen.



And if you want to learn these and other Tablet PC programming techniques, and if you want to write your own great Tablet PC applications, then I have to recommend our Tablet PC Programming BootCamp in Boston.

Saturday, September 10, 2005

A good question!
A visitor to my Tablet UML Web site asks:


What's the big deal with allowing this [i.e., Tablet UML] to run with a mouse and keyboard?

Sure it would be great if I had a Tablet PC to get the full benefit, but in the mean time, you can still recognize my mouse drawings (as if I had drawn them with a pen) and convert them into models.


That's a very interesting question: if the pen substitutes for the mouse, why doesn't Tablet PC software work without a Tablet PC? It's an interesting question, because it gets to the heart of what is often not understood about the Tablet PC. So I'm reproducing my answer here.

Tablet UML is written with the Tablet PC API. Until Microsoft merges that into the mainline OS (rumored to be around 2007), it will only run on Tablet PCs.

I've thought about replacing the Tablet API calls; but they do so much of the work for me. It would be like starting over again, on a very much larger project. If you study the Tablet API, you'll find that it is very much more than just a pen that acts like a mouse. The Tablet API does 90% of the recognition work for me, and then I just have to UML meaning to what it recognizes. Without that capability, I would have to write all that recognition code myself, which would be far more work than I can handle.

As I've written before: a Tablet PC is more than just a laptop with a pen.

And if you want to learn more about why a Tablet PC is more than just a laptop with a pen, and if you want to write your own great Tablet PC applications, then I have to recommend our Tablet PC Programming BootCamp in Boston.

Wednesday, August 10, 2005

Catching up on Tablet PC news
Here are some Tablet PC stories that slipped past me while I was busy with other stuff (including my latest monster-sized UML post)...

--------------------------------------------------------

Tablet PC Review Spot has a review of the Acer TravelMate C314XMI Tablet PC:


The Acer C314 is an excellent full-featured Tablet PC that is powerful enough to function as a desktop replacement. The generous 1024MB of RAM, 100GB hard drive, Built-in Bluetooth and fast 2.0GHz processor are a good value for the price. This machine is great for students or consumers who want a Tablet to be their "only" PC.

Although there is value in the features that are included, it is obvious that Acer has cut back in their technical support. I would not recommend this model to any first-time computer user who might need to talk to a reliable tech support representative without having to wait for 20 minutes on hold.


I like the thoroughness of the reviews on Tablet PC Review Spot (and on their companion site, Notebook Review). They don't just review; they benchmark and compare in great depth. And heck, you gotta love a review that includes calling tech support and measuring how long it takes to talk to a human being. Now that's practical information!

--------------------------------------------------------

Pocket-lint reviews the HP Compaq TC4200 Tablet PC. You know you're in trouble when a Tablet PC review starts like this (emphasis added):


WHAT IS IT?: Tablet PC

THE GOOD: Powerful, great battery life, affordable

THE BAD: It’s a Tablet PC


Uh, guys? That's the point of the machine. And it's a good thing, not a bad thing.

The review itself isn't nearly so biased:


The move from slate design to the versatile clamshell will certainly prove a popular choice with buyers, as it will allow you to use the TC4200 primarily as a notebook but with the added functionality that comes with the Tablet PC operating system. If you haven’t been converted to Tablet PC before, now may well be the time to give it a second chance.


It makes you wonder if the person who wrote the "scorecard" at the start bothered to read the review.

--------------------------------------------------------

Lora from What Is New makes a valiant effort at a quantitative response to the snarky statement by The Register that I linked to the week before last. While I would love to embrace her conclusions, I have an innate skepticism toward all such "how many Google hits" studies. I'm just enough of a statistician to know that I'm not enough of a statistician to evaluate the validity of such studies. So my default response to all such studies is skepticism, even when I support the conclusions.

--------------------------------------------------------

Both eWeek and Computerworld discuss Fujitsu's tepid non-Tablet "but maybe Tablet soon" machine, the P1500. It has a touch screen, but not the Tablet PC OS. The reasons for this hodgepodge decision make little sense:


The LifeBook P1500 will run Windows XP Professional rather than any version of the Tablet PC operating system as a way to keep costs down and let customers leverage their current standardization on XP, according to Fujitsu officials in Sunnyvale, Calif.


The Tablet PC OS by itself doesn't represent that big of a cost differential. And as for "leveraging their current standardization on XP," the Tablet PC OS is a superset of XP. It should fit right in at any organization that has standardized on XP.

I suspect that cost is an issue; but it's the cost of digitizing hardware that meets Tablet PC specs, not the OS. I'll have more on this topic in the next item.

--------------------------------------------------------

I've seen this mentioned in a couple of places, but the Jakarta Post was where I saw it first: a review of the Dialogue FlyBook. This is a nice looking little machine; but in one respect, the review is flat-out wrong:


A Stylus? Yes, because it is also a Tablet PC. Surprisingly, though, the pre-installed operating system on this unit was Windows XP Home Edition, not the Windows Tablet PC Edition.


Here they made the same mistake as eWeek and Computerworld: a Tablet PC is more than just a laptop with a pen, as I wrote elsewhere. What makes the Tablet PC great is not the pen, it's the operating system that works with that pen — an operating system that should be properly named as Windows XP Tablet PC Edition. In other words, first, it's Windows XP. In fact, it's Windows XP Professional, not that wimpy Windows XP Home Edition. Any worries about standardization are misplaced.

But then beyond that, Windows XP Tablet PC Edition adds the Tablet PC API. And that, boys and girls, makes a world of difference. I already explained the reasons why, so I won't repeat myself; but suffice it to say that without the Tablet PC API, you're missing the Tablet PC experience.

Along with the wrong OS, the FlyBook shares with the LifeBook P1500 the wrong input technology (emphasis added):


The 8.9-inch widescreen, which displays sharp lines and characters as well as brilliant colors, can be rotated and folded flat on top of the keyboard. It is a touchscreen, actually, so it is not exactly the same as the screen on a typical Tablet PC. We can move the cursor and emulate double-clicking with our finger.


In other words, it's emphatically not A Tablet PC. With a touchscreen, you give up a lot:


  • In-air gestures and in-air cursor movement.

  • Eraser-end pens.

  • Barrel-button pens.

  • The ability to rest your hand on the screen while writing.



But perhaps most importantly, you give up resolution. Typical Tablet PC digitizers have a resolution suited for detecting a fine-point stylus. The resolution is actually smaller than a pixel. Typical touchscreens, meanwhile, have a resolution suited for detecting fat fingers — i.e., pixel-sized or larger.

None of this is to say that the FlyBook or the LifeBook are bad machines. They may be very nice machines. But they're laptops or notebooks with touchscreens. They're not Tablet PCs. And the difference is important.

Say it with me, children... A Tablet PC is more than just a laptop with a pen... A Tablet PC is more than just a laptop with a pen... A Tablet PC is more than just a laptop with a pen...

--------------------------------------------------------

SHAMELESS PLUG: And if you want to learn more about why a Tablet PC is more than just a laptop with a pen, and if you want to write your own great Tablet PC applications, then I have to recommend our Tablet PC Programming BootCamp in Boston.

Monday, August 8, 2005

Tablet PC BootCamp in Boston
Moved to the top because it's marketing, ya know? It doesn't make sense to let your marketing messages scroll off the cliff...

Well, I can now announce the big news: The Richard Hale Shaw Group will be holding a Tablet PC BootCamp at the Microsoft offices in Waltham MA, created and taught by yours truly. This will be a hands-on class for C# and VB.NET programmers, running November 1-4.

If you're planning or considering a project using Tablet PCs, this is the class for you. I'll teach you easy ways to get productive with Tablet programming quickly; but then I'll take you beyond the easy stuff, and into the real power of the Tablet API. Check out that course description.

But we'll do more than just program the Tablet PCs. We'll also discuss what makes a good Tablet PC app (or a bad one), and we'll discuss design considerations for Tablet development. (Given my perspective, there will inevitably be some UML creeping in there, too.)

We're still finalizing details, so registration won't open until next week. This will be a BYOT (Bring Your Own Tablet) class, but we're hoping to have a few rental units, too. I'll announce details when we have them.

Like all RHS Group classes, show up prepared to work, to be productive, to learn a lot, to have great food, and to have great fun!

UPDATE: Like all Richard Hale Shaw Group classes, this one is also available at your site. You can train a busy development team all at once, and save money in the process! Contact Richard for details.


Monday, July 18, 2005

Speaking of self-promotion...
...have you clicked this ad yet?

Tablet PC Development Tools

It will take you to Microsoft's Tablet PC Development Tools page, where they promote third-party tools that are available for Tablet PC development. Yes, Tablet UML is on the list; but so are some other mighty fine tools you should investigate.

Besides the banner ad, there's a full-page ad:

Tablet PC Development Tools Ad

This ad has appeared or will appear in:


  • Pencomputing Magazine, April

  • CoDe Magazine, May/June

  • MSDN Magazine, June

  • MSDN Magazine, July

  • Dr. Dobbs Magazine, August

  • Visual Studio Magazine, TBD



Keep an eye out for it!