Fab Academy teaches us a thing or two about how to make almost anything. But how do you make something that’s not just useful, but feels as natural as another limb, a tool that not only extends, but enhances the encounter of body and mind, extends our human reach and vision. In other words, what makes a good tool? This is the question posed by Jan Borchers.
Usability, says Jan, is basically the art and science of designing stuff that works great for people. I would add that great people work to support.
Both art and science are key to understanding the user experience, just read Pirsig’s Zen and Art of Motorcycle Maintenance. It involves understanding the fundamentals of how we perceive, think about, and interact with the things around us. And that involves a whole range of deep shit from from cognitive psychology, gestalt, affordances, natural mappings, and of course design, how we perceive and project the world around us. Seems to me humankind is in the throws of radical redesign and we barely have a clue, but the question ultimately is: why do we use things, and what makes them usable? SO here are some golden rules (why need rules i may ask?) of user interface and design thinking.
Oh there is also a crucial question of storytelling, that is not only demonstrating a things utility, power and practicality, but how information is shared between us, ensuring a seamless engagement and interaction, a rare unity of purpose. A device must have a clear, unobtrusive and unambigious applicability. If you are spending over 5 seconds wondering what your device is doing it’s a poorly designed device. It may have utility, but it has lost all purpose. So unless it’s a golden ratio puzzle, it should never be limitingly complex to engage with, while still inspire you with awe, illusion and magic.
The basics should be clear, should we push buttons? toggle switches or throw it at the wall? What’s the best way to arrange the input controls on your project? And how can you quickly debug and improve your project idea with feedback from others?
Reduce the features of your project to its most essential goal. Minimal viable product. What are the bare essential that need to be in your project. But this is not just about reducing things down to redundancy, it depends on three factors:
Can users figure out what a device does? How intuitive is it to use? And how does it tell us what it is doing? Sometimes certain features like a screen are unbeatable, i mean they can combine haptic, visual and sound give instant feedback as to what a device is currently doing.
This is also plain ole buttons. Also a haptic response, buttons/toggles/sliders are physical interfaces that not only have a function but inform us where to interact. They are tactile.
Bret Victor has this great rant on the timid and unimaginative future-scapes of interaction design, and how basically we are being sold this idea that everything will resemble one large iphone screen. Again, this neglects so many human faculties, like our dexterity and the use of our hands.
Gestalt is a philosophy of mind that came out of the Berlin School of experimental psychology in the 1930s, in an attempt to understand how we acquire and maintain meaningful perceptions in an increasingly chaotic world. Essentially, it is the study of perception, and how our brains create whole forms out of collections of simpler and/or unrelated elements.
The gestalt law of proximity tells us that when things are grouped together they are perceived as being related.
The gestalt law of closure, when shapes are closed, completed, they are strongly believed to be a singular object.
The gestalt law of simplicity, things that are similar looking look like they belong together.
The gestalt law of experience. Whenever we see something completely new, our brains immediately translate this into something we are familiar with. This is why we don’t recognise aliens.
This is the idea that there is a relational mapping between a control system and the real world. Buttons that indicate up or down directions are more intuitive if they are placed above and below each other, rather than side by side.
Put labels on your device that people can read.
For anyone who is not a developer, a user interface is the complete system. People don’t care about the software behind the UI, they see the UI and that is the system.
If you have a system that has multiple modes depending what state it’s in (mood swings) when you do something (like press a button) it will do something different. Thermostats are good examples.
Keep you interface consistent. The principle of least surprise. If you ever need to make a decision in user design, you want to make a decision that surprises the user the least. Timeouts and automatic interruptions are a typical of inconsistent interface design.
Error dialogues are as ubiquitous today in any system, computer or otherwise, as they are annoying. This is often because they so rarely give us constructive instructions or advice as to what the error was and how to fix it.
Visual aesthetics people, simple if it looks like shit, smells like shit, and feels like shit, it’s probably shit. Go for a walk in the hills and get inspired by the sheer infinity of colours and shapes in our world, solicit help from the artists, look at colour templates, question simplicity over attraction and visa versa.
Design is an iterative process. While it can be tempting to jump into a project head first, ideas are not files to be executed, they are trees to be grown. The journey is not the destination it is the journey. Looping a constant feedback back into the design process essential as it makes the design constantly respond to adapting needs and desires. Design something in your head first, so sketch it out, draw it out. Next implement your design in the form of a prototype. Then get feedback from people, analyse how people use it and fix the big bugs in your design. With each iteration the design gets more and more detailed and complex but the analysis and the user feedback will also focus on smaller and smaller problems.
Develop alternative ideas for the solution. Don’t just think of one implementation or solution for your problem.