As a developer, designing is a big challenge. My process is a lot different than “normal designers”. I design much like I code: trial and error.
When I’m programming, it’s constantly running the tests to see what failed, trying a fix, and then repeating. It’s finding a bug, trying a fix, and repeating. You get the idea. That’s how I work. It’s constantly iterating on ideas to see if they work.
When I was first starting out, I’d find myself reading entire source files to try to understand everything that was happening and only running the code very rarely. It’s no surprise that were lots of bugs in my code. Letting the computer do the work for you is the whole point, so it’s a good idea to let the computer help you out.
So, here is a look at how I design.
Sometimes I start by sketching on paper or on an iPad. I only do this if I have no idea what I’m trying to do. If I can’t picture what I’m trying to make in my head, I sketch. There’s something about sketching that really helps me visualize the end result. Scribbling down idea after idea is where most of the actual “designing” takes place for me.
Again, it’s an iterative process.
So once I have a rough idea of the structure and layout, I jump into code. I don’t use Interface Builder at all (on iOS anyway—Mac is a different story). I haven’t used Interface Builder since my very first application (unless it was removing other people’s NIBs). We’ll save the why for another article.
On iOS, it’s so easy to just get something you can use. Just throw together some UINavigationControllers, etc. A lot of developers confuse “design” with “visual design.” They think it’s only pretty pixels. The flow is the most important part. If your app is super pretty but no one can use it, it’s pretty useless.
I like to just get something I can use on my phone with all system controls. If things feel good, then I move onto designing at the pixel level. Most of the time, my first take is terrible and I go back to sketching. Again, I look to iterate.
For pixels, I work the same way. Once I have the layout, it dictates what needs some extra love. If I can’t picture what I’m doing, I’ll open Photoshop and mess around until I see something I like. A lot of the time, I don’t save my PSDs. They are just pixel sketches. Once I know what I’m doing, I start implementing in code.
I often try to implement as much as I can in code instead of using images, but sometimes it’s a lot easier to just use an image asset. I have an “asset farm” PSD with all of the assets I need. I keep this one around for when I inevitably need to change something.
So there’s no secret to getting into design. Just do it. Go get a piece of paper and start scribbling down your ideas. If you want to get better as a designer, go browse Dribbble or the App Store for inspiration. All you need is inspiration, iteration and to start.