Sunday Sessions 2009/Communication
"Communication" discussion, Mark Dexter, Joomla!
Communication is a real challenge; our team is spread out all over the world. We try to do in-person meetups, but that's the exception, not the rule.
Contents |
[edit] Modes of communication
[edit] Synchronous
Chat
Tools: Skype, IRC, Mumble, Jabber/XMPP (e.g., Gmail chat)
- for IRC - supybot allows for recording, archiving chat discussions (e.g. to a wiki)
- IRC - should there be one channel for a project, or multiple projects, separated by functionality (e.g., development, support, usability, etc.)? WordPress has multiple, which works well for them. Drupal has four or five.
- IRC is often used by newbies who are afraid to look ignorant on a mailing list - this is especially true for certain cultures, such as in some Asian countries
- http://webchat.freenode.net/ - you can embed an irc chat "window" into your web site using an iframe
Video/voice/web conferencing/webinars
Tools: Skype, WebEx, DimDim (hasn't worked well) - sadly, no good open-source tools exist yet
- important to record these - the recorded version usually gets a much bigger audience than the live event
screen sharing
Tools: "screen" (text mode only), Skype now offers it, Mogulus/LiveStream
Face-to-face discussions
Telephone
[edit] Asynchronous
- Mailing lists - projects generally have multiple lists
- Helpful to have heads/moderators who can stop discussions that are going nowhere
Collaborative documents
Tools: wikis, Google Docs
- Some projects use these to discuss proposed features, in addition to just documentation.
Bug trackers/issue queues
Tools: Bugzilla, proprietary tools, many others
- For Drupal, this is where almost all development discussion and decisions happen
[edit] Mixed/Broadcast/Miscellaneous
Google Wave
- (This one gets its own category) Looking forward to it! But it appears that the UI still needs work.
Blogs and microblogs
- Blogs are widely used for disseminating announcements.
- Twitter is usually being used for broadcast of new information, not for communication.
Screencasts/video podcasts
Tools: Camtasia Studio, Screenflow, Boinx TV
- TYPO3 usually uses these not for end-users, but to keep the community aware of developments - these often feature interviews with developers talking about their current efforts
- it's helpful to show actual developers on the screen, not just the application
- it's very helpful to have someone, or people, with real video expertise, involved in the process; WordPress/Automattic has one full-time employee just for handling video
- how to handle video interviews with people in remote locations? Various possibilities - record Skype chat (unfortunately low quality), wait until an in-person meeting, or (best practice?) have the interviewee videotape themselves, and have them send that; use only the video (not audio) portion of this recording (audio comes from interviewer).
[edit] Other issues
Decision making
- TYPO3 - decisions are made via mailing list; one or two people need to actively agree with an idea before it can be implemented. Other projects: a protocol exists called "lazy consensus" - if no one objects to a proposed idea, it can be implemented.
Preventing over-communication with busy developers
- one possibility - hold "office hours" - certain times in the week when developers can be contacted and will respond to communications
- some projects don't use IRC/Skype at all, to avoid developers getting bothered, and to try to ensure that all communication happens in public