MeetingBot
Introduction
Successful meetings involve some overhead: creating agendas, assigning action items, producing minutes for later review, etc -- but no one really relishes having to be "the scribe" and write up minutes and whatnot. Since most of our meetings occur via IRC (or IRC + phone), however, it seems like we ought to be able to pretty easily have an agent running in the background, monitoring the IRC conversation, to serve as a "recording secretary" or "administrative assistant" for these sorts of tasks.
I envision a "meeting bot", which can do these basic functions:
- record the IRC transcript of the meeting
- record who attended the meeting
- record assigned tasks
- record notes about agenda items discussed
- automatically generate minutes
It would be nice if the bot could walk us through each item on the agenda, but I don't have a clear notion of the user interface for that yet (would require the agenda be in some XML-like form somewhere...) It would also really be nice if such a bot could also serve as an interface to an issue tracking system. But until OSGeo has a baseline issue tracking system, we oughtn't go there.
Prior art
I'm not an IRC expert and I've never written a bot, but it seems like a fun thing to do (and that is all that this really all about...).
A quick surf of the net found a few things by the WC3 folks close to what I'm thinking of:
I need to research these to see if those things are what I want. Although the above are all Perl, and I'd prefer Python (a la supybot?).
Details
Operation
- lives on the #osgeo channel, 24x7
- restarts itself automatically
- keeps a file-based backing store, in case the bot goes down
Required Features
(this is not the exact syntax, just a rough idea)
- general command: "bot: start the meeting named VisCom"
- starts recording the full IRC transcript of the meeting
- records list of attendees, based on who spoke
- watches for specific keyword-based commands (below)
- general command: "bot: end meeting"
- stops recording transcript
- minutes automatically generated, put somewhere or mailed out
- emails out list of specific tasks to specific owners
- keyword-based commands (detected by the bot, while a meeting is active; might be preferable to prefacing everything by "bot:'")
- "add attendee Alice" - extends attendee list, e.g. if Alice only on phone
- "TODO Bob order new shirts" - records a task for Bob in the minutes
- "NOTE shirts are $15/each" - adds a note to capture in the minutes
- "show attendees|tasks|minutes" - dumps current status of things
Optional Features
- "bot: add meeting VisCom <date>
- "add agenda item ask about getting more shirts"
- "list all agenda items"
- "start next agenda item"
- "bot: show next meeting" -- shows when the next osgeo meeting is
- "bot: show next geodata meeting" -- shows when the next geodata meeting is