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:

  1. Blinksalethe easiest way to send invoices online and
  2. Quickbooksthe 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.

Twitter

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

Tonight’s system maintenance was a success and is now complete. Tempo and PingMe are back up and fully operational. Keep an eye out for a few upcoming posts about new features and changes in Tempo. Here’s a teaser:

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.

Over a year ago, when we were first putting together PingMe, a system not entirely unlike Twitter, we had a pretty good idea what the real potential was for a revenue model and how valuable it could be.

A few weeks back we posited these thoughts in public because the discussion of Twitter's likely potential for revenue keeps coming up in the blogosphere and it seems like everyone is missing the obvious: sticking small, meme-sized ads in the tweets themselves, based on context and relationships, and exploiting the nearly unbounded impression space. Nice to see somebody agrees with us about the context part of things, even though I think ReadWriteWeb is getting the means wrong.

I'm pretty sure that if Twitter started sending direct advertisements to their users, as opposed to embedded ones, they'd chase their users away to the clone services that are starting to emerge and which will mature. I don't think people will pay to subscribe to Twitter to escape the ads; when a service has been free for almost two years (a long time on the Internet), that kind of conversion is probably not in the cards (although not impossible). The potential revenue in just embedding ads is so high that I doubt they'd risk angering their user base with direct ads.

On top of that, it was a few months ago that some Tweets were arriving on my phone with an embedded ad for Twitter itself at the end of it, signaling, IMHO, that that would be the ad space in the future.

I should mention that since we started using our direct-embedding method in PingMe messages to briefly mention our other products and brands, we've yet to have any complaints from our users. You can't ask for better than that (well, aside from goal conversions).

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:


Click to embiggen!

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:


Click to embiggen!

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:


Click to embiggen!

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!

PingMe Site Issue

April 20th, 2008

GoPingMe.com experienced a brief service interruption today where the site was temporarily replaced with a copy of Tempo's homepage. We sincerely apologize to any users that weren't able to create or modify Pings on the site eariler. Thankfully the delivery of schedule PingMe reminders was not affected at all.

We've also been contacted speculating whether we were shutting down or canceling the free PingMe service. Don't worry PingMe isn't going anywhere. This problem was the result of a mis-keyed IP address in our web server configuration that crossed traffic between application servers.

Again, we're very sorry for any inconvenience.

Pay close attention - we're about to hand over an idea that could make Twitter...(drum roll, please)...ONE MILLION DOLLARS.

We saw this today on Tech Crunch (which has since been refuted):

Occasional ads in the Twitter timeline ... seems like the only real way to monetize Twitter, aside for premium subscriptions.

It's an interesting idea. We have long thought that the destined revenue model for Twitter is a new means of advertising where miniature ads will be injected at the end of Tweets.

Your messages on Twitter are restricted to 140 characters. This leaves 20 extra spaces, possibly a lot more with short tweets, before hitting the SMS limit of 160 characters. That reserve is perfect for advertising. We've been calling it meme-vertising and we've been doing it with our own service PingMe for well over a year - we use it to advertise our own services.

Here's how it works - we reserve 30 characters in every message that goes out, just enough space to jam a quick meme or ad in there. Anything goes, from "Keep Time with http://KeepTempo.com to "Real men of genius," if Budweiser decided to buy a block of impressions.

Unconvinced? Twitter's ad space would be virtually unbounded because the impressions are based on relationships, not page views. Consider that when Michael Arrington sends out one tweet alone, it could provide 13,104 impressions. In the end someone has to pay for a service, especially given the usurious cost of sending and receiving SMS messaging, and nothing stands a better chance of getting Twitter into the black than this virtually umlimited adspace that they possess.

We suggested last week that there's also money to be made offering business-level service and there is certainly revenue potential with putting ads in the timeline. Yet, I would wager that many Twitter users access the service with a third-party API client and wouldn't see them. I certainly don't think that Twitter would abuse their relationship with users by sending pure spam-tweets to your phone or device. We frankly can't see a better way for Twitter to make loads of money than to use the enormous advertising potential already present in its tweets.

Is it intrusive? To a degree. Although, in the year that we've been running PingMe we haven't had a single complaint, and I think you can see here how it can be done without being an eye-sore:

Note: we haven't yet taken on third-party advertisers for PingMe, but at some point we'd like to. Let us know if you're a local bar that might like to have "1/2 price drnx at Moe's 6-8" show up at the end of a reminder about "Happy hour with Frank tonight at 5."

We're on Twitter, too, follow us at: @billymeltdown and @ocskills

Explaining New Tech Concepts

April 11th, 2008

Trying to explain a new technological concept to the uninitiatied, especially something involving social networking, can sometimes be an up-hill task, but it's a challenge I generally relish.

I came across Melissa Chang's article on Twitter via the excellent Y Combinator Hacker News. In broad broad summary, Melissa feels Twitter will remain an obscure service in the cultural mainstream (for the time being) due to difficulties in explaining the concept and use-cases.

So I'd just like to address a couple of points Melissa made:

1. It’s hard to explain.

I find it's very easy to explain, especially to non-nerds, if you tell them "it's like a slow chat or IM with all your friends." Elaborating, "your friends' messages come and go as presence or conversations, and you can reply, start your own, or let them pass by and keep working." Recent explanations like that have worked for me. Or you tell your neophyte buddy, "it lets you send an IM or text to all your friends at once and they can reply and send you messages, on the internet or on your phone."

There are lots of neat things you can do with Twitter, so just pick your favorite and say it out loud.

I'm not trying to be a total Twitter advocate here, but I don't think it's that hard for people to get, especially for anybody under 25 right now.

2. There is no “key selling proposition.”

See above. There are lots of neat things you can do with Twitter. Just tell your friend what you use it for, in simple terms. "I use it to tell everyone about my cat," or "I use it to stay in touch with friends during the workday."

3. People sign up and then leave.

Well, welcome to the internet. But the crux of Melissa's problem here was not really understanding what to post about. Which I can't entirely blame her when she first signed up. I think everyone gets that moment at first of, "so... now what? do I put that I'm hungry? I have no friends yet, this is interesting."

It's the same with any social network, actually. And I think there's a huge population of people right now who get that and have no problem sticking around and making use of such tools, linking up with their meat-space friends.

4. The people who don’t use Twitter don’t understand the language of it.

Maybe it's because I had some experience with IRC back when the crust of the Internet started to cool at the end of the 90's, but I totally got what the '@' symbol meant and I think most of the young'ins out there get it, too. It's pretty obvious that those are screen names when you are looking at someone's timeline (twitter page); people are having conversations.

We've seen mention on a few sites about the potential for Twitter to monetizing their service by charging businesses for mobile interfaces. The case study they quote is a mobile interface for Harvest.

We think that it's great that more companies are exploring mobile interfaces like this. Our own small business time tracking system Tempo also excels at mobile entry, letting our users record time through Twitter, iPhone, SMS, mobile web, and even desktop mail (much of this functionality is borrowed from PingMe, a mobile app from birth). While the idea of Twitter as a mobile command line is not new, its always great to see more tools embrace the idea.

So, with a constantly expanding list of services like Twittercal, Jott, Harvest , Timer, RTM, PingMe, and Tempo all using Twitter, it would seem reasonable for them to monetize these relationships.

That said, even as a company that loves Twitter and already uses it in our apps, the big concern is reliability. Tweets get dropped or delayed more often than we'd like to admit, default rate limits can cause issues, web service calls can cause delays, and the APIs don't provide scalability to really large numbers of messages. When the service is free these aren't show stoppers. If charges are involved it's a different ball-game.

If Twitter were to pursue the monetization strategy the right move would be to provide a dedicated business service. Include guaranteed delivery, improved message processing integrations, dedicated API servers, and quicker processing. This would make the offering very competitive with all of the existing SMS and Text-to-email gateways on the market.

Now that would be worth paying for.

A better-late-than-never announcement: we released a Rails plugin a while ago that implements a better, DRYer way to roll network relationships using ActiveRecord. It's called, ActsAsNetwork and it now updated to support Rails 2.0.

So why is this such a problem? It may not be immediately apparent, but the short answer is that these types of relationships usually require 2 redundant rows of storage in your database. Take a social network relationship: one record might say that Jack is Jill's friend, but a separate row must be present to say Jill is Jack's friend.

ActsAsNetwork does away with this nonsense, and lets you say implicitly that If Jack is Jill's friend then Jill is Jack's friend. Or, in Ruby

# Jane invites Jack to be friends
invite = Invite.create(:person => jane, :person_target => jack, :message => "let's be friends!")    

jane.friends.include?(jack)    =>  false   # Jack is not yet Jane's friend
jack.friends.include?(jane)    =>  false   # Jane is not yet Jack's friend either

invite.is_accepted = true  # Now Jack accepts the invite
invite.save and jane.reload and jack.reload

jane.friends.include?(jack)    =>  true   # Jack is Janes friend now
jack.friends.include?(jane)    =>  true   # Jane is also Jacks friend

The syntax is clean, and it stores only one row in your HABTM table. Online Documentation available or install/upgrade the plugin:

% script/plugin source http://actsasnetwork.rubyforge.org/svn/plugins
% script/plugin install acts_as_network  
% rake doc:plugins

Much thanks to Maurycy for submitting patches to AAN!

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.

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 framework

No surprise there, right?

PostgreSQL relational database

Our 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 icons

Everybody needs icons, we're big fans of the Silk set.

Acts As State Machine Rails plugin

This plugin by Scott Barron allows an ActiveRecord model to act as a finite state machine rather elegantly.

HAML & SASS HTML & CSS templating

Gone 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 Ruby

Those 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 plugin

Definitely 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 Reports

Ruport made it incredibly easy for us to provide Excel/CSV and PDF exports from within Tempo's WYSIWYG reporting interface.

RESTful Authentication Rails plugin

Very 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

Today marks the launch of our newest app, Tempo, a time tracking app for stats addicts, consultants, and anybody involved in professional services and billing time. The "beta" tag is gone, the gloves are off, the doors are open. Check out the tour to find out what it's all about, sign up for a free account, let us know what you think (e-mail us: support AT zetetic DOT net). As our regulars know, we love hearing your suggestions.

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:


click to embiggen

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:


click to embiggen

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:


click to embiggen

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.