My Quest for Note Taking Software
When I first started I thought I had everything planned for taking notes. I employed two tiddlywikis, one (the original) for briefs of all all cases we covered, and one (tiddlywikiSE) for in class notes, and out of class notes. This system has a lot of nice features. Everything is stored in two html files, which makes it easy to backup, to bring anywhere, and cross platform.
I started running into some limitations almost immediately. Some of these I can work around, tagging more copiously, linking properly and whatnot. Some of the limitations I can't work around. For example, I may want to see all "tiddlers" marked with both "torts" and "assault", so as to filter all assault cases that are for criminal law. Now I could just have a different tiddlywiki for each class, and this isn't a bad idea, it is just one I'd like to avoid because it makes searching across classes impossible.
The biggest limitations are with searching. While you can use regular expressions, if you aren't sure how you spelled a word (judgement v. judgment), the search box will only find sequential terms. I'd like to find two words that may not be next to each other, with a simple search. Another issue with searching is speed. With only 3 weeks under my belt, I have nearly 50 cases. Searching is taking longer and longer, and if a term results with more than 10 "tiddlers", Linux thinks my browser has locked up! The tiddlers do eventually come up, but it is so slow.
I've been looking for other systems. Moving 50 cases and 100+ pages of notes sucks, but when I'm creating an outline in October it will really suck to move 200 cases and 400+ pages of notes. So I'd rather sooner than later. I could also just suck it up and stick with this system for this semester and start over with a new system, carte blanche, next semester, but most of my classes are part one of two parts. I'm not going to deal with two systems simultaneously.
So to find the right system, I've begun thinking of my requirements. What I've got so far follows:
Avoiding Lock-in - I expect to keep these notes for sometime. For this reason my content can't be locked in to anything avoidable. 1st - Cross Platform - I won't be locked in to any specific OS, Windows or Linux. I use both, and I refuse to have access to my notes stuck with one or the other. That doesn't mean I need the ability to write notes from either OS (though that is strongly preferred), but it does mean I need the ability to read notes form either OS. 2nd - Exportable - the new system must allow me to export the contents to another system or some intermediary format. This necessitates a specific export function, or that the notes be kept in extractable plain text. 3rd - Duplicatable - I use more than one computer, I have a server, a desktop, and a laptop. The notes must be easy to synchronize across computers.
Avoiding Loss - I can not lose these notes. Not to hard drive failure, not to program discontinuance, not to file format obsolescence. Backups are a must, or some web solution with a trusted company, like google.
Access - This requirement overlaps somewhat with the "avoiding lock-in" requirement, but it goes further. 1st - Portable - these notes must be accessible from my computer regardless of my internet connectivity status. 2nd - Printable - I don't mean some kludge like printing screenshots, or using copy/paste to put the text in a word document, I want to be able to select more than one note at a time, and print them.
Ease of Use - I can't spend all my time fiddling (even if I'd like to). That means the notes cannot require an infrastructure, like a MySQL database or perl, for access. Web servers are right out by the same token, I don't want to worry about apache, or lighttp, or whatever, just to read/write to my notes. I'd rather not have to use a particular syntax, but I don't find wiki syntax particularly limiting or cumbersome. I also don't want to have to learn a complex system, like Vi, just to deal with notes, it should be relatively intuitive.
Findable - stuff I put in this system must be easy to recall. 1st - Searchable - some good searching is critical. I don't need the search to find terms that are synonyms, though that'd be nice, nor do I necessarily need regular expression support, but it must search across notes (not just within), and it'd be really nice if it was smart enough to find two terms in the same note that aren't next to each other. 2nd - Filterable - If a search comes up with 50 items, I'd like some way to exclude the irrelevant ones. Really good searching would eat this requirement, but in its absence some sort of tagging (preferable to folders IMHO) would do as long as you can filter by more than one tag at once. 3rd - Sortable - if a search turns up 50 items, I'd like to be able to sort them by date, or tag, or something relevant.
Lastly two miscellaneous requirements. Scalable - I'll be putting hundreds of notes in here over the course of a semester. This volume can make some solutions unusable if they don't have a good way of categorizing and hiding information. Smart - This is a feature I'd like, but I don't need. I want to do as little organizing as possible. So the less time I spend tagging, creating folders/subfolders, organizing and whatnot, the better (particularly since my professors typically don't categorize their speeches until they've developed them, i.e. at the end, and even then sometimes we're left guessing until much later).
My current tiddlywiki solution isn't bad. It is cross platform, the notes are stored in plain text in the html file, I can rsync the html file for duplication and backup. It is totally portable, and I can print a number of notes at once with no problems. It is dead easy to use, once you know the basic syntax, and it requires no extra pieces of software (other than a web browser). The search box, as I've mentioned, leaves a lot to be desired - it is slow, it can only find sequential words, it can't do any filtering by tag or word, and you cannot sort results (or anything) at all. TiddlyWiki also doesn't seem to scale well at all, nor is it terribly smart.
I've looked at a number of solutions, but I've found them all majorly deficient on a few counts. Simple note taking software, like tomboy, has poor searchability. Web based productivity software, like ijot, notely, or google notebook, is by definition utterly inaccessible without the web. Regular wikis, like DokuWiki or MediaWiki, require a full on LAMP stack--yuck! Mindmapping software, like FreeMind, doesn't seem to scale or be particularly searchable, and Microsoft's OneNote fails utterly on the lock-in front, as well as a few others. Outlining software, like KnowIt or BasKet, takes too much fiddling with organization to be worth the benefits their interface bring. The portable wikis, like Zim and TiddlyWiki, all have some major deficiencies as well--typically lousy searching and poor scalability (tiddlywiki scales poorly from a performance standpoint, Zim from a usability standpoint).
The only other two ideas I can think of are pen and paper, which obviously isn't searchable at all, and doing the whole text document in nested folders (the folders acting as "tags"). The text document idea isn't bad, I can index it with some kind of database (google desktop might work here) to make it searchable, and there always grep for regular expressions, but folders aren't as good as tags and this would require an awful lot of organizing, tagging, and whatnot.
The mythical ideal situation would be something like an offline gmail account. Something where you could create your note, tag it, and archive it, but that would have great search functions (like including/excluding tags). I don't think type of search functionality is really possible without a database, and I'm fine with a database so long as that isn't where my notes are stored. If there was a way to search text files as efficiently as you can search archived gmail, I'd love to know about it.
For now I may use a combination of two methods. I may use a pen and paper to take notes, then clean them up and throw them into tiddlywiki or text documents. The extra step to do this is probably worth it because it will help my notes become more readable and more focused.
If any of you have systems that have worked great for you on most of the fronts I've listed, I'd be interested to hear them!