1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Web Application Design Patterns- P11 ppt

30 238 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Social Applications
Trường học University of Information and Communication Technology
Chuyên ngành Web Application Design Patterns
Thể loại Giáo trình
Năm xuất bản N/A
Thành phố Hà Nội
Định dạng
Số trang 30
Dung lượng 1,86 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Solution Make it easy for users to discover network members based on common inter-ests, past workplaces, other online communities, and contacts i.e., email address books Figure 9.39..

Trang 1

CHAPTER 9 Social Applications

286

CLEARLY INDICATE HOW USERS CAN REACH THE NEXT LEVEL

When using reputation levels, make it easy for users to determine how they can reach the next level This keeps them interested and motivated to participate ( Figure 9.38 )

CONSIDER INCORPORATING PEER RECOMMENDATIONS

In the reputation systems discussed so far, users indirectly earn a reputation based on the swiftness of transactions, quality of the products delivered, useful-ness of advice, and so forth Many social networking applications, on the other hand, allow users to establish reputations through testimonials or recommen-dations that they receive LinkedIn, for example, allows users to write recom-mendations for others Users who get recommendations receive a thumbs-up icon on their profi les and an indication of how many people have recom-mended them

FIGURE 9.37 Kwanzoo, an entertainment trivia site, shows top players ’ ranks and points in a leaderboard format

It also shows whether

a user moved up or down and by how much

FIGURE 9.38 Yahoo! Answers shows users how many points they have accumulated and the number of points that they need to get to the next level

Trang 2

Although it could be argued that peer recommendations are based on past

interactions, transactions, or services provided, and there are other similar

forms of reputation systems, an important difference is that the

recommenda-tion acrecommenda-tion is phrased more directly toward the person rather than the services

offered or products sold by him or her — that is, “ recommend this person, ”

instead of “ recommend services offered by this person ”

Related design patterns

Both RATINGS and REVIEWS patterns may accompany REPUTATION because

gaining reputation requires users to rate and review the transactions or

activi-ties they are involved with

DISCOVER NETWORK MEMBERS

Problem

Users new to a social application may not know how to connect with others

with similar interests or with whom they have lost touch In addition, users

who are part of other community-based applications may want to fi nd out if

anyone on their current “ friends ” list is already a member of the community

they are joining

Solution

Make it easy for users to discover network members based on common

inter-ests, past workplaces, other online communities, and contacts (i.e., email

address books) ( Figure 9.39 ) In addition, recommend friends based on users ’

profi les and stated interests to make it easy for users to fi nd new “ friends ”

Why

Social networking or community-based applications revolve around connecting

users with current, past, and potentially future friends and colleagues Without

an easy way to connect with them, the community aspect of the application

disappears

How

Social networking applications can help users discover friends in a myriad

of ways: by email address books, instant messenger (IM) buddy lists, users ’

existing networks, recommendations, and searches Having multiple ways to

discover connections is important, since users may not have fi lled out their

profi les completely and may use email addresses differently than those in their

address books

ALLOW DISCOVERY OF FRIENDS BY EMAIL ADDRESS BOOKS

Enable users to import their existing address books from popular email

appli-cations such as Outlook, Gmail, Yahoo! Mail, and so forth ( Figure 9.40 )

Discover Network Members

Trang 3

CHAPTER 9 Social Applications

2 Accessing users ’ email address books is relatively straightforward once they have provided login credentials, which makes it easy for the application to help them fi nd and connect with those already in their contact lists

FIGURE 9.39 Facebook offers users several options to fi nd friends: by email (uploading of contact fi les too); by schools, colleges, and work locations; and by IM buddy lists The site also offers recommendations via “ Discover People You May Know ” based on profi les and current network

FIGURE 9.40 When signing up, Yelp offers users an option to fi nd existing friends by matching their contact lists on email systems such as Hotmail, Yahoo! Mail, AOL Mail, and Gmail

Trang 4

ALLOW DISCOVERY OF FRIENDS BASED ON USERS ’ PROFILES

Another option is to allow users to discover friends based on their profi les

Once users have completed at least part of their profi les with information

about their workplace or educational institutions, inform them about users

who match their information ( Figure 9.41 )

ALLOW DISCOVERY OF FRIENDS BASED ON EXISTING CONNECTIONS

Allow users to explore their friends ’ profi les and view friends ’ friends to make

it possible for them to discover common friends they didn’t know were part of

the community In addition, rather than making users actively browse friends ’

profi les to discover common friends, the application can periodically suggest

friends from users ’ connections who they may know

ALLOW USERS TO SEARCH OTHER COMMUNITY MEMBERS

Allow users to search for people ( Figure 9.42 ) in addition to allowing them to

discover members based on their profi les, address books, and buddy lists (see

SAMPLE SEARCH and PARAMETRIC SEARCH in Chapter 6)

REQUIRE CONFIRMATION OF “ FRIEND ” REQUESTS

While it’s easy to fi nd network members with whom users may want to

con-nect (i.e., a “ friend ” ), it should not be an automatic process It’s important that

requests to “ friend ” someone are acknowledged and confi rmed before adding

them to their friend lists In addition, when accepting a request to become a

friend, it helps to ask them to indicate the nature of their relationship This

information can be used to update profi les (and make them more complete)

and further discover network members with whom users can connect

SUPPORT THIRD-PARTY INTRODUCTIONS

Users may want to “ friend ” with users they do not know Although users

should be permitted to send direct requests to add them to their network, if

there’s a mutual friend that both users know, allow them to be introduced This

may help reduce hesitation on the part of both users in becoming friends

ALLOW USERS TO “ FOLLOW ” OTHERS

Offer another recently popular “ friending ” approach called “ following, ” where

users can visit other users ’ profi le pages and choose to “ follow ” their activities

(or “ status ” in Twitter’s case) ( Figure 9.43 )

Discover Network Members

FIGURE 9.41 Using past organizations and educational institutions in users ’ profi les, LinkedIn

offers options to discover friends

Trang 5

CHAPTER 9 Social Applications

290

Related design patterns

As users add friends to their networks and indicate their relationship to their friends, it offers a good opportunity for the application to update their USER PROFILES In addition, it is important to offer mechanisms for users to grow

(a)

FIGURE 9.42 LinkedIn offers users several options to search their membership list (a) They also offer a reference search for fi nding people in one’s network who may be able to provide references for a candidate (b)

(b)

FIGURE 9.43 Twitter allows users to follow other users; “ followed ” users ’ activities are then shown as updates on the “ followers’ ” pages

Trang 6

their network, because the size of the network is an important factor that

con-tributes to their REPUTATION

FRIEND LIST

Problem

Users are likely to communicate with the same core group of people — friends,

colleagues, family, and acquaintances Requiring them to remember their

infor-mation every time they want to contact someone would make the interaction

ineffi cient

Solution

Allow users to create and maintain a friend list ( Figure 9.44 ); friend list is also

referred to as a “ buddy list ” In addition, allow users to group their friends to

make it easier to fi nd them and communicate as a group

Why

A friend list is similar to an address book and enables users to fi nd their friends

and their profi le information quickly In addition, like address books, many

users of social networking applications have tens to hundreds of friends If

pre-sented just as a simple list or paginated list, fi nding friends can become diffi cult

Therefore, it’s important for users to be able to group their friends based on their

relationship, how frequently they interact, how they were introduced, and so on

In essence, this helps users maintain, if they so desire, an accurate “ social graph ”

of their friend list Furthermore, this feature also allows them to tailor their

pri-vacy controls and send messages to them as a group instead of individually

How

Update users ’ friend lists whenever they accept a request to become a friend or

when their request to “ friend ” someone is accepted

Friend List

FIGURE 9.44 MySpace allows users to view and manage their friend lists on the My

Friends page In addition, it allows users to group friends into separate categories They can

also indicate privacy settings in terms of who can view the categories they create

Trang 7

CHAPTER 9 Social Applications

292

ALLOW USERS TO GROUP THEIR FRIENDS

Users may want to group their friends to make fi nding them easier — for ple, they may want to group them based on the nature of their relationship or

exam-on the frequency of their interactiexam-on with them To afford maximum fl ity on how they want to organize their friends, allow them to create their own groups If users have created groups, make assigning friends to a group part of the accept (or “ request to add ” ) process ( Figure 9.45 )

MAKE THE FRIEND LIST EASILY ACCESSIBLE

Among the common reasons users visit social applications is to interact with their friends or see their status and history To enable quick access to such information, make it easy for them to access their friend list Most social appli-cations allow users to see a list of friends on their home pages

ALLOW USERS TO VIEW THEIR FRIENDS ’ ONLINE STATUS

An important reason to maintain a friend list is to enable messaging between friends (both synchronously and asynchronously) To initiate synchronous mes-saging (i.e., chats), it’s important to know if a friend is online ( Figure 9.46 ; see the MESSAGING and PRESENCE INDICATOR patterns later in this chapter) Related design patterns

To promote communication with friends, both the MESSAGING and PRESENCE INDICATOR patterns usually accompany FRIEND LIST In addi-tion, to make it easy to fi nd people, a friend list is often shown as an IMAGE GRID (see Chapter 7)

FIGURE 9.45 Orkut allows users to group their friends into different categories By default, they offer the groups “ best friends, ” “ family, ” “ school, ” and “ work ” ; users can also create their own groups and put the same friend in more than one group

Trang 8

GROUPS AND SPECIAL-INTEREST COMMUNITIES

Problem

Users need a way to connect with those with similar interests and experiences

so that they can learn, share their knowledge and opinions, build relationships,

grow professionally, grow their networks, and so forth

Solution

Allow users to join and create groups, also referred to as forums or online

communities ( Figure 9.47 )

Why

One of the reasons users participate in community-based applications is to

connect with those who share similar interests and experiences Enabling users

to create groups and connect with others is therefore essential because it

con-tributes to a sense of community and encourages participation For companies,

forums and communities are also useful for customer support because they

allow customers to help each other and, in the process, reduce support costs

Groups and Special-Interest Communities

(a)

FIGURE 9.46 MySpace allows users to fi lter their friend list by who is online (a) Gmail, on the

other hand, shows a green bullet in front of online users (b)

(b)

FIGURE 9.47 LearnHub, a site that supports educational communities, allows users to join

existing ones or to start their own community

Trang 9

CHAPTER 9 Social Applications

294

How Groups or online communities are virtual places where users with like interests can share and connect with each other Therefore, a community can be in the form of discussion groups around a topic (e.g., Usenet); groups created within

a social networking application (e.g., Facebook); discussions around social objects such as photos, music, movies, books, and so forth (e.g., YouTube, Flickr); comments in response to a blog entry (e.g., blogger); or communities created by companies to support their customers (e.g., Dell Support Forums) Groups can be derived dynamically by using shared tags ( Figure 9.48 ), or users can create them explicitly based on their specifi c interests ( Figure 9.49 ) Creating groups dynamically is a good way to discover people who share common inter-ests However, such implicitly created groups may not be sustainable because users have not chosen to be part of that group Explicitly formed groups, on the other hand, require users to join them and may have better chances of surviving

Groups may also be created around specifi c events by people attending, or those wishing to attend, an event Events are just a type of group with location

FIGURE 9.48 43 Things creates groups dynamically based on tags

FIGURE 9.49 Facebook allows users to create their own groups

Trang 10

and dates A good example is SlideShare ( www.slideshare.net ), where users can

create event-based groups The advantage of event-based groups is that they can

allow users to join groups for specifi c dates and locations

ALLOW USERS TO MAKE GROUPS PUBLIC OR PRIVATE

Groups created by users can be either public or private ( Figure 9.50 ) Public

groups are helpful for general-interest subjects, such as cooking, hiking,

poli-tics, and so forth, that are likely to invite participation from many users These

public groups may spawn more specialized subcommunities as their users ’

interests demand Private groups are typically created by users who have very

specifi c goals or are dealing with topics that are sensitive in nature

Public groups can be joined by anyone and may or may not require acceptance

by the creator of the group Private groups, on the other hand, are restricted to

those invited by the creator of the group Joining public groups is usually as

easy as clicking “ Join this group ” and confi rming the intent

ENCOURAGE USERS TO JOIN AND PARTICIPATE

Users generally prefer to join groups or communities that are active Therefore,

it is important to show indicators of group activity such as number of users,

number of posts, number of replies, recency of posts, and so forth ( Figure 9.51 )

It also helps to show a gallery of active group users This may be done by

show-ing users ’ avatars as part of the discussion and/or showshow-ing a gallery of new or

active community members

SHOW USERS THEIR FRIENDS ’ GROUPS

Because users share some commonality with their friends, they are more likely

to join the groups to which their friends also belong Therefore, it’s important

for users to see the groups their friends have joined

Groups and Special-Interest Communities

FIGURE 9.50 Facebook categorizes groups into open, closed, and secret groups Open groups

are public groups, secret groups are private groups, and closed groups are semipublic, since

they require approval of the group administrator to join

Trang 11

CHAPTER 9 Social Applications

296

CREATE COMMUNITIES TO INVITE IDEAS AND SUGGESTIONS

It is not necessary to have communities started only by users They may be started

by companies to invite comments and feedback from customers ( Figure 9.52 ) Several companies have used communities to shape their products and service offerings Salesforce.com uses the IdeaExchange community to invite ideas from users and ask them to promote or demote ideas on their product road-

map (see ideas.salesforce.com/popular/ideas_under_consideration )

FIGURE 9.51 Flickr shows users the number of group members (a), the “ photo pool ” (b), and

a list of ongoing discussions (c) to indicate activity and interest in the group

FIGURE 9.52 Rally Software uses communities to support new and existing users, share their release backlog, invite users to request features, and so forth

Trang 12

Related design patterns

TAG CLOUDS are important navigation mechanisms for dynamically created

groups because users can click relevant tags and navigate to the desired group

(see Chapter 5) In addition, as users participate in communities, they may

gain a REPUTATION based on the quality of their contribution

MESSAGING

Problem

One of the reasons users participate in an online social community is to be

able to communicate with one another This may be in the form of a

conversa-tion (i.e., chat) or as a message that can be responded to later Also, in some

instances, users may want to send a broadcast message — that is, send a message

to several people at once — and they may not necessarily need a response

Solution

Enable users to communicate with each other synchronously (e.g., chat) or

asynchronously (e.g., messages, pokes, scraps, etc.) ( Figure 9.53 )

Why

An important aspect of being in an online community and sustaining it is to

encourage communication among its members The easier it is for users to

communicate with each other, the more likely that the community will thrive

and be able to sustain itself

How

Allow users to communicate with each other synchronously in real time using

Instant Messaging (IM) features (e.g., chat), as well as asynchronously via

send-ing messages to one another or postsend-ing messages on a shared public area The

most common asynchronous messaging options are to allow users to send

pri-vate messages to an individual ( Figure 9.54 ) or posting comments on shared

areas (e.g., “ walls ” on Facebook)

TO FACILITATE CHATS, SHOW FRIENDS ’ ONLINE STATUS

Because synchronous messaging requires users to be online simultaneously to

initiate conversation, indicate whether users are online ( Figure 9.55 ; see also

the PRESENCE INDICATOR pattern next for additional details)

Messaging

FIGURE 9.53 Facebook offers users several messaging options: send an email, chat in real time (a green bullet indicates that the user

is online), and poke (a nonverbal message)

Trang 13

CHAPTER 9 Social Applications

298

SUPPORT BROADCAST MESSAGES

Although one-to-one communication between users is effective via messaging options such as chat and email, users may want to write a message for every-one to see It’s a broadcast message rather than a message targeted to a specifi c person in the network Several different terms are in use today to indicate this

feature, such as walls (e.g., Facebook), scraps (e.g., Orkut), and comments (e.g.,

Related design patterns

To allow users to communicate synchronously (i.e., in real time), it’s tant that they know when their “ friends ” or “ contacts ” are online Having a PRESENCE INDICATOR can help communicate users ’ online status and will-ingness to converse

impor-FIGURE 9.54 LinkedIn allows users to communicate with each other using the “ Send a Message ” option

FIGURE 9.55 Facebook shows users the number of their friends who are online

FIGURE 9.56 Facebook allows users to post comments on their friends ’ “ walls ”

Trang 14

PRESENCE INDICATOR

Problem

In applications that allow users to interact with each other and maintain their

friends (or contact) list, users may want to know whether they can initiate a

real-time conversation with one or more friends

Presence Indicator

(a)

FIGURE 9.57 Facebook allows users to specify who can write comments on the wall (a)

It also allows specifi c users to be excluded from writing comments (b)

(b)

FIGURE 9.58 Yahoo! Answers indicates users ’ communication preferences on their profi le

pages In this example, the user has chosen to not communicate via either IM or email

Trang 15

CHAPTER 9 Social Applications

300

Solution Show users an indication of whether another user is online ( Figure 9.59 ) However, respect each users ’ privacy preferences and indicate their online status accordingly

ALLOW USERS TO INDICATE THEIR ACTIVITY STATUS

A recent trend is to allow users to indicate their activity status along with their presence indicator ( Figure 9.60 ) This approach is also referred to as status casting (popularized by Twitter, which allows users to send short messages

informing others of what they are doing) Status casting is similar to tus messages in IMs, where users indicate their current status such as “ Busy, ”

sta-FIGURE 9.59 Meebo, an online

IM aggregator, shows users their contacts and online statuses Like other desktop-based instant messaging aggregators, it groups offl ine users separately and distinguishes contacts ’ IM account types with icons

Ngày đăng: 26/01/2014, 20:20

TỪ KHÓA LIÊN QUAN

w