NOTE: This blog has been moved to

Wednesday, July 16, 2008

New Job Opportunities

Netflix - Sr. Web UI Engineer
I recently filled a position for Sr. Web UI Engineer that I blogged about before.

But hey, we are hiring again. The description is the basically the same as the last position. You can read all about it on the Netflix Jobs site or apply for the position on the LinkedIn posting.

And while we are on the subject of jobs let me mention a few other opportunities.

Netflix - Design Team Positions
Nancy Mott (design lead) has 4 openings on her team. Lots of new ideas brewing in the design team. Come be a part of this exciting team.
Slideshare Opportunity - Web Developer
And finally, my good friends Jonathan Boutelle & Rashmi Sinha have an immediate need at Slideshare (in SF). In the words of Jonathan:

As many of you know, SlideShare has been growing like crazy lately! We closed a funding round two months ago and have opened up a snazzy new office in the SOMA neighborhood of SF.

I'm looking for a great web developer to join our merry band: someone who's good at straight-up app development and is fairly handy on the back-end as well. We're a Ruby and Python shop, but language is no bar if an engineer has what it takes otherwise. This job is located in either our San Francisco office or our New Delhi office.

Let me know if you or somebody you know is interested. We're offering a referral award of $1500 if you refer somebody we hire for this position.
You can contact Jonathan at jon AT slideshare DOT net.

Anti-Pattern: Animation Gone Wild - just announced the new

I ambled over curious if there were any new Ajax style interactions. And what did I find? A classic example of the anti-pattern Animation Gone Wild. This is when you employ gratuitous animation that adds no value either in communication or engagement.

Here is a screencast of it in action.

Instead of popping up the book, music, dvd information quickly we are required to watch the talent of the developer to sloooowly animate the box into place. Come on folks, we can do better than this!

There is no need to see utility objects like this animate into place.

Here is the general rule. Try your feature without animation. Is the meaning clear? If so then don't add ANY animation. If it is not, try adding a quick animation. Did that get it? Then stop there.

Save animation for when you need it. Animation is good for at least seven reasons:
  • Maintain context while changing views. Carousels are a good example of this. The scroll animation helps the user maintain context as they move through information.
  • Explain what just happened. The Apple store Customize your Mac uses this to highlight price changes while configuring a Mac for purchase.
  • Show relationships between objects. The Mac Genie effect when closing or opening windows. It is fast enough and it ties the iconified window to the dock.
  • Focus attention. Backpackit's Spotlight technique focuses attention on the change that happened.
  • Improve perceived performance. Progress Bars.
  • Create an illusion of virtual space. Yahoo! Home page's personal assistant (Tabs animate open).
  • Engagement. Mini-Cooper site, configure your car. The animation is fun.
BTW, I go into detail on animation in my upcoming O'Reilly Book, Designing Web Interfaces.

Upcoming O'Reilly Book - Designing Web Interfaces: Principles and Patterns for Rich Interactions

Update: Designing Web Interfaces: Principles and Patterns for Rich Interactions is now available on Amazon for pre-order. Planned release is December/January timeframe.

Since about February Theresa Neil & I have been actively writing a new book for O'Reilly.

This is part of a group of books O'Reilly is publishing around Design. Designing Interfaces is an excellent book on Design Patterns by Jenifer Tidwell. Designing Gestural Interfaces will be coming out soon by Dan Saffer. Jenifer's book did an amazing job of cataloging desktop and web design patterns. Dan's book focuses on all of the new and upcoming interactions around gesture based interfaces.

Designing Web Interfaces: Principles and Patterns for Rich Interactions focuses strictly on a set of six principles for designing Web applications to be highly interactive.

The six principles are:
  1. Make it Direct
  2. Keep it Lightweight
  3. Stay on the Page
  4. Provide an Invitation
  5. Use Transitions
  6. Be Reactive
The principles are illustrated by a series of design patterns called out in various chapters shown here in a table of contents.

Principle One: Make it Direct
  • Chapter 1. In Page Editing
  • Chapter 2. Drag and Drop
  • Chapter 3. Direct Selection
Principle Two: Keep it Lightweight
  • Chapter 4. In-Context Tools
Principle Three: Stay on the Page
  • Chapter 5. Overlays
  • Chapter 6. Inlays
  • Chapter 7. Virtual Pages
  • Chapter 8. Workflow
Principle Four: Provide an Invitation
  • Chapter 9. Static Invitations
  • Chapter 10. Interactive Invitations
Principle Five: Use Transitions
  • Chapter 11. Transition Patterns
  • Chapter 12. Purpose of Transitions
Principle Six: React Immediately
  • Chapter 13. Lookup
  • Chapter 14. Status
Appendix: Design Patterns

I have finished the first draft of the book and am now working my way back through the book. Hopefully it will start technical reviews in a couple of weeks. No definite word on when the book will be on the bookshelf -- but I will update as we nail down that date.

I am also setting up a companion site, Currently this is just parked with a generic placeholder.