I've been trying to work more routine into my life for things that are important to me. I feel like I miss many opportunities to be who I want to be due to inefficient management of my own life. So, there are some things I'd like to do regularly or build towards, and being reminded with a clear plan on how to go about them simplifies this for me, and improves my chances of getting these things done.
I've used a variety of task managers before, but none of them quite provide the flow and feel I want, so with some free time, I've written my own. Here's
My Daily.
My Daily
So, the visual design is still primitive, but you can see what it does already.
|
Main Page |
The main page has a list of daily tasks, in a prioritised order. (You can alter the order from the manage page.) It's a simple UI, and you just click anywhere in a row to mark it as completed. You can see that some are labeled "if needed". That's going to be replaced by a delay at some point, where once you've done it, it won't appear again for a couple days. That way, non-daily tasks won't make me feel like I'm lazy for not doing them. You can traverse backwards through time to complete tasks you failed (or just see a day).
|
History Page |
Here, on the history page, you can see how well I've been doing. I used some pretty CSS transformation for slanted text, and UTF8 characters for checkmarks. At the bottom, unfortunately cut off, you can see greyed-out cells. My Daily tracks when a task is added (and when it's retired), and periods in which a task did not exist (or was retired) appear in grey (so I won't mistake myself for being lazy). Statistics will be calculated soon. Clicking on a date takes you to the main page, but for that date.
|
Management Page |
Here's the task management page. You can add tasks, change their priority/order (up and down arrows), and retire them (X). The date field and the empty field are for when the date started and when it was retired. I'll probably add the ability to back-date a task. Most of the functionality is instant, no page reloads. Hooray! Tasks move up and down as you click on the arrows. I'm going to replace the arrows with a drag-and-drop method. There are no retired tasks in this image, but if there were, you'd see that they get an extra button, for permanent deletion. The buttons are obviously going off the edge for now. :)
To Come
There are lots of features to come that don't exist yet.
- Encryption
- Multi-user
- Occasional tasks (the ones noted above with the delay)
- Statistics (noted above)
- Laziness warnings (something like emphasising tasks you've been ignoring)
- Android companion app (maybe)
And various other things.
If you like what you see, though, and would like to try using it, I can set you up an instance on my server. Alternatively, I'll be making all the source code available, so I could give you that already.
The system has been implemented with PHP, pure Javascript, HTML, and CSS. It's running on Apache 2 with a MariaDB (MySQL) backend. One of my favourite parts about working on this was setting up my own local development server, to get the most out of error messaging and logs, and setting up a git-based deployment method to my 'production' server.