Pretty Software for All
If web developers were elected, that’s one of the platforms I would run on.
All other things being equal, we’re all pretty much hard-wired to prefer pretty: the people we’re with, the spaces we live and work in, the scenery around us.
What we have to stare at on our computers is no different.
Making software that is pleasing to look at is a good way to honor your users. It’s a way of saying “I know know you may be staring at this for a considerable amount of time, so I want you to enjoy it.” Apple has done this remarkably well: I’m been a Windows guy since my first computer, but I still have moments of being drawn to my gal’s mac… it’s just so… so shiny and looks so good.
Where Design Gets Neglected
In the realm of companies who need custom software built for strictly internal use, I’ve noticed a certain acceptability of ugly software. After all, it’s not like the the users of it need to be sold on the design. Once it’s built, that’s pretty much what they need to use to get their job done. Adoption is mandatory and there’s only one option.
So the desire or tendency for companies to skimp on design, or for developers to phone it in (favoring instead to focus on making it work), is understandable, if not outright pardonable.
But the web, as a medium for creating applications, changes things a bit.
Design for, say, Windows desktop applications (a longtime dominant platform for corporate custom applications) has been largely tethered to the native look and feel. When you build something to run on Windows, it’s presumably a path of least resistance. You know the look:
The web, on the other hand, is aesthetically powered by its delightfully simple and powerful CSS technology.
That’s good news, because if you’re building a project that will run in a web browser and your developer is CSS savvy, the cost of realizing any given look-and-feel throughout the system is drastically reduced. You can set up a developer with a PSD that reveals the aesthetics of the common widgets to be employed throughout the system (buttons, text inputs, tabbed regions, etc.), and he or she can remix and re-purpose those widgets to build the entire application to match. If it’s built right, it’s just a matter of swapping out one or more images and/or tweaking one or more CSS rules to achieve system-wide design changes, from minor tweaks to thorough overhauls.
Why This is a Win
It’s true, ugly software that doesn’t need to be peddled to a finicky public won’t suffer from fewer sales, nor will it reveal to a wider audience any embarrassingly bad sense of taste. The benefits of working daily on software that looks good are less tangible but still probably important: morale and productivity. “I love what I do” is a good way to cause a highly effective team, just look at Zappos. If you have a single program that must be worked on an hour or more a day by your team, better to have that program say “I want your experience to be pleasant” than “this is ugly and we know it and we don’t care.”
The web era makes pretty software design much easier to implement, so with that lessened barrier it’s become an even better investment. After all, the forces of aesthetic preferences are always at work in the consumer market for software. The same human element is present for people who must work with corporate software, it’s just that, given the lack of choice, the effect plays out in different ways.
This is Programmer for Hire, a series of essays and explorations on the art of being a great programmer doing on-demand custom software development.