Workstreaming in Tempo Time Tracker

2008-06-24 20:00:00 -0400


We’re very excited to officially announce the latest Tempo upgrade.

This time around we decided to try something big. Really big. A game changer. Something that would begin to redefine the way people track time. We decided to reinvent the traditional time tracking timer in a way that doesn’t suck. And thus, the Workstream release was born.

As the name implies worktreaming borrows heavily from the concept of lifestreaming. It’s not a new term but we have our own take on it: you “stream” updates directly into Tempo as you start working on tasks. We track exactly how long you spend on each item as you make updates. There’s no need to explicitly enter hours or manually track time – we do all the work for you. You get an exact log of everything you’ve worked on, tagged, assigned to projects, shareable with colleagues, accessible through RSS, and ready for reporting.

Imagine using Twitter and messaging Tempo as you change streams and switch between projects. Or, use our new Dashboard Widget, the Bookmarklet, the Tempo application proper, your mobile phone, email, whatever. How you stream is up to you but the fluid approach leaves you free to think about the task at hand.

Visit our documentation for more details on how workstream timers work.

Honorable Mentions

In addition to the core workstreaming functionality we’ve added a ton of other supporting functionality to Tempo.

iPhone

We’ve vastly improved the iPhone interface from our previously release. Now it looks and feels just like an iPhone app ought to, and provides you with the new timing features and a view into time you’ve already logged. Check it out on you iPhone at m.keeptempo.com.

Dashboard Widget

Users of Mac OS X can work really seamlessly with Tempo using our new Dashboard widget. A command-line interface and a view of recent time entries gives you the most important features.

XML API

Tempo now sports it’s own API. Use it to integrate with internal systems or 3rd party services.

Delegated Management & Proxy Time Entry

Tempo now makes managing teams even easier. First, any member of your project can be made a manager (including users on free account plans), allowing them to view the dashboard statistics, and manage the team roster. Managers can also perform “proxy time entry”, allowing them to enter and edit time entries on behalf of other people on the team. This rocks for groups where only one person is responsible for handling all the time entry.

Stream-lined Interface

We over-hauled Tempo’s interface to make it more intelligent and easier to work with. The ‘Add Entry’ tab provides a command-line interface for quickly entering time records or kicking off timers complete with type-ahead lookup when you start entering your tags!

The full web interface is sparser by hiding optional fields.

Lock and Unlock

Project managers can now easily lock and unlock individual time entries.

Smart Defaults

The web entry form remembers the last project you billed to, and whether you started a timer or not, saving you time when creating new records.

Enjoy!

We hope you’ll find some of Tempo’s new features useful and we look forward to your feedback!


Deep Thought

2008-06-24 20:00:00 -0400


Git log commits remind me of summer afternoons. Like last week.

(Guess who hasn’t updated his time in a bit?)

((The new timer helps keep me straight nowadays!))


Tempo "Workstream" Release

2008-06-22 20:00:00 -0400


We’ll be releasing a major upgrade to Tempo tonight, June 23rd between 10 PM EST and 11 PM EST. Tempo will be offline while we perform the latest batch of updates.

We’ve been calling this the “workstream release” internally because it quite literally lets you stream information into Tempo as you start working on it. As you make updates we intelligently keep track of how long you spend on each item. No need to explicitly enter hours, no need to manually track time, and it works from the site, bookmarklet, Twitter, SMS, Email, iPhone and even a brand new Tempo Dashboard Widget.





<div “style=”clear:both;">

In addition to the core workstream functionality there are a host of other improvements which we’ll get to in detail after the release.


Deep Thought

2008-06-12 20:00:00 -0400


A very simple open-source support ticket system, transparently integrated with e-mail, that isn’t written in Python would be a fantastic thing to have and use.


Introducing acts_as_union

2008-06-11 20:00:00 -0400


While doing a bit of work on Tempo recently, we found we had the need to provide a union’ed set of Active Record associations on a model. We already had the code in place in acts_as_network to do something very similar via the UnionCollection class, so it was a simple step to create ActsAsUnion within the same plugin.

Here’s an example of what we mean and how it works:

class Person < ActiveRecord::Base
acts_as_network :friends
acts_as_network :colleagues, :through => :invites, :foreign_key => 'person_id',
:conditions => ["is_accepted = 't'"]
acts_as_union :aquantainces, [:friends, :colleagues]
end

In this case a call to the aquantainces method will return a UnionCollection on both a person’s friends and their colleagues. Likewise, finder operations will work accross the two distinct sets as if they were one. Thus, for the following code:

stephen = Person.find_by_name('Stephen')
# search for user by login
billy = stephen.aquantainces.find_by_name('Billy')

both Stephen’s friends and colleagues collections would be searched for someone named Billy.

To obtain acts_as_union, simple install the newest version of the acts_as_network plugin and use as shown above. The acts_as_union method does not accept any options.