Skip to main content

Open Source Bridge - Activity Streams, Socialism, and the Future of Open Source

Chris Messina, Google Google
  • dataliberation.org
    • trying to make it easy for people to move their web data around
    • one of the challenges is figuring out where you can move your data
Generative Structures
  • example: rhizome
    • can self-generate from the root structure
  • jonathan zittrain - the future of the internet and how to stop it (book)
Activity Theory 101
  • promoted by russians from late 19th-century on (vygotsky, leontiev, engestrom)
  • vygostky
    • how to model work to measure outcomes
    • focus on tool mediation -- relationship of single actor to the object of their work
  • scandanavians (engestrom) expanded to include rules, community, roles, culture, social systems
    • can look at very small or very large communities
  • by putting things in relationship to this model we start to see how meaning and cultural understanding grows over time
    • is the work satisfying? do people pursue it of their own volition, or do they need to be coerced?
    • by understanding motivations we can get people to do things
  • social objects
    • people don't connect to each other, they connect through a shared object (jyri engestrom)
    • e.g. flickr -- comments, tagging, metadata, galleries -- photo is mediating artefact
    • flickr has granular settings so people can control what can and can't be done with their photos
  • rules often emerge organically
  • contrast flickr with facebook
    • when you change the rules and surprise people, they react--expectations were betrayed
Examples from Mozilla Community
  • spreadfirefox
  • steven garrity - blog post from 2004
    • called out for help to bring designers into the mozilla community
  • a lot of the imagery from mozilla early on was communist in nature
  • browser wars were at their most heated at this point
  • for mozilla, the "enemy" of IE served as a social object
  • firefox ships november 9, 2004
  • once the browser is out, how do you get regular people to know about it?
    • spreadfirefox born to serve this need
  • "Welcome to Spread Firefox. You are our marketing department ..."
    • "... wrestling control from a monopoly that has let [the web] stagnate ..."
    • "... focus our community's energy on very tangible, specific goals"
  • first goal: 1 million downloads in 10 days
    • threw in game mechanics--kept track of points for clicks on links on people's web site
  • little "take back the web" button changed the game
  • roles
    • volunteering page on spread firefox--articulated very specifically what people could do to help
      • specific tasks for developers, security people, designers, users, etc.
    • had specific teams (webapps, for the record, wordsmiths, ad team, cd bundling team, events, college reps)
      • college reps team--seed firefox to kids who will then install firefox on their friends and relatives' computers
  • rules
    • focus on points people could get when they put getfirefox buttons on their web site
    • mozilla continues this today with their design challenge -- earn badges by contributing
  • mediating artefacts
    • new firefox images based on download milestones
    • people took these and put them on their blogs, modified, made their own
    • mozilla creative collective group
    • finding an interesting balance between the commercial side of things vs. rewarding people who are contributing
  • community
    • blogs, user profiles, affiliates, forums, etc.
    • ad for the new york times
      • 10,000 people donated money
      • all the names incorporated into the ad
    • important to consider how to incorporate collective voice of contributors into the project
  • goals and outcomes
    • "promote openness, innovation, and opportunity on the web"
      • vague, but can evolve over time
    • mozilla drumbeat
      • next generation of spread firefox
      • promoting open web to a wider audience
      • "Mozilla Drumbeat is keeping the web open"
      • images of people used on drumbeat site helps people visualize -- feel they can get involved, put themselves in the photos, make a difference
  • we need to do more to mobilize ourselves into a coherent narrative, bring more people in
    • can't take open web for granted
  • ideas from mozilla apply to open source in general as well as the open web
  • how do we get the open source/open web message to a wider audience?
  • How did the facebook "like" button trump the get firefox button? why was that opportunity not capitalized upon?
  • orwell: "history is written by the winners"
Activity Streams
  • one piece of leverage not currently being tapped
  • how do we leverage the social web and social networking to our benefit
  • activity streams format
    • take all the feeds that already exist in the wild (e.g. rss)
    • when rss was invented, the idea was to provide as little information as possible to route people back to the source site
    • in 2010 rss is still used but we're representing a vastly different type of information when you take into account social networking sites
    • basic model: actor, verb, object
      • e.g. person share link, usera follows userb, developer fork project
    • two formats -- atom and json
    • pretty decent list of verbs and object types that model what's already happening on social sites
  • process
    • inherits a lot from the micrformats community
    • ask why
    • do your homework / document
    • propose
    • iterate / implement
    • interoperate
  • number of sites already publishing activity streams
    • github timeline
    • gitorius also publishes an activity stream, but not in the same way
    • stackoverflow has its own activity stream
      • has verbs already highlighted, but the data isn't available in a way that other sites can use
  • lots of common verbs, activities, and objects between sites that initially seem disparate
  • could for example take stackoverflow's reputation system and create a common way of spanning that across projects
    • could join a project and people would "know" you
    • combine with openid and oauth and things get interesting
Distributed Social Networks
  • people still using single siloed social networks
  • lots of efforts in open source world to solve this (status.net, diaspora, etc.) and they don't interoperate
  • want to create an inclusive model that applies to all these efforts
  • create system in which people can work on what they care about, but also collect around objects regardless of where they exist
  • connect individual to a shared outcome through involvement and engagement in a community, and you get a much greater outcome than someone could achieve on their own
  • this results in a changing of culture
  • if we can do this, we'll be writing the history of open source

Comments

Popular posts from this blog

Installing and Configuring NextPVR as a Replacement for Windows Media Center

If you follow me on Google+ you'll know I had a recent rant about Windows Media Center, which after running fine for about a year suddenly decided as of January 29 it was done downloading the program guide and by extension was therefore done recording any TV shows.

I'll spare you more ranting and simply say that none of the suggestions I got (which I appreciate!) worked, and rather than spending more time figuring out why, I decided to try something different.

NextPVR is an awesome free (as in beer, not as in freedom unfortunately ...) PVR application for Windows that with a little bit of tweaking handily replaced Windows Media Center. It can even download guide data, which is apparently something WMC no longer feels like doing.

Background I wound up going down this road in a rather circuitous way. My initial goal for the weekend project was to get Raspbmc running on one of my Raspberry Pis. The latest version of XBMC has PVR functionality so I was anxious to try that out as a …

Setting Up Django On a Raspberry Pi

This past weekend I finally got a chance to set up one of my two Raspberry Pis to use as a Django server so I thought I'd share the steps I went through both to save someone else attempting to do this some time as well as get any feedback in case there are different/better ways to do any of this.

I'm running this from my house (URL forthcoming once I get the real Django app finalized and put on the Raspberry Pi) using dyndns.org. I don't cover that aspect of things in this post but I'm happy to write that up as well if people are interested.

General Comments and Assumptions

Using latest Raspbian “wheezy” distro as of 1/19/2013 (http://www.raspberrypi.org/downloads)We’lll be using Nginx (http://nginx.org) as the web server/proxy and Gunicorn (http://gunicorn.org) as the WSGI serverI used http://www.apreche.net/complete-single-server-django-stack-tutorial/ heavily as I was creating this, so many thanks to the author of that tutorial. If you’re looking for more details on …

The Definitive Guide to CouchDB Authentication and Security

With a bold title like that I suppose I should clarify a bit. I finally got frustrated enough with all the disparate and seemingly incomplete information on this topic to want to gather everything I know about this topic into a single place, both so I have it for my own reference but also in the hopes that it will help others.Since CouchDB is just an HTTP resource and can be secured at that level along the same lines as you'd secure any HTTP resource, I should also point out that I will not be covering things like putting a proxy in front of CouchDB, using SSL with CouchDB, or anything along those lines. This post is strictly limited to how authentication and security work within CouchDB itself.CouchDB security is powerful and granular but frankly it's also a bit quirky and counterintuitive. What I'm outlining here is my understanding of all of this after taking several runs at it, reading everything I could find on the Internet (yes, the whole Internet!), and a great deal…