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

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

Đ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

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. 287 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 action 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 CHAPTER 9 Social Applications 288 Offer this as an option after users have signed up; it helps in the following ways: 1. To facilitate quick sign-up, users typically provide (or are asked to pro- vide) very minimal information about themselves. This makes it diffi cult to connect them with people they already know in the community. By not getting a sense of community after signing up, users may question the usefulness of the application and may not return. 2. A ccessing 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. 289 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. 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. 291 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. 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 exam- ple, they may want to group them based on the nature of their relationship or on the frequency of their interaction with them. To afford maximum fl exibil- 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. 293 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. 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. 295 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 showing 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. [...]... interface among Extensible Design language-specific instances of the application Furthermore, by making web applications locale-independent and culture-neutral, extensible design avoids design elements that may be misinterpreted or offensive to other cultures An extensible design also helps make web applications more accessible to people with disabilities For example, by designing the application such that... specifically del Galdo et al (1996), Aykin (2004, 2006), Yunkers (2002), and Ishida (2008) EXTENSIBLE DESIGN Problem Although web applications are designed primarily for users in a region and for a language, designers may want to make them available in other regions and languages in the future Solution Design web applications so that they do not favor any particular language or country and, when localized,... and link web pages using a very simple markup method; more recently, wikis have provided rich-text editing capabilities as well CHAPTER 10 Internationalization 311 INTRODUCTION Web applications designed for global audiences need to address two important issues in their design: internationalization and localization (Aykin, 2000):1 ■ ■ Internationalization (I18N)2 is the process of designing an application. .. unique number (e.g., A is mapped to 65 in ASCII3 encoding format) It helps web browsers determine the characters to display on a web page Selecting the character-encoding method, therefore, determines the languages a web application may be able to support Appropriate selection is also important for web applications that are designed to support users who may prefer languages other than English for inputting... internationalization helps incorporate necessary flexibility and adaptability in web applications during the initial design (and not just during localization) and requires paying attention to cultural norms and preferences, color choices, image appropriateness, and so forth (EXTENSIBLE DESIGN) In addition to designing for extensibility, designers must ensure that formats used for dates (DATE FORMAT), times (TIME... on their applications through sites such as Digg, Facebook, Delicious, and so forth (Figure 9.63) 303 304 CHAPTER 9 Social Applications FIGURE 9.63 SlideShare allows users to share a presentation to a variety of web applications SET UP PERMALINKS Permalinks are permanent URLs for web content and make it easy to link to a specific blog or forum post Content that may move from its current location (e.g.,... (see the Geolocation sidebar) Once applications are localized, it’s important for users to be easily able to navigate to desired local applications (GLOBAL GATEWAY) and/or change the language while interacting with an application (LANGUAGE SELECTOR) 1 A related term is globalization (sometimes abbreviated as G11N), which refers to the process of preparing both the application and the business for international... for date, time, number, and currency by default, many applications use the geolocation approach Geolocation refers to identifying the geographic location of the computer on the Internet Knowing the geographic location of the computer, and thus the location of its user, web applications can direct users to an appropriate region-specific version of the application For example, users from India typing www.google.com... 310 CHAPTER 9 Social Applications wikis,4 where pages can be added, edited, or deleted by any of the participants Most wikis, therefore, allow users to roll back the pages to previous versions Related design patterns The first step in COLLABORATION is SHARING documents or other artifacts; in addition, to facilitate collaboration, MESSAGING among users is essential 4 A wiki is a web application that allows... or content, except for translation This requires identifying and separating country- and language-specific application elements and its user interface and ensuring that none of the localizable elements are “hard-coded” in it Why EXTENSIBLE DESIGN is the core of internationalization It prepares web applications for localization and eliminates the need to create country- or language-specific versions By . easier through third-party applications as well. Many applications and content sites now allow users to promote content on their applications through sites. LinkedIn offers options to discover friends. CHAPTER 9 Social Applications 290 Related design patterns As users add friends to their networks and indicate

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

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan