Paul Roub

A Software Tool Geek in His Natural Habitat

Keeping Up With Your Team via Veracity’s Activity Stream

So far, most of the discussions about Veracity have been about its DVCS abilities. I thought I’d talk a bit about the other side of Veracity, the bug/work tracking side, from the users’ point of view. I’ll start with the Activity Stream.

One choice we made for the initial releases was to forego email notifications as a means of alerting users to new work, updated bug reports, code changes, and so on. There were a number of reasons for this:

  • Since the work item activity is distributed, bugs may be added and updated from multiple machines, sometimes behind-the-scenes, sometimes offline (I’m sitting in an airport right now, waiting to act out the canonical “dev on a plane” DVCS scenario). When should email be sent? By whom?
  • Cross-platform email support would take time away from features we really want in the first release.
  • We all get enough email as it is.
  • There are less-irritating ways to keep people in the loop.

Of course, Veracity has really nice search and filter tools, allowing you to see bugs assigned to you; bugs you need to verify; what’s up for you in the next sprint; any bug mentioning “snickers” or stamped with “SOOPER URGENT”; etc.

But we also wanted to give you a view of what’s going on with your project in a more ambient way, so we added the Activity Stream. Every 30 seconds, if anything new of interest has happened in your repository, it quietly updates to let you know.

Veracity menu - Show Activity Stream

What’s In There?

The activity stream shows you the most-recent 25 things you might care about. In particular, you’ll see:

  • Newly-created work items
  • Modified work items (status changes, comments, relations, etc.)
  • Version control commits
  • Build failures (if your build system is using our reporting scripts)
  • And perhaps more, by the time you read this

Here’s a shot of the last few items in dev@example.com’s activity stream:

Veracity's Activity Stream

What’s Not?

The goal of the activity stream is to be useful, as opposed to complete. If you look at the activity stream side-by-side with our version control history graph, you’ll notice that rev #7 isn’t listed, even though it’s the latest. Why not? Its comment was simply “merge”. That’s not terribly interesting, you probably don’t care, so we hide it. We also hide no-op work item updates, successful builds (our continuous integration setup spins those out constantly, and they’d push the more-urgent stuff off screen), etc.

Activity stream hiding a merge

The “my updates only” option

You can also narrow down the work items shown in the stream to just those that you’re involved with. By checking “my updates only”:

Veracity menu - My Updates Only

you’ll only see work items where your username is either the Reporter, Assignee, or Verifier, or where the item has been stamped with your username.

Veracity activity - my updates only

You’ll still see all commits, since other people’s commits are certainly likely to be of interest to you. You’ll also still see your own commits, which are not likely to surprise you, so that you can drag them around.

Dragging From the Activity Stream

Veracity work items can be related to each other (this depends on that, this is a duplicate of the other, etc.). They can also be associated with version control commits – check in some changes, mark the relevant bug.

All that is nicely searchable in the work item edit page, but when you want to associate with another recent bug, or with a recent commit, why type anything? You’re already looking at that item in the stream, so just drag it into the appropriate slot and Save.

Dragging a work item from the activity stream to relate it to the item being edited

Your Stream in Your Feed Reader

For several of us on the Veracity team, the first we hear of a newly-assigned or reopened bug is when it shows up in our feed reader of choice. The Veracity activity streams for any repository (either the all-inclusive or my-updates-only version) are also served as Atom feeds. The link for whichever version of the stream you’re viewing is always available via the feed icon at the bottom of the stream:

Veracity activity feed icon

Here’s this dev’s full-blown stream:

All Veracity activity in a feed reader

and his mine-mine-mine stream:

"My updates only" in a feed reader

Note that the titles are live links to the relevant Veracity work item, changeset detail, etc. pages.

Keep In Touch

As ever, feedback, questions, and suggestions are very much welcome on the Veracity users mailing list. Drop in.

We’ll also have a booth at OSCON again this July, so stop by, say “hi”, kick the tires, argue about rebase…