I'm staring a project called xong which aims to be a task/project management/to-do list type application but with features that I want and can't seem to find in any commercial software.
Expiring tasks
I'm not sure why this isn't a common feature of task managers. If 'take out the trash' is a task and it doesn't get done by tomorrow morning when the garbage man comes, I don't want to see that show up for the next day or two as an overdue task until I go in and manually delete the task. I should be able to set an expiration on the task and if it's not completed on time, it just dies.
Smart suggestions
While labels can help organize and enable smart searches, it requires that I be smart and have a very organized and up to date set of tasks so that when I perform a search such as 'show me all tasks on the Errands lists that are within 5 miles of Covington' that the right tasks pop up. I want the task manager to be the smart one, I am the doer of things, and the manager manages and delegates tasks TO ME based on context (time, weather, location, who I am with, calendar events, and other tasks).
Self hosted
Most task managers require some sort of yearly subscription and after trying all of the major task managers and not finding the perfect one, I am tired of paying them. Time for some open source software that can do the job. I want to host the app and the data on my machine so that I know my data isn't being misused. I also want my data to be exportable in some type of standardized format like XML so that if some one comes along and makes a better app for task management, somebody can hack up a script to port it over to the new better platform.
Tools of the trade:
The main deliverables that upon completion would be considered a success by me are:
- An app that runs on a server to store data and process all interaction (adding, deleting, suggesting tasks)
- Thin web client (basic for PoC)
- Thin Android client (again basic for PoC)
The server application will run in Apache Tomcat, use Spring Framework for DI, MVC, Persistence, Thymeleaf for templating, and Maven for project management, also git for scm and github to host the repo.
Boom, I said it, now it's time to do it.