Social Network Design Patterns and Anti-Patterns

From GetSemantic

Jump to: navigation, search

Building a social network? Please don't. There are enough of them already.

If you really have to, follow these principles. These are just good and bad practices. Social networks should have a purpose too, otherwise they just end up as Yet Another (Pointless) Social Network. You can play along at home too - check social networks off on the following criteria and see how well they do.

[edit] Plus

  • Publishes RDF data - FOAF, SIOC etc. (+10)
  • Publishes hCard on profile pages (+5)
  • Publishes XFN for friends lists (+5)
  • Makes data available from an open API (+5)
  • Publishes RSS/Atom feeds (+3)
  • Publishes JSON data (+3)
  • Publishes "POX" (Plain Old XML) data (+3)
  • Publishes hReview (+5)
  • Publishes xFolk (+5)
  • An unofficial source is available for RDF data (+5)
  • An unofficial source is available for hCard/XFN (+5)
  • Lets you import your social network from RDF (+5)
  • Lets you import your social network from hCard/XFN (+5)
  • Developers actively contributes to standards development - eg. microformats, FOAF etc. (+5)
  • Company has published source code under the GPL (+5)
  • Company has provided funding, sponsorship or venue for BarCamp or similar community events (+2 note: maximum - sponsoring lots of BarCamps will not make your site's problems go away)
  • Allows you to login with OpenID (+10)
  • Is an OpenID provider (+3)
  • Provides a UI to help users sign-in from other networks (eg. Pibb.com) (+5)
  • Valid, well-structured, semantic (X)HTML (+3)
  • Uses well-designed URI structure (+3)
  • Fully RESTful (+5)
  • Allows users to declare their content licenced under Creative Commons (+5)
  • ...and publishes relevant metadata using RDF, rel-licence or both (+5)
  • Embeddable blog 'widgets' etc. are written using valid, well-structured, semantic (X)HTML (+5)
  • Gender options are not limited to a binary choice (eg. Pownce) (+5)
  • Provides functionality using Google Gears (+5)
  • Follows the "Hijax" design principles for accessible JavaScript with usable fallback (+5)
  • WCAG Level A (+5)
  • WCAG Level AA (+10)
  • WCAG Level AAA (+20)
  • Flash use is done appropriately, and accessibly (+5)

[edit] Minus

  • License disallows reuse outside of network (-10)
  • Users or developers have been discouraged from reusing data (-10)
  • Scrapers have been actively disabled by developers (-10)
  • Network actively co-operates with flawed DRM/DMCA bullshit (eg. YouTube/Viacom) (-10)
  • Network uses "import from address book" anti-pattern (-5)
  • Network uses "import from address book" anti-pattern and spams friends (eg. Quechup) (-20)
  • Stores passwords in the clear (-5)
  • Has created proprietary version of otherwise open technology (-5)
  • Has closed, "invite-only" betas (-3)
  • Locks out users based on browser sniffing or features (-5)
  • Claims to provide a blog or blog facility but does not provide RSS/Atom feed (-5)
  • Claims to provide a podcast or podcast facility but does not provide RSS 2.0 with enclosures feed (-10)
  • Uses the phrase "user-generated content" (-5)
  • Uses the "javascript:" pseudo-protocol or other similarly JavaScript bad form (-5)
  • Flash use is done inappropriately, inaccessibly or otherwise irritatingly (-10)
  • Joe Clark has written a blog post about how inaccessible your site is! (-10)
  • Use unrelated XML schemas to badly represent data, then claim openness. A friends list is not a feed. (-3)

[edit] See Also

This is blatantly and proudly ripped off from the work done by the Microformats community, specifically mf:social-network-anti-patterns, but done in anger after joining Yahoo! Mash and finding it quite, quite boring.

Personal tools