As we go hurling down the road of RIA innovation it's nice to have some guidelines and tools to help us create better user experiences. I think user interface design patterns should be in everyone's toolbox. They help us come up with new ideas for our UIs, it helps us communicate inside and outside of our team and finally it helps us to avoid common pitfalls.
For more background on what a design pattern is and what it should contain I'd recommend checking out Jared Spool's article on "The Elements of a Design Pattern". There's a fairly extensive list of elements listed for a pattern, which not all libraries contain, they include:
- - Pattern Name
- - Description
- - Context of Use
- - Where to Use it
- - How it Works (with visual aid)
- - Specifications
- - Related Patterns
- - Competitive Approaches
- - Source Code (quite rare)
- - Usability Research
- - Discussion
Yahoo! Design Pattern Library is a great resource for current trends in web development. I really the fact that have mini screencasts of all the patterns to augment the static screenshots.
Designing Interfaces is a website and accompanying book by Jenifer Tidwell. It has number of web and desktop software UI patterns with great write ups and explanations. Unfortunately not all the patterns from the book are on the site. You can see the book over on Google Books too.
Welie Patterns in Interaction Design is a great collection of patterns grouped based on user needs, application needs and context of design. I also really like that Welie encourages you to suggest a pattern. The more the merrier:)
UI Patterns is kind of the new kid on the block but has a very nicely laid out pattern of web UI patterns.
Ajax Patterns is another website and book combination by Michael Mahemoff. This library is not only focused on visual patterns like the others but also covers some pretty in-depth Ajax programming topics. Nice thing about this site is that it's a wiki so everyone can add to it.
It seems like most of them haven't yet documented a lot of the richer interactions possible with RIAs, but these things take time. Join the party and start documenting patterns.