I suspect it comes as no surprise to any developer if I say that “Facebook”:http://www.facebook.com 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 ShipIt VI with my “Atlasbook”:http://atlassianblog.wpengine.com/developer/2007/09/atlassian_fedex_day_vi.html 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”:http://www.jira.com 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.
h2. 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).
h2. What does it look like?
OK, enough text – here’s what the portlet looks like at the moment (with a little amusing test data):
h2. 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”:http://www.jira.com 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”:http://confluence.atlassian.com/display/JIRAEXT/FishEye+for+JIRA (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.