JIRA Studio: Stream of Development Consciousness
January 6, 2008 4:29 PMI suspect it comes as no surprise to any developer if I say that Facebook has become extremely popular (not to mention extremely valuable!) over the last year.
The feature on Facebook that has most intrigued me is the activity feed.
For those that don't know, Facebook's feed shows you activity (any form of action taken really) of all your friends across various different functions in a single place. Or alternatively, it looks like this:
Why can't you do something similar for a development team?
I played with this in Fedex VI with my Atlasbook project. While it was fabulously interesting (and could generate all manner of activity feeds), it is a little heavy weight for a normal development team and relied on replicating too much data to be practicable.
So how could we build something similar into JIRA itself?
With our upcoming JIRA Studio service, I've been championing a new feature that shows a stream of activity across various development applications in a single place. We're calling this the "Stream plugin".
I thought I'd blog about it to get some feedback and let you know a little more what we're up to.
How does it work?
Basically, right now we're streaming activity from a series of different applications to be displayed in a series of different places.
The initial activities we're tracking in the plugin are:
- JIRA / Issues - issue creation and commenting, issue modification, file attachment and issue resolution
- Confluence / Wiki - any form of content creation, commenting and editing
- Fisheye / Source Code - source code commits and their comments
- Crucible / Code Review - review creation, comments and closure
To start with, the plugin displays this stream in a number of different ways:
- A project portlet - showing you the stream for a project that you can add to your JIRA dashboard
- A project RSS feed - an RSS feed of updates for a project across all applications
- A project tab panel - a permanent tab on the project's homepage showing the latest updates
Beyond this, in the future we're looking to add per user streams (for a user's profile page for example), Confluence macros (to put an up-to-date stream into any wiki page) and issue focused streams (see the updates across all applications focussed on a single issue).
What does it look like?
OK, enough text - here's what the portlet looks like at the moment (with a little amusing test data):

Where can I get it?
Unfortunately, the answer is you can't quite get it yet - but it's coming very soon.
Firstly, it will be included in the upcoming JIRA Studio service for all customers - already configured, setup and streaming all your project information across all applications.
Secondly, the entire feature is built as a plugin - so behind the firewall Atlassian customers will be able to install it themselves.
The plugin degrades really nicely to handle whatever applications you have. For example if you just have JIRA, it will only show you issue data - but this is still an extremely useful way to keep up with a JIRA project.
As soon as you install the simply awesome JIRA Fisheye plugin (if you're not showing your code next to each issue, you're really missing out!) and point that to your Fisheye / Crucible instance, presto! Commits and reviews will start streaming.
This plugin should be available for behind the firewall customers some time this quarter I imagine.
I hope this has piqued your interest in the potential for viewing your team's development activity stream. If you have any ideas for improvements (or you think the entire idea needs work!), I'd love to hear from you in the comments.



Copyright © 2009 Atlassian Pty Ltd.

8 Comment(s)
Brilliant idea. I've been cobbling a similar stream together from various RSS feeds, but a plugin would be lovely.
By Jack Baty at January 6, 2008 6:47 PM
This totally looks awesome. You stated it will be in Jira Studio this quarter. What about for a local installation of Jira?
By Andy Slezak at January 7, 2008 8:03 AM
At first glance this looks wonderful. In a large or intensely busy project I could imagine it getting noisy. Might be nice to be able to throttle the feed by component, or version, or something like that (understanding that those concepts don't necessarily map beyond JIRA itself).
By Jeff Sussna at January 7, 2008 12:08 PM
Jack - it's more than you can get from RSS feeds because it smartly collapses multiple actions, and also multiple people's actions on the same object (ie "Jack and 3 others commented on XYZ"). It also has a lot more smarts about what exactly is going on - for example "file attached with comment X" rather than "issue updated" and "comment added".
Jeff - throttling it down for different aspects is certainly something we're looking into. The concepts don't necessarily map beyond JIRA itself, but if they tie to issues - then looking at the issues in a component and their effects in the network of applications is probably useful. We're going to explore this in time, but first steps first! Thanks for the feedback though.
By Mike Cannon-Brookes at January 7, 2008 3:13 PM
Andy - we have no defined date for an installable plugin at the moment, but I know the guys are working on it. It requires updates to JIRA, Confluence etc (for example all apps need the Trusted Communication feature - http://blogs.atlassian.com/developer/2007/11/trusted_communication_between.html) - some of which aren't released yet so there are some external factors preventing the plugin itself being released.
If you're brave, as always the plugin is available to be built from source - http://svn.atlassian.com/fisheye/browse/public/atlassian/studio - but warning, it's not a simple task and unsupported at the moment. Recommended only for expert JIRA users (who have the latest CONF/JIRA versions). I'd recommend just watching the RSS feed for now.
By Mike Cannon-Brookes at January 7, 2008 7:22 PM
For those who are watching this topic, but haven't watched the JIRA plugin space, this plugin has been released:
http://confluence.atlassian.com/display/JIRAEXT/Atlassian+Activity+Stream+Plugin
By Michael Shimmins at February 6, 2008 2:51 AM
Mike,
did you use Grails for this? If so, how was your experience? Can you do a write up about that?
Thanks,
By Dmitriy Kopylenko at March 5, 2008 7:45 AM
This is fantastic work and almost exactly what I've been looking for. One thing I'd love to see is support for Twitter like status updates. We've cobbled together a word-press twitter clone for this purpose, but it's a bit clunky and out-of-stream, so to speak. All the same, it has been a great way to increase visibility of what people are working on -- in a daily stand-up kind of way -- within and across teams while staying within the firewall. I also liked the commenting concepts explored over here: http://confluence.atlassian.com/display/DEV/Fedex+8+-+Activity+Stream+Comments.
By Andrew Smith at February 6, 2009 1:33 PM