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.

How to Work Together When Everyone’s Working Asynchronously

asynchronous work

Remote teams are forced to work asynchronously, but it can be an incredibly powerful constraint.

To Zach Holman of Github, that “everything is asynchronous” is his favorite part of working at the company. It kills distractions and interruptions—especially meetings—and helps people get in “the zone” or a state of flow for getting stuff done.

The problem that we’ve experienced recently is that to enable asynchronous work, we’ve felt that every developer had to have his own long-term project that he’d able to execute on totally independently.

The upshot is that in decoupling developer dependencies, we’ve lost focus and a coherent sense of what we’re executing on as an organization because the projects are too disparate. It feels like everyone is working on something totally different and that we’re going broadly on several things but not deep on anything in particular.

When someone on the team does need help, there’s a far more painful context switch to a project that’s potentially very different from what that person’s project is. Ironically, more help on big picture and direction is needed because the decoupled projects don’t present a unified bigger picture of product direction.

To fix the problem, we decided to go in the opposite direction—we had everyone in the company work on shipping one single thing, and that’s how we got our Slack integration out in a week.

Continue Reading

How to Start a Startup – A Practical Guide

startup guide

A Practical Guide for How to Start a Startup

iDoneThis is our first startup and the only thing we’ve ever built that anyone’s ever used. When we started, we had no cash, no paying customers, no knowledge on how to acquire customers, and no idea how to run a business.  We had to learn all of the lessons packed into this startup guide the hard way, through experience.

What you won’t find in this guide is a bunch of theoretical talk about startups in the abstract. Whether you’re contemplating starting a startup or you’ve just begun to take the plunge, you’ll find useful, hear-earned lessons and case studies in this guide to start you on your way.

This guide includes absolutely everything we’ve learned about how to start a startup.  It’s all of the lessons we learned going from zero to having a million-dollar business. We’d love to hear what you think on Twitter at @idonethis.

Continue Reading

One Month’s Expenses at a Startup


Don’t tell me what you value, show me your budget, and I’ll tell you what you value.

 Joe Biden

When Everpix shut down and open-sourced their financials, one of the most fascinating and hotly debated points was the company’s expenses.

I thought that adding another data point to the conversation could be interesting to fellow startup folks. Here’s one month of expenses here at iDoneThis, for July 2014. What you see below is taken straight from our bank statement.

Continue Reading