Last night, I was lucky enough to see Bill Scott (of Yahoo Design Pattern Library, YUI, OpenRico, Netflix fame) present at my local Ruby user group. He shared his thoughts about the successful design patterns that have defined today’s web. As someone who enjoys brilliantly designed “things” including web apps and sites, I found his talk very interesting.
Most (actually, all) of his talk was devoted to the consumer web. My head is almost always focused on how to take the good stuff coming from the consumer web back into the enterprise web. Bill’s ideas made me realize how little we (as enterprise web app developers) pay attention to the minute details that go into producing web apps that customers love. Bill is currently the Director of UI Engineering at Netflix. If you’re a Netflix customerfan, you’ll know that Netflix.com is a superb site. Netflix’ business depends entirely on the success of its site. Very small incremental changes could drastically affect their business. All of the changes they make to the site go through rigorous testing with real users and are carefully measured.
With the enterprise products I’ve been a part of building, we’ve spent some time on usability tests. However, they’re usually done before the product is even passed over to development. They’re usually done during the visual design phase. Once the UX teams have finalized their product designs, they’re approved and passed over to the developers to start building. However, most of the time, the product doesn’t end up matching what was designed by UX.
This process wasn’t always this way. I remember back in the PeopleSoft client-server days, most products didn’t go through any usability tests. I suppose the reasoning is that back then, most of the “ERP” apps were focused on back-end users who were trained to use the software so usability wasn’t that big of an issue. Today’s focus is in building apps that anyone can use without training. Aside from testing usability, I don’t know if we focus enough on learnability. In order for software to be easy enough for anyone to use, it needs to provide enough queues for users to be able to learn how to use it. Bill provides a lot of examples in his presentation above of how to do this.
The problem with the the visual design process in the enterprise today (as I see it) is that it doesn’t follow good software development practices like agile. Once a visual design is finalized, it’s passed on and never really iterated for improvements. Some enterprise software development cycles could take over a year or two from concept to design to build to release. Over that time, new UI patterns could have emerged as well as totally new ways to solve the same problem that the software originally sought out to solve. This is the reason why agile methodologies exists.
What Bill described as his overall process for building good looking web sites that work can be reduced down to an agile process for visual design. It doesn’t make sense to design once then move on. The process needs to be iterative. Feedback from real users with real data need to be used as a way of testing ideas and measuring success rates iteratively. I’m no expert with UX, but this process makes a lot of sense to me.
Anyone out there in Oracle UX land care to comment? Are you guys already doing this? If so, how’s it working?
BTW, Bill’s got a book coming out on this topic… added to my wishlist.