Programming Sketchbooks

I’m looking through Scott Pilgrim creator Bryan Lee O’Mally’s tumblr and a lot of what he posts are pictures from his sketchbook. I wish, as a programmer, I could have a sketchbook. I can sorta do it. A paper book lets me write my thoughts down, and I can doodle in it too (if I was any good at doodling!). Or I could blog it and let other people read / see it.

But I can’t really sketch out programs in this way. I can’t keep a running diary of code I write. The closest thing I can do is keep a running sketchblog with pictures (or videos) of what I’m working on. I can’t actively share the stuff (at least not in a website format). I guess I could theoretically make an app, but then all my stuff has to become appy (and if it’s an iOS app, then it has to be touch-related). Programs are so tricky, because not only do they have to execute (and usually can only execute in one place / platform), they also often involve affordances (that is, they often have to be used, which implies ways to interface with the program — touch? mouse? keyboard? stylus?). How can that be encompassed in a sketchbook?

~ ~ ~

Semi-related, while reading his tumblr, I’m saving a bunch of the images I see and like. Part of me wants to print those all out, I want to be surrounded by them, and I want to draw, too. But usually I also want to share the stuff I’m currently into. That’s probably because I’ve been wrecked by social networks for so long. I feel kind of conditioned to want to share all this stuff.

What I really want is twofold: 1. I want to make great things and tell people about them and 2. I want to see what my friends are up to (what rad shit are they working on?). Through these, I’ll learn new things and meet new people, too.

~ ~ ~

Mainly, I love the idea of these sketchbooks, but so much of programming is invisible. I don’t really care to show or see code, I want to share and see sketches of programs. Those don’t really exist today. Programming hasn’t yet entered an era where we can sketch (which doesn’t necessarily mean “programming with a stylus” (though it could) so much as it means “rapidly creating rough versions of program ideas”).

What would a programming sketchbook look like?

Join the Discussion 👂🤔✍️

With web dev you can make sketches with stuff like codepen! Perks of front-end, it is very visual and portable (: 
I've also seen people use their github as a sort of code blog.
I'm a fan of sharing! A major draw to university or certain jobs is that they are environments where you're surrounded by creative drive and inspiration. A sharing virtual community kind of fills the same niche (at least for me, a university and job dropout :D )

Christian Tietze
A friend of mine is thinking about coding in diagrams. Like what Quartz Composer looks like, I guess. These would be sketches of algorithms. Programs, though, like finished art/comic book pages are best conveyed as pictures/GIFs of programs.
Jason Brennan

Yeah, that’s one huge advantage of web dev is that it essentially works everywhere (plus, it seems like it’s the best story for backwards compatibility... I’d expect to be able to run any of today’s front end stuff in a browser 20 years from now, but I don’t expect any of my other code to still run then).

I have at various times dabbled with a “work tumblr,” a blog where I post about what I’m working on, links to cool stuff I find, and videos / gifs of what I’m working on. I haven’t loved it, but that could just be because I find tumblr a pain in the butt (it often chokes on gifs!). Maybe I’m just being fussy!
Jason Brennan

I’d love to hear more about this “coding in diagrams” thing! Your friend wouldn’t happen to be Alex Warth would he?

The challenging thing about “sketching a program” is that our programs often don’t break down to well. As you say, algorithms do, but less so beyond that. It doesn’t help that lots of programs just aren’t very visual, nor are many individual code snippets. A comic panel is at the very least its own complete mini piece of art. Not so much for a view controller!

One big difference, beyond what we see visually, is the fact that the code of a program is the work that goes into it, but the execution of a program is a different beast. You don’t really get that division with a drawing. An incomplete drawing is still a drawing! 
Christian Tietze
No, it's not Alex, but I'll keep you posted if his past-time research bears fruit :)

So there are a lot of gaps in our work. Code VS runtime data flow VS user interfaces. And nothing of this captures what we're doing and learning. When you subscribe to budding artist's blogs, you see how they get better week after week. But with code, not so much.

Same for authors of fiction. Publishing short stories on your blog can show how you become a better writer of story archs. Publishing poems can show your imaginative force and how you master the language. But if all you want to be is a novelist, there's nothing like a sketchbook for novel writing. There can only ever be indicators of your progress that are not the stuff you produce themselves. Illustrators can show how well (and quickly) they can render a facial expression, for example. A novelist cannot only show how she mastered character development. The problem of us coders is quite similar.

Please read the Discussion Guidelines before replying.

☑️ Email me when someone replies.

Speed of Light