Image by Jayel Aheram via FlickrAs alluded to in my post explaining django, I've decided to cut my teeth on web development with a little program of my own design. After careful consideration of what to work on, I decided on the incredibly unoriginal idea of creating the ultimate to-do list. Everyone seems to have their own method for planning out their day - that or they zealously adhere to a system like GTD or RTM. This is of course incorrect, as my to do list system is far superior.My ultimate goal with this application is quite modest - to convert everyone to my way of doing things. If for some reason this proves to be more difficult than expected, I will pursue the slightly less arrogant aim of creating something that I myself will actually want to use. Even if that is a failure I'll still learn a lot, so whatever.
These are the topics I'm going to have to really learn in order to build this thing:
- Interacting with a database - storing, retrieving, and updating the lists is pretty basic, but kinda important
- How to design the user interface - I'll start with getting the thing working in simple html and then try to pretty it up with css and see where it goes from there
- Handling users and accounts - possibly even exploring google app engine
So right now here is a rough outline of the features of my dream to-do web application:
- Tasks fall into major categories that can be user defined (right now for me I have work, job search, and personal).
- There should a master list (for each category) that persists between days, and at the beginning of each day you pull several items from this master list to populate your to-do list for that day.
- When a task is entered the user also estimates the amount of time it will take to completion.
- When the to-do list for a day is created, it graphically shows how much total time you're dedicating to each category.
- (Edit) Make system work so that you only use the site once a day, you're not constantly going to the computer to add tasks and check them off - you print out a sheet once a day with space for adding stuff below
- Certain tasks could be grouped as a series. The second step in a multi-step task could remain hidden or partially obscured until the first step is completed
- Quick Task - App could display a timer and use an alarm to get you to focus on completing those really short tasks that end up taking way longer than they should.
- Simple way to control how the importance level of specific tasks can change with time
- Social website features - i.e. you can look up a vague task (like 'apply to college') and then you could import an actionable series of tasks that someone else has created and shared.
Oh yeah, and if you've never checked out Scribd.com, it's simply amazing what kind of textbooks and study guides you can find on there for free. Check it out.
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=0b39fc0b-c0a9-4a87-a94f-1a865cb86f3f)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=4be23ad9-e962-4829-b749-f0197e34dea2)

![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=091f6347-93d4-4f84-90b9-78f66c48efa4)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=4f163164-6f97-40ef-8070-c98b3647f59d)