A list of ideas

These are things that serve a purpose but to my knowledge haven't been done yet.

- A collaborative learning platform, that would provide a place for notes, study tools, and interactive applications, that would make the whole process of going to class, taking notes and studying online and social. Etherpad is a good place to start, possibly Google wave. (yeah! http://www.uanotes.com/)

- An encrypted messaging app that would act as an email and IM platform, but by using a system of keys, be inaccessible by any 3rd parties. Even if the data were stolen or turned over to governments, it would be unreadable. Search would be a big challenge, but there are some potential solutions. To make it transparent to the user, several keys need to be used, which provides several points of weakness. (homomorphic encryption is going to solve this)

- Asynchronous and concurrent programming is becoming more and more important. Instead of modeling calls with a stack, we can use a queue of functions to call and their arguments, and multiple threads can pick tasks from the queue and run them simultaneously. This makes debugging and exceptions hard. (not true anymore - this is essentially how node.js works and it's cool. C#'s async is also similar.)

- The computer keyboard has potential as a musical instrument. It would take a lot of design work and refining, and probably a long time to learn just like any other instrument.