Get Things Done Faster With A Faster Version Of iDoneThis


Screenshot 2015-08-12 17.44.12

We heard you.

Getting things done takes time. Writing them down shouldn’t.

We realized that if we’re going to be the best way to log your daily progress, we’d better be lightening fast. Kind of fast wasn’t good enough. Fast enough wasn’t good enough. We wanted speed.

Our number one request from users has been for a faster version of iDoneThis.

We heard you loud and clear, and this summer we made it a priority to speed things up.

Because you and your team work hard. Your accomplishments should be logged and loaded up as fast as possible.

Let’s go over what we did. I’ll give you two options.


The short version (what do I need to know without all the technical mumbo jumbo)

iDoneThis is faster. You’ll wait less to get your daily Dones loaded up. And if bandwidth is slowing things down, you’ll see a spinning wheel to let you know that things are happening.

The long version (I LOVE technical mumbo jumbo! Give me the gritty details!)

We noticed our performance could speed up, so in July 2015 we launched a performance improvement project — aimed at making iDoneThis faster, smoother and more user friendly.

We added a loading indicator

One fix was adding loading indicators (or spinners) to all of the essential actions. So now if you’re posting, loading up or commenting on Dones — and the web connection is a little slow — you’ll see a spinning wheel letting you know that your request has been heard.

We owe some credit here to usability guru Jacob Nielsen, whose 10 Usability Heuristics for User Interface Design are as relevant today as when they were published in 1995. His first rule:

“The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.”

Without a loading indicator, it was hard for you to know if anything was happening after you clicked something. Ideally, you won’t have to wait at all. But we understand that things happen. Bandwidth is a precious resource, connections slow down, apps load slower. We get it. You should at least know whether the engine is starting up or stalled out.

We cleaned up the front-end requests

Previously, firing up iDoneThis meant the front-end loaded up a whole month’s worth of Dones. This made switching to different days feel more instant. But it also meant loading up a lot of data initially. We realize it’s more important to get today’s data right away.

So now the front-end only loads up the Dones for today. When you switch to a different day, we’ll fetch the data for that day.

We optimized our back-end code

With the front-end now only pulling up one day’s worth of Dones, we took to optimizing the back-end so actions load up even faster when you request them.

We used a service called New Relic to track down the most expensive operations and found optimization potential in basically all of our back-end code. Almost all of the operations showed something we were able to make faster — sometimes by up to 70 percent.

Also, we optimized the platform we were running on along with requests and database queries. The old setup meant slow clients could keep our servers busy for longer, thus slowing down everyone else. With our updated platform, this won’t happen anymore.

We’re going to keep working on making iDoneThis the best way to record the things you’re getting done, the best way to coordinate with remote teams and the best way to replace your daily standup.

We’ll also make performance considerations a priority in all our future projects, so that a whole project dedicated towards performance won’t be necessary anytime soon.

You told us iDoneThis needed to be faster, and we made it our mission to turn your feedback into improvements. We appreciate the help. Let us know what you think of the improvements and don’t be shy about suggesting new ones.

Now go out there and get things done.

My Job is to Learn How to Code

chad profile picture

That’s me, Customer Success Engineer Chad!

My name is Chad and I’m an IT Infrastructure Manager — make that — used to be one. Until just eight weeks ago, I spent most of my time managing a fleet of 120+ servers and network devices, hundreds of laptops and desktops, across six locations around the US, and a team of six others to help shoulder the load.

Being a Unix nerd that likes to talk to people, I had fun at my job, and I was pretty good at it. However I’m also a tinkerer that doesn’t like to have a knowledge vacuum in any one particular area of interest for long.

My team and I started using iDoneThis to replace status reports and extra meetings. I was hooked. I used a really neat plugin for the popular OS X app launcher Alfred to post all my dones.

When Alfred released it’s major 2.0 update my precious workflow had broken. When the author was no where to be found, I thought, “How hard could this be?” I ended up somehow building a working Alfred 2.0 workflow for iDoneThis and even a mini Python powered API, to act as a mail proxy (hosted at DigitalOcean). Sharing this with the Alfred + iDoneThis community (I didn’t know anyone would use it) got me noticed by Walter and Rodrigo (the co-founders of iDoneThis) plus a Skype call offering their personal thanks for my work.

iDoneThis + Alfred

Todd Clarke liked the workflow so much he made this!

Continue Reading