Notes on Document and Activity Details

Quite a while ago, RescueTime started allowing premium users to track detailed activity inside their applications, and, later on, websites as well. Here, I’m going to discuss how we are going about providing this feature, and then what complexities remain for some currently untracked (and some tracked) applications. Premium users are then invited, from inside RescueTime, to request details for their favorite applications and websites that do not already have it.

You might wonder what mechanism allows us to track this information: we strive to maintain a secure and lightweight, minimally intrusive application, and didn’t want to go spelunking around in your system to uncover this. The answer is surprisingly simple and actually very powerful: in most cases, the window title of your current application lets us know, and often it may provide even more valuable details for those who wish to mine their own data.

Let’s look at a few examples for the application TextMate:

alert.rb — RescueTime
plan.rb — RescueTime

You can see here that TextMate puts the file name AND the project name in the title. In fact, this is even more valuable than what we were originally looking for (the document name). With this result you can search for results by document OR project name, and you can even use the TextMate project name as a keyword for our Pace projects keyword suggestion feature.

Here’s an example from a website, Google Docs:

User Flow - Google Docs
Google Docs - Folder - RescueTime

As you can see here, Google Docs also provides interesting information. However in this case there is some redundancy– in general we’d rather have too much information that we can clean up for you than too little, with poor resolution.

This brings to fore the crucial technique behind activity details: we can apply fixed rules to modify these window title details on a per application basis. For example, Apple’s iChat app, when you have multiple chats open but are using the tabbed mode, sets the title as “3 Chats” or “4 Chats”. While this number might be a wee bit interesting, mostly it just makes for noisy results: we’d as “separate” activities every time you added or closed a tab. So we apply a rule on all iChat details: if it looks like “X Chats” we just alter it to be “Multiple Chats”.

Clearly, for sanity’s sake, we try to keep these rules strict, sensible, and simple. In most cases we don’t need any special rule. Any time a new application is enabled for details, if we get customer requests for details adjustments, we make our best attempt to accommodate them, if possible. This is especially applicable for those of you with complex internal web applications.

Certain applications that make extensive use of modal windows pose challenges to us. The chief example here is Adobe’s creative products. Currently, if you move to a modal window to adjust something on your image, we would get the name of the modal window, but not the current image being edited. This proves less than ideal for designers who have a strong interest in tracking time by particular images for clients. For this reason, we do not have details enabled on these kinds of applications. We are working hard on a solution that meets customer needs here. In the meantime, our Pace product offers designers another way to tie time spent and tracked by RescueTime back to clients and projects.

Finally, a few notes on privacy. Users will quickly notice that Mail is the other top-used application for which there is no or limited detail provided. During internal testing, we found that window titles for almost all mail applications include the current message subject in the title. We quickly determined that there was no good predictable way to remove it by rule, and that it posed a pretty significant “oops” moment of privacy risk. Some other apps the put conversation level detail into titling are Skype and Twitter. We have a work around for Skype, but continue to consider and monitor others.

Which brings up a feature under consideration for which we welcome your input: would it be valuable for you to control which applications get details tracked yourself, on your account only? Feel free to comment with your opinion, or to submit feedback through the website.

Now, for you premium users, here’s the candy at the end of this long post: you can now request details for any application that doesn’t currently have them by using the Time Reports / Activities view and clicking on an app or website that doesn’t have a (# documents) addend. You’ll be on time detail page for that activity, which offers a link for making the request. This puts it into a queue we check (usually quickly) and update your favorite app. Keep in mind the limitations just discussed above.

(These are full size screenshots, so widen your screen to full width.)
Look for “api.rubyonrails.org” in the Activities list:

Activities View by Rank

Now, we clicked on it, and are on its detail page:

Activity Detail View

We can click the green text to indicate our interest.

We love surveys, yes we do. We love surveys, how ’bout you?

We love the fact that our users are vocal.  We get dozens of opinionated emails every day requesting features.  In the past, we’ve distributed a mess of surveys to get a understanding of which features were important to you.  But this survey is different…  It’s a more general “State of the RescueTime” sort of survey to try to help us understand more about you and your relationship with our product, how far we’ve come, and how far we have to go.

So whether you are a current RescueTime user or not, we’d love to have you fill out this survey.  It’s 8 questions and should be super quick.  We’ll select 5 random participants to receive a free month of RescueTime (so be sure to include your email if you’re interested).

Thanks much to all– here’s the link: http://survey.io/survey/8b287

Does working from home make you more productive? Yes (with data)!

[note: some data in this post is missing-- given that we work on and troubleshoot our own software, sometimes we don't get to log ALL of our time in a week, but it's consistent enough that I don't think it skews these results in a big way.  We also had a vacation in each of the months in question for 1 team member]

So about a month ago, the RescueTime product team decided to experiment with working from home to see how it would effect how we spend our time.  The initial plan was to run the experiment for a week, but we realized that we were paying too close attention to the affects of the experiment and would let it “bake” for a few more weeks to get some better data.  The data (4 weeks of it) is in, and there are a few surprises.

The control – Team of 5 Working from Work (in the office!)

Total computer time logged: 582h 20m
Dev, Design, or writing time: 224h 20m
Communication/meetings: 225h 10m

Efficiency Score: 1.33 (RescueTime calculates this score based on the ratio of self-identified productive activities versus distracting ones)
Productive apps/sites: 504h 50m
Distracting apps/sites: 61h 15m
Neutral apps/sites: 16h 15m

The experiment – Team of 5 Working from Home

Total computer time logged: 657h 50m
Dev, Design, or writing time: 287h 20m
Communication/meetings: 223h 20m

Efficiency Score: 1.30 (RescueTime calculates this score based on the ratio of self-identified productive activities versus distracting ones)
Productive apps/sites: 543h 20m
Distracting apps/sites: 72h 28m
Neutral apps/sites: 42h 02m (much of this is Google Chrome for the Mac, which RescueTime currently doesn’t track sites for– likely split between productive and distracting)

So the ratio of activities doesn’t seem to be meaningfully different.  There are less meetings (“drive by” meetings and formal ones are both tracked) but there’s a lot more IM and email.  That’s not what we could’ve expected.

But what seems to be hugely different are the totals.  Take out the commutes and the longer lunches, and the totals are quit different.

Here’s a chart:

It doesn’t look like much, but 5 people logged an extra 75 hours in a month, with the vast majority of those extra hours being productive development or design hours (about 63 extra dev/design hours were logged in the working from home month).

How we FELT

Obviously, working from home isn’t just about the hours logged.  When talking to the team, feelings on the experiment were pretty mixed:

  • Most people felt like we weren’t working as hard from home and it felt like a better work/life balance.  Turns out we were working a fair bit harder, but the time reclaimed made it feel more relaxing.
  • The team felt a bit less energized…  The synergy that you get when people are bouncing around ideas is pretty cool– we had a bit less of that (though we had wednesday lunches that helped a bit here).
  • People worked odd hours.  Working from the office forces you into the 8-6 mode and makes it awkward to tune out in the afternoon if your heart just isn’t in it.  Conversely, when you put in your 9+ hours at work, you’re a lot less inclined to work in the evening (even if you were spinning your wheels all day).  I think it’s better to work when you feel like it than to force an artificial schedule.
  • People were lonely, but dealt with it.  We all joked how excited we were to see our wives when they got home.  I personally made a much greater effort to be social with friends.  This was a lot better than the “I just want to get home and veg out” instinct that I tend to have after a long day at work.

Conclusions

Working from home gives folks a lot more time in front of a computer, if that’s what they are after.  With commutes, associated setup/teardown time, getting coffee from starbucks, lunches, and people dropping into the office, we’re all losing hours.  To be clear, all work and no play is a bad idea…  The really interesting thing about working from home is that we felt like we weren’t working as hard, but were actually logging about 22% more development and design hours.

What we’re going to do Next

A lot of us have expressed that, despite all of this, we kinda miss the office.  We’re talking about next steps.  I’m personally interested to try a hybrid approach.

RescueTime for Project Time Tracking (finally!)

[edit: Important note!  This is a new feature and (like most brand new features we release) might have a bug or two that we'll be ironing out over the coming day or two. ]


Recent Updates

[edit] On Nov. 16 we improved the offline time entry in the project editor.
[edit] On Nov. 17 we added support for query by project name to the data API.
[edit] On Nov. 18 we changed the project time editor to offer 24 hour schedule.

It’s Friday the 13th- a pretty auspicious time to do a major software release, eh?

For a few months now, we’ve been pretty focused on our users who are trying to regain focus and enhance their own productivity.  We’ve tuned up goals and alerts, added the ability to block distracting sites for brief periods of focus, and in general have tried to be the “nagging angel on your shoulder” when it comes to your productivity.

But we haven’t forgotten that lots of RescueTime users track time to help have an understanding of how they are juggling the projects in their lives.  RescueTime heretofore hasn’t been great for tracking projects…  But that’s about to change!

Introducting RescueTime Pace

RescueTime Pace attacks a very different (but complementary) business need than we’ve been attacking.  Every day people painstakingly (and inaccurately) fill out project timesheets so that they, their clients, and bosses can understand:

  • how much time projects are consuming
  • which clients need to be billed and how much
  • how each project is broken down.  Are projects humming along?  Are they bogged down with excess communication?
  • Are projects on track to finish on time?  On budget?

It’s occurred to us (and quite a few of our users– thanks to all for prodding us on this!) that RescueTime is already tracking individual tasks.  All we really needed to do to allow project tracking is give people the ability to assign blocks of time to a project in a given day.  With a few cues that RescueTime can offer, entering your time no longer has to be a painful memory exercise.  Not only can we suggest which project we think you were working on (via smart keyword matching), but you can mouse over blocks of time and RescueTime will tell you what you were doing during that time.

Here’s a screenshot of what entry looks like:

blog_project

We’ve also enhanced offline time on the assumption that once you start tracking project time, you need the ability to add and edit more granular tasks that might be away from your computer.  The offline popup (if you use it) has more options and an optional detail field.  You can also add/edit offline time with the project time tool shown above.  Here’s what the new offline popup looks like:

blog_timepie

project-nav2Once you have assigned project time (accurately and in a fraction of the time a normal timesheet), you then have project specific reports about how project time breaks down, what the totals are, and how efficient your project really is.  The reports should feel pretty familiar to existing RescueTime users.  For groups, you can easily jump to an hour-by-hour (or day-by-day) timesheet for any user in the system with a handy menu.  Screenshot of the new navigation to the right.

What about Existing RescueTime Customers?

This feature set is a standalone product built on the RescueTime foundation.  It’s available by itself or bundled with the great productivity features that you’ve hopefully grown to love.  Our existing paying customers get the bundled version free of charge … But because these features could be pretty noisy if you don’t want them, the project tracking features are turned off by default.  You can turn them on here.  Existing Solo Light (free) customers don’t get it for free, though if you mention this blog post in an email to me (tony@rescuetime dot com), I’ll try to wrangle you a discount on the upgrade at very least.

What’s Next?

As with all things at RescueTime, this is just a beginning.  The next (and most important!) step is to hear what you have to say.  What’s confusing, what’s missing, what would make it great for you?

Technology Overload Roundtable (video from PBS) (RescueTime mentioned)

There’s a great roundtable discussion on “Technology Overload” on a recent PBS Mediashift show featuring Leif Hansen (follow him on Twitter here: @leifhansen). The whole show is 25 minutes, but if you skip to the second video section titled “Taking Breaks” at 2 min 30 sec there’s a nice mention of RescueTime by Leif (another panelist chimes in with “It’s brilliant!”).

Technology overload is something we here at RescueTime are acutely aware of.  Every day we’re being introduced to new products and new bits of information– all of these require time.  Purveyors of distraction and “info porn” (our affectionate name for news and blogs) are scientifically optimizing their sites to grab more of our time and attention and we’re all pretty ill-equipped to deal with it.  So how are people dealing with this kind of overload?  They’re working longer hours, catching up on weekends, and taking fewer vacations.

The Great RescueTime Work-From-Home Experiment of ‘09

telecommuteVirtual teams are increasingly popular.  One of the software companies I most admire has an entirely virtual company of over 40 people spread all over the world cranking out outstanding software.  Yet the concept is terrifying to a lot of managers.   Highlights of the big fears include:

  • Will productivity go down?  There are a lot of distractions at home and presumably the workplace is optimized for workplace productivity better than home, right?
  • Will we lose that intangible synergy that you get working in the same room with other folks?
  • Will I, as a manager, be able to have a sense of whether folks are working?  Of what they are working on?
  • Will we still feel like a team?

The RescueTime product team is a small one (5 people), but we think this is big enough to run an experiment… For this entire week, we’ll all be working from our homes.  Here are the questions we’ll be answering at the end of the week (many of them will have juicy data bits, thanks to RescueTime):

  • Do we end up spending more time in aggregate on our productive tasks?  In theory, having no commute, no walk to lunch, and no drive-by interruptions in the office wil actually result in more minutes spent doing actual product development (or more free time!).
  • Does communication time go up radically?  Without the ability to interrupt our teammates, we’ll have to resort to emailing and IMing.  How much time will this suck up?
  • Is our total work-day longer?  Are we replacing our commute times with computer time or free time?
  • Does our work day become more spread out?  Working from home presumably makes it easier to punt work when you hit a wall.  Does this happen?  If it does, do people make it up at other times during the day?
  • (Subjective) How does the change FEEL?  Do we feel less creative?  Collaborative? Connected?  Does it effect how much we like (or don’t like) our jobs?

Stay tuned– early next week I’ll be posting a graph-heavy post with the results!

Using the RescueTime Embed and Data API

share team status, show off top performers, and more

We’ve had substantial user interest in ways of sharing and re-using their RescueTime data. True to our principles of keep-it-simple, we’ve published a way to very easily and safely share views of your data. These features have been live for over a month now, and some of you have already found and done great things with them– thank you! Here I’d thought I’d outline the process and some example use cases to help undertand how you can take your data further.

Although sharing common underlying code, there are two different paths to API data, with two different intentions: embedding charts and raw data access.

Path 1: Super Easy! Embed a Chart

As you use our new, improved, faster, more flexible reports browser, when you come across a slicing and dicing you particularly like, just click the Embed button, found right under the chart. Grab the snippet, and stick it in your blog, or your intranet, or wherever you want to publish it. Note that you can put as many as you like on the same page. Some of our clients have built team dashboards on their corporate intranets where anyone can go to see the pulse of the organization. Some publish these on their websites to show off their performance. Some live blog examples include: www.tonywright.com, Chris Barrow’s Blog, TheG2.net Blog and node.to.

Behind the scenes, this sets up an access key for you and sets privileges on it: when you paste this snippet onto your blog or intranet, anyone trying to steal your info using this key can only get exactly what it already shows. Note that in the snippet you can tweak certain aspects of the chart.

Also note that while your report view in your browser is fixed to the date you are looking at it, your embedded chart will continue to update with whatever is current. The timeframe is saved– as in “a week” or “a day” but not the specific date.

Path 2: Get Funky With Your Data

We’ve released an API targeted a making it easier for users to obtain alternate perspectives on their data, or to re-use it in other applications in a programmatic way. The current interface offered is based around a read-only http query core that models your data in ways users are accustomed to from RescueTime’s existing report views. We’re working on some language-specific convenience wrappers around this query API, and the Python library is complete. Ruby, Java, and Javascript are in the plans.

The first step is to go to the “Embeds & Data API” link from the bottom of your logged in session. From there you can “Setup Data API” to create a key for raw data access. Instead of output being formatted for charts, instead you pick JSON or CSV output, which you can then parse and reformat however you please. You can also parameterize your requests to change what is returned, without needing new keys– you can change date, search key words, specific application names, among other things.

There is a security model around the key providing data scope control and access safety, based on the same key system used by embedding. In this case, a switch is flipped that allows parameterization– so it removes that “can only see what browse view saw” restriction that embed has. It is assumed you will keep these more privileged keys private. But you can always monitor traffic and disable a key if you believe someone is using it who shouldn’t be. You can also set basic network restrictions around the key, to lock it down to access for just your machines.

A Reference Implementation

You can see what we did with the API in our reference implementation hosted on Google’s Appengine. It uses all the aboved methods and API tools in one page. All of the code for it is available for download.

RescueTime for Project Time Tracking (coming soon, but we need your help!)

As we get ready to launch some really really cool tools that will allow to you to block the distracting parts of the web, some of our team is starting to look forward to our next major initiative…  Projects!

RescueTime does a great job of tracking time, but doesn’t really do a very good job of allowing you to bucket that time into projects.  This isn’t an easy problem– lots of time (like email and Google.com) is difficult to automagically bucket into projects.  But for all of the people who are laboring under the yoke of painstaking (yet still horribly subjective and inaccurate) timesheets, we’re hoping to be a solution.  And, of course, all of the managers who are trying to make sense of this timesheet data, we’re hoping to help you out as well!

So PLEASE- chip in with your thoughts.  You can weigh in here in the comments if you want, but (IF you are interested in RescueTime tracking time on projects), we’d love to have you fill out this super short survey:

Please click here to fill out the survey (it’ll just take a sec!)

You have our promise the it is (at worst) only moderately boring and will truly give you a hand in shaping the product to be what you want it to be.

Posted in Product News, Product Roadmap. Comments Off

Introducing: Business Engineering, the evolution of Business Intelligence

Define intelligence:

Intelligence is a characteristic of thinking, but it is also a thing to be acquired. This substance is different than information. Intelligence is information that has been discovered, processed, and presented in a way that encourages its other definition: disciplined, insightful thinking.

Define engineering:

Engineering is the deliberate, analytical, scientific application of intelligence to the design or modification of a system.

Business Engineering requires superior Business Intelligence

Most data floated as Business Intelligence is more accurately labeled business information. It becomes the substance Business Intelligence when superior tools expose patterns and trends that are actionable.

Business Engineering is the practice of managing decisions based on critical analysis of intelligence about internal and external factors influencing the business.

RescueTime allows businesses to tweak the previously hidden algorithms that drive productivity of workforces. Data is scientifically gathered, and innovatively processed and presented in real time.

Businesses can re-balance work loads, uncover inefficiencies, and identify stalled or unusually successful projects while they are happening. Smart managers can introduce a measure of science into management itself: easily visualized historical information exposes trends one week to the next. Try several workflow processes, prove which one works best for each team.

RescueTime OS X 10.6 Snow Leopard Support

[Update: We've modified the link below to point to the current production release of RescueTime for OS X since it now supports both 10.5 and 10.6]

Hello intrepid OS X early adopters!  We’ve built a new version of RescueTime that is optimized for (and doesn’t crash or leak memory all over the place like the one that’s up on the download page right now) OS X 10.6 Snow Leopard.

You can get it here.

Please note that this build includes the FocusedTime beta features as well, which you can either try out for us or ignore if you’d rather just keep using RescueTime as you have been.

This is technically a beta version, as we just got our hands on 10.6 yesterday and haven’t tested it internally extensively yet, but it at least works much better than the existing version of RescueTime on Snow Leopard.

Send bugs or feedback to team at rescuetime dot com.