Media Art, User Experience Design, and Interface Development

Post Mortem: The ToDo List

Posted on 2011-07-28

The ToDo List Logo

So here it is, the personal project I mentioned a while back: the ToDo List. Doing personal projects, without the constraints of client requests and deadlines is loads of fun, but also not always efficient. Let’s have a look at the lessons I learned during this project.

What is the ToDo List?

The idea for this Facebook application came from a discussion with art director Max Chanan. We were thinking that there are always people in your Facebook friends that are not exactly your friends, but more acquaintances. However, it may also happen that you added said acquaintances to your Facebook contacts solely in the hopes of getting with them. Let’s face it, either we ourselves have spied upon friends of friends that we think are hot, or we know someone who has.

And then I built the ToDo List, which allows you to select friends that you would like to do–pun totally intended.

The ToDo List
“The ToDo List” screenshot

The application, which currently resides on a Facebook app page, allows users to select up to four of their friends. That list stays secret, it is not shared with anyone else.

Secrecy is of the utmost importance in this project. How creeped out would a girl be if suddenly she received notifications that some five boys put her on a list of girls they would like to do? I can bet that she would be very upset.

But then, how does it work?

Well, let’s say:

In the case of girl A, nothing will happen. In the case of girl B, nothing will happen either, because she did not select boy A. As we can see however, boy A and girl C mutually chose each other, this is where the magic happens.

On every Thursday of the week, a check is made to see who has selected who. If a match is made, then both users received an email notification informing them that they have been chosen by one of their choices.

Screenshot of the email sent when a match happens
Screenshot of the email sent when a match happens

Why Thursday and not instantly? Well, first of all, I like to think of this app almost like a poker game. You bet that these people you have selected may have selected you back. This list is like your hand. If at the deadline, on Thursday, your hand is not a winning one, you can change your selection for next round, on the followig Thursday.

When I was discussing with Martin Gauthier about this app, he thought of something brilliant: In this world where everyone wants instant gratification, it’s nice to have a bit of wait and anticipation before you see if you win or lose.

Choosing a technology

Having built a couple of projects in Flash, I thought at first that I would build this one in Flash too. When I was working on the Swarovski’s Reflect Yourself Facebook app, I learned a bit on how to communicate with the Facebook API in AS3. But as usual, Facebook changed their API and did not document it clearly. I was tangled in too many different versions of both the Facebook AS3 API, Flash was not right for this project.

Basically, what one needs to communicate with Facebook is an authorization from the user to sift through a certain amount of information. Once the user has authorized your apps with a certain amount of rights, there is a token that is created, and this token has to be provided in the calls to the Facebook API.

Facebook has a PHP API, so I started looking into this. I tried and failed at doing simple calls, like retrieving friends, but I did manage to get the token.

By then, Facebook had developed the Graph API, making things a lot, wait, A LOT simpler. A call to the Graph API is basically just a URL that returns a JSON object.

From then, I thought of a simple workflow:

  1. Get the user to authorize the app
  2. Use the Facebook PHP library to get a session and a token
  3. Make all other calls to the Facebook API using jQuery to get the data

The project then became fun to do! A healthy mix of contemporary web techs, no plugin necessary. It’s pretty nice, especially since I needed scrollbars and buttons, so they can then use the native browser interface and feel like they fit in Facebook.

It also means this works on mobile, although that is just a happy accident. The project is not optimized one bit for mobile. More on that later.


So obviously, I did some technical discoveries, but also some strategy- and PR-related discoveries. It may seem obvious to a lot of us (I even have spoken to that effect previously), but word of mouth is not easy! It’s almost impossible to make your project grow when you count only on the social networks like Facebook and Twitter. Without publicity, people don’t go to your website.

Now, it would be unfair to say that I had no publicity whatsoever. Let’s not get confused, it is a personal project, through and through, but I built it as I was still working at Sid Lee. As such, Jean-François Bouchard, president of the agency, offered me to talk about the project on the platforms to which he has access if I simply branded it as a “Sid Lee Collective” project. Sid Lee sometimes encourage their employees to work on personal projects. They may support it financially or by other means if they find said project interesting. In my case, I did not need any financial support, but I gladly accepted the simple branding since it allowed me some visibility.

Sid Lee Collective shared the project on Facebook
Sid Lee Collective shared the project on Facebook

So such a public support indeed provided me with a lot of visitors onto the project, which is awesome. From then on though, I should have found a way to continually bring new visitors, but I did not, and this is what the analytics show.

Usage stats of the ToDo List after the launch
Usage stats of the ToDo List after the launch

Something surprised me: even with all those visitors, not a lot of people dared to use the app. Is it because they do not trust a Facebook app? Is it because the subject matter is too racy? I’m not sure I will know. I did end up in an interesting debate with Christelle Samson about how legitimate is this app for people who are in a relationship. My take stays that if people want to cheat on their “loved” one, tools are not to blame.

Another user asked me a good question: will the app post anything on his profile? As said earlier, secrecy is of the utmost importance with this app. However, when one starts to use a Facebook app, a post is necessarily placed on the user’s wall saying that he started using that app. Last I checked, it was not something that the developer could set to not happen.

Overall, the app has relatively the same amount of users (some 300) and matches (some 30 matches every week) since the start. This leads me to believe that people are not really adventurous, most of them probably selected their girlfriends or boyfriend, and did not change their list since.

Future iterations

Plans for a ToDo List iPhone app
Plans for a ToDo List iPhone app

Even though there is no imperative to do so, I want to move the app out of its Facebook placeholder and onto its own domain, which I already own anyways. I think that design wise and user experience wise, this will be better. The functionalities will stay the same, but it will feel less as a page living under Facebook and more like a real web app.

However, moving the app onto the domain is not the most interesting project I have. I have recently started following Objective-C tutorials, and I think that this app could be quite interesting, if not more appealing, if there was an iOS app for it. So I started mocking up the information architecture. You can expect me to eventually post more info about this.


After three months, I see that this project needs more support if I want to make it live. The iOS app and the website are a good step in that direction I believe. It would be awesome if I could eventually sell this to some online dating company. For now, I still take this project as a lab to learn more techs.

2 responses to “Post Mortem: The ToDo List”

  1. Christophe says: some must have read your blog…

  2. Ever since I published this project, I found multiple clones or similar ideas. I guess synchronicity was at work. And sometimes with budgets a lot bigger than mine, which was zero 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.