Writing

Feed Software, technology, sysadmin war stories, and more.

Thursday, July 19, 2012

Virtual finger paint and a flexible edit list

I have weird ideas from time to time. They are, at best, half-baked. Here's another.

I made the cover for my book by messing around in something called Brushes on the iPad. I didn't set out to make something like a cover. It just happened to be installed and I was bored at the time. After a bit of messing around, I wound up with something that wasn't completely horrible to me.

This program has an interesting feature in that you can tell it to play back a creation, and it will show it being created. It obviously has some kind of log of everything I did, and it can just replay the inputs to get the same outputs. Also, while you're working on something, you can manually undo and redo.

This made me wonder about the possibility of being able to go back to an earlier step, sort of like undo, but without actually losing all of the forward stuff. Right now, let's say you create something as 1-2-3-4-5. Then you decide you really wanted step 4 to be brown instead of red. You can undo twice, and now you're at 1-2-3, then manually perform whatever happened in step 4 with the new color, and then do step 5 again.

Sure, if you had thought ahead, maybe you would have done all five steps in different layers so you could mess with them separately after the fact, but you didn't. Also, it would get pretty confusing, what, with all of the layers there just for editing purposes in addition to the ones which genuinely need to exist.

All of this leads to my idea: what if all of your actions created a list that you could see, and you could go back and edit details of those actions? Maybe you drew a box from (X, Y) to (X, Y) and it was color C, and the border was pattern P with width W. Then you came back and added some things over it. Later on you decide you want that box to be another color or start in a slightly different place.

Think of it as creating a program which yields an image, but instead of typing in commands, you get them "for free" as you use ordinary drawing tools.

I asked around about this, and apparently Photoshop has a history log. However, it doesn't seem to let you go back and twiddle things later. It seems to be just a log, and not a dynamic recipe where you could make changes and see them happen immediately. I could be wrong here, since Photoshop is not something I actually use. Write in and tell me if so.

Photoshop also seems to have a "history brush" where you can pull in details from some earlier version of something, but that isn't what I'm talking about, either. I don't want to use the past as a source for scribbling over the present. I want to see my drawing as a series of commands and have the freedom to play around with them until I'm happy.

Vector drawing programs probably are the closest to this. I'm not sure you can convince any of them to let you edit steps and see it change right in front of you, though. I stumbled across a page for AutoCAD which says it'll show you a command log, but it's not interactive. It's just an append-only log dump.

The problem with vector drawing stuff is that they never seem to work in that fluid finger painting way that something like Brushes does. They all seem to be very cold and analytical, and while that kind of drawing has its place, there's a place for goopy analog stuff, too.