Deep Thought
June 26th, 2008
With the new smart timers, I no longer need PingMe to remind me to sum up my time for the day. Thanks, old buddy!
(Although the street cleaning reminders are still pretty clutch…)
Workstreaming in Tempo Time Tracker
June 25th, 2008
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!
Return of the Command Line
May 29th, 2008

A long time ago I read Neal Stephenson’s essay In the Beginning…was the Command Line, an absurdly fun romp through the evolution of the modern operating system (at least up until the time it was written, it’s a bit dated now), in which he compares Windows 95 to a crummy station wagon, classic Mac OS to a cheesy Euro-sedan, and Linux to free tanks that no one wants. It’s a kind of ode to a hacker’s love for good tools, and discusses how interfaces have evolved from the command line as their ancestor.
We here at Zetetic are still big fans of the command line, which makes sense given our line of work. We prefer many good tools that do simple things that we can link together to do very powerful things. That’s the legacy of many of the oldest command line tools that are still in heavy use today, and the driving aesthetic behind some emerging tools like Git. (If I’m speaking somewhat generally here, it’s because I wish to avoid alienating readers with grotesque demonstrations of piped UNIX commands ;-)
On the web this aesthetic seems to be driving a lot of innovation as many online services, including ours, are striving to be good at some very specific things and to offer easy integration points with related services. More and more, services are turning to Twitter to provide users with mobile features and access, which makes a lot of sense – not everyone can afford an iPhone, but almost everyone has text messaging capabilities in their pocket and a service like Twitter makes a useful transport (when it’s working).
And thus, we come full circle back to the command line, in the year 2008. How long will the honeymoon last? Hard to say, but I’m going to put my money on it being around until the next drastic change in how we physically interact with computers.
Those of us who are real big nerds and power-users tend to have keyboard shortcuts for everything and we like to avoid using a mouse to get around an interface quickly. We don’t want to go to the web to fill out a form and click ten things, we don’t want to navigate an interface with our fingers on our phone’s web browser.
What we want is to tell some service or system, in very short, simple terms, what to do for us. And if you’re like Stephen and I, you don’t really want to spell everything out, you want to provide just the barest amount of information needed so you can move on to the next thing.
We embraced this notion at Zetetic immediately when we first built PingMe, an interactive reminder service that provides a text based command line interface. In normal human-speak, you can send simple commands in a text message to create reminders while you’re on the go.
When building Tempo we saw that this capability was easily adapted to time entry. There are numerous ways to enter time with Tempo, but the most powerful, quickest, and probably the least understood so far is the command line. It’s a format of input that allows for mobile time entry by e-mail or twitter (giving you SMS and IM by extension), and it’s actually available in the web interface, too, shown below:

Instead of waiting for a web form to load and clicking through the interface, looking for what is desired, the user gets the immediate satisfaction of telling the system what’s up, but with only the text “1 hr design meeting in NYC @project @tag”. It’s faster, and there’s a sense of empowerment there. It’s like the difference between working within a bureaucracy and a small company. Less waiting around for everyone else, more personal responsibility. You don’t get a list of what tags or clients you have, but you already know because you use them all the time.
While folks aren’t flocking to the command line input form in our web interface, a lot of Tempo users are really taken with submitting their time entries over Twitter and E-mail, and are using this command line syntax. While I think we’re the first time tracking service to provide this kind of interface, we’re certainly not the only ones who think the idea is a good one, and that’s a good sign that we’re on the right track.
Seed Tags and Invoice Details
May 27th, 2008
We made some adjustments to Tempo last week, most of them below the surface, but I figured I’d mention two of the visible changes.
We’ve added a field to the Account page called Seed Tags, where you can list any tags you want to always be visible as default options for time entry on any project you create. This is aimed at some of our power users who work with multiple individuals and want to work with a common set of tags.

We’ve also implemented a request for additional details on Blinksale invoice line item descriptions. When you generate an invoice with one line item per entry you’ll now get the name of the person who entered the time and the date as well.

Here’s a quick round-up of the latest batch of features in the new release of Tempo time tracking.
Invoicing
Time tracking is critical to any service business but it doesn’t stand alone. After all, at the end of the month you need to get paid! Tempo isn’t an accounting system but we now make it really easy to prepare invoices with two of the best:
- Blinksale – the easiest way to send invoices online and
- Quickbooks – the most complicated way to send invoices offline. Just kidding on that last part. Sort of.

If you’re on a Moderato+ plan then generating an invoice is easy and works right from the Time & Reports screen – what you see is what you get. Select your report criteria (dates, projects, people, tags) and the invoice will be generated for the time entries in view. Here’s some more info.
Basecamp
Like many companies we like Basecamp for project management. Now Moderato+ users can import from Basecamp so project setup only takes a few seconds. Tempo will even send invites out to your team.
Timer
In the past we’ve been hesitant to add a timer to Tempo but, based on feedback from our users, we’ve caved. Tempo is about flexibility and giving you more options. The Tempo Bookmarklet now has a small ‘start timer’ link under the Hours field that will time you at your tasks.
International Support
Borrowing from Mr. Rick Olsen, we included detection of a user’s time zone directly from the web browser. With this change in place Tempo will be much friendlier for international users and will correctly display default dates and time ranges.
Shortly after we released mobile time-tracking features, we made it possible to tweet your time with Twitter. Setup is a snap and many of our users like the flexibility this option provides. There has already been some great buzz about this, but we never really made an “official” announcement. So there it is!
Free Dashboard
In the past we’ve restricted free plan users from using the project dashboard and making changes to their “default” project. But now free plan users get dashboard access, can rename their project and set an estimate. Even better, they can be added as project “managers” by folks on premium plans. As a project manager a user can see the project on their dashboard, track it vs. its estimate, and see the team roster.
Maintenance Complete
May 12th, 2008
Stand By...
May 9th, 2008
Over the past few months we've been getting a lot of great feed back from users of Tempo, we've been squashing bugs, and we've been working really hard on a number of new features and service integrations. We've also been continuously striving to streamline the interface and make it even easier to use.
This Sunday, May 11th, from 9pm to 12am Eastern, Tempo will be offline while we perform the latest batch of updates -- this is a big one! Stay tuned...
P.S. During the same time period, PingMe will be unavailable for system maintenance -- no pings will be sent and the web interface will be unavailable.
New User Interface Changes for Tempo
April 25th, 2008
We've been hard at work improving the user interface in Tempo. Some of these changes came out of fielding questions from our users, some came out of feature requests, and some are born out of how we use Tempo, and our desire to get more out of the app for our own business purposes. In particular we've noticed that the charting capabilities didn't seem as evident as we'd like them to be, and we were beginning to feel that the heads-up-display (we call it the HUD) could be made far more useful at a glance if we tweaked some of the stats available.
First things first, we got rid of the jelly beans, and changed the stats boxes to provide the hours, people, projects and percentage utilization for the current report, along with a spark line graph showing the hours over the given time period:
Looks like I just got back from a vacation and peaked around Wednesday! If you click the Hours field, you'll be presented with the Hours Over Time graph, if you click the People field, you'll get the pie chart break down of People by Hours, clicking Utilization presents you with our newest graph (I'll get to that in a second), and clicking the sparkline of hours over time will cause the new Charts display to wipe down from the top menu.
And yup, if you're looking closely, the top menu did change. Each header wipes down an icon-based menu with your charts, exports and saved reports. Here's what the Charts display looks like:
So we should probably talk about the Utilization chart and what that percentage statistic means in the HUD. Showing you the chart first will make explaining it a bit easier:
The Utilization chart is really handy because it shows me very quickly what my time looks like broken down by date, and I can easily spot gaps in my billing (like Monday when I was still on vacation!). The light blue bar across the top between seven and nine hours denotes what you might consider a full work day so you can compare that against your recorded time. The Utilization percentage in the new HUD simply denotes the percentage of time you've recorded against the full work day.
As you can see the charts also now have a link in each to our Help section where you can get more information about the chart if you find yourself scratching your head.
Just like Add Entry and Charts wipe down above the HUD, so do Exports and Saved Reports:
We've got some other big changes coming within the next few weeks, including some new integrations with other services that some folks have been asking for, so stay tuned!
Tempo: Time Entry in Minutes
April 8th, 2008
We had an interesting request not too long ago for Tempo. Basically this user was accustomed to logging his time in minutes instead of hours. He found himself having to calculate 90 minutes into 1.5 hours to make new entries in our system, and asked us if there was some way to accommodate this other method.
It's still a bit experimental at this stage, but if you put put an 'm' after the number in the hours box, it will get interpreted as minutes and converted for you by Tempo:
This also works when posting by e-mail. In addition, you can always use an 'h' after the number to clarify that you are submitting in hours if you wish.
New Mobile Features & Pricing for Tempo
April 8th, 2008
Since we launched Tempo a few weeks ago we've been hard at work adding new features to provide some of the mobile access we were looking for here at Zetetic.
The easiest to tackle was a mobile web interface for phones with data plans and iphones and such to have a quick and easy way to enter time. The screenshots in the tour give you a quick idea -- it's a miniature interface for logging your time on the go.
We also added a capability that allows you to record your hours by sending a simple e-mail. On every Tempo user's account there is now an additional field called 'alias' that we set to something fairly random, but which you can change. Here's how it works:
Let's pretend my alias is super20x6. I could send the following e-mail to super20x6@keeptempo.com and it would get added to my time entries:
1.5 updated pl/sql stored procedure @bigco @oracle @plsql @development
This will create a new entry for one and a half hours, description 'updated pl/sql stored procedure', it will associate with my project BigCo, and it will be tagged with oracle, plsql, and development.
To find out more about how this capability works, skip on over to the new Mobile section in our FAQ.
Finally, we've made some adjustments to our pricing structure for premium plans. The big change is that all premium plans now provide unlimited projects (they still start at only $5 / month).
We're definitely interested in hearing your thoughts on the new features and pricing. Leave comments here or email us at support@zetetic.net.
Respect Is Due
March 20th, 2008
Throughout the course of building Tempo, we've relied heavily on software written by other people and made freely available. It's worth doing a quick run-down to give credit where credit is due.
Ruby On Rails web application frameworkNo surprise there, right?
PostgreSQL relational databaseOur favorite relational database system, Postgres is the most mature of the free systems out there, has the best feature set, and has quite a bit in common with Oracle. Highly recommended.
FamFamFam iconsEverybody needs icons, we're big fans of the Silk set.
Acts As State Machine Rails pluginThis plugin by Scott Barron allows an ActiveRecord model to act as a finite state machine rather elegantly.
HAML & SASS HTML & CSS templatingGone are the days when we painfully labor over HTML templates thanks to this great Rails plugin by Hampton Catlin. We can't live without it now.
gchartrb Google Charts for RubyThose charts in Tempo look really good, but they're largely the work of Google's Chart API and this wrapper library for Ruby written by deepak.jois and aseemtandon. All we had to do was write some clever SQL and voila!
Active Merchant Rails pluginDefinitely the easiest way to integrate with a payment gateway in Rails. Also provides an awesome layer of abstraction in the event that we decide to switch gateways - we won't have to do a major rewrite of the code in our site that handles payment processing.
Ruport Ruby ReportsRuport made it incredibly easy for us to provide Excel/CSV and PDF exports from within Tempo's WYSIWYG reporting interface.
RESTful Authentication Rails pluginVery handy plugin by Rick Olson for quickly setting up an authentication system for your users that includes an activation step.
Thanks everyone for making these valuable open source contributions to make software like Tempo possible.
Tempo: Launch!
March 18th, 2008
Tempo: That's the Way We Get By - Part 1
March 13th, 2008
We built our newest product, Tempo, based on some of our own needs as a business here at Zetetic. Over the next couple of weeks (if we have the time!) we're going to start talking about some of those reasons to give you a feel for how Tempo works and what it can do for your business.
Now, I'm basically a worker bee, in the sense that I'm not management here at Zetetic. I work on a number of projects that are disparate in terms of technology and clientele, and my day is often split up working on sub tasks within those projects and contracts. I generally use Tempo as the day goes on, whenever I complete a project or switch tracks.
The bookmarklet makes this particularly easy in that I don't have to go to the site, bring up the new entry form, etc. I just click a button in my browser, I'm still logged in from who knows how long ago, I tap in the hours, and some tags describing what I did.

Usually around the end of the week I'll log into the site and take a look at a couple of the charts. I generally like to review what projects I've spent my time on:
The chart makes it very easy to see where I've been spending the most of my time, and where I might want to put a little more in.
Also instructive is taking a look at a break down of hours by tag:
Here I can see that the lion's share of my time so far this week has been spent on rails development, and that 'recruitment' could use a little love, because it's on our minds.
Finally, I find myself looking at my total time trend for the week, or the month, to get a feel for, well, how productive (or not) I've been:
I always like to see that my time trend for the month so far has gone up and not down! But basically I should see a fairly steady trend, or I can expect some abnormal billing at the end of the month.
Get The Belt!
September 12th, 2007
Update 2007-10-05: voting for the rumble is closed. We didn't win, but we had a lot of fun participating. Thanks very much to those of you who took the time to vote for us, and for throwing us some feedback, we really appreciated it!
Whew, what a weekend! We signed up for the Rails Rumble a couple of weeks ago and competed this past weekend with quite a few other folks to put together an entire Rails web application from start to finish in 48 hours. We made our final adjustments just minutes before the SVN repository was closed to any new changes; it was a bit hairy just before midnight as everyone was checking in their code and the SVN server sloooooowed down.
We've been really busy with PingMe over the last few weeks, so we saw the Rumble as our chance to crank out most of the code for our next big project, TagTime (and we really want that belt!). Like PingMe, TagTime solves a particular need for us as a consultancy -- a time entry system that gives us extremely flexible reporting for billing, streamlining how we bill our customers and helping us to quickly get metrics we can use to make informed decisions and estimate future growth. At the end of the month we don't want to be hacking Excel spreadsheets exported from Product X to massage them into the views we actually want. We've tried a lot of other apps out there that came close but none of them have quite got it right. With TagTime it's very easy to look up, for instance, how many hours two folks on a team billed for a particular group of tags, like 'Company X', 'oracle', 'support' for a range of dates, or maybe last month.
From there we can do RSS feeds of the data, Excel exports, invoice printing, etc. The version of TagTime up on the Rumble site doesn't have the export functionalities in it yet, but we did manage to get the RSS feeds in there before the Rumble closed.
Cranking out so much code in such a short amount of time could have been quite a mess, but we had a lot of success following an iterative battle plan we had drawn up before hand. Our basic approach was for one of us to handle server setup while the other began coding the models, unit tests, and building fixture data that we could work with immediately. Once we were really hammering away at the app, the creation of the fixture data early on helped us immensely (although I'd be lying if I said we stuck with testing every bit of code until the end, there just wasn't enough time!) Careful planning and solid execution is the Zetetic method, and it served us well.
One key feature that we didn't get to implement during the Rumble was graphing -- TagTime will provide illustrative graphs for date ranges, and we'll use some means and averages to generates graphs to help predict what our billing might be in the upcoming cycle.
All in all, we're very happy with how it came out and we're ready to start using it for our own billing. Everyone else will have to wait a bit while we do just a little more work to get it ready for a proper launch. In the meantime you can check out TagTime yourself over here on the Rumble site, where you can vote for us if you are so inclined. Voting for the Rails Rumble is open to anybody, so if you have a spare minute and you like our products we could really use your vote. The winners will be announced at the end of this month at the Ruby East conference, and we'll be there, too, if you want to say hello.







