We spend a lot of time looking at what makes us different from each other, rather than recognizing our similarities. One commonality we share is “intention mismatches”, where we know and want to “be better at” doing a regular/repetitive task, but yet rarely do, in a focused and sustained manner.
For me, like most of my network, my biggest pain is caused by “daily email management”. Checking for email, reading emails, taking action on emails, and deferring those that need “to be thought about”. Lots has already been written about email management tactics (Inbox Zero, 43folders, etc), I’m not rehashing any of that with this post, merely setting some context as to how this came about.
Another commonality is how we are typically triggered to take action, and how we measure ourselves. Measurements need to be taken regularly and automatically. Across my various business interests, when we log, graph and display the number of open tickets overtime, the support team are automatically motivated in a very different way to resolve tickets as quickly as possible. This gives us empirical metrics of how we are doing over time, are we improving, etc.
For a while now, I’ve been looking for an automated way to log and graph the number of items in my Inbox. There are lots of web services out there that have this ability as part of a more complex set of features. I didn’t want all the other fluff, just the pure metric of “Items in mailbox over time”, and I definitely did not want to be giving access to my mailbox to any sort of cloud/hosted/web service – I needed a self hosted solution.
So, I’ve built my own, and I’ve published the code on github, so you can run your own version.
Graphing my Inbox using GraphMailbox
The graph above is live, and generated by;
<iframe src=”http://hamlesh.com/graphbox/24hours.php” frameborder=”0″ width=”576″ height=”300″>
GraphMailbox uses php_imap to connect to your IMAP server (you can use POP, GMAIL etc too), and logs the number of items into a mysql database. The graphs are generated using the Google Chart API. You set the frequency at which the logging happens, mines set to every hour. You can then construct pages to generate specific graphs, and embed them in pages as iframes. I’ve included my two graph pages in the code repository, and I’ll add more over time as I dream them up, or based on feedback. For example, this is the 30 day view of my inbox (tracking only started on the 20th Sept 2012).
Feel free to grab the code from github, deploy it, modify and improve on it. Please fork the github repository, and push changes, any added features etc back to the repo. If you find this useful, and build on it, no doubt someone else will – commonalities
The End Game
As interesting as it is to have these metrics, this actually becomes more useful as a triggering mechanism. The graph for my personal mailbox is now on my desktop dashboards, so I am constantly and subconsciously reminded of how I’m doing.
Lets see if this helps clear the backlog, lets me get to inbox zero, and this time, stay there!
How else could these metrics be useful?
There are some features I want to add, and I’ll build in over time. Such as support for multiple mailboxes, and multiple folders, from the same instance. The way this is currently built, you’d have to run another instance and db for additional mailboxes/folders. I’m already doing this (through multiple instances), you can see that here: http://hamlesh.com/mailstats. I’d also like to add more charting options, and test/document more ways of connecting to mail servers.
How else could these types of metrics be applied? What would make this more useful to you?
As always, interested in your feedback.