Keep track of your Git commits using RescueTime Highlight Events

I spend a significant chunk of my work day writing code. Some of that is building new features, some of it is fixing bugs, and still more of it is going back to refactor something I sloppily threw together earlier. I’m doing a lot of different things, and it’s often hard to remember them all.

Luckily, Git forces me to leave a log message about what I’ve changed with each commit. It’s a good audit trail. If anything ever goes wrong, we can usually roll back through the Git commit logs and easily figure out the likely culprit.

But commit messages represent something more than just a way to make code rollbacks easier. They’re also a pretty useful document of how I spent my time. Reviewing the contents of git log is pretty clunky, so we just added a way to easily import your git commit messages into RescueTime Premium as highlight events.

commit-highlights-example

Adding commit logs to my Highlights stream helps me understand my software development time better. Was I working on the right things? Did the amount of time I spent coding that day really make sense compared to what I actually checked in? When I get really busy, work becomes a blur, so it’s nice to have an easy list to review at the end of the week and remind me that, yes, I actually did accomplish some stuff. :)

They’re also really useful alongside the rest of my highlight events, so I can see how all my activities are lining up and if I’m neglecting anything. I use different labels to group commits for different projects, so I can see how often I’m committing code for the RescueTime web site, the browser extension, or any of our other projects.

How to log your own Git commits as RescueTime Highlights:

  1. Make sure you have RescueTime Premium. You will need it to post highlights.
  2. Go to our Git integration page and generate a post-commit hook file. You can customize the highlight label (‘code commit’ vs. ‘website project commit’, vs. etc…), and choose whether or not to ignore commit messages less than 20 characters. I do this so I can skip over commit messages like “oops, typo”.
  3. Save the generated file in your Git project’s .git/hooks directory
  4. Give the file executable permissions (chmod +x post-commit)
My commit history on my RescueTime dashboard

My commit history on my RescueTime dashboard

That’s it! All future commits will automatically be logged as highlight events in RescueTime and will show up on your dashboard and the weekly email reports. It’s just one more way you can save yourself some typing and still keep a rich record of your accomplishments.

What do you think?


Updated Again: Samsung and LG’s build of Android 5 (Lollipop) for the G3 and S5 (some) missing core OS libraries

Update 2015-02-23: It appears the Android 5 build on the Samsung S5 in certain markets is also broken in this way. Vote with your wallets, people. Or retweet our rant.

Just a short post to rant about LG.

Our European users, where LG is first rolling out their Android 5 update for the G3, have reported an issue with RescueTime. It turns out the issue is actually with LG’s Android 5 build.

It appears that LG has pushed out a variant build of Android 5 missing an entire library that is part of the SDK specification for build level 21 (Android 5), the “android.app.usage” API.

Android 5 removed the old system level features RescueTime used to make the product work, but replaced those features with better, more robust, and safer features in the app usage API.

For some reason, LG has managed to produce a build that apparently selectively rips out this part of Android. I haven’t read the fine print, but I wonder if this violates Google’s more recent licensing of Android that attempts to reduce fragmentation.

How are developers supposed to build apps for the Play Store, if manufacturers break the core SDK like this?


How I use Trello, Zapier and RescueTime to keep track of what I’ve been doing

iceburg-todo-list

This post covers how (and why) to use Zapier and RescueTime to create a persistent record of your completed Trello cards. If you’d like to jump directly to the setup instructions, skip to the end.

Trello is the first task manager that’s really clicked with me. It’s a great, simple system for tracking things that need to get done across various stages of progress (by default “To Do”, “Doing”, “Done”). There are other apps that do similar things, but Trello just nails the experience. I love it. If you aren’t familiar with it, you should check it out.

Trello is great, until the very end when it isn’t.

The experience of going back and looking over what I’ve done is the one part of Trello that isn’t so great. Things get really cluttered unless I archive cards when I’m done with them, and then they just kinda disappear. While I can go back and review a list of the archived cards, it’s buried and basically just looking at a big unsorted pile. That’s OK. If I had to choose, I’d much rather have Trello focus on the process of getting me to the finish line than looking back.

But I still want to be able to look back.

Why is it a good idea to reflect on those completed cards?

One of the problems I’ve always had with to-do lists is the unsatisfying feeling they leave me with when I’m really busy. That’s when they should be the most gratifying, right? That act of marking things as “done” feels good for a minute, but then that feeling gets shoved aside as I look back at the ever-growing backlog behind it.  Going back and reviewing accomplishments helps maintain a sense of progress, even if my to-do list never gets any shorter.

It also gives me an opportunity to ask myself if I’m devoting time to the correct things, or if there are other things I’d rather be getting done instead. It really helps draw the line between being productive and just being busy.

What can we do about it?

RescueTime has highlight event logging, and some of the highlight events I was manually entering were similar to the Trello cards I was completing. If I could just automatically log a note whenever I put a card in the “done” column, I’d save myself some manual effort. Luckily, Zapier makes this really easy. I was able to connect my Trello account with RescueTime, and log a highlight event whenever I completed a task in Trello. I had to fiddle with the filters a little bit to target just the “done” column, but once I figured that out it was fully automatic.

trello-rescuetime-highlights

Now I’m tracking events on different boards for my work and personal to-dos. Reviewing my highlights helps me see what I’m getting done and how balanced I’m being. Am I spending too much effort on work at the expense of personal tasks I need to get done? Or is it the other way around? That used to be a really hard question for me to answer and now it’s so much more visible. It also keeps me more organized because I know that if I use Trello, I’ll save myself some typing later when manually updating my highlights list. The two systems compliment each other really well.

gmail-summary-highlights

How to automatically log a RescueTime Highlight event when you complete a task in Trello

The quick and easy version (recommended):
Zapier can walk you through the whole setup process. This requires a Zapier account, obviously, but they’re awesome.

guided-zap

The step-by-step version:
You should use the guided zap version above. The detailed steps are listed here in case you have problems with the guided version, or just want to understand exactly what’s happening.

  1. Make sure you have a Trello board that you are using to manage your daily tasks
  2. Make sure you have RescueTime Premium (which you will need to log highlights)
  3. Make sure you have a Zapier.com account
  4. Log into Zapier.com and click “Make a Zap!”
  5. Choose Trello as the target app and “New Activity” as the trigger
  6. Choose RescueTime as the Action app and “Create a Highlight Log Entry” as the action
  7. Click continue and verify your accounts
  8. Under “filters”, choose the board you are using for your tasks
  9. Make sure the “List” filter is set to your “Done” column
  10. Set two custom filters, the first is “Data List Before Name” (Text) Does Not Contain “Done”
  11. Second custom filter: “Data List After Name” (Text) Exactly Matches “Done”
  12. Set the Highlight event params. Date should match up with the Trello “Date” field, “Description” should be “Data Card Name”, and “Highlight Type Label” should be set to something descriptive of the tasks on that Trello board. “To do”, “Personal Task”, “Work item” for example.
  13. Test the zap, you should immediately see your highlight event logged on your Highlights page in RescueTime.
  14. Name the zap and save it.

That’s it! I’ve found this to be a big help. Give it a shot a let me know what you think in the comments!


Time reports update: Breaking out Google docs and Office Online by app

Hi folks,

We just made a change to how we record time spent in Google Docs and Office Online. You will now be able to see the type of document you’re spending time on, instead of just having everything grouped under the generic “Google Docs”, label.

RescueTime_-_All_Activities_Matching___google_Apps__

Changes that affect the lower level data stream are a pretty big deal for us, so they don’t happen too often. We thought this one was worth doing though, because it will help you understand your time more clearly. And, importantly, it will make time spent on your online productivity tools compare more precisely to your time spent on tools you install on your computer.

Here’s the gist:

  • When you enter in a Google web application from Google Drive, for example open a spreadsheet in Google Sheets (they have about 3 different names for it, that is one), that will get tracked separately from time spent on a presentation opened in Google Presentations (aka Slides).
  • Similarly, using the same web applications in hosted google accounts (aka Google Apps), they will be broken out to the various web apps, with the suffix ” – Google Apps”.
  • MicroSoft Office Online (aka office.live.com) applications will be broken out as Word – Office Online, Excel – Office Online, PowerPoint – Office Online.

Highlights – a new way to keep track of the meaningful things you’ve accomplished

With so much going on every day, how do you keep track of what you accomplished?

With so much going on every day, how do you keep track of what you accomplished?

A little over a year ago, we quietly added a little feature to RescueTime Premium called daily highlights. It was basically just a “notes” section that someone could use to write down what they got done during the day. It seemed like it might be a relatively simple solution to something that had been bugging me for a while – the fact that RescueTime is great for understanding broad patterns in my time use but not so great for looking back at a specific day and remember the meaningful things I did. That’s a situation that comes up pretty frequently for me, and it was frustrating. Adding in a way to log notes about each day seemed like an obvious way to fix that.

I also thought it might be a totally frivolous feature that would never get used. Hence the fact that we didn’t make much noise about it.

In a way, it sort of goes against the RescueTime philosophy. You see, we have a really strong bias towards automatic data collection, and requiring someone to be motivated enough to submit data manually feels like a design flaw. People are busy, and things slip through the cracks, even if you have the best intentions. It’s just hard to keep up with that stuff. If you’ve ever had a job that required you to fill out time sheets, you know what I’m talking about here. In the end, it really doesn’t matter what kind of awesome insights you can offer if there is no data there to analyze in the first place.

But the problem was bugging me so much that it seemed worth exploring. There had simply been too many cases over the years where my imperfect memory would trip me up. Some examples:

  • Status meetings where I’m constantly hemming and hawing. “Hrm… um… I know I did some other stuff this week?”
  • Performance reviews where I need to be able to speak intelligently about the types of things I’ve been doing over the past 12 months.
  • The defeating feeling feeling I’d get when I’ve been juggling so many things for too long and it all becomes a blur. After thrashing around a lot, it’s really hard to tell if I’m being effective or just being busy.
  • When challenged by a manager about something that didn’t get done, it’s demoralizing to say “I don’t know, I guess I was just busy with other stuff?”

Sounds like a great idea, except it totally didn’t work

After launching it, we realized it wasn’t working at all. Having written the feature, I was probably the person most motivated to use it out of anyone, and I would go weeks without entering a highlight. I’d just forget to do it. Because I was never really all that confident about how it would be used, I didn’t integrate very heavily with the rest of the reporting, and it felt like there just wasn’t much value in it. I couldn’t even get the other people around here to use it, despite us all agreeing that the general idea was a reasonable one.

A mostly-automated, more ‘RescueTimey’ approach

We experimented a lot over the next few months, trying new things, and learning a lot. Eventually we realized something pretty great. We couldn’t fully remove the need for manual data entry in this case, but we could largely automate away the need to remember to do it. It was a lot more in line with the RescueTime way of doing things, and it seems to be working. Over over 25,000 highlights were logged in 2014, the vast majority in the last few months as we made more refinements.

We ended up with a two-pronged approach for entering highlights:

1. Intelligent prompts:  We added the ability to automatically open the highlights entry page at times when there was most likely something that needed reporting. We thought this would be hugely annoying, but after a little tweaking to fit our own working style, the prompts felt a lot less intrusive than we had feared. Actually, they have a nice side effect of keeping us more aware of our productive time each day.

daily-highlights-3hr

Examples: Prompt for highlights after 2 hours of productive work in a day or send an email prompting for highlights for the previous day first thing the next morning.

2. Data exhaust: A lot of meaningful information already gets entered in other systems that we work with every day. There are a huge amount of logs and notification streams laying around describing work that’s being done, and all we needed to do was tap into it. We added an API to create highlights, along with the ability to group together highlights from the same system. It’s a little work up front, but after that a lot of interesting data can be logged with no additional effort.

Examples:

We also kept the original method of manual entry page around to cover the cases that couldn’t be handled automatically, but I’ve gotten to the point now where I rarely go to this page without being first prompted by an alert. It’s something I don’t have to think about anymore. It just gets done.

Quantitative plus Qualitative Data is a great combination

highlights-ui-compact

After a while we realized that we were all actually entering highlights on a fairly consistent basis, and they were really useful. We tried using them as a base for our twice-weekly status meetings and immediately noticed such a positive change that we haven’t stopped. We can quickly run through our highlights and then spend the rest of the meeting actually communicating about what needs to happen next. It’s way more efficient.

I log all sorts of things now that wouldn’t have been worth the effort otherwise. Knowing when I exercise,  go to the coffee shop, or check off items on my personal to-do list all add valuable context. It’s been a really big help for looking back and understanding how I spent my time on a specific day.

We’ve recently beefed up the reporting, exposing highlights more prominently on the dashboard and in the weekly summary reports. This makes it easier to review highlights on a regular basis. We’ve got a lot of other ideas for how to make the reports more useful. We’ll be working those out over the next few months.

If you are a RescueTime premium user, you can get started setting up your highlights here.

For more examples, have a look at how highlights work into a typical day around the RescueTime office.

Highlights have opened up a new perspective on RescueTime for me, and I’d love to know what you think of them. For the rest of January, you can sign up for RescueTime premium for 25% off and try them out (or upgrade here if you already have a free account). Give them a spin, and let us know what you think.


Zapier integration update: Daily summary reports and Automated highlight logging

daily-summary-highlights-post

A few months ago we added support for using RescueTime’s Alert notifications within Zapier, a service that helps people automate their favorite web apps.

We found that it was really, really useful, so we’ve added two additional triggers and an action to the RescueTime app on Zapier. These improvements will open up a bunch of new ways to use RescueTime with outside apps.

Daily summaries – daily rollup reports to use in your zaps.

Daily Summaries are a high level rollup of the the time you log in RescueTime each day. The summary includes the total time, time spent at different productivity levels, and time spent in each major category.
This lets you export high-level information about your days to other applications. With 20 different data points presented in a variety of formats (raw duration, percentage of overall time, formatted in hours / minutes / seconds), you can filter and customize the output to best fit the needs of your zap’s action.

This will make it easy to do things like:

  • Create a personalized daily email report showing only the metrics that really matter to you.
  • Create a notice when a certain percentage of your time is uncategorized. This notice could be delivered as an email, or an item added to your favorite to-do list such as Trello. Zapier supports over 300 different services, so there are a lot of possibilities here.
  • Create a percentage-based alert for any major category. This will let you keep an eye on how much time you spend on certain activities relative to the overall amount of time you have logged that day.

Note: Daily summaries are available to all RescueTime users, new reports become available each day at midnight in your local timezone.

Highlights – a running log of your accomplishments

RescueTime makes it easy to log notes about what you’ve accomplished each day. These are called Daily Highlights, and they can add important context to the application and website time that is logged automatically. Spend 6 hours coding one day? You can annotate that day so it’s more obvious what you got done during that time.

highlight-dashboard-weekly

Highlights as displayed on the RescueTime weekly dashboard

You can now create zaps to automatically log highlight messages when meaningful actions happen in your other systems. This can make logging your status completely effortless. We’ve been using these a lot internally and it’s really made the quality of our weekly status meetings go up by about 1000%.

Some examples of things you can now do:

  • Log your GitHub commit messages as highlights. This one addition made the biggest difference for the developers on our team. Basically a part of our existing workflow – GitHub commits – was made more valuable by putting the data into a new place.
  • Keep a record of the meetings on your Google Calendar in your highlights list. Meetings can have a big impact on how you spend your time, so it makes sense to keep a record of them. It’s easy to import your Google Calendar events as daily highlights.
  • Log a highlight when new blog posts are published. If you work in media and need to keep a record of your posting progress, this makes it simple. This can be done in a zap via an RSS feed or by connecting your WordPress account to Zapier.
  • When a Trello card is dragged to the “done” column, log a highlight. This pretty much transformed how I use Trello. It was already a great way to manage what I needed to do, now it’s also a great reporting tool that shows me what I got done.
  • Log checkins on Foursquare as a highlight.  I really wanted to understand how my coffee intake affects my productivity, so I started logging any checkin to a coffee shop on Swarm as a highlight. Now I can see just how much of a caffeine addict I am. :)

Some people already have another application where they keep track of their accomplishments, so we also added the ability to broadcast highlights entered in RescueTime to other applications. For example, you may want to keep your ‘dones’ list in iDoneThis in sync with your RescueTime highlights. Or perhaps your team uses a tool like Yammer, and you may want to post a status message whenever you log a new highlight. For us, we send highlights to our “what’s happenin” room in HipChat.

Note: Highlights are a part of RescueTime Premium, to use them you will have to have a premium subscription.

We’re really excited about these new additions, and hope you find them as useful as we have. We would love to hear what you think in the comments. If you’d like to read more about these updates, check out the post about it over on the Zapier blog.

If you aren’t using RescueTime yet, getting started is easy. Just sign up and you’ll be logging time in less than five minutes.


RescueTime and Android Lollipop (system version 5)

Hello from our sometimes Android camp.

UPDATE 2015-01-11 Version 4.1.0 released today adds support for website tracking for users on Android 5. Here ceases the regular blog updates, since all major goals are reached!

UPDATE 2014-12-12 We released RescueTime for Android v 4.0.0 (app version not OS version) today. This release is a major rewrite we have been working on that we accelerated to get out the door in order to support Android 5. Everything looks like it is working well, though we are still working on website time tracking for Lollipop.

UPDATE 2014-12-03: We have successfully re-engineered the app to use the android.add.usage API Google has introduced. We hope to release this update soon, but it is going to be coupled with a major revision of the app including many other features. Stay tuned!

Previously posted:

Android Lollipop has introduced a totally new way to gather system statistics that we are assessing and implementing. The have also completely deprecated a system interface we were depending on to produce RescueTime statistics (read: rendered non-functional).

The upside is, in the future we may be able to improve our statistics. The downside is, that until we can get an update out the door, anyone who uses Android L (5) will cease to get app usage time from Android.

Sorry, and thanks for your patience!