When I did MysticMatch, I took to drawing my screens before coding them. I was about halfway through developing it when I started doing that. I’ve done that since with all projects. They start as hand drawn sketches.
I start with the obvious: basically a list of components that need to be there, put in their obvious spots. Kapowski is before and after photos; so, on the screen, two photos, in portrait, side-by-side, before on the left. Duh, right? It’s obvious. I want to list the dates for each photo—do I? Dates? What about something like, “4 months ago”? Fine, inner monologue, some way to show when they’re taken. We won’t just be taking photos, though. We need to show a list of measurements taken at the same time… Hmm, I’ve got an idea.
These are the ideas that would flitter away in your brain if you became distracted, ideas that have to get out of your brain quickly. Think lines of dialogue, song lyrics, a witty phrase, a punchline. Little things that make a difference. Button text, component alignment, a way to get rid of a toolbar. Tactical changes that make using the app way better. Method names, class interactions, property names.
That’s why you need a notebook.
The reason: Hand drawn sketches are so cheap. Cheap with time and effort. Even if you can’t draw that well, you should do them. My screens are oblong, screen-like rectangles. The lines sometimes meet at the corners. But I can convey an idea so much faster.
There is no friction with a notebook and pen. No loading screens, no searching for app icons. No fumbling with software. Idea. Blank page. Draw or write. Done.
Don’t get hung up on your drawing skills. Like all skills, they will improve. Furthermore, no one will see these drawings anyway. Who cares if my before and after photos are stick men, with no differences between them? You call that an after!? No one will tell me that.
With all my notes about code or screens, my brain doesn’t have to hold on to them. I can refer back to them anytime, evaluate them when I’m not in a right-brained creative frenzy to see if there’s still value. There usually is.
Develop apps long enough, you will hone an instinct for what makes a good interaction or design or architecture. I’ve often taken that rough idea, refined and questioned it, developed something way more complex, refactored it down to a less complex version, all to arrive at that, barely remembered, first idea.
Such is the act of creating.
So, notebooks: highly recommended. Treat yourself with a good one. Moleskine comes to mind, of course; you can’t go wrong with them. Field Notes is another. It’s better to have one per project, than one for everything, I find. Keeps things organized. I prefer graph (square) paper to lined, but I can’t draw a straight line.