Services Approach Clients Resources About Us Contact

UI Pattern Libraries – Go Get ‘Em

So, you’re lead engineer on the front end web team and you’ve just been handed your UI specs hot off the press.  They look great, the product management and design team are throwing high-fives…  but you’re worried about how to implement all of their fancy ideas; drag and drop, sortable tables, in-line editing, etc.  Moreover, how do you know when it’s appropriate to use them?  What are the rules?  When do you use an accordion over a tabbed UI and why?

Thankfully there are a bunch of UI Pattern libraries out there on the web.  Some are heavily information design focused others have user generated content and some that are more developer centric. In this post I’ll share some example sites, discuss their significance, benefits and short comings, then I’ll shamelessly plug the need for working with an experienced professional to help you navigate through UI Patterns… aka Limina.

The O’Reilly Guys

http://designinginterfaces.com/ (formerly http://time-tripper.com/uipatterns - soon to no-longer exist, or the 3yr old claim states).  Now, this is a great source of information if you’re looking to understand when, how and why to use various UI patterns.  Their web UI counterpart: http://designingwebinterfaces.com/explore.

Benefit: Both sites provide visual examples (not live demos) along with comprehensive writeups on each pattern.  If ever faced with making the decision between checkboxes vs. multi-slection lists or radio buttons and single selection lists.  This is your destination for truth.

Falling Short:  The site is static, no comments from the community, examples are slowly becoming out dated.  Most importantly, there is a lost opportunity to link out to live demos, and sample code to help the wayward front end developer to get their feet wet.

The New Guys

Okay, maybe Infragistics has been around for a while, but they just recently released Quince, while this site is yet to support user commentary, it does have a number of bells and whistles that give the O’reilly folks  a run for their money.  (Here is one other  dynamic / community oriented repository that I won’t expand on, but feel is worth mentioning -  http://ui-patterns.com/)

I have a personal problem with the over-use of  Silverlight which mearly adds “Pizzaz, for the sake of Pizzaz”.  The features, functions, organization and structure alone are what make this a great site, I can do without the crazy coverflow and overlays which is really tiresome after the first 5 minutes.  It’s a good example of “Just because you can, doesn’t mean you should.

Benefits: This repository is dynamically fed by a community of UI experts and patrons of the topic.  It provides a rating system which tracks implementations and approval of the patterns.  Community members can submit further examples and write ups of patterns.  Comprehensive write ups on the patters addressing; The Problem, Solution, Context, Rationale, Implementation, Resources and Tags.  They’ve integrated distribution and syndication tools to post or subscribe to content on their site.  They’ve categorized the repository by User Tasks, Tags and Wireframes and added some niceties like; Recently Viewed , and Simple Search and Filters.  Their broad and  deep repository is rich with examples and is growing daily.  Subscribing to the site makes it easier to keep up with the changes.

Previously overlooked by the Limina team: User Comments – currently below the fold on the Pattern Viewer. This will be addressed in their next major release.

Falling Short: While Quince took one step further to link out to live examples, they still don’t provide technical details or code samples for back and front end support for the patterns.  This may have to do with Infragistic’s presentation layer product and the need to conceal their secret sauce.  Correction: This is out of scope for Quince’s technology-agnostic and UX-centric UI pattern guidance. This is why the next category is so much more intriguing…

The Developers – JQuery

Who, in all User Experience Cocky-dom, would have thought that it would take a couple of smart developers to start pulling it all together?  Over that past 10 years a slow movement of front end javascript, css and html developers to iteratively produce, share and modify non-standardized functions, effects, controls and more on various repositories like DynamicDrive and JavaScript.com.  While these repositories had the beginnings of some good ideas, it lacked a stable framework for extensibility, consistency, and clean standards that would make for a manageable UI.

Not too long ago, frameworks like Script.aculous. Protoype, MooTools and JQuery unleashed their powerful js libraries.   For the most part, pitting these libraries against one another will demonstrate a mish-mash of pros and cons that more or less put them on a level playing field.  I singled out JQuery due to the earnest effort that have made to compile their components, modules, widgets, effects and interactions into a UI pattern repository, built on top of the JQuery Javascript library to create highly interactive interfaces.

Benefits:  One of the best parts about the JQueryUI library is that they not only provide working demo’s, but that their demos are hooked up to demonstrate subtle modifications that impact their use.  They provide code samples and technical overview and configuration options.  In all of their examples, they have taken into consideration; user feedback, interaction affordances, and high-level CHI principals, which makes huge strides towards closing the gap between standard usability heuristics and front-end development.

Falling Short: Granted, this is just their first pass at compiling their patterns and not to discount JQuery UI achievements, but they have just begin to scratch the surface.  Their repository will be greatly improved by rolling up components and widgets into mature UI patterns that take context into consideration.  Both Oreilly and Quince got this part right.

You have your homework cut out for you.  We recommend you study up on your pattern libraries, usage rules and stable code repositories.   Keep in mind, no combination of, or independant,  UI Pattern repositories are sufficient to replace a good user expereince research and design team.  Even the most rich interactions and highly functional UI’s will fall short in the face of un-met or miscalculated requirements.  We’ll be here for you when you need us.

-Jon

Tags: , , , ,

5 Responses to “UI Pattern Libraries – Go Get ‘Em”

  1. Jon Says:

    Just learned about Pattern Tap http://patterntap.com/ a more user friendly alternative to Quince.

  2. ambrose little Says:

    Hi Jon,

    Just ran across this today; sorry for dredging up an old post, but just wanted to correct a couple things and update you.

    First, you say Quince doesn’t support user commentary, but it does. It’s understandable that you might miss this because it is below the fold on the pattern viewer–something we were concerned about and are addressing in our next major update.

    Second, we are not trying to conceal any secret sauce. Good grief.. you are entirely too jaded.. No, writing good, widely-reusable controls is very complex and well outside of the scope of Quince’s guidance which was primarily UX-centric and technology-agnostic. However, we did receive a fair bit of feedback asking us to tell folks how to implement patterns using Infragistics stuff, so we have gone through and added a section to such patterns as we can directly help with.

    We do also link gratuitously to examples and sites like the Yahoo! library, which also offers implementations of some patterns based on their frameworks. All of this is meant to empower people to create solutions that foster good experiences no matter what tech they are using, without presuming, for example, that folks are only building on the Web and could, ergo, use JQuery.

    Finally, I’m surprised you suggest Pattern Tap is an alternative to Quince. It is certainly complementary in the sense of offering other examples, but it is just a collection of examples and doesn’t bother helping folks to understand the when, why, or how beyond what you can infer from examples. Considering you criticized Quince for not going far enough in telling folks how to implement, such a comparison seems a little inequitable. But of course, everyone is entitled to his or her opinion…

  3. Jon Says:

    Ambrose,

    Thank you for the update, we’ve updated the post as per your notes.

    Re: Patterntap – Having missed your user commentary, I added them as an alternative, not as a “better” library than Quince.

    In all fairness, you have a lengthy “Benefits” section in which I applaud your efforts to democratize, organize and distribute your content – I believe you are the library to beat in this regard. We’re huge fans of Quince as a resource, but this article is geared towards UI engineers looking for UX love.

    Obviously Jquery is but one example of how to bridge pattern libraries to stable frameworks. If you follow the thrust of the article, this is a primer where we use examples to make a case. Thank you for providing benchmarks necessary to make our case.

    Cheers,

    -Jon Fukuda

  4. ambrose little Says:

    Hi Jon,

    Thanks for updating and replying. And by the way, for engineers needing more direct guidance, stay tuned. You may like what is coming down the pipe. ;)

  5. Annonymous Says:

    My English not so good but thank for lovely site with information I looking for and need also.

Leave a Comment