A few thoughts about user interface design
There is something very strange about design. People commonly think that it’s a task reserved to a kind of persons mastering graphical art. It’s like you cannot be a designer if you’re not good at drawing. This is a common misconception. There are different kind of designers, and even software developers have their design process. The common ground between those different categories is the role of finding the best way to serve a purpose while respecting some constraints. You have to be creative to deal with the constraints while keeping the purpose.
As engineer or software developer, it’s a process that we do everyday. It could be at a high scale when designing an infrastructure or a whole application or at a very microscopic scale when designing a simple programming function. We’re trying to address different constraint such as performance, readability, maintenance, reliability, and producing an implementation that really answers the purpose.
But when it’s time to design an user interface (UI), it seems that it’s a forbidden land for the developers, at least that some still think. It’s probably because it involves, while realizing it, different graphical components that they cannot produce. A design of UI is more than the sum of its graphical components. It’s about allowing the user to use the application functions (without doing complex operations needing a PhD). It’s more about understanding how the user will interact with the application, what is his perception, what does he expect to find, etc. It’s not about drawing shiny and pretty buttons, even if that could participate to the whole. If you’re a beginner in design, you’ll probably not find a lot of good resources that will help you to do it. Rather, you’ll find a lot of advanced and complicated contents discussing principles that are sometimes far too much elaborated to be understood (or useful!) at your level. This really miss to all people that would like to step forward in that domain and want to learn. This is no more the case.
In his book, Bootstrapping Design, Jarrod Drysdale will allow you to design your own UI by following a clear and simple process. He debunks a lot of myths about design and introduces enough the fundamental principles such as proximity or color. The book is split in three main parts: Mentality, Principles, and Practice. The first part explains to whom the book is addressed and that it exists a design process good enough for beginners.
We are starting businesses not pandering for design awards.
The second part introduces the most important fundamentals necessary to accomplish design.
My intent is to emphasize design basics rather than to reduce the whole of design to a bag of tricks.
The last and third part describes a process, a methodology to design the UI of your application. In the end, as developing software, designing an UI is all about practice and iteratively improving the results.
Anyone can be a great designer with practice. It’s both at once liberating and frightening: your future as a designer depends only on how hard you’re willing to work
I don’t want to be a professional of design right now, but I want to do design. In my honest opinion, this is a very good book on the topic for people like me that want to design their own UI, to understand what they do, and to have a process to start. The book illustrates most of the concepts with clear and simple examples. It presents only a simple, practical, and affordable way to do design. Even if you won’t design, I think it’s a good book to get the necessary elements to interact with a designer, especially the terminology. Finally, if you want to go farther, Jarod provides at the end of each chapter enough good references to do the next step.
Beyond its goodness, I miss a real concrete exercise, that allows me to learn by doing in a kind of pair designing, as the books in the Pragmatic Programmers edition usually provide. It’s true that you can follow the last chapter in order to do your own project, but there is definitely a plus when you can compare your output with someone that knows better than you.
I’ll finish with the following quote:
No magic knowledge hidden away in design books, blogs, or classes will teach you to be a great designer. All you have to do is practice. Learning design is that simple
And you what have thought about the book? Have you others books, blogs to advice in the same vein?
We are developing an Automated code reviews for Ruby developers using Github, discover how you can become a better Ruby developer.