56
Ian Swinson Lead User Interface Designer [email protected] Postcard Patterns An Agile UI Pattern Creation Process

IxDA09 - Postcard Patterns

Embed Size (px)

DESCRIPTION

Using Agile methodologies to create a user interface pattern library. Presented at IxDA09 in Vancouver, British Columbia.

Citation preview

Page 1: IxDA09 - Postcard Patterns

Ian SwinsonLead User Interface Designer

[email protected]

Postcard PatternsAn Agile UI Pattern Creation Process

Page 2: IxDA09 - Postcard Patterns

Safe Harbor Statement

“Safe harbor” statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain forward-looking statements including but not limited to statements concerning the potential market for our existing service offerings and future offerings. All of our forward looking statements involve risks, uncertainties and assumptions. If any such risks or uncertainties materialize or if any of the assumptions proves incorrect, our results could differ materially from the results expressed or implied by the forward-looking statements we make.

The risks and uncertainties referred to above include - but are not limited to - risks associated with possible fluctuations in our operating results and cash flows, rate of growth and anticipated revenue run rate, errors, interruptions or delays in our service or our Web hosting, our new business model, our history of operating losses, the possibility that we will not remain profitable, breach of our security measures, the emerging market in which we operate, our relatively limited operating history, our ability to hire, retain and motivate our employees and manage our growth, competition, our ability to continue to release and gain customer acceptance of new and improved versions of our service, customer and partner acceptance of the AppExchange, successful customer deployment and utilization of our services, unanticipated changes in our effective tax rate, fluctuations in the number of shares outstanding, the price of such shares, foreign currency exchange rates and interest rates.

Further information on these and other factors that could affect our financial results is included in the reports on Forms 10-K, 10-Q and 8-K and in other filings we make with the Securities and Exchange Commission from time to time. These documents are available on the SEC Filings section of the Investor Information section of our website at www.salesforce.com/investor. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements, except as required by law.

Page 3: IxDA09 - Postcard Patterns

Agenda

1.Salesforce.com – A Brief History

2.Patternforce 1.0 – A Cautionary Tale

3.Patternforce 2.0 – A New Beginning

• May the force be with us!

4.Patternforce 3.0 – The Future

5.Q & A

Page 4: IxDA09 - Postcard Patterns

Our Applications & Platform

Page 5: IxDA09 - Postcard Patterns

51,800+Customers

Page 6: IxDA09 - Postcard Patterns

1,200,000+Subscribers

Page 7: IxDA09 - Postcard Patterns

200 MillionTransactions Each Day

Page 8: IxDA09 - Postcard Patterns

UE in 2004

Page 9: IxDA09 - Postcard Patterns

UE in 2004

Me

Page 10: IxDA09 - Postcard Patterns

UE in 2009

Almost here…

Page 11: IxDA09 - Postcard Patterns

R&D in 2009

Page 12: IxDA09 - Postcard Patterns

“Houston, we have a problem…”

Quality Assurance

DocumentationUser Experience

ProductManagement

Development

Customers & Partners

Friends, Family & Ex’s

Page 13: IxDA09 - Postcard Patterns

We need to retain consistency We already have multiple versions Can we choose one and move on? Comments added to the “bad” code

New employees need to get up to speed quickly We need insight into other teams’ solutions A consistent, universally available location We don’t have designers for every feature

Developers, Designers and PM’s are always asking questions We need to minimize distractions for the Designers

Consistency

Efficiency

We Need a Pattern Library?

Page 14: IxDA09 - Postcard Patterns

So, how do you build a Pattern Library?

Apple Tidwell Yahoo! Welie Oracle

Page 15: IxDA09 - Postcard Patterns

Structure of a Single Pattern

This can get complicated

Page 16: IxDA09 - Postcard Patterns

Structure of a Single Pattern

This can get complicated

Page 17: IxDA09 - Postcard Patterns

Scale of a Single Pattern

How to make a Printable View…

Page 18: IxDA09 - Postcard Patterns

Scale of a Single Pattern

How to make a Printable View…

This bit

Page 19: IxDA09 - Postcard Patterns

Our valiant attempt…

Page 20: IxDA09 - Postcard Patterns

We worked

Page 21: IxDA09 - Postcard Patterns

We slept

Page 22: IxDA09 - Postcard Patterns

We worked some more

Page 23: IxDA09 - Postcard Patterns

We carefully rehydrated

Page 24: IxDA09 - Postcard Patterns

We worked some more

Page 25: IxDA09 - Postcard Patterns

We ate, we traveled, we had babies

Page 26: IxDA09 - Postcard Patterns

And after a little more work we asked…

Page 27: IxDA09 - Postcard Patterns

How did we do?

Page 28: IxDA09 - Postcard Patterns

Oh, that’s not good

2* patterns in6 months

<5 percent

*Note: They weren’t even done

Page 29: IxDA09 - Postcard Patterns

Clearly, this is not going to work

Page 30: IxDA09 - Postcard Patterns

What did we do wrong?

1. External Research Only – We looked at examples but didn’t validate them internally

2. Detail & Scale – We went way too deep, way too early

3. Scope Creep – “Oooh, and wouldn’t it be cool?!”

4. Incomplete Taxonomy – We didn’t have a complete

idea of what we needed to document

5. No Prioritization – Printable View? The number one

pattern in our app? Um, no.

6. Deaf Ears – We didn’t listen to our designers

Page 31: IxDA09 - Postcard Patterns

Back to work…but with agility

Page 32: IxDA09 - Postcard Patterns

The Agile Manifesto

Individuals and interactions

Working software

Customer collaboration

Responding to change

over

over

over

over

processes and tools

comprehensive documentation

contract negotiation

following a plan

* Excerpted from “Subject to Change” by Adaptive Path

Page 33: IxDA09 - Postcard Patterns

Agile Pattern Creation

Individuals and interactions

Working software

Customer collaboration

Responding to change

We need to talk to each other, the developers, PM’s, etc.

We need to work together (Pattern Blitzes)

Page 34: IxDA09 - Postcard Patterns

Agile Pattern Creation

Start small

Go wide, get coverage across all patterns

Add detail when necessary

Page 35: IxDA09 - Postcard Patterns

Agile Pattern Creation

Check progress regularly

Share with our intended audience and make changes

Listen to suggestions

Page 36: IxDA09 - Postcard Patterns

Agile Pattern Creation

Create something nimble – easy to create and easy to update

Software changes all the time

Designs change all the time

Page 37: IxDA09 - Postcard Patterns

The High-Level Taxonomy

FlowsFlows

PagesPages

Page ModulesPage Modules

Pop-ups & Overlays

Pop-ups & Overlays

Messages & Dialogs

Messages & Dialogs

Widgets & Controls

Widgets & Controls

Page 38: IxDA09 - Postcard Patterns

Patternforce Taxonomy

We ended up with a large,but relatively flat, list.

Page 39: IxDA09 - Postcard Patterns

Enter “Postcard Patterns”

Dear Mom & Dad,Having a great time.Miss you both.Met a girl, getting married.

Love, John

The Smiths1 Main StreetSpringfield, ID64006

Page 40: IxDA09 - Postcard Patterns

What Makes a Good Postcard Pattern?

Use the “Goldilocks” Principle

If the pattern doesn’t fit on a single page, consider breaking it apart or reducing the amount of detail

You can always add detail later

If the pattern doesn’t fill a single page, consider grouping it with other similar elements – e.g. common web form elements

You can always break it apart later

Rule #1: Must fit on a single 8.5” x 11” page

Page 41: IxDA09 - Postcard Patterns

Pattern - Anatomy of A Pattern

Title

Summary

Category

Author &ModificationDate

Variations(optional)

Candidacy:Redesign?Componentize?

GraphicsScreenshotsIllustrations

Page 42: IxDA09 - Postcard Patterns
Page 43: IxDA09 - Postcard Patterns
Page 44: IxDA09 - Postcard Patterns
Page 45: IxDA09 - Postcard Patterns
Page 46: IxDA09 - Postcard Patterns
Page 47: IxDA09 - Postcard Patterns
Page 48: IxDA09 - Postcard Patterns

Enter “Blitzes”

Intense, face-to-face collaboration

Page 49: IxDA09 - Postcard Patterns

The Web Site

Page 50: IxDA09 - Postcard Patterns

How did we do this time?

Page 51: IxDA09 - Postcard Patterns

Hey, that’s more like it!

Before

After2

43

6

3

<5

95

# Mo %

Page 52: IxDA09 - Postcard Patterns

What did we do right?

1. Research First – Talk to your audience, show them examples

2. Complete Taxonomy – Sure, it’ll grow but we knew the scale

3. Time-Box – Blitzes & weekly deadlines

4. Validation – Weekly meetings to review progress and

sign-of

5. Centrally Located – Everyone loved a single starting

point

6. Ownership – You’re the author. Have a question,

contact the author

Page 53: IxDA09 - Postcard Patterns

Patternforce 3.0 – Ongoing Challenges

Flexibility for customers

Taxonomy – multi-faceted, multi-layered & tagged

Integrate visual design & code specs & examples

Convert from PDF to Google Docs

Show screenshots of Patternforce

Internal marketing – emails, updates, detail

Component model

Page 54: IxDA09 - Postcard Patterns

Q & A

Page 55: IxDA09 - Postcard Patterns

Links

Pattern Libraries

Apple

Yahoo!

Oracle

Jenifer Tidwell

Martijn Welie

Tools FreeMind

Google Spreadsheets

Omnigraffle (OSX)

O’Reilly: Designing Interfaces

Browser Look and Feel Guidelines

Apple Human Interface Guidelines

Welie.com

Yahoo! Design Pattern Library

freemind/sourceforge.net

Google Docs

The Omni Group - OmniGraffle

Page 56: IxDA09 - Postcard Patterns

Links

Resources The GUI Bloopers series

Johnson, Jeff

10 Commandments of DesignRams, Dieter

Eight Golden Rules of Interface DesignShneiderman, Ben

The 10 Commandments of Information DesignBuchholz, Garth A.

Eight Golden Rules (link)

10 Commandments of Design (link)

http://www.gui-bloopers.com/

10 Commandments of Info Design (link)