The gents over at The Verge have an interview posted with Path co-founder Dustin Mierau. They cover a bunch of topics on software design and Dustin bubbles up a few pretty important points.
Designing good software is tricky. First, you must know that I believe “software design” is a collaboration between designers and engineers. There are an incredible number of layers to software: the visuals, the interactions, the performance, the operating system, guidelines, error handling, and so on. And with an application like Path you have a vast server layer too that includes networking, caching, scripts, databases, storage, operating systems, and more. This whole stack, everything in it, sits on top of a single vision that must be aligned to produce a great experience. Coordinating all of this well across many people is definitely one of the harder problems, if not the hardest.
I’ll +1 on the importance of coordination across disciplines. Possibly one of the most underrated but important aspects of working within a team on a large scale project. At the end of the day, you can define the best user experience but if the site or app doesn’t work well or fails dramatically, your work was a waste.
Utility. What are people using your app for? Use design and engineering to make the utility as simple and as pleasant as possible. An application without utility is like a story without a plot, it just wanders and never really does anything. And an application without design is like a good story printed on a dot matrix printer, you want to read it but, yeah, no thanks.
Over the weekend I was asked to describe the difference between user experience and UI. The above quote would have helped in the sense that you can have a UI and design that is beautiful, but if it isn’t simple and usable in a way that helps your user achieve an end result, it’s generally a waste.
Good quotes from a smart guy… do good work and don’t waste your efforts.