After one year of using Tablet PCs, one thing I’m very aware of is that up to this point, the applications that I’m using on it don’t make me any money. As a developer, my desktop is where the money-making apps are for me. This needs to change.
You see, note-taking is terrific on the Tablet PC, but I don’t make money directly from it. I take notes because I have to. The Tablet PC makes me more efficient taking notes, but it’s not like I can sell my handwritten scribbles to anyone.
I imagine if I was a cartoonist or artist this might be different. I can see people like this making a living someday on their Tablets.
Yeah, I can argue that the Tablet PC enables me to perform light editing and debugging during normal down time when I’m out and about. However, this increase in productivity is rather small. I bet the future will bring ink-oriented developer tools and applications that rival the productivity levels we see today.
Here are just a few possibilities:
1. Faster design, brainstorming, and editing of prototypes using ink. Ink makes terrific sense here, because it is freeform. The trick will be to make tools like these that can get me from rough sketches and ideas to skeleton or production code faster.
2. Enhanced visualization of debugging: Developers spend a great deal of time debugging. Unfortunately, few tools are able to help us visualize what we are debugging because the problem is so general. However, I write down intermediate states of my programs on the Tablet PC or paper all the time and manually copy over values from the debugger. This suggests that there’s a possible automated or semi-automatic way to tie debuggers and ink together. It’s could be an excellent application because it adheres to a solid engineering principle: let the human do what they do best, and use the computer to do what it does best.
3. Bug tracking and version control needs to be designed around ink. After using OneNote and Journal for much of my note taking while developing I’ve begun to realize how much copying needs to take place when working with traditional text-only version control systems. Not only that, but after using OneNote I’ve gotten hooked on copy/pasting screenshots of bugs or snippets of code that I mark up with ink into my notes. Traditional source code/version control/bug tracking software doesn’t have the expressive power that my notes have. Further, it all makes me wonder if these software development tools would increase productivity if they were flipped on their heads and input was collected in a distributed fashion from more generic note-taking front ends rather than form-based database apps.
4. Ink comments in source code. Doesn’t it make sense for ink comments to be embeddable in source code?
5. New programming models. Over the years people have tried various visual programming methodologies, but nothing sticks. Programming may just be a hard problem in general to solve with these techniques, but maybe there’s a subset that’s more approachable. Can the development process for enterprise developers be made more efficient with ink? Another sub-category are developers that are on their feet. Imagine someone on a factory floor that needs to tweak a process or re-sequence a machine. A stylus/ink-based programming language could save them time because they could program standing right where they are.
I’m still learning where ink might fit in the development process. Anyone have any other ideas?