Usability: A Developer’s Perspective, Part 1
Category: Developer's Corner
Hi everyone, my name is Jeff Parker and I developed the backend for the Aplus.net website. I thought I would share some thoughts and experiences as this may help those of you working to develop your own online presence.
Our goal was to develop a standards-compliant XHTML/CSS site that incorporates as many best practices as possible. This included testing compatibility with various browsers, implementing unobtrusive javascript (when possible) and ensuring we have friendly, descriptive URL’s. Like many of you, we had a very tight time schedule and wanted to deploy the most effective site we could in this timeframe.
Our work began by first building an affinity diagram of our old site to see exactly where we were at. We did this with two goals in mind:
- Find how many clicks it takes to get to content
- Discover extraneous pages
After this step was complete, we had an idea of the ways in which we could improve and a well-defined roadmap to where we would like to go. One thing became very clear during this process that I’d like to highlight: usability is vital to any site and this is where most of the effort should be focused.
This may beg the question: what exactly is usability anyway? It’s not just a trendy web 2.0 buzzword that gets thrown around with reckless abandon—usability can make or break your online-based business.
See, perhaps in the early days of the WWW, customers might have had the patience to sit through animated flash click-through banners, but those days are long gone. Occasionally in the development of a business-oriented site, you will have to make decisions that boil down to a question of form vs. function. Yes, those animated cursors, falling javascript snowflakes, and midi files that autostart may *seem* to make your site more lively and welcoming but they take up precious bandwidth, may cause unwanted browser issues, and may cause a significant amount of abandonment based solely on initial impressions.
In essence, usability is about considering your customers. Your goal should be customer-oriented design at all times: consider their goals and make it your top priority to help them achieve them as quickly and as logically as possible. Some people may think that the end result of this approach is a one-page monster site where all information is crammed into starbursts or bullet points sprinkled liberally throughout. This is absolutely not true! Great design begets a great customer experience—just make your clicks actually worth something and if a visual element doesn’t absolutely need to be there, get rid of it.
But anyway, you may wonder where I’m going with all this. After all, usability is mostly a frontend type of thing and a heads-down coder like myself doesn’t need to worry about it, right? Wrong.
On my end, I kept usability in mind when coding the internals. For example, I kept my code simple and self-documenting. For example, each of our menu items is a simple one line ternary operator - this maximizes readability for non-developers and minimizes the amount of code. If you’re a developer working with designers, you may know that if your code LOOKS simple, they will be more willing to try and get in there and make updates and fixes. This is good for all involved as it helps the whole team improve their knowledge of how it works. Heck, maybe they’ll even graduate to becoming developers themselves some glorious day
Beyond this, though, I made sure our URL’s are logical and are a clear representation of the content displayed. I made accessible popups and put content that didn’t warrant their own pages into tooltips. I examined server logs to see where users were slipping away into 404-land and made adjustments to our .htaccess rules as appropriate. It’s easy to see that ensuring your site is usable is an ongoing thing. This is part of what makes web development so exciting; you are working on an ever-evolving project that must adjust to user trends and a fluctuating market.
I will continue this series about usability and developing e-commerce sites later. Next time, I will go into details about the template system we used, symfony. Do you have questions, feedback or comments? Did you like what I wrote (or hate it)? Feel free to sound off in the comments or email me personally: jeffreyp@aplus.net


well this is indeed an art in itself.