Computer: May 2008 Archives

Data Organizers vs Data Creators

| | Comments (1) | TrackBacks (0)

Troy Kitch, from View From the Dock, has started a very interesting series of posts comparing some Personal Information Managers (PIM). As I'm committing more and more of my data to the digital world, this is a subject that is dear to my heart. Troy has planned to study Yojimbo, DevonThink, Together, EagleFiler, and VoodooPad. This is a very fine list. In fact, I'm currently using two of these (EagleFiler and VoodooPad), and I've used Yojimbo and KIT (the predecessor of Together) in the past. There is however a tiny thing that has been bugging me in this list, and after thinking quite a bit about it I've finally decided to write this post. What bothers me is that I don't think VoodooPad should be there.

Oh, don't get me wrong, I love VoodooPad, I think it's a great application and I use it every day. It's just that I believe it's not the same kind of application than the other four. In other words, I don't think one should choose between VoodooPad and EagleFiler and may very well use both.

After thinking about it, I've realized that the problem may be that the name Personal Information Managers is not precise enough, and that it covers different approaches. My goal here is to propose a criterion one could use to distinguish things further.

Broadly, I see two main kinds of PIM applications: those that help you organize existing data, and those that let you create new data. I put VoodooPad in the second category, and the other four in the first.

Organizers are all about taking existing documents, and adding some information about them to link them together. This can be as simple as storing the documents in different folders, and as complex as adding tags, notes or labels to the documents. An organizer should also provide ways to use this metadata, typically by letting one search for it or by building smart collections, i.e. saved searches that update live. One of the simplest organizer I know of on OS X is simply the Finder: it provides hierarchical folders, labels, spotlight comments (where one can store tags or notes), and even arbitrarily extensible metadata. It also has a fairly complete search feature, through SpotLight, and saved searches. The main problem of the Finder is that this power is very raw and not made easily available to the user. Several applications have been developed to fix this, from simple tagging and searching application to full-fledged organizers, such as the ones Troy is looking at.

Creators, on the other hand, help one organize data that is being created. There is still the organization angle, but it does not apply principally to documents. I'll take three examples of creators that I actually use, going from the one using the most constrained structure to the least: OmniOutliner, VoodooPad, and Curio.

OmniOutliner is an outliner, that is an application that let you create lists containing sublists containing subsublists... Outliners typically provide additional features, such as ways to fold lists to only see their first element, additional columns containing extra information, and sometimes ways to embed or link to documents. Outliners can be great to structure notes, when the result must be something that has the shape of a list, and when one may have to move big list chunks from one place to another.

VoodooPad is a much more flexible creator, as it takes the form of a personal wiki. Here, the user creates pages containing text. Each page has a name, such as GiftsToBuy, and as soon as one types the name of an existing page, a link to this page is automatically created. A pad, a bunch of such linked pages, thus forms a web of text. I use VoodooPad a lot, as it's freeform enough to let me enter text without thinking about structure, yet I can easily create links to organize all this text. The first page of my main pad is in fact a list of links to the pages I access the most often, and where I store information about games I've played, recipes, tips for using tools (typically subversion but more recently git), and random bits of informations I still need to sort. What I really like about VoodooPad is how it's always in flux: as I enter and look at data there, I arrange it a little bit better, but it never has to be finished. And its good searching capabilities make sure that I always find what I need. VoodooPad also lets one create richer pages by embedding images and documents in the flow of the text.

Curio, finally, is the most flexible creator. A new Curio document is just a blank canvas, like a white board, where you just drop stuff. It's not even constrained as text, it's really a free two-dimensional area. One can add lists, mind maps, documents, images, text, drawings... I use when I'm researching a subject, such as a long blog post or an article: I drop ideas, web links or images of related information, and create (and very often draw) links between the different parts. I then rearrange them, as I would rearrange a bunch of index cards on my desk, to uncover some relation or highlight them. When I'm done with this phase I often move to a more structured or specialized creator, such as OmniOutliner, LaTeX, or KeyNote (if I'm doing a presentation), and I archive away the Curio document.

You may have noticed that all these creators are fairly generic: they may offer some constraints in the way data is entered or managed, but the data could be about and for anything. Specific creators, such as MarsEdit to create and manage blog posts, or Scrivener to write long texts, do not fall in the generic “Personal Information Manager” category. They are very useful tools, and I use some of them, but for me they belong to the same category than KeyNote: I start using them when the research has much progressed.

The difference between organizers and creators is of course not so clear cut, and most of them provide features from the other category. Most organizers let you create notes, which are typically simple RTF files, from within the application. Organizers may also extend the notion of documents, like Yojimbo with its storage of serial numbers, or EagleFiler with its mail archival feature. Symmetrically, most creators let you attach or link to files, thus letting you organize them. But even though their feature sets intersect, I find them complementary. To prepare for a course I've recently given, I've used Curio to brainstorm what I would be talking about, linking to web pages, dumping pictures, makings lists and mind maps. But I've stored the Curio document, along with many slides I was given and some web archives I wanted to use in a folder in EagleFiler. My final slides were also stored there, and I may not have used the Finder at all to navigate this data. The great thing is that if I ever need it again, it's all tagged and labeled, ready to be found.

To summarize, I'd say that creators let you manipulate data, whereas organizers let you manipulate metadata. And VoodooPad is mostly a creator, not an organizer. But a real good one, for sure!

How I started using git locally on OS X

| | Comments (6) | TrackBacks (0)

One of the things I do is maintaining the web site of Notre Dame de Clignancourt, a church in Paris. I'm not going to give the link to the site because its design has not changed since I've started it, back in December 1999, and it's ugly hand-coded html (I did not know CSS existed at the time). But it does the work.

My work flow for this site is fairly simple: every week, I receive the newsletter from the church, which I then basically convert to html and put online. And every year I update the information about the different services that the church offer. I've never really bothered about keeping an history of the site as it corresponds to the newsletter, which I archive. And I was also thinking that since I'm now using Time Machine, it would keep the history of my local version of the site in the future.

But for some reason, maybe the warning that my Time Machine disk was getting full and old backups would be erased, this has started to bother me. So I've looked at what I could do to keep an history of the site, starting from now. I realized that this could also be a good occasion to learn git. (Why git and not subversion? As you'll see next, there was no copying to do, just a couple commands to run.) As I could not find any tutorial explaining how to do this (blame my lame google fu) and had to resort to git's manual, here is a quick post on how to do this.

First, get git. There are installers of recent versions for Leopard. I did not use their script for adding the paths, I simply created a file in /etc/paths.d and /etc/manpaths.d with the correct paths. (See man 8 path_helper on Leopard for more information.)

Second, initiate and populate the repository. I simply followed the manual, and did a

$ cd project
$ git init
$ git add .
$ git commit

Third, remove any unwanted files. (There may be a clean way to do this in step two, but I did not think about it. Maybe creating the .gitignore file before the initial add would help.) I simply did a git rm thefile for each file, and added a .gitignore file specifying the files to ignore later on.

Then any time you change files, simply tell git that you want to commit the changes: git add file_changed followed by git commit. See the relevant section of the manual for more information about this.

And this is it. Pretty simple, isn't it? The price: the size of the project has about doubled. But now I have history, without relying on Time Machine!

About this Archive

This page is a archive of entries in the Computer category from May 2008.

Computer: April 2008 is the previous archive.

Find recent content on the main index or look in the archives to find all content.

Recently Played Games