Designing Social Interfaces - IA Summit 09 Talk

42
Christian Crumlish, Yahoo! Erin Malone, Tangible ux Authors of the forthcoming book from O’Reilly Media Designing Social Interfaces Patterns, Principles and Best Practices for the Social Web

description

Designing Social Interfaces Principles, Patterns and Practices for the Social Web a talk given to the IA Summit 2009 in Memphis, Tennessee Material from our forthcoming book by Erin Malone and Christian Crumlish for O'Reilly Media

Transcript of Designing Social Interfaces - IA Summit 09 Talk

Page 1: Designing Social Interfaces - IA Summit 09 Talk

Christian Crumlish, Yahoo!

Erin Malone, Tangible ux

Authors of the forthcoming book from O’Reilly Media

Designing Social InterfacesPatterns, Principles and Best Practices for the Social Web

Page 2: Designing Social Interfaces - IA Summit 09 Talk

Designing Social InterfacesPatterns, Principles and Best Practices for the Social Web

Christian Crumlish, Yahoo!

Erin Malone, Tangible ux

Authors of the forthcoming book from O’Reilly Media

Page 3: Designing Social Interfaces - IA Summit 09 Talk

Social design patterns?

• Patterns as in Alexander

• Design Patterns as in Gang of Four & Tidwell

• Social Design as in eGroups, Flickr, Facebook, Twitter

• Also, some high-order principle and emerging practices

• Designing these interfaces is a holistic exercise that extends from the data architecture to the presentation layer.

Page 4: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 5: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 6: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 7: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 8: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 9: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 10: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 11: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 12: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 13: Designing Social Interfaces - IA Summit 09 Talk

Where did this taxonomy come from?

Page 14: Designing Social Interfaces - IA Summit 09 Talk

Social Pattern Language

• Emergent interaction patterns

• Components and pieces that are the building blocks

• Support the entire lifecycle of the social experience

• Building a vocabulary and language for social application design in the same spirit as Alexander

Page 15: Designing Social Interfaces - IA Summit 09 Talk

The Landscape

Page 16: Designing Social Interfaces - IA Summit 09 Talk

Contexts

Blogs

Photos

Interest

Groups

Influencers

Family &

Friends

Tags

Ratings &Reviews

Discovery

Media

Comments

Identity

& Engagement

Organizing

& Discovery

Relationships

Moderation

Reputation

Participation

Self

Search

Collaboration

Conversations

Social Media Ecosystem

Page 17: Designing Social Interfaces - IA Summit 09 Talk

Some typical

scenarios

Page 18: Designing Social Interfaces - IA Summit 09 Talk

Problem: Help! I’m a designer being asked to add “social” to my site!

What are the basics?

Page 19: Designing Social Interfaces - IA Summit 09 Talk

Problem: Help! I’m a designer being asked to add “social” to my site!

Possible Solution Patterns:

• Talk Like A Person

• Sign In / Sign Up

• Activity around objects: e.g. tags, ratings, reviews, share this

• Identity: e.g. contact cards, attribution

• Relationship: e.g. adding friends, circles of connections

What are the basics?

Page 20: Designing Social Interfaces - IA Summit 09 Talk

Talk Like a Person

• Use the language of contemporary speech, not that of text books, tax forms, or street signs

• Ask yourself if that’s really how you talk.

• Read any copy out loud and strike out anything that feels awkward to say.

• Despite what your English teacher may have told you, it’s OK to use contractions, to split infinitives, and even to start sentences with conjunctions. Just make sure it feels natural.

Page 21: Designing Social Interfaces - IA Summit 09 Talk

Sign InWhat

User wants to access their personalized

information or an application that is

stored on the host site.

Use When

• Use when personal data needs to be

stored or when there is customization

or personalization unique to the

particular user.

• Use when the site is a repository for

user generated content and the

submissions or files need to be

identified and/or managed by the

author.

• Use when there are security or privacy

concerns and the user's data needs to

be protected.

Forgot your password?

Username:

Password:

Sign In

Register Now!

Page 22: Designing Social Interfaces - IA Summit 09 Talk

Tag an ObjectWhat

A user wants to attach their own

keywords to an object for organization

and later retrieval.

Use When

• Use when a person is collecting a

large amount of unstructured data, like

photos.

• Use this pattern when a person wants

to manage a large collection of items,

like books.

• Use this pattern to blend user

generated labels and keywords with

structured metadata.

add a new tag

family

portrait

mom

dad

billy

jane

kids

2008

good times

Page 23: Designing Social Interfaces - IA Summit 09 Talk

RatingsWhat

A user wants to quickly leave their opinion on an object, with

minimal interruption to any other task flow they are involved in.

Use When

• A user wants to leave an opinion quickly.

• Use in combination with reviews for richer experience.

• Use to quickly tap into the existing "community" of a product.

• Ratings are collected together to present an average rating

of an object from the collective user set.

How

• Show clickable items (most often used are stars) that provide

rollover feedback to infer clickability.

• Initial state should be "empty" and show invitational text

above to invite the user to rate the object (e.g. Rate It!).

• As the mouse cursor moves over the icons, indicate the level

of rating (through a color change) and display a text

description of the rating at each point (e.g. Excellent).

• The saved rating should be indicated with a change in final

color of the items and a text indication that the rating is

saved.

• An aggregate or average rating should also be displayed.

• Users should be able to change their rating later if they

change their mind.

Why

Rating an object provides a lightweight model for

user engagement. Ratings are often tied with

reviews to encourage richer user contributions and

activity.

Good

Page 24: Designing Social Interfaces - IA Summit 09 Talk

Share ThisWhat

User wants to share an object with one

or more people.

How

• Enable people to spontaneously share

content or objects they find.

• Provide the minimal interface needed to

facilitate rapid sending or posting, such

as a ubiquitous Share This widget.

• Offer autocomplete selection from an

address book or set of contacts if

possible. Don't break email.

• Consider including a text field for adding

a personal note.

• Offer the user a checkbox option for

receiving a copy of the message.

Share

Enter an email address:

Share this item

or share with your favorite network:

Digg DeliciousFacebook StumbleUponTwitter MySpaceBebo FriendFeed

+ Share

select from your address book

Page 25: Designing Social Interfaces - IA Summit 09 Talk

Contact CardsWhat

A person needs more information about another person in

an online community without interrupting his or her

current task.

How

Open a small panel when the user hovers over a target's

display name or image.

Present a larger version of the user's display image, the

user's full display name, and other pertinent information

about the target that they choose to share with the

community (Real Name, Age, Gender, Location).

Present a Relationship Reflector. Allow the ability to

subscribe to, follow, connect to, unsubscribe or block the

user from this panel.

Why

Identity cards provide the means to reduce identity-

related clutter on the screen.

Presence indicators, Reputation Emblems, and

Relationship Reflectors can be tucked away but be

easily accessible.

Relevant demographic info

UserName

Send Message

Online Presence Indication

Add as Friend

Favorite

Page 26: Designing Social Interfaces - IA Summit 09 Talk

Adding FriendsWhat

A user has found people she

knows on a social site and wants

to add them to her circle of

connections.

Use When

• Use when a person’s

connections are a core part of

the site’s experience.

• Use when relationships will be

confirmed providing a

two-way reciprocal relationship.

• Use when allowing one user to

follow another participant

without reciprocity.

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

UserName

Add as Friend

People You May Know

Page 27: Designing Social Interfaces - IA Summit 09 Talk

Circles of Connections

What

A user wants to indicate nuances in

their relationships with other people to

create contexts for communication and

sharing.

Use When

• Use to distinguish levels of

participation in a person’s network.

• Use to set permissions for shared

activity and content.

• Use to disambiguate real-life versus

online, strong versus weak ties.

• Use this pattern to help users filter

which content to consume.

add a new group Add

UserName

will be added as a contact

you can also add UserName to one of your

other people lists.

Contacts

Friends

Family

Work People

Page 28: Designing Social Interfaces - IA Summit 09 Talk

Problem: People come and read my content, but they’re invisible to each other.

Page 29: Designing Social Interfaces - IA Summit 09 Talk

Problem: People come and read my content, but they’re invisible to each other.

PossibleSolution Patterns:

• Presence Indicators

• Peer-to-Peer Awards

• Nudging

• Public Conversation

• Followers Badge

Page 30: Designing Social Interfaces - IA Summit 09 Talk

PresenceUserName

UserName

UserName

UserName

UserName

UserName

UserName

What

Users need to see who else is online, available and

open to contact.

Use When

• A person wants to determine whether their friend is

online.

• A person wants to see who is available for contact.

• A person wants to see if their friend is available for

communication.

• A person wants to show that they are busy to their

contacts.

Why

Revealing availability is the fundamental building block

of online presence. Providing your users with dead-

easy ways to do this facilitate the sense of presence

and availability that helps a social system feel

inhabited by real people with realistic comings and

goings.

Page 31: Designing Social Interfaces - IA Summit 09 Talk

Peer-to-peer Awards

Why

Enabling your users to compliment each other by

bestowing awards on each other offers another

opportunity for social “grooming” behavior and the

reinforcement of weak ties (giving someone a prize

is less of a commitment than inviting them into your

private group, for example).

For your review of: a very cool restaurant

A brief blurb about the review that

incited this peer-to-peer awardUserName

Location

You're Funny Date Stamp

For your review of: another very cool restaurant

A brief blurb about the review that caused one user

to give a peer-to-peer award to another personUserName

Location

Just a Note Date Stamp

So glad to see you here.

a peer-to-peer award from another personUserName

Location

You're Cool Date Stamp

What

People enjoy giving and receiving compliments and will use

existing message board and guestbook features for this

purpose in a pinch, but the whole system can benefit if these

kinds of gestures are enabled and supported more formally.

Use When

• Use when you’re trying to foster more collaborative and

cooperative peer-to-peer relationships

• In the context of participatory activities (such as posting

content, giving feedback, writing reviews, etc.) and in the

context of a user’s profile

How

• Provide an interface through which a fellow site member can

select a type of award and then customize it by either adding

a note or otherwise decorating or labeling it.

• Optionally, permit the recipient of the award to approve the

award before it is displayed.

• Display the award in a gallery on the recipient’s profile.

Page 32: Designing Social Interfaces - IA Summit 09 Talk

NudgingWhat

Providing simple tools for one user to nudge another can get a

conversation going especially if one person is shy or not as

confident online as the other.

Use When

• Use when you want to allow one user to make contact with

another with low effort.

• Use to allow users to encourage others to participate.

How

• A simple link like “nudge” or “poke” or “wave” or “wink” can

be used to trigger an alert or send a canned private message

to the recipient.

• Provide a mechanism for one user to “nudge” another.

• The link, icon or button should be closely associated with the

recipient’s name or on their contact card.

Why

Sometimes people want to let others know they are

thinking of them or are interested in encouraging

them to participate and want a low effort, easy

option to give that extra push.

Relevant demographic info

UserName

Send Message

Add as Friend

Favorite

WAVE to UserName

Page 33: Designing Social Interfaces - IA Summit 09 Talk

Public ConversationUserName 1 Posted Status

Status message - may be an overtly entered status or could be an activity alert - like photos

uploaded or items shared

Photo Photo Photo Photo Photo Photo

UserName 2 Posted 6 Photos

Posted XX minutes ago (permalink | delete)

Posted XX minutes ago (permalink | delete)

Hey, these are terrific photos. Looks like you had an excellent time at the event. When's

the next outing?

Posted XX minutes ago (permalink | delete)

UserName 3 says:

I am going to be taking photos again in a week. Why don't you join us. We'll have a ball.

Besides I can make you look like a movie star with this new lens.

Posted XX minutes ago (permalink | delete)

UserName 2 says:

Ha ha. Very funny. I may just show up with sequins and my entourage and then we'll see

who the real movie star is.

Posted XX minutes ago (permalink | delete)

UserName 3 says:

Use When

• Use this pattern to differentiate from private

conversations.

How

• Allow users to create a dialog between

themselves. Provide a framework that is flexible

enough to support two or more people in

conversation.

• Provide a form field for text entry. Clearly indicate

the character count for conversing.

• Allow users to block or ignore specific users that

they don’t want to hear from, without disrupting the

flow of conversation to other participants.

Why

Providing options for public conversations allows

the content to become more a shared activity.

While there will always be lurkers, open, public

conversations are more likely to entice folks who

otherwise might not get involved to chime in and

participate.

Page 34: Designing Social Interfaces - IA Summit 09 Talk

Followers BadgeWhat

A technique for signaling the transient

presence of other visitors is the faceroll

widget, which shows recent visitors to

a blog or site and can give the current

visitor a sense that they have company

while reading the blog, especially if

they recognize some of the faces or

names.

Why

Allowing users to see who else is

interested in the site they are on and

providing easy tools for engagement

can encourage users to connect with

each other.

Recent Visitors

View this site's community

Join this community

Page 35: Designing Social Interfaces - IA Summit 09 Talk

Problem: I have an active community on my site but people are misbehaving.

How can I get that under control?

Page 36: Designing Social Interfaces - IA Summit 09 Talk

Problem: I have an active community on my site but people are misbehaving.

PossibleSolution Patterns:

• Norms, Model Citizen

• Leaderboard Antipattern

• Community Management e.g. reporting abuse

• Reputation

• RatingsHow can I get that under control?

Page 37: Designing Social Interfaces - IA Summit 09 Talk

Norms

• A principle of community management is to establish and communicate social norms to the participants in your community

• While this may be done with interface copy, help text, support forums, newbie tutorials and so forth, it’s best communicated directly from member to member.

• Founders and community managers can play the role of Model Citizen to demonstrate desirable behavior.

Page 38: Designing Social Interfaces - IA Summit 09 Talk

Reputation: LeaderboardsWhat

In highly competitive communities using a

ranking system, users may want to know

who are the very best performers in a

category or overall.

Use When

• The community is highly competitive, and

the activities that users engage in are

competitive in nature (e.g., player-vs-player

contests, or coaching a fantasy football

team.)

• You want to enable player-to-player

comparisons, or permit users to definitively

settle "Who is better?" arguments.

• Don't use this pattern when the activities

that users engage in are not competitive in

nature (e.g., writing recipes, or sharing

photos).

In most instances,

this is an Anti-Pattern

Page 39: Designing Social Interfaces - IA Summit 09 Talk

Report AbuseWhat

A user needs a way to report malicious, abusive or

illegal behavior and content.

Use When

• Use when a large part of your site has been

contributed by your users.

How

• Provide a consistent affordance for reporting

abuse.

• Attach to each piece of granular content.

• Immediately hide the offensive content in the

interface, even before final decisions have been

made.

• Clearly articulate the rules around good and bad

behavior and what happens when someone or

their content is reported.

Why

Abuse and bad behavior can kill an online

community in a short amount of time.

Providing tools to allow the community to

self-moderate helps keep things in check

and empowers them to be self sufficient

within certain boundaries.

Peer-to-peer flagging is a very scalable

solution.

!"##$%"&'($)*#

!"#$"%#&%'(&#')%*"'%+,-%.)%*"'%,/-0

!"#$%!"&'%()*&+%,'"-

1(*'&*%2'&3.4&'

.%/"0%120&%3))45*6%27%08+)3"-0+57%5*9)-:"&5)*%

)*%;"-5)20%8)33'6'%/'<05&'0%"*=%5&%0"#0%&+'%

-'>25-':'*&0%9)-%&+'%08+)3"-0+57%50%'5&+'-%"%?@%

)*%&+'%ABC%)-%"%D?EF%)*%&+'%GACH%C)%:'%&+50%

=)'0*I&%:"4'%"*#%0'*0'H%.%4*)/%&+'%+56+'0&%

08)-'%)*%&+'%GAC%50%?JFF%"*=%D?EF%50%"3:)0&%

+"39%0)%5&%0'':0%&+"&%5&%/)23=%<'%'"05'-%&)%&"4'%

&+'%GACH

7)0&'=%<#%5&')6(7'

!""#$%%#&&

Report Abuse

Page 40: Designing Social Interfaces - IA Summit 09 Talk

Reputation: Labels

What

Community members need to identify other,

"special" members of the community -

those who've distinguished themselves in

some way.

Use When

• You have identified some desirable

behaviors for your community that you'd

like to promote.

• You want to allow users to volunteer for a

'role' or responsibility within the

community.

• You need a reputation to reflect that a

user has been vetted or validated, either

by your organization or a trusted 3d-party.

• The community's culture appears at any

point along the Competitive Spectrum

Page 41: Designing Social Interfaces - IA Summit 09 Talk

Be civil to all; sociable to many; familiar with few;

friend to one; enemy to none.

Benjamin Franklin

Page 42: Designing Social Interfaces - IA Summit 09 Talk

Thanks

Check out the wiki:

http://www.designingsocialinterfaces.com/patterns.wiki

• Christian Crumlish: [email protected]

• twitter: @mediajunkie

• Erin Malone: [email protected]

• twitter: @emalone