Unusual Subroutines

The blog and musings of Christopher Allen-Poole

Farley Files

I just finished Double Star, and one thing which really impressed me about the novel was the idea of a Farley File. A Farley File is named after one of FDR's advisors who kept a basic set of notes on everyone that he met. When it was time to meet with them again, he could then read up and remember things like the dog's name, or the daughter's birthday, etc.

It's probably pretty obvious to most people, but it wasn't to me. It took me a while to realize the significance of people remembering the little details of others. People feel special if you remember their favorite drink, if you know the stories they've told, if you know their birthdays.

So, with that in mind, I thought I might build a Farley File system of my own. Right now it's just an outline inside of Evernote, but I'd love to make it into a CMS. Of course, it leads to complexity.

If you're just creating a set of notes on people, then you just need:

<name>

  • <details>

Pretty basic organization, but doesn't really provide you with anything interesting. I next thought of something like:

<person>

  • <name>
  • <information>
  • <phone>
  • <address>
  • <email>
  • <notes>

Of course, that isn't much better. So what about something a little more complicated.

<person>

  • <name>
  • <information>
  • <notes>
  • <many-to-many relationship field>

The problem is that a relationship is something with a name. Without that name it's impossible to tell if someone is a parent, a child, an aunt, or an arch-nemesis. So maybe instead it should be:

<relationship>

  • <primary>
  • <primary-to-secondary>
  • <secondary-to-primary>
  • <secondary>

My original thought was something more like:

<relationship>

  • <primary>
  • <name>
  • <secondary>

But when I tried to think about there just doesn't seem to be a clean representation of relationships. It seems like it would lead to twice as many relationships. And while relationships are not necessarily bi-directional, it would be easier to present those with a NULL value.

It's a difficult question, and I'm still working out details, but I'm hoping to put this all together in a Django application. Maybe eventually even make it SaaS. Or maybe it's another dream on the interwebs.

blog comments powered by Disqus