Best Practices for Social Design: Annotating Google

Recently noted and annotated the new Google best practices. I followed his link and found a strange […]

Recently noted and annotated the new Google best practices. I followed his link and found a strange engineer-ese document full of treasures. I started reading it, then started commenting on it, then life intervened and here we are, a month later but hey… it’s not like this stuff has changed that much.

Here are my thoughts on the best practices.

  1. Engage Quickly
  2. Google: “Across containers, there’s a common tendency for a user to take a chance on an unknown application, and shortly thereafter remove it if no immediate value is found….” it gets better, but whoa… containers?

    Josh: “my interpretation: provide value within 30 seconds”

    Tanya Rabourn wisely said, in an answer to my LinkedIn Question about Social Design Challenges

    “Designing for when there is “no there there.” The users supply the content. However, the site needs to make sense and be compelling to those initial users who arrive when things are a bit sparse (otherwise you have no chance of it growing of course). In addition, a new user who joins the site (at any stage of that site’s growth) should be able to understand how it works and see the site’s value. They have to be motivated to do that initial work to become a part of the site before they’ve made a number of connections (or contributed content). Frequently those two types of experiences are overlooked in favor of imagining every user experience being that of a long-time user on a mature site. But if those initial experiences aren’t pleasant, the site won’t ever reach that stage.”

    Google is wise in noting this is true of *all* applications, not just social ones. But it is particularly problematic, as Tanya points out, for applications are shaped by the users. It’s a chicken-egg problem, and there are multiple approaches to solving it. Joshua stands by his general principal of provide value *without* the network as well as with; i.e. is a bookmark tool without the network, a discovery tool with it. Another approach is “seeding” or inviting a small group of highly productive individuals to use for pay or love (or a mix of both.)

    Google recommends

    1. Show value and identity by making the purpose and core features of your application absolutely clear.
    2. Populate the application with fun or interesting content (especially content from friends) that makes for a
      browse-friendly experience.
    3. Make it easy for the user to add content, change settings and feel ownership of the application. This increases a user’s desire to keep the application on his/her profile.

    I think: This is always true. But it is also not enough to simply write at the top of the page “ is spreadsheets online you can share.” That’s not how you “show” value.

    With Social Applications, you should first ask yourself first “what are the use cases” and “what is my context”? This tells you where to put the effort in your design.

      Some example questions:

    • Will people come to the application with a network? i.e. is it a productivity tool for groups such as basecamp. or is it leveraging a pre-existing network they way Facebook applications can.
    • what is the most common experience of the application? Empty? two people? two hundred?
    • what is the least common but completely possible experience of the application, i.e. 2 million people?
    • which experience makes/breaks us _as a company_. In other words, if people come to the site and there is no one there, and therefore they don’t see the point of the site, then they will also leave and the cycle is self-perpetuating. And the funding runs out…

    I’m sure others can think up more questions. But the basic formula is “who are you and what’s important to you” then ordering your activities and the time you spend on each based on those facts.

  3. Mimic Look and Feel
  4. Google: “Across OpenSocial containers there can be a lot of variation in the look and feel of pages and profiles. When designing your application, it can help to attempt consistency with the container UI by using similar fonts, tabs and buttons.”

    Josh: “make your widget look like the page it is in”

    I think: “Look like Facebook” was one of the crystal-clear takeaways from Graphing Social (blogged extensively here.) Widgets should indeed look like (and act like) the page they are on; but moreover there are standard designs and behaviors arising accross social applications that should be copied liberally. Prepopulate invitations. Show contact activity. “Good artists borrow, Great artists steal.”

  5. Enable Self Expression
  6. Google: The profile page in a container is often a representation of a user’s identity, interests and tastes. … Self expression is also enabled through specific forms of communication like gestures and gifts or conversations around special topics.

    I think: This is pretty reasonable (please read the entire paragraph on the Open Social page). The last item caught my eye, though. If you use facebook, you are well aware how collections are very much representations of who you are. For better or worse, in these modern times we are our stuff. Have you reconsidered showing your Netflix queue publicly, because you don’t want to be defined by your need to see Alien vs. Predator or The Pillow Book? Then you know what I mean.*

    Allowing people to display their loyalty via Band Badges, Bumper Stickers and color/font changes is obvious, but people represent themselves in who they select as a top friend (I don’t know Don Norman that well, but I may want him front and center as part of my professional persona) and what book they’ll admit to having read (please don’t out me for finally reading The Long Halloween!.) Not only should you allow self-expression via lists, you have to realize lists are primarily self-expression and make them editable. No one wants too much truth in their profile.

    Annotation: Reading Facebook’s Privacy Default I came across this

    When Blockbuster gives you the popup asking if you want to let your Facebook friends know about your rental, if you do not respond in fifteen seconds, the popup goes away … and a “yes” is sent to Facebook. Wow, is that not what should happen! Not responding far more likely indicates confusion or dismissal-through-inaction than someone thinking “I’ll save myself the click.”

    This is particularly mortifying because that movie will be on your profile, representing you. You might not even want to admit you rent at Blockbuster, pretending publicly you only go to the little indie rental shop across town.
    The price of confusion should not be shame.

    Josh: Let people personalize their widgets

    Yeah, that too. Who wants an ugly widget on their profile?

  7. Make it Dynamic
  8. Josh says: keep showing new stuff

    Google says: Good social applications aren’t only static badges of self expression; they dynamically change to provide an interesting experience across sessions.

    I think: Well,otherwise why would you ever come back? To gaze upon your own wonderousness?

    There are two kinds of updates you want to see: them and me. It’s obvious that you want to know what’s going on with your contacts. What’s less obvious you want want to know what’s happening to you. Not only who wrote on my wall but also who’s looking at my profile? We all have egos, and stroking those egos keeps you coming back.

  9. Expose Friend Activity
  10. Josh: show what friends are doing

    Google: “A particularly easy way to make an application dynamic and social is to record and present the activities of friends who are using the application. ”

    I think: yes. But is there any way to make it more relevant? I have more contacts than acquaintances, and more acquaintances than friends, and even fewer good friends. If the size of my contact list makes me miss a announcement by someone I care about, then I will be sad.

  11. Browse the Graph
  12. Josh: let people explore their friends and friends of friends

    Google says”Exposing the activities of friends is one method among many for passively browsing the social graph. … Browsing the graph can also certainly extend beyond just friends. In some circumstances, it can be interesting to see and interact friends-of-friends, especially when drawn together by shared interests. Creating ways for a user to grow his/her social circle adds value to an application from the user’s perspective by unearthing opportunities for new friends and content.

    I think: This is 99% of why you are on LinkedIn. Who can introduce me to who? Plus it’s strangely fun, especially when you can see shared friends. I imagine wedding planning could get a lot simpler.

  13. Drive Communication
  14. Josh says: provide commenting features

    Google says: Browsing friends’ activities and content often flows well into conversation, creating an opportunity to develop deeper social interaction. In places where communication can happen, it’s good practice to make the option explicitly available

    I think: A while back I was trying to figure if there was a difference between social software/networks and communities, other than Web 1.0 vs Web 2.0 nomenclature. I think it’s communication. If you don’t enable communication, you can’t have community. doesn’t have community. Blogs barely do. Old school message boards very often do. The richer and more egalitarian the conversations are, the richer the communities are. Sure, ya got your flame wars and bad behavior (and if you haven’t read A Rape In Cyberspace, get to it. Those who don’t learn form history…) but you also also have friendship and caring and a way to assuage loneliness. You can’t be so afraid of the bad that you are willing to give up the good.

    In a funny way, it’s a bit like parenthood. Sure you have the diapers and the expense and they daily horror that you are going to ruin someone’s life, but you also have the love, buckets and buckets of love too big for your body to hold, from the moment they smile at you in the morning to the moment they collapse on you at night. Lots of things in life are scary and hard. But do you want to stop living?

  15. Build Communities 
  16. Josh says: expose different axis of similarity

    Google says: A container’s entire social graph is often huge, and even a user’s immediate social circle might be too large for a user to easily track. By growing smaller communities and making them accessible, an application can provide rich and interesting functionality that enhances the overall social experience.

      There are three categories of communities which applications commonly build and utilize:

    • Grouped relationships (e.g. best friends, family, classmates, etc.).
    • Shared interests among a user’s immediate social circle.
    • Shared interests among the entire social graph.

    I think: After the previous diatribe, you know I believe in allowing communication in order to build community. And while it’s quite right to recognize that your social network could use some slicing and dicing in order to be managable, let’s be courageous enough to recognize the communities provide social bonds and emotional treats that encourage return visits. Again, it’s about love folks. Nothing is as sticky as love. Enable love.

      If I “lovified” Google’s list, it might look like this:

    • Remind people of their loved ones by allowing users to designate certain contacts as special, then treat them specially.
      • A corollary: never provide a mechanism for sorting friends unless you do something with it. Not plan to do something with it. Otherwise people will soon stop sorting, and if you do eventually add features dependent on sorting the contacts will be misclassified and who wants to go through and reclassify a 200 person network?
    • Help grow fondness into friendship by allowing people to share their passions
    • Help new friendships blossom in the same way.

    Okay, group hug now folks.

  17. Solve Real World Tasks
  18. Josh: leverage people’s social connections to solve real problems

    Google: Self expression and communication are often fun and entertaining alone, but OpenSocial is also a platform that can be leveraged to solve real world tasks where the social graph assists us in making decisions.
    I think. Almost every piece of software out there could be improved by plugging the social graph into it. Itunes: duh. If only my sister was recommending music to me. Excel: guess what, I want Carmen to look at my projections, and John to look at my spending report. Powerpoint: don’t get me started! Hopefully Social network mappers such as Facebook and LinkedIn will eventually make our social graph exportable so that the wisdom of our crowds can be applied to the mess of our lives (perhaps I’m projecting; my life is plenty messy and I’m looking for all the help I can get.)

    And as Josh has so frequently and wisely pointed out, the reverse can be said: make sure your mapping includes truly useful things to do with those maps, or why would anyone bother? I played with Dopplr briefly, and while it is nice to know who’s visiting my town I get the same effect with way less overhead from twitter. Adding people to a social network is not only work for me, but I also have the guilt of imposing myself on my freinds. You had better make it worth it. (I’m looking at you, Spock.) Otherwise make it an optional aspect of the tool, the way Slideshare has, and focus on the functionality.

As a final word, it’s hard to see what’s truly meaningful to people when you are sitting around with a whiteboard. You can’t understand people with best practices.  Getting out and doing some old fashioned ethnography, going to visit people in their homes and offices, taking the time to get under people’s skin, is one way to really understand what people want from social applications.

Or you could just wing it, use this list, and hope to get lucky.

* I haven’t even been able to figure out if The Pillow Book is porn or art. All I know is Ewan McGregor is a very lucky man.