The Stream plugin lets you track all WordPress user activity

streamStream is a WordPress plugin by X-Team that allows site owners to track all activity on their website. The free version of the plugin was released in December of 2013, and this last weekend they announced their first commercial extensions.

I’ve been wanting to try Stream for a while. For one, I could use the functionality here on Post Status. Secondly, I knew that Stream was a significant business decision for X-Team, who does WordPress and Drupal consulting; they are also the latest addition to the WordPress.com VIP partner list.

Headquartered outside of Melbourne, Australia, I had no idea that X-Team had 100+ employees. Like a number of companies in the WordPress space, they are a distributed workforce. Nevertheless, I particularly took note of Stream when Japh Thomson, former Envato WordPress evangelist, announced he was moving to X-Team to work on Stream full time.

How does Stream work?

Stream is basically an activity log of everything that happens on your WordPress site. You can track activity for particular users, or by post type, for comments, various plugin settings, core settings changes, and (quite literally) everything else.

If you change the database, Stream will grab and log the change.

stream-records

Of course, a couple of concerns popped up to me immediately with that notion. First, I wanted to know, is this going to be a database hog? Stream has a few ways to handle this. Administrators can limit the number of days records are kept (the default is 90), or they can choose to exclude certain types of data from the records (like comments).

There are a number of settings that users can configure for stream.

stream-settings-page

For those that choose to limit the number of days records are kept in the database, one of their first commercial extensions, Data Exporter, will appeal to you. Though I’d love to see that export happen automatically so that users can always keep their history in Dropbox or similar.

Another commercial extension option that excites me is the one for custom notifications. Administrators can create custom notifications, sent by email or via push notification, and get notified of custom events. For example, here’s one that will now send me emails when someone creates, publishes, or updates a published post on my site.

stream-custom-notification

Pricing for Stream club memberships

Stream has a model I approve of. Often times single-site license plugins don’t include extensions. With Stream, all add-ons are included for every license. The only differentiators between the single-site license and the business and developer licenses are priority support and the number of site licenses.

steam-pricing

Running Stream on Post Status

I decided to install Stream yesterday morning, and ran it on this site for the day. At the end of the first day running the plugin, I was generally impressed, but also had a few things I would change. So I hopped on their Github issues and gave some feedback. I was blown away by the response by X-Team.

In the four issues I created, I’ve had at least five members of X-Team weigh in, all in just a few hours. It’s clear to me that Stream is a serious endeavor for them.

Also, don’t take my note about creating four issues as a critique of the plugin’s quality. It’s a great plugin. My feedback included only one minor bug, and the rest were feature and UI enhancement recommendations. This is clearly a high quality plugin, and their team is first rate.

I was impressed enough that I bought the commercial version of Stream this morning. I’m really excited about the notifications feature. In fact, I just used it to find out that Post Status contributing editor Travis Northcutt published some news, minutes after I created the notification.

The future of Stream

The applications for Stream are many. There’s a lot you can do with this kind of site data at your fingertips.

The immediate application I see is for agencies doing consulting. Detailed and filterable site activity is a great way to quickly eliminate causes of problems when clients come to you for support.

However, I also see how this plugin could be extended and utilized by other plugins to track all sorts of metrics. When I think how it could apply to eCommerce, forums, or user interaction heavy applications, it makes me very excited. And I’m told by X-Team that plugin integrations are indeed on their roadmap for future extensions.

I’m also interested in some of the front-end facing potential applications for Stream, particularly by using the private JSON feeds that Stream can create per-user. Detailed profile information and activity trends could theoretically be created and shown to site visitors with that data.

Finally, I love knowing that folks as thoughtful as Japh Thomson are working on this product full time. I’ve always respected Japh’s work, and it’s a testament to X-Team that they’ve hired him to focus on Stream. He shared the following with me:

We’re very excited about Stream! We think that unlocking the history of your WordPress site is empowering, and we’re lucky to be able to give that to users for free.

And I agree, the free functionality is nice, and I’m sure they’ll continue to build on that.

But to me, the real potential for Stream is in the future. And I look forward to seeing what they come up with.