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...
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!"