• Idea bucket

  last modified October 13, 2006 by cholmes

A place to capture brainstormed ideas for the OpenPlans site (and OpenCore software) so they don't get lost in the shuffle.

See also the latest 6 month plan, 10/2006-4/2007 .

trust and immediate actions -- 10/2006

To-Do Tracker
Yes, there are dozens of issue tracker products out there.  But they're mostly focused on software bug tracking, or relatively complex project management.  While at NetSquared, I got feedback from a number of folks that there is a real need for a simple to-do tracker.  The basic idea is this:  user hits a page, is presented with a list of things that need to be done.  After each item, there's a name for the person (people?) who's claimed the task, or a big red "Unclaimed!".  Each task lists a simple description, you can click on the task to get a more detailed description and a history of what's happened.  There should be no sophisticated workflows (items would either be "unclaimed", "claimed", or "done").  It should be presented in a very user-friendly, web-pagish way, not as a table or a chart.  No classification of items into different categories (although tagging may be supported).  Also, tracker admins should be able to specify a 'notify me' time duration on each item.  If something is unclaimed for this period of time, the admin will get a notifier.  Also, if someone claims an item, but it doesn't get completed before this time period runs out, then admin will get a notifier.
(whit): this prompted two ideas for me:
  1. One was remembering from a past volunteer job the emergency room triage board, basically a white board where anyone not doing anything could see what was going on, and what they could pick up.  As patients stabilized and moved out of the ER, they were erased from the board. 
  2. I'm not a GTD (i.e. "Getting Things Done") cult member, but alot of people know the system. Modeling a basic three tier task handling system using the same model and language would be pretty effective and familar to some of our users.  and GTDers are fanatical about their GTD; so they might be a built in following.
  3. This is a larger problem, but I don't want to go to the site everytime I think of something that needs to be done.  For tasks, many items are oneliners; they could be added via Quicksilver, an IRCBot, a FireFox plugin etc.   Being able to add wicked links and have these additions autotagged(ala haystack) would be a bonus.  
Listen as a REST application
We're making good progress on listen, and it's getting a lot of attention and interest.  One thing that would make it a Killer App™, however, would be if listen mailing lists could be used outside of the openplans.org context altogether.  If we design a nice REST interface to listen, then it would be very easy for someone else to write a client that could expose the entire mailing list interface on any other website.  You would still (at first, anyway) need to have the list itself hosted on a Plone site, but you could embed the list anywhere.  Other web frameworks could write widgets that would allow for trivial integration of existing listen lists.
 Remote project creation
Use case: someone is creating content on another site, perhaps she's posting in her blog.  She decides that she doesn't just want to rant about what is pissing her off, she actually wants to do something about it.  But she DOESN'T want to have to leave her site to do it.  We'd like it to be easy for her to create a project about whatever her peeve is while still within the context of her original site.  Maybe we provide an HTML snippet that she'd include in her page?  A firefox plug-in is another interesting option. 
Partnering w/ Existing Organizations facilitating volunteer intake
Ian, Whit and Rob had a productive conversation about the nature of volunteer intake and the possible ways our system could interact with existing organizations such as http://nabuur.org and http://handsonnetwork.org/.  See this irc log for the raw idea.
Page / Project subscriptions
We'd definitely like to support fancy syndication options, but one thing we should probably move on quickly is allowing for allowing people to subscribe to pages and/or projects, to receive email notifiers in the event there is activity on a certain page, or within a certain project.  A large part of our user population probably isn't even using RSS yet, so this might be a good idea even in addition to more sophisticated syndication support.  Might this be good as one of the training tasks ?
Online Referendums
This functionality would sort of be like voting, but I imagine it as non-anonymous and without a specific start and end time.  It would certainly integrate well with the geo stuff.  Let me give an example:

Let's say I wanted to have people on my block express their opinions on what the correct parking policy on our street should be.  So I set up an on line referendum, and set the participant group to people who just live on West 87th Street between Columbus and Amsterdam, and then I set up a question and a list of possible answers.  e.g.

What should the parking policy on West 87th between Columbus and Amsterdam be?
1. Any can park as much as possible on both sides of the street (like it is now).
2. Only allow residents to park.
3. Saving half the spots on the street for short term pick-up/drop-off.
4. No overnight parking,
5. Only pick up and drop off.

Or something like that.  And that way we could poll the neighborhood to get a sense of what people wanted. 
Put ideas into tickets
That might make them easier to track, including comments, and resolve/assign than in a free-form page like this.
Track page changes through Atom Publishing Protocol
An APP store can be implemented separately, and we could publish all changes in Plone to that store (implemented by listening for change events).  That would give us a feed of recent changes.  That same APP store could accept feed items from sources besides Plone.  It is also possible to implement things like item forwarding (for Planet Planet-like functionality, where one APP store is the aggregate of many other stores), emailing out items, looking for watchwords, etc.  Some resources: APP spec, article on implementing APP in WSGI, Demokritos (a Python implementation of APP by James Tauber), Bright Content (a Python/WSGI implementation by Uche Ogbuji and Julian Kraus).
User Annotation: Flagging content
Basically a higher order function of tagging: marking content with an associated action.  Some possible examples:
  • stale content: notifies owner/reviewer of content, ui change to indicate someone thinks this is stale.
  • Of interest: notifies a particular person that content currently contains something of interest to them(or adds content to a feed for certain amount of time)
Lobbying Support
Give users tools to influence local legislation:
  • Tell users who their congresspeople are.  Also, some sort of contact management for appointed officials.
  • Propose and debate bills or other initiatives
  • Suggest user actions: who to contact, how to write, what to say
  • Geographic integration -- "what are the projects in my area?" 
  • A notion of initiatives -- "this project is now working on the following seven initiatives (and here's what needs to be done on each):..." Maybe this is part of the task manager.
Trust and immediate actions
Ian has some great ideas about users being classified as trusted, and thus being able to bypass certain confirmation checks for such things as subscribing people to mailing lists. They're covered in detail on the trust and immediate actions page.
 Email cc: as versioning
 This is a small idea, and maybe crazy, but could be kind of fun.  Basically recognizing that many people do 'collaboration' by just emailing files around, but versions can get off and things off.  So it'd be nice if this were happening and one could just cc myproject-versioning@openplans.org.  It'd stick it in a 'document repository' if that wasn't in the repository already, and if it was it would update the version there.  That sorta begs the 'document repository' idea, which is another small one.
 Document Repository
This is really just a complete 'branding' idea, since we already have all the parts.  But basically have a featurelet that is 'document repository' that makes a page where people can upload and track their files.  I suppose the one slight change might be to display the attachments to the page more centrally by default.  Maybe just have big instructions at the top of the page or some such.  But basically it could be a nice self documenting type thing to get people to realize that we have nice versioning/tracking/uploading capabilities