Contribute On...


Adding new verbs and object types

The process for creating a new verb (or object-type) for activity streams is modeled largely after the microformats process.

  1. Ask why: develop or extract a real-world use case. Solve the simplest problems first, and avoid compounding multiple problems. Ask folks on this list whether the idea has been raised before or search around for previous work. Always attempt to invent as little as possible.
  2. Do your homework: Documenting existing behavior is the first step of the scientific method and it helps to ground our work to what's actually being done. Collect as many examples as you can find, ideally from more than one unique source. Read more:
  3. Propose: if no one is already working on the same problem, and you've documented more than one example in the wild, it's time to start work on your proposal. Keep it simple and to the point; don't try to overspecify or reach beyond what you encountered in the your research. Doing so may harm your ability to gain adoption. Make sure to create the appropriate page(s) on the wiki using templates (see below).
  4. Iterate: Socialize your work and get feedback. Improve your work. Get others to contribute and try things out. It's much better to take a bunch of different approaches to solving a problem then just one — so experiment!
  5. Interoperate: presuming you've asked why, done your homework, made a proposal and iterated, now comes the hard part (and is why you had to do all that other work!). ActivityStreams don't matter much if you're the only one supporting them, so interoperability is key! Though circumstances may dictate otherwise, we prefer to have at least two or more unaffiliated parties using a new verb or object-type before granting them "official" status. That way our lists stay focused, and based on what's actually in the marketplace — rather than what we'd like to see in the marketplace.