The Minor Miracle of Third-Party App Development Without a Real API

I’ve never had a kid, but I imagine that it can’t be too different from giving birth to a web app.  It’s amazing that the thing exists at all, much less that it walks and talks, and it’s a minor miracle when it thinks on its own and creates something new of its own volition.

(Source: http://www.youtube.com/)

A few weeks ago, I received a bunch of errors in my inbox, and a week after that, a Dutch company named Springest wrote a blog post, Alfred App + iDoneThis for logging your todo’s, GTD style.

The Springest guys were the ones who had been spamming my inbox with errors!  They had been testing their iDoneThis extension to Alfred (an awesome Mac app launcher).

It was super simple, it worked, and ok, I thought it was incredible.  Wouter at Springest, a company halfway around the world that I’d never talked to, without asking for permission or needing to ask for permission, lacking a real API, used our email interface to connect Alfred to iDoneThis.

Just punch your done into Alfred, and it will shoot out an email to us and in it goes into your done list.  Not only did the extension rule, it also became the main way that I entered my dones!

A week later, more errors hit my inbox and I noticed what seemed to be an error with the Alfred extension.  ”Uh oh,” I thought.  Either we’ll have to support the extension or we’ll be left with buggy software built by a third-party that diminishes the user experience.

I reached out to the user to see what was up and if there was anything I could do to help.  It turned out that Rudy was attempting to use the Alfred extension for his personal iDoneThis, whereas the Wouter built the extension only for teams because that’s how they use it at Springest.

I didn’t feel comfortable with reaching out to Wouter to request a fix, and I wasn’t sure that we had the bandwidth to basically begin the process of supporting a third-party extension.  I sent the kind of useless placating email that I hate sending.

Oh, I think I realize the problem.

The Alfred integration was created by Springest, and they use iDoneThis in a team only, but you’re trying to use iDoneThis for personal use.

So by default, the email address that the email gets sent to is <team name>@team.idonethis.com, which for you, is personal@team.idonethis.com.  But the email address for personal emails isn’t the same scheme — it’s today@idonethis.com.

So basically, the Alfred integration won’t work for personal users right now.

I’m cc’ing my co-founder Rodrigo on this email and I’ll make a ticket for this.  We’ve wanted to add personal@team.idonethis.com as the primary address we send and receive from for personal emails.

Rudy’s response was short and simple but it made me stop and marvel at the world we live in.  ”I’ll fork the extension and submit a pull request.”

A few days later, Dennis, Wouter’s pal at Springest, merged the pull request and we had an Alfred extension to iDoneThis that supported personal and team users made by people who just get stuff done, for people who get stuff done.