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

Monday, October 17, 2005

Unfortunate news
Due to a very large number of business opportunities coming up, including a can't-miss training opportunity in the Seattle area, we have decided to postpone our Tablet PC Programming BootCamp in Boston. Details when we learn more.

I was looking forward to that class, but there just wasn't time to get properly prepared for it and attend the new training that opened up and prepare for other classes and conferences and finish up my book. I'm burning the candle at all three ends as it is. So it's better to postpone and do it right than to try for the unattainable and disappoint the students.

As a consolation prize for me missing the class, I'll have to settle for being home for this. Darn!

And hey, if you want to see a really, really powerful Tablet PC in action, just join us when we reschedule the class!

Saturday, October 1, 2005

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.