It’s a beautiful day in this neighborhood. A beautiful day for a neighbor. Would you be mine? Could you be mine?
TUBBS: I haven’t seen you before. Are you local?
MARTIN: No, I’m meeting up with a friend actually—going hiking.
TUBBS: Don’t touch the things! This is a local shop for local people, there’s nothing for you here!
TUBBS: Edward! Edward!
EDWARD: Hello, hello? What’s going on? What’s all this shouting, we’ll have no trouble here!
TUBBS: I caught him stealing from the shop. EDWARD: Who is he? Is his identity known?
TUBBS: He’s not local.
One of the things we like to do as social creatures is to plan events and gather in groups. Lunches, meetings, playdates, parties, weddings, even funerals—mundane events, and events to punctuate the week and celebrate milestones and major life events. Events have become easier to plan with a variety of online tools, and with the explosion of social tools, they can be more collaborative than ever. Invitation tools and calendaring are two of the oldest applications available online. The addition of the social graph and other rich social tools continues to keep these tools relevant, and we see these features creeping into main-stream social networking sites such as Facebook and LinkedIn.
GPS capabilities are available in more and more of our devices and applications, and the proliferation of mobile devices means we can be connected and location-aware regardless of where we are. Location tools such as geo-tagging, geo-mashing, and even neighborhoods provide a context of place around what we are doing online. Although people may be generally drawn together based on interests or on activities, the natural progression of a community will eventually lead people to get together in real life. The crossover of interests and desire for face-to-face meetings is powerful and really useful. Without explicit interactions to facilitate meeting in person integrated into interest sites, people will still figure out how to bring groups together—only it will be cumbersome and may require the use of multiple sites, along with email, texting, and old-school phone calls. Building in event-creation tools makes this much easier for people.
The following patterns—when added to things like identity, presence, and activities such as forums, collections, and groups—create a rich suite of tools that can be combined to help bring people together, whether they actually know one another or not.
The user wants to use online social tools to facilitate offline events and meetings in her location (Figure 16-1).
Use when
Use the following patterns to bring people together at reallocations, offline.
Use to plan around real locations, utilizing addresses and maps.
The user wants to meet offline with people from his network, in a nearby location (Figure16-2).
Use this pattern to help facilitate face-to-face meetings between people.
How
Allow users to create events and invite participants.
Pre-event creation
Allow users to enter full details of an event, including location, time, date, details, and special considerations (Figure 16-3).
Integrate a calendar (see Calendaring in Calendaring) for scheduling time-based events (Figure 16-4).
Allow event creators to mark an event as public or private (Figure 16-5 and Figure 16-6).
Allow users to select locations from a list of places: from city guides, yellow pages, or other directories.
Consider indicating nearby establishments, like restaurants, parking, coffee shops, ATMs, or other relevant businesses, which allows for comprehensive planning (Figure 16-7).
Provide the full address, phone number, and other relevant details, such as costs, hours, restrictions, or ambiance.
Pre-event attendees
Allow users to RSVP to events. Consider showing RSVPs to other users and indicating attendees from a viewer’s network (Figure 16-8, Figure 16-9, and Figure 16-10).
Consider allowing public events where users invite themselves or follow an event.
Consider adding wiki software for collaborative content creation.
Integrate maps for selecting and displaying locations (see Geo-Mapping in Geo-Mapping).
Allow users to indicate a method for receiving alerts or reminders for events (see Reminding in Reminding).
Allow users to easily invite their network or a subset of their network to an event (Figure 16-11). Consider a batch invite process, such as multiselect, for sending invites.
Post-event attendees
Allow users to attach photos to the event (Figure 16-12).
If the user attended (or RSVP’d “yes”), show the event in his calendar of past events.
Consider asking the attendees to rate the event afterward (Figure 16-13).
Public events
Allow events to be searchable by keyword/category, tags, and date.
Allow users to browse through events and filter by keyword/category, tags, and date (Figure 16-14).
Show users a list of events being attended by friends in their network (Figure 16-15).
Semi-public events
Indicate whether the user must be part of the network in order to RSVP or attend the event (Figure 16-16).
Related patterns
As seen on
Facebook (http://www.facebook.com)
Meetup (http://www.meetup.com)
Socializr (http://www.socializr.com)
Upcoming (http://www.upcoming.org)
The user wants to plan an event and invite friends to join the party (Figure 16-17).
Use this pattern to allow users to create customized and personal invitations for events such as parties.
Use this pattern to replace regular email for party planning.
How
Pre-party planning
Allow users to enter full details of an event, including location, time, date, details, and special considerations (Figure 16-18).
Use a calendar picker for easy date selection and minimization of data entry errors (see Calendaring in Calendaring).
Offer to add the event to the user’s calendar (Yahoo!, iCal, Google, etc.).
Allow event planners to poll invitees through the use of simple polls.
Provide templates for invitation display. Allow the event creator to choose a theme that is appropriate to the theme of the party (Figure 16-19 and Figure 16-20).
Allow the event creator to invite multiple people at a time. Provide a field for adding multiple email addresses.
Allow selection from the user’s desktop address book (Figure 16-21).
Consider allowing selection from online address books, such as Plaxo and Yahoo!.
Allow the event planner to save the email addresses for later use.
Invitees
Offer to add the event to the user’s calendar (Yahoo!, iCal, Google, etc.).
Consider showing RSVPs to others and indicating attendees.
Show the event on a map (Figure 16-22).
Consider indicating nearby establishments, such as restaurants, parking, coffee shops, and ATMs, to allow for comprehensive planning.
Show the full address and phone number of the location.
If the event is at a public location, such as a restaurant or park, show details about the location: hours, ambiance, restrictions, etc.
After party
Allow users to upload photos from the event.
Consider allowing users to leave comments about the party.
Why
Giving users the tools to create offline events enhances relationships that previously may have existed only online. People want to gather, and they will use whatever tools are avail-able to coordinate the event. Bringing this functionality into your site (if appropriate) will keep users engaged and can create a holistic experience that moves seamlessly from online to offline and back online again.
Related patterns
Face-to-Face Meeting in Face-to-Face Meeting
As seen on
Evite (http://www.evite.com)
Facebook (http://www.facebook.com)
MyPunchbowl (http://www.mypunchbowl.com)
A user wants to find or submit an event (public or private) based on a date or within a certain date range (Figure 16-23).
Use when
Use this pattern to create date-driven events.
Use this pattern to find events by date.
Use this pattern with Face-to-Face Meeting in Face-to-Face Meeting and Party in Party.
How
Allow users to associate an event with a date. This can be done through an event-planning interface or within a calendar interface (Figure 16-24 and Figure 16-25).
Allow the event creator to indicate whether the event is public or private.
Allow the calendar event to be shared, whether through direct selections from the user’s network, through email, or through RSS, blogs, or other social offerings.
Selecting a specific date
When selecting an associated date for an event, allow the user to either type in the date or choose the date with a calendar picker. See the Calendar Picker pattern in the Yahoo! Pattern Library for detailed interaction specifics (http://developer.yahoo.com/ypatterns/selection/calendar.html) and the Calendar component in the YUI Library for implementation code (http://developer.yahoo.com/yui/calendar/).
Providing the calendar picker allows the user to see the date in the context of other dates and the day of the week, and it ensures fewer data entry errors.
Calendar details
Provide a title and description field (Figure 16-26).
Provide a notes field for URLs and other information.
Allow the user to associate a location to the event.
When the details are complete, present the event in all presentations of the calendar (i.e., list view, day view, week view, and month view).
Present the title, location, and as much of a description as appropriate for the display. For example, the list view would display most, if not all, of the description, whereas the month view may show only a truncated title.
Use rollover panels to display the full calendar event without forcing the user to click.
Why
Events are time constrained, and including robust online calendaring tools will make cre-ating parties, events, and face-to-face meetings easier to plan.
Provide enough functionality to be useful without creating a whole enterprise-level application.
Related patterns
Face-to-Face Meeting in Face-to-Face Meeting
As seen on
30 Boxes (http://www.30bxes.com)
Evite (http://www.evite.com)
Facebook (http://www.facebook.com)
Google Calendar (http://www.google.com/calendar)
MyPunchbowl (http://www.mypunchbowl.com)
Upcoming (http://www.upcoming.org)
Yahoo! Calendar (http://www.yahoo.com/calendar)
A user needs to know when an event is happening (Figure 16-27).
Use when
Use this pattern to alert others where an event is happening.
Use this pattern to encourage sending reminders to a mobile device or email account.
How
When creating an event, allow the user to set reminders or alerts about those events (Figure 16-28).
If the event creator is inviting attendees, set the reminder to automatically send alerts to the attendees.
Give the user the ability to select from a preset list of reminder times. For instance, Yahoo! Calendar offers to send reminders from 14 days before the event all the way to 5 minutes before the event, and Google Calendar allows you to specify an exact number and then qualifies it with minutes, hours, days, weeks, months, etc. (Figure 16-29 and Figure 16-30).
Reminders should be able to be sent to an email address and to mobile devices or added to a social networking profile.
Consider allowing two reminders to be set, for example, 14 days and 5 days before the event.
For public events, allow people to set their own reminders.
Related patterns
Face-to-Face Meeting in Face-to-Face Meeting
As seen on
30 Boxes (http://www.30bxes.com)
Facebook (http://www.facebook.com)
Google Calendar (http://www.google.com/calendar)
Yahoo! Calendar (http://www.yahoo.com/calendar)
A user wants to annotate a person, place, or thing with a geographic tag, usually in the form of latitude/longitude, which is then translated into an address that can be placed on a map (Figure 16-31.
Use when
Use this pattern when you want to place objects (people, places, or things) on a map.
How
If the item is a photo and there is exif data that includes lat/long information, associate that location string with the object (Figure 16-32).
Automatically place the item on a map.
If the item has an address associated with it, such as a business, automatically place the item on a map.
Allow the user to associate an address with an object.
Consider allowing users to drag and drop items (photos, listings, friends) onto a map and associating a location with the item.
Allow the user to refine the location by offering an address form. Allow the full ad-dress, a city/state combo, or even a zip/postal code. Fields should be optional.
Allow users to enter specific latitude and longitude numbers indicating a point on a map as an alternative to picking a spot on a map.
Use the emerging format for geo data, e.g., geotagged geo:lat=57.64911 geo:lon=10.40744. The first item is the tag “geotagged”, allowing all items to be searched from a common tag. The other tags are “geo:lat” and “geo:long”, which was established by geobloggers and has been popularized by sites such as Flickr, Panoramio, and Delicious.
Convert geotags into user-friendly addresses when presenting locations in the interface.
Clearly indicate how the information will be used.
Why
Offering geo-tagging capabilities for assets, particularly photos, allows them to exist not only in time but also in a context related to the real world. Placing images on a map gives people a sense that this image really exists and that they might see this, too, if they went there. Geo-tagging also announces to a person’s network that she was there, at this spot.
Related patterns
Face-to-Face Meeting in Face-to-Face Meeting
Geo-Mapping, described next
As seen on
Flickr (http://www.flickr.com)
Upcoming (http://www.upcoming.org)
A user wants to see where he is (or where his stuff is) in relation to other people and places (Figure 16-33).
Use when
Use this pattern to automatically place people, status updates, photos, and other objects on a map.
How
Present the item location with a graphic pointer on the map (Figure 16-34).
Allow the user to see other people or items on the map in relation to himself (if the user is on a mobile device or has indicated his location).
Allow the user to search for items based on location.
Why
Providing easy drag-and-drop tools for placing items on a map can offer alternative ways to filter objects on a site. Additionally, showing items on a map can provide contextually relevant information and can help support local, face-to-face meetings and gatherings between people.
Related patterns
Face-to-Face Meeting in Face-to-Face Meeting
As seen on
Brightkite (http://www.brightkite.com)
Flickr (http://www.flickr.com)
Geo mashups are applications and tools that pull together map APIs from map providers such as Yahoo!, Google, and MapQuest and geotagged content, such as photos, user blogs, news articles, real estate data, videos, status casts, and any other data that can have geotags associated with it (Figure 16-35 and Figure 16-36).
A user wants to know what’s going on around her neighborhood (Figure 16-37).
Use this pattern when pulling together geographic or place-specific content.
How
Allow users to select a neighborhood for filtering information. The neighborhood boundaries should include relevant location definitions, including zip code and school districts, and explicit metadata and location keywords (Figure 16-38).
Allow people to explicitly identify with a neighborhood, through selection of a specific neighborhood or entry of a zip code.
Present the option to connect to people from the same neighborhood or in nearby areas.
Allow people to search by neighborhood, zip code, or other relevant location data (Figure 16-39).
Provide an easy mechanism for users to switch neighborhoods.
Consider mashing up a variety of interesting and relevant content related to the selected neighborhood. The types of content that can be pulled together include photos, news items, business listings, real estate listings, police blotter announcements, ratings and reviews of businesses, parks and public places, events, and people.
Display the user’s location on a map.
Display relevant content on a map to indicate proximity to the user.
Why
Bringing together local information around neighborhoods provides a more relevant experience for people who want to keep tabs on what’s happening nearby. The tools can also support bringing people together who are already close in proximity.
Related patterns
Geo-Mashing on page428
As seen on
EveryBlock (http://www.everyblock.com)
Outside.in (http://www.outsidein.com)
Yahoo! Local Neighborhoods (http://local.yahoo.com/neighbors/?csz=South+San+Francisco%2C+CA)
Mobile phones are becoming more ubiquitous in the U.S., and in Asia and other parts of the world they are often the primary mode for connecting to the Internet and with other people. Tools and applications for enabling social experiences need to be designed for the mobile experience as more and more people use the phone exclusively or move seamlessly between the computer and the phone for their social transactions.
What
A user wants to connect with friends or post content while on the go (Figure 16-40).
Use this pattern when you want to enable users to:
Share photos and/or videos from their mobile devices.
Plot themselves on a map or announce their locations.
Meet up with other people nearby.
How
Content
Provide one-click upload of photos and videos.
Allow the user to do his setup on the Web as an option. More complex setup that requires typing and data entry is easier with a keyboard than a phone interface.
But, with that said, the setup and upload of content should be easy on the phone for those not equipped with a computer. (See Figure 16-41.)
Provide one-click ability to share items of interest to others.
Geo
Most mobile phones are now being equipped with geo-location features, which means more and more applications and tools can bring together location and people in interesting ways:
Utilize the built-in features of geo-mapping to allow users to share their locations with a trusted network.
Allow users to turn off presence or location indicators.
Use a user’s location to show nearby businesses or events of interest.
Gatherings
Using a combination of geo-location and text messaging, users can easily pull together an impromptu gathering. Services such as Foursquare and Loopt offer the ability to see yourself and those in your network plotted on a map (Figure 16-42).
Allow users to easily see where their network is located (with permission, of course; see The Ex-Boyfriend Anti-Pattern in The Ex-Boyfriend Anti-Pattern) and send out a message or invitation to meet up to those people.
Allow users to send out one message to a predefined group of people.
Consider the option of allowing users to send out one message to a group pulled together on the fly that is based on proximity.
The social mobile person will utilize a variety of tools to announce her current actions and activities for her network and the world to see:
When considering a status tool for mobile, allow users to plug into their existing social networks, such as Twitter or Facebook (Figure 16-43).
Consider pulling in the activity stream from the user’s existing network onto his mo-bile device.
Allow the user to indicate how often to pull data. User should be able to easily turn off the stream to save on data charges and battery life.
Allow users to indicate whether their outgoing message is sent via an application, into an existing network, or as an SMS or text message to their network.
Considerations
The CTIA, an international mobile industry body, has published a set of best-practice guidelines for location-based service applications (http://www.ctia.org/content/index.cfm/AID/11300). Two fundamental principles guide the document:
Location-based service providers should inform consumers as to how their location information will be used, disclosed, and protected so users can make informed decisions about whether or not to use the service or authorize disclosure.
Once users have selected location-based services or authorized disclosure of their location information, they should have choices as to when or whether location in-formation will be disclosed to third parties, along with the ability to revoke any such authorization.
Related patterns
Activity Streams in Activity Streams
Presence Actions and Facets in Presence Actions and Facets
As seen on
Foursquare (http://playfoursquare.com/)
Loopt (http://www.where.com/)
Treemo (http://www.treemo.com)
Twitterific (http://iconfactory.com/software/twitterrific)
Where (http://www.where.com/)
Zannel (http://www.zannel.com)
Best Practices and Guidelines for Location Based Services, International Association for the Wireless Telecommunications Industry,
http://www.ctia.org/content/index.cfm/AID/11300
“Digital Hide and Seek: Are you ready for social mapping?,” by Barrett Sheridan, Newsweek Web Exclusive, originally published August 14, 2008,
http://www.newsweek.com/id/153197/
“Take Your Geo-Mashups Beyond Google Maps,” by Scott Gilbertson, WebMonkey, originally published October 17, 2008,
http://www.webmonkey.com/blog/Take_Your_Geo-Mashups_Beyond_Google_Maps
52.15.160.43