I’ve been learning Clojure lately. It does a lot of things right as a languages. But I don’t think we should stop there. The same principles that make a good language could be applied to application design.

One thing that has bothered me since I got a smartphone is the number of to-do apps. Building a to-do app is a great way to learn most web frameworks (and probably mobile ones too?), but that doesn’t mean they need to all be published. Worse still is the fact that very few of them do anything novel. Simple design and ease of use is great, but we aren’t creating anymore of an experience that pen and paper.

My idea is this: let the user control their data. In my personal day, I need to keep track of numerous things, and each would benefit from a different organizatonal structure. For tracking coursework, I want to be able to input assignments based off of class, and I want to be able to bind due dates and other related information. I also need to buy food. A grocery list is a very different type of list. I need to track quantity for one. I also tend to need to the same things (milk, bread, eggs, etc.) week to week. Being able to have recurring items would be fantastic.

I know that all of these things are available in a number of different apps. But that’s the crux of the problem: why do I need so many different apps to handle day to day life? Give me one to-do app that puts me in control of my information, and I’d gladly pay for it.