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.