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

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.