Posts Tagged ‘Requirements Analysis’

Defining Requirements for Social Web Applications – Part 7: Enabling Sharing

November 16, 2009 6 comments

This is the 7th and final post in a series on Defining Requirements for Social Web Applications. As with previous posts in this series, the content is largely borrowed from Joshua Porter’s book Designing for the Social Web. Porter’s book is a gem, and if the topic of social web design is of interest to you, I highly recommend you pick up a copy.

Click on the following links to access previous posts in this series:

Design for “Connectors”

I’m kind of blown away at how effective a communicator Joshua Porter is. I read Malcolm Gladwell’s The Tipping Point, and thought it was a brilliant book. Loads of great insights into the phenomenon of Social Contagion – that is, how ideas go viral in a social network.

However, I really don’t think I could improve on the brief treatment Porter gives the topic. So well, I’m not even going to try. Here’s Porter:

In his book The Tipping Point, Malcolm Gladwell describes a rare type of person he calls a “connector”. Connectors play a special role in society: they act like hubs in a network, spreading information from one node to another. They are the social conduit that keeps everyone up to date and informed.

The main role of connectors is to spread ideas. They have wide social circles – much wider than the average person – and when they get excited about a new idea, they share it with everyone they come into contact with. That’s just the way there are. Connectors love to be the first to tell their friends about a great new thing. They gain social capital as they do this. …

Connectors are key enablers of word of mouth: they’re super sharers. And to anyone building a social web application, they are like gold. If you can get a connector talking about your application, then it stands a better chance of success, because more people will find out about it.

Porter continues:

Sharers are great for several reasons:

  • Sharers advertise for you – When sharing works well, other people are doing a very important function for you: advertising. You don’t have to spend as much money on regular advertising or other forms of attention-grabbing if sharers are spreading your word.
  • What sharers say is more powerful than what you say – No matter how well you communicate the value of your application, it’s not as powerful as something a sharer (or any fan) can say about you. If someone says, “that service is great, I highly recommend it”, there is little you can do to improve on that message.
  • Sharers tell you why you’re great – Sometimes what a sharer says about you is different than what you say about yourself. Listening to them can give you insight into why other people get passionate about your application [or product/service].

Two Types of Sharing

Porter highlights two types of sharing: implicit and explicit.

Implicit sharing happens when an item is shared as a byproduct of participation. On, for example, your bookmarks are shared by default, so that others can see them even if your original intention was to simply save it for later. This provides value to others without your explicit decision to do so.

Explicit sharing is how we usually share: on purpose. The most common way to explicitly share is by sending someone an email containing the shared item or a link to it. But now we’re seeing many more ways to share. You can now send a shared item to your MySpace or Facebook account or submit shared items to social news services like Digg and Reddit.

And of course, these days, everyone is twittering!

What to Share?

Well, in a word, anything and everything that can be represented in digital form. Some of the items Porter lists are: news articles, blog posts, web pages, videos, pictures, wish lists, music, documents, calendars, reading lists, bookmarks, slideshows, spreadsheets, etc.

The items that you share are the social objects in your application.

The Activity of Sharing

Porter provides another great little visual to illustrate the steps involving in sharing:

Activity of Sharing

Sharers Heed the Call to Action

Porter comments that the call to action can be an interface element that signals the ability to share an item with others. In many cases the call to action will be the nudge that gets people to share.

Here’s an image of a typical sharing widget on a social website:

Sharing - Call to Action

Porter proceeds to provide some tips on good and bad design techniques for presenting sharing call-to-action widgets around content.


Well, I think that about wraps it up. A introduction to some of the key features and capabilities you’ll want to enable on your social website. I hope you enjoyed this series of blogs posts.

Also in this series

Defining Requirements for Social Web Applications – Part 6: Collective Intelligence

November 15, 2009 6 comments

This is the 6th post in a series on Defining Requirements for Social Web Applications. As with previous posts in this series, the content is largely borrowed from Joshua Porter’s book Designing for the Social Web. Porter’s book is a gem, and if the topic of social web design is of interest to you, I highly recommend you pick up a copy.

This post also borrows significantly from Satnam Alag’s book Collective Intelligence in Action.

Click on the following links to access previous posts in this series:


To my knowledge, the term Collective Intelligence was first coined – in the sense we mean it here – in a seminal paper published by Tim O’Reilly titled What is Web 2.0, published in September 2005. In this paper, O’Reilly states the following:

The central principle behind the success of the giants born in the Web 1.0 era who have survived to lead the Web 2.0 era appears to be this, that they have embraced the power of the web to harness collective intelligence

I rather like Joshua Porter’s comments which come close to capturing, IMO, the essence of Collective Intelligence. Porter states that Collective Intelligence is all about:

[Aggregating] the individual actions of many people in order to surface the best or most relevant content. … Collective Intelligence is based on the idea that by aggregating the behavior of many people, we can gain novel insights.

Satnam Alag in his excellent book Collective Intelligence in Action, comments that the Collective Intelligence of Users in essence is:

  • The intelligence that’s extracted out from the collective set of interactions and contributions made by your users.
  • The use of this intelligence to act as a filter for what’s valuable in your application for a user.

The common thread is “aggregated opinion”. Quoting Porter:

Digg and other aggregation systems rely on the fact that while no individual is right all the time, in the collective a large number of users can be amazingly accurate in their decisions and behavior. Amazon, Digg, Google, Netflix, and many other sites base their recommendations of products, news, sites, movies, etc. on aggregated opinion.

One result of Web 2.0-style applications that use Collective Intelligence is that, to quote Tim O’Reilly, the applications get better the more people use them.

The insights and patterns gleaned from Collective Intelligence are the product of algorithms of various degress of sophistication. Alag lists the following ways to harness Collective Intelligence in your application:

  • Aggregate information lists
  • Ratings, reviews, and recommendations
  • User-generated content: blogs, wikis, message boards
  • Tagging, bookmarking, voting, saving
  • Tag Cloud navigation
  • Analyze content to build user profiles
  • Clustering and predictive models
  • Recommendation engines
  • Search
  • Harness external content – provide relevant information from the blogosphere and external sites

Alag comments that:

Web applications that leverage Collective Intelligence develop deeper relationships with their users, provide more value to users who return more often, and ultimately offer more targeted experiences for each user according to her personal need.

Amazon, Yelp, Netflix, Google Search, Google News,, and Digg are just some of the more popular sites that leverage Collective Intelligence to target relevant content to their users.

Applying Collective Intelligence in your application

Alag states that there are three things that need to happen to apply collective intelligence in your application.

You need to:

  1. Allow users to interact with your site and with each other, learning about each user through their interactions and contributions.
  2. Aggregate what you learn about your users and their contributions using some useful models.
  3. Leverage those models to recommend relevant content to your users.

Joshua Porter refers to these three steps as:

  1. Initial Action
  2. Display
  3. Feedback

He provides the following table to illustrate the different forms these three steps take at various popular social websites:

Collective Intelligence

Let’s see what Josha Porter has to say about these 3 steps.

Initial Action

The first step is for users to add content. Porter takes Digg as his case study.

On Digg, like on many social sites, you need an account to submit stories. Then, the process of submitting stories has two steps.

The first step is to enter the link you’re submitting. This is a normal URL. You also choose the type of content it is: a news story, image, or video. Digg helps people by providing a nice set of guidelines.

After you click “Continue” in step 1, Digg takes a moment to analyze the line to see if it’s a duplicate. This helps keep the system clean. When Digg thinks you’ve submitted duplicate content, it notifies you that the story has already been submitted.

Porter continues:

If the submission is not a duplicate, Digg analyzes the page and grabs any relevant content from it, including the page title, a description, and any images on the page. It then allows you to choose which elements are appropriate as part of your submission. This step makes it much easier to digg content, as you don’t have to do any heavy lifting of grabbing the content yourself.

Finally, Digg checks to make sure that the submitter of content is indeed a human being.

The initial action on Digg is a crucial step in the system. It determines what content is allowed, makes sure the content is unique, adds data that supports the story, and determines how can and cannot submit content. These decisions act as a barrier of entry to the system. The quality of content Digg that receives entry into the Digg system depends on the checks at this stage.

Adding Tags

Some services allow people to tag content, which allows aggregation of the content in additional, helpful ways. Porter uses the example of, which lets you add tags to bookmarks as you enter them into the system.

Aggregate Display

Quoting Porter:

The display of content is crucial to how people will interact with it. If content is displayed prominently then people will consider it more important. Content displayed less prominently will be considered less important.

In general, content is deemed more important when it is displayed:

  • On a home page. The home page is visited the most of any page, and therefore it garners the most attention from both site owners and readers.
  • More often. The more content is displayed and repeated, the more it is considered valuable.
  • At the top of a page. Just like on the front of a newspaper, above the fold is the prime real estate. The top of a web page is where the most important content is placed.
  • Higher in ranked displays. When content is ranked, such as in a “most emailed” list, the content at the top is deemed most valuable.

Porter continues:

When content first gets added to an adapative system, it is usually displayed in an appropriately less prominent location. Digg, for example, has what they call an Upcoming page, which displays all new submissions into the system in reverse-chronological order. These freshly-submitted stories stay on the upcoming page a short period of time, getting pushed off in favor of even fresher content. The Upcoming page is crucial to the functioning of the Digg site because it forces each story to gain its own popularity.

All of these stories aspire to reach the Digg home page, the ultimate place for grabbing attention, where they will be seen by thousands of people in a very short period of time. In fact, the burst of attention resulting from being on the Digg homepage often makes the site unreachable. So many people visit the site from Digg that the web server is overwhelmed and either slows to a crawl or breaks outright.

Types of Aggregation Order

Porter goes on to list some of the more popular ways that applications built for collective intelligence display content to their users to ensure that it is relevant and compelling to their audience. These are:

  • Chronological order
  • Popularity within a time range
  • Participant ranking
  • Collaborative filtering – filtering content based on your preferences and the recommendations of others
  • Relevance
  • Social
  • – displaying content based on who it’s from

  • User-based views – so the user can see their own content


Types of Feedback

Finally, social applications that leverage Collective Intelligence are dependent on feedback to provide value. Porter highlights some different types of feedback: Implicit vs. Explicit, and Positive vs. Negative.

I’ll quote Porter’s comments of Implicit vs. Explicit feedback:

Typically, a combination of implicit and explicit feedback is used to create a picture of popularity. For example, Amazon’s bestseller list (based on implicit feedback) also show ratings (based on explicit feedback).

Implicit feedback is based on user behavior that is captured while someone moves through a site. Examples include downloading, bookmarking, and purchases.

Explicit feedback comes from someone’s explicitly-declared preferences, including ratings, reviews, and comments. While this sort of feedback tends to be more accurate in reflecting user taste, it also requires more work from the user and so less data can be collected.

Make Feedback easy

Finally, Porter has a few words to say about the importance of making feedback an easy, simple task for the user.

In Summary

Wow, that was a decent-sized post as well. So that’s a brief journey into how some of the more popular sites on the web leverage collective intelligence to keep their users engaged, and deliver interesting and relevant content.

In the next post, we’ll look at one more chapter from Porter’s book, that being devoted to application functionality designed to make it easy to share content with your friends and the world.


Also in this series

Defining Requirements for Social Web Applications – Part 5: Motivations for User Participation

November 14, 2009 6 comments

This is the 5th post in a series on Defining Requirements for Social Web Applications. As with previous posts in this series, the content is largely borrowed from Joshua Porter’s book Designing for the Social Web.

Click on the following links to access previous posts in this series:

User Motivations for participating on Social websites

In Chapter 5 of his book, Porter asks the question “so what motivates people to participate on a social website anyway?” Ofttimes on the social web, a user is not primarily motivated by monetary incentive, but rather is seeking to accumulate a form of social capital – to be recognized and appreciated by his/her peers and social communities.

Porter offers the following list of motivations that inspire people to participate on a social website:

  • Identity – People use social web apps to manage their identity within their social groups
  • Uniqueness – People use social web apps because they feel that their contribution is unique and valuable
  • Reciprocity – People participate because they either want to give back or because they expect others to give back to them
  • Reputation – People participate to build their reputation and improve their relationships with others
  • Sense of efficacy – People participate in order to do good work and have a positive effect
  • Control – People want control over how their information is shared and displayed
  • Ownership – People participate because they feel a sense of ownership over their content online
  • Attachment to a group – People seek to find like-minded people who share the same values and/or activities
  • Fun – It’s fun to participate and play

Let’s see what strategies Joshua Porter has up his sleeve for addressing these key motivating factors for participating on the social web.

Enable Identity Management

Identity is at the heart of the social web. Your online identity is your “face” to the social communities you participate in. It’s also a “handle” with which to:

  • Enter into conversations with others
  • Associate your actions on a website
  • Link to things you are interested in
  • Track the history of your activity on a website
  • And a means by which users are held accountable for their behavior on a website

There are two key constructs associated with User information: User Accounts and User Profiles. Let’s explore User Profiles a bit closer.

Profile Pages

Porter points out that User Profile Pages often contain several of the following:

  • A unique avatar (photo/handle)
  • A short biography or about section
  • Appropriate demographics (age, location, etc.)
  • Activities or accomplishments
  • A list of the latest activities involving the person
  • Likes/dislikes
  • Friends list
  • Group affiliations

When it comes to user profiles, Porter points out that “profiles work best when the elements they contain are aligned with the purpose of the application”. He contrasts User Profile pages from three very different applications:

  1. LinkedIn – a social networking application for business professionals
  2. PatientsLikeMe – a site for people with similar medical conditions, and
  3. Amazon – the popular online shopping website

Sure enough, exploring the profile pages for these three sites reveals very different information, each appropriate to their specific niche.

Show what’s happening

Porter comments:

As social web applications became more popular over the last few years, designers started to realize that profiles suffer from being too static … they grow old fast.

Therefore, several new features that display dynamic content have emerged to address the problem.

  • Lifestream – Aggregates and displays the latest activity from all sources
  • Comment wall – A list of comments left by visitors for all to see
  • Status – A small statement that describes your current status (e.g. “writing a chapter in my new book”)
  • Notifications – An announcement that something of interest has happened (invitations, birthdays, holidays)

Emphasize the Person’s Uniqueness

Quoting Porter:

Be sure to reinforce how unique someone’s contributions are or will be. What might they add that other’s can’t. In any given niche, what distinguishes a person as unique?

There are many excellent examples on the web of sites that promote uniqueness. The goal here is to create a user experience that is highly-customized to the user’s preferences based on both explicit and implicitly-provided information. This is where collective intelligence comes in, a topic that will be explored in a later post.

Leverage Reciprocity

Reciprocity means exchange for mutual benefit. Porter advises:

If you can design an interface to elicit a feeling of reciprocity, people will feel they should contribute because they have benefited from other’s previous contributions.

Porter provides 2 examples of sites that leverage reciprocity on their websites – Yelp and LinkedIn. Buy the book to glean additional insites into how these sites elicit reciprocity from their users.

Allow for Reputation

In this section of Chapter 5, Porter has additional gems of insight. I’ll just share one passage where Porter lists some of the powerful reputation features that Yelp has on its site. They are:

  • Number of friends
  • Number of reviews written
  • Ratings of reviews written
  • Number and quality of comments from other members
  • Number of Fans
  • Number and quality of compliments from other members
  • Number of Firsts
  • Member Since
  • Elite Squad Member

Porter also reviews the eBay, the online Auction site, and explores their reputation system which is based on something eBay calls a “Feedback Score”. Again, if you’re interested in the details, pick up a copy of Porter’s book.

Promote a sense of Efficiacy

Quoting Porter:

While reputation is what people say about you, efficacy is your own sense that you’re being productive. In many cases these two things to hand in hand. The more your reputation grows, the more productive you feel.

A sense of efficacy (pronounced EFF-icka-see) is the feeling you get when you’re doing good work, and having a positive effect on the world around you. Efficacy is an important factor in some people’s decision to participate: sometimes they’ll only participate if they feel they can make a difference.

… Designing for efficacy means focusing on elements that provide feedback to people about how valuable their contribution was.

Provide a sense of control

I’ll brush over this one, the point being that giving the user a feeling of control over what information they share – basically privacy options – is important to users.

Confer Ownership

A brief passage from Porter’s book which sum up his essential thoughts on the matter:

The mere name MySpace confers a sense of ownership. It has its audience thinking: this is my online space. I can do what I want with it. YouTube takes the other tack, using the word “you” instead of “me”, but the result is the same. It’s yours, you own it, do with it what you want.

Both sites confer ownership to their audience. They make it clear that this space is their property. Using words like “my” or “your” may seem like little more than rhetoric, but there’s real psychology at play here. These sites are leveraging what’s called the Endowment Effect. The Endowment Effect is the tendency of people to value things more once a sense of ownership has been established.

Show desired behavior

Porter comments briefly on Yelp’s efforts to promote desired behavior on its site:

Yelp takes pains to promote certain profiles whose owners behave as model citizens. They tend to have huge numbers of friends, lots of reviews, and other gaudy numbers that represent success on the site. It’s clear the designers at Yelp want to promote desired behavior in the hopes that others would see and emulate it.

For example, on its homepage, Yelp places a “review of the day”. Invariably, the review is written by a reputable member of Yelp who has amazing profile numbers. When newcomers see this review, they learn what behavior is appreciated. They learn by observing what happens.

Attachment to a Group

The desire to join groups of other people of similar interests is a common motivation for participating on the social web. Yahoo, Google, and MSN Groups are examples of large applications dedicated to supporting groups.

Of course, as Porter points out, you don’t need to use “group” software to be part of a group online. Groups, or communities, are really at the heart of the social web.

In Search of Passion

Quoting Porter:

Once you have a number of people who use your web site on an ongoing basis, your hope is to get at least a few of them to become passionate users. It’s these people who then support new people interested in your service and are always telling everyone how wonderful you are.

But I think the following quote from Porter might be my very favorite of the whole book, where he quotes Kathy Sierra (who I first came to appreciate through her contribution to the Head First series of software development books):

Kathy Sierra, who writes the Creating Passionate Users blog, says a big part [of creating emotional attachment to a site] is helping your users learn. If you can help people learn about their world (and assuming your software makes sense in that world), then you empower them to see themselves in a better light.

I like that.

Just for Fun

Finally, a major reason people participate online is simply because it’s fun.

Next up, Collective Intelligence.

Also in this series

Defining Requirements for Social Web Applications – Part 4: Defining Core User Actions

November 14, 2009 3 comments

This is the 4th post in a series on Defining Requirements for Social Web Applications. As with the other posts in this series, the content is largely borrowed from Joshua Porter’s book Designing for the Social Web. Porter’s book is a gem, and if the topic of social web design is of interest to you, I highly recommend you pick up a copy.

This post will be a bit longer than most, but hang in there, it contains some great content (hopefully!).

Click on the following links to access previous posts in this series:

Define your Core Feature Set

According to Porter:

After identifying the primary activity and the objects people interact with, you’re ready to start creating your core feature set. Your core feature set is the set of possible actions that people can do in your application. They define what activity goes on, the possible interactions between people, what can and – sometimes just as importantly – cannot occur. Choosing features is one of the most important steps in defining what a web site is going to be.

Finding your Verbs

How do you define the “core features” of your application? Start with your objects, your nouns. Observe all the actions people do with/perform on those objects, and those are possible features for your application.

Jyri Engestrom calls this step “finding your verbs”. Given a noun, what actions are associated? The answer is a set of verbs.

Porter provides the following examples of finding verbs:

Finding your Verbs

Many of these verbs, says Porter, will translate directly into features. If you’re building a video site, for example, you’ll likely have features to upload a video, play the video, and share the video. This simple step is where the most valuable features come from.

Porter also points out that the verbs and both personal and social. This is to be expected, as we interact with objects on both a personal level and a social level.

Porter illustrates the key social objects and verbs displayed on a YouTube page:

YouTube Social Objects and Verbs

Collections of Objects as Features

Pay attention to any collections of objects, advises Porter. They can often become valuable features. Take lists for example. Quoting Porter:

One important collection is lists. Are people making lists? What of? How are they organizing and managing information?

Here are some common common ways that people collect things:

  • Wish lists
  • Shopping carts
  • Favorites
  • Shared items
  • My stuff (restaurants, reviews, bookmarks, etc.)
  • Friend’s stuff
  • Projects

Once you have an idea of the collections that people make, give them ways to manage the collection. Again quoting Porter:

What actions (verbs) do they perform on the collection? This will probably mean providing people with ways to add, edit, and delete items from the collection, and perhaps even treating the collection as an object itself, with features such as sharing and a permalink.

Case Study: Amazon’s Social Features

Porter next explores the social features on Amazon’s website in the context of his AOF method. Take note of the tremendous number of social features on Amazon’s site to help make shopping easier (sorry if the visuals are a bit blurry, you should still get the idea):

Amazon's Social Features

Amazon's Social Features 2

Amazon's Social Features 3

Note that we can see most of the actions support the most important object, products. Amazon has focused most of their time and energy there. But they have also identified other important objects central to the activity of shopping, and include features to support those.

Prioritize your Features

Porter doesn’t mention this in his book, but it’s important to prioritize your features, particularly if you are doing agile-style development, and plan to deploy your features incrementally. Not all features will be equally important to your users. Identify which features are core to your application, and be sure to focus on getting those right first.

Up next …

Social Objects are great, and the key activites you perform on them will form the core of your application. But what motivates users to participate on social websites? What’s in it for them? The next post will explore the key topic of user motivation for participating on social websites.

Also in this series

Defining Requirements for Social Web Applications – Part 3: Social Objects

November 13, 2009 11 comments

This is the 3rd post in a series on Defining Requirements for Social Web Applications. As with the other posts in this series, the content is largely borrowed from Joshua Porter’s book Designing for the Social Web. Porter’s book is a gem, and if the topic of social web design is of interest to you, I highly recommend you pick up a copy.

Click on the following links to access previous posts in this series:


“Social object” is a term founded by sociologist and Jaiku foun­der, Jyri Enges­trom. Engestrom is currently a product manager at Google. Engestrom coined the term “social object” in this blog post in 2005, and it since become a core concept in social website design. I’ve blogged previously on Engestrom and social objects here, which includes a link to a presentation given by Engestrom at Web 2.0 Expo 2009 in San Francisco.

So what is a Social Object?

“Social Objects” are the things in this world that we share in the context of our social experiences. More specifically, a social object is some “thing” we share with others as part of our social media experience on the social web.

If you look around at the dominant Web 2.0-styles websites – YouTube, Flicker, Yelp, Wikipedia, Netflix, Digg, Amazon, Slideshare, etc. – each site facilitates social experience around some particular social object. Here’s a nice visual from Porter’s book that lists some of the Web’s most successful applications, and their associated social objects.

Social Objects

Social objects, says Porter, are often overlooked in the attention given to Social Networking sites such as Facebook and Twitter. He quotes Jyri Engestrom from a 2005 blog post on the topic:

The term “social networking” makes little sense if we leave out the objects that mediate the ties between people. Think about the object as the reason why people affiliate with each specific other and not just anyone. For instance, if the object is a job, it will connect me to one set of people whereas a date will link me to a radically different group. This is common sense but unfortunately it’s not included in the image of the network diagram that most people imagine when they hear the term “social network”. The fallacy is to think that social networks are just made up of people.”

Identify your Social Objects

So the next step is to identify the key Social Objects in your social application – photos, listings, news stories, products, or even knowledge itself, as in the case of Wikipedia.

Give Social Objects a URL

This is somewhat more of a design concern that a functional requirement of the application, but each individual instance of a social object should be represented by a unique , user-friendly URL. Porter lists the following reasons for given each object a URL:

  • URL’s make object shareable
  • URL’s make objects easier to find and re-find
  • URL’s allow people to link to an object directly
  • Search engines like URLs

So now that you’ve identified the core social objects in your application, it’s time to identify the core features that your application must support. This will be the topic of the next post.


Also in this series

Defining Requirements for Social Web Applications – Part 2: The Framework

November 12, 2009 6 comments

This is the 2nd post in a series on Defining Requirements for Social Web Applications. Click on the following links to access previous post in this series:


This post will present a general approach for defining requirements for Social Web applications. As with the other posts in this series, the content is largely borrowed from Joshua Porter‘s book Designing for the Social Web. Porter’s book is a gem, and if the topic of social web design is of interest to you, I highly recommend you pick up a copy.

The single most important factor in specifying requirements for any product or application is to focus on how your users will use the application. This includes both the core use cases (or user scenarios), as well as the key requirements for user interaction.

Chapter 2 of Porter’s book introduces a framework for Social Web Design. He starts out by emphasizing the importance of staying focused on the “core” use cases for the social application, and being careful to avoid scope creep, and saddling your application with a whack of non-essential features. This involves prioritizing the overall feature list, and focusing on the essentials.

The AOF Method

Porter provides a very nice framework for identifying core social application requirements which he calls the AOF method, where AOF stands for Activities, Objects, and Features.

The AOF Method is comprised of 3 key steps:

  1. Focus on the primary Activity
  2. – The first question you must answer is what is your audience doing?

  3. Identify your social Objects
  4. – Once you’ve got the activity down, you have to identify the objects that people interact with while doing that activity.

  5. Choose your Feature set
  6. – From the activity and objects you can derive a core feature set, answering the question: What are the actions people perform on the objects, and which are important enough to support in the web application?

Focus on the Core Activities

Porter communicates that a common refrain when doing requirements analysis is “know your users?” He points out, however, that more important that knowing all about the people who will be using a social application is having a deep understanding of the specific activities that the solution will enable.

Actually, Porter advocates focusing on a “single” core activity – for example, with Amazon, it might be “shopping for books”, with Flickr it’s photo sharing, and so on. But I’m going to allow for some leeway here, and allow for a small set of core activities that the site might support.

Once you’ve defined your small set of core activities, you should focus deeping on the tasks your users will take to succeed in accomplishing these activities.
Quoting Porter:

We should know all the steps taken in performing the activity, the decisions people need to make at each step, the influencing factors in those decisions, and what types of roles people are in when making them.

Goals, Tasks, and Activities

Porter writes:

It’s helpful to distinguish between goals, activities, and tasks. Goals are end conditions people are striving for. Activities are the set of tasks people do to achieve their goals.

Many times we focus too much on tasks instead of the larger activity. Instead of focusing on the task of “purchasing goods”, it is more beneficial for design purposes to focus on the activity of shopping, as it better describes what’s really going on.

Thinking on the level of activities allows us to focus on both the details of tasks as well as the overall goals of the people who use are software. Activities also allow us to take into consideration the social interactions we participate in when we solve problems, whether getting recommendations from trusted people or asking perfect strangers what they would do.

Here’s a nice chart provided by Porter that distinguishes between goals, activities, and tasks for some popular social websites:

Goals, Activities, and Tasks

While Porter is talking about identifying key social application activities here in the context of developing applications, the same analysis should go into acquiring packaged applications to deliver valued user experiences. If you don’t carefully consider the key activities that your application must support, and the user experience of how those activities are fulfilled, there’s very little chance that you’ll deliver experiences to your users that delight them.

Next up, Social Objects

Having established a method for defining user requirements for your social application, the next post in this series will delve into the heart of the matter – identifying and describing your Social Objects.

Stay tuned.


Also in this series

Defining Requirements for Social Web Applications – Part 1: Overview

November 12, 2009 9 comments


I’m going to be posting a series of posts over the next couple of weeks around defining requirements for Social Web applications.

My posts will almost entirely reference the book Designing for the Social Web, by Joshua Porter. It’s an absolutely wonderful treatment of designing applications for the social web, and if the topic is of interest to you, I highly recommend you pick up a copy.

My slant will be ever-so-slightly different from Porter’s, in that I’m specifically interested in defining requirements for social web applications. And every-so-often, I’ll slightly tweak his presentation of the material. But the difference in emphasis is so minor, that it’s pretty much a mute point.

Here’s an overview of some of the topics I’ll be covering, based on Porter’s book:

  1. The Rise of the Social Web
  2. Defining Requirements for Social Web Applications – A Framework
  3. Understanding Social Objects
  4. Defining core Users Actions around Social Objects
  5. Motivations for User Participation
  6. Defining requirements for Collective Intelligence
  7. Defining requirements for Sharing

Setting the context – the rise of the Social Web

The (somewhat obvious) premise of this series of posts is that the rise of Web 2.0-style applications such as YouTube, Facebook, Twitter, Flickr, Yelp, and so forth has profoundly changed what users expect from a web application. This shouldn’t be a surprise to anyone who has been on the web in the past several years.

Here are a just few important ways that users’ expectations and behavior have changed with the emergence of Web 2.0-style social applications, as outlined in Porter’s book (wording changed slightly as appropriate for the context):

  • Web 2.0-style sites don’t always provide the most valuable information on their site
  • – Instead, users contribute content, reviews, comments, and other rankings, and these appliactions provide them the tools for doing so.

  • People contribute their content without getting paid
  • – There is (typically) no monetary reward for uploading content and providing feedback.

  • People are not being managed in any tangible way
  • – This incredible contribution of user-generated content is no being managed. Individuals are acting independenly of one another, and together provide an amazing resource.

  • People interact with this user-generated content in a social context
  • – They look to the opinions of their friends, people of similar interests or who are “like” them in some way, and to strangers they will never meet.

  • People openly identify themselves

The point being, the Web has changed since the days of the dot com bust. The Web has become social.

Future posts will elaborate on what this means for the capabilities that users expect from social software, and suggest techniques for capturing these requirements.


Also in this series