Keeping to-do list and notes as a text
Honestly, I’ve never believed in stories about somebody building A just to suddenly find he’s built B.
That would be like – I don’t know – me saying I’ve started building text editor fitting my writing habits so I can write that novel I have in my head, and in the middle of the process realizing that I’ve created nice tool for keeping to-do lists and notes.
Well.
You know.
That’s exactly what happened.
It all started when I moved my dev notes from OneNote to naracea. Once naracea started to be really usable, I felt strong obligation to use it on day-to-day basis. Because developing an application in my spare time, took all my spare time, I wasn’t (and I’m still not) able to do any serious writing. So I moved all the notes I kept in OneNote to naracea because it was obvious thing to do and in fact those dev notes are still one of the few documents I work with on almost every day.
Don’t get me wrong – OneNote is great application. I used it quite extensively, but there was one thing I really miss – history tracking. Keeping track of the history is crucial for me, because while I work on naracea regularly, I have only limited amount of time every week I’m able to dedicate to the development. Therefore I need to keep track of all decisions I’ve made, all bugs I resolved, and all features I want to implement, preferably in one application, in one document.
I’ve tried couple of to-do list applications, but the problem with all of them is, that either there is just too many things to change in the settings (which I always end up to do — turning things on and off, changing columns, rearranging tasks etc.), or their functions are not sufficient. And after some time every to-do list I’ve tried got noisy, and I needed to switch between different modes and views so I see what needs to be done and what is finished already.
After a short time, I ended up keeping my development to-do list as a bullet point list in OneNote, and once the task was done, I moved it to the bottom of the notepad and changed its formatting to stroke. This isn’t the nicest solution, but it seemed to work.
However, once I moved those notes to naracea, things get so much easier. I add everything to one long to-do list and I mark each task with simple marker (it is [bug] for bugs, [feature] for features). Once the task is finished, I write short note (with characters => in front of it) and then I just delete the whole task.
This keeps my to-do list as short as possible — there are only tasks I’m working on or those which are still in queue, but the information about finished tasks is not lost. I can just open the find dialog, search the history of the document for occurrences of either [bug] or [feature] to get the whole list almost instantly. Because the find dialog shows text around the matched string, I can navigate through find results quickly and find what I’m looking for.
When I need to check some facts or decisions I’ve made couple of weeks ago, I just search for keywords (let’s say when I see some chance to simplifying the code which is saving all files, I can search for “save all”), and I get the information why something is the way it is with very small effort.
Second thing which makes note taking in naracea extremely simple are branches. Originally, branches were meant to keep different versions of the document, allowing writing parallel versions or alternative endings or making reviews and editing easier. While branching can still be used for all of this, now I use then as a way to keep things related to one project in single file. Instead of using branches for real branching, I use it as a way to keep several notepads in single document.
In my dev notes I have three branches: one for general to-do and bugs, one for something I call “knowledge base” (I keep my design decisions there) and one for feature ideas. With these I have all things related to naracea development in one place, but somehow logically structured and with full history. Designing a feature is iterative process, so I first write everything down into couple of paragraphs, then I refine it and finally I clean up stuff which is not useful. But it is still there, so when I need to check why I rejected possible solution, I can get back and see why I rejected it.
I use this feature so much (for other things and projects I need to track), that I added button for creating new empty branch to the ribbon.
So while originally I started naracea as a text editor for writers, it seems that the set of features I decided to implement makes it really nice program for people outside of the community I originally meant it for.
Well, sometimes strange things happen.
(Suggestions for keeping textual to-do lists in naracea are also in this forum post.)