As I finished reading Aaron Irizarry‘s December 12, 2008 article Addicted to Mediocrity, I conducted my own inventory of the various pitfalls the author discusses contributing to mediocre work, and ultimately, devalued design.
Accepting too much work leads to shortcuts, which results in shoddy work, Irizarry writes. However, in some situations, those shortcuts actually provide an opportunity for designers and UI developers to streamline how they build what they’ve designed.
As numerous familiar phrases and cliches remind us, people are resourceful when backed up against a wall of deadlines, expectations, and promises. The rub, of course, is how to execute that resourcefulness.
Irizarry writes that some shortcuts may involve deceiving the client by delivering a pre-paid template under the guise the work is an original design, tailored to meet the client’s unique needs. He summarizes that the unscrupulous designer basically assumes the client will be none the wiser and can make a quick, easy buck at the expense of his own integrity (but only if he gets caught, of course).
So why cut corners? Irizarry writes it’s simply designers taking on too many projects, each complex enough to require individual professional attention (i.e. what the client believes he’s paying for). While the easy solution is to simply say “right on, I’ll accept fewer gigs”, a designer using the right shortcuts can still earn a decent profit working the same number of projects (within reason), but with a more efficient workflow.
Rather than try to sneak a pre-paid template by a client, a custom design with a foundation built on the Yahoo! Grids or Blueprint CSS framework can yield even more success since you’ll have the flexibility to extend the design based on evolving client needs. In addition, you can base almost all client work on these frameworks, so you’ll have a secure, understood foundation already built regardless of client or audience.
Trying to hack together a interaction based on proprietary, outdated code may seem like a cut-and-paste shortcut until that designer realizes the JavaScript used there doesn’t work elsewhere. Learning JQuery, Scriptaculous, or other JavaScript libraries (and I use “learn” quite liberally here) assure the transition effect on your “widgets” page will also provide form validation on your contact page, without endless hunt-and-peck Google searches, forum postings, and list-serv pleadings.
Identifying and implementing interaction design patterns is critical to efficient work. While undertaking numerous projects at once may reveal similar interactions, understanding the task itself reveals similarities regardless of audience, technology, platform, or client.
Understanding that a shopping cart check-out procedure or account-opening path isn’t unique is the first step to recognizing a pattern–the second step is to find other uses that make it a pattern.
Jennifer Tidwell’s text Designing Interfaces , Alan Cooper’s About Face 3: The Essentials of Interaction Design, and the upcoming Bill Scott and Theresa Neil text Designing Web Interfaces: Principles and Patterns for Rich Interactions all address user expectations to complete similar tasks across different web sites. Not sure if a link should be disabled if it’s content isn’t available? Look here first before spending time debating whether to use a class or an id to style it (since best practices indicate you either shouldn’t show it or provide an explanation why it’s disabled).
Many resources for design patterns are available as blog posts for even easier browsing, such as PatternTap.com, UI-patterns.com, UIpatternfactory.com, and more. These online resources outdo the printed texts by often providing live links to the patterns themselves, so designers can immediately see how these patterns are deployed.
There is no excuse for lazy development or design, particularly in an economy where each job and every check keeps you one more step away from disaster. By knowing how to put frameworks and fundamental patterns to work for you and your clients, you streamline your design and development process without added expense. You also don’t subjugate yourself to a workflow that is doomed to providing if not a mediocre product, then at least an inefficient, mediocre process.
