Category Archives: zettelkasten

Building a simple sketch navigator for myself

In 2015, I built the habit of drawing daily index-card-sized thoughts. Some days, I reached (or blew past!) my target of five index cards a day. Other days, I backfilled my daily journal entries based on fuzzy memories and my time logs. In February 2015, I started using a yyyy-mm-dd<letter> naming convention so that I could easily refer to individual cards. For a while, I tried to be fairly disciplined about organizing sketches into outlines and building up chunks into blog posts. That fell by the wayside when I found it difficult to concentrate, but I kept drawing anyway. I saved the images to my hard drive, started tagging them with keywords in the filenames, and uploaded my sketches to Flickr as a way to back up and share my files.

I’ve recently been exploring ways to take advantage of the Samsung tablet that W- bought some time ago. It works wonderfully as a second screen that I can use to review an old sketch while I draw another one. The FlickFolio app lets me do a random slideshow of the past 2000 images in my photostream or in an album. This turns out to be an excellent way to jog my memory and prompt me to revisit questions or decisions.

2016-01-22d What do I want from my idea pipeline -- index card #zettelkasten #ideas #thinking #questions #index-cards

2016-01-22d What do I want from my idea pipeline – index card #zettelkasten #ideas #thinking #questions #index-cards.png

Now those fragmented thoughts are starting to pay off. Many of my old index cards are on topics I haven’t thought about in a while. It’s fun to see what I’ve learned in the meantime, or to follow up on things I’ve forgotten. It’s like I’d been filling an idea pipeline or seeding an idea garden. I get this steady stream of questions, decisions, observations, memories, ideas, and notes, and I can build on those prompts instead of having to start from scratch.

2016-01-18g How do I want my sketches to help me think -- index card #drawing #sketches #zettelkasten #notes ref 2015-11-18a

2016-01-18g How do I want my sketches to help me think – index card #drawing #sketches #zettelkasten #notes ref 2015-11-18a.png

I want these index cards to help me shuffle ideas and possibly see serendipitous combinations. They’re small, so capturing thoughts on them doesn’t require as much effort as, say, writing a blog post. They’re a good way to smooth out and organize thoughts, and I can chunk up those thoughts into longer posts. The sketches are easy to review, too, so they work well as digital footprints. I re-read the year’s blog posts as part of my annual review and sometimes I reread my posts on a monthly basis as well, but it’s not as immediate or as wide-ranging as flipping through a random selection of images.

A random slideshow is a good start, but I’ve been meaning to make a sketch browser that’s a little more tuned to what I want.

2016-01-18d What do I want in a sketch browser -- index card #drawing #coding #plan

2016-01-18d What do I want in a sketch browser – index card #drawing #coding #plan.png

I wrote a simple NodeJS server that I can run on my laptop and access from the tablet (or other devices) while I’m on my home network. At first, I was trying to figure out an interface that would let me navigate by month/week/day, but then I realized that something simpler might be a more useful way to begin.

I started off by making it display random sketches:


Then I extended it to let me browse by tag:


And then to see a list of tags by frequency:


Or by alphabetic order, since that might be handier if I’m trying to look for something specific on a mobile device


I like distinguishing between daily/weekly/monthly/yearly reviews and non-journal sketches, too:




It’s nice to be able to build custom little tools like that. =)

Here’s the script on Github, in case you’re curious or you want to build on the idea.

Working with fragmented thoughts

Some days it’s hard to hold a single thought and dive deeper into it. Sometimes it’s because I get distracted by other shiny thoughts. Sometimes my interest peters out. Sometimes I bump into the limit of what I can think about on my own, without experiments or research.

I’ve come to really like the way index cards let me capture ideas that aren’t quite blog-post-sized. Technically, I haven’t drawn a physical index card since early February, but the digital index cards I draw are calibrated to that scale.

Still, some days it takes me a really long time to draw five index cards. I catch myself wondering if I’ve picked a good question. Sometimes it takes a while to find the next step in the thought. Sometimes it’s easier to let my attention drift to other things.

On the other hand, there are some days when my mind is overflowing with little thoughts. It’s pretty easy for me to switch to another index card, scribble down part of a thought, and then come back to it later.

2015-06-01e Fragmented writing and drawing -- index card #fuzzy #fatigue #writing #drawing #fragmentation

2015-06-01e Fragmented writing and drawing – index card #fuzzy #fatigue #writing #drawing #fragmentation

I’ve been figuring out a better way to work with fragmented thoughts. I tried flipping my habit by writing before drawing. Sometimes that’s a good way to clear my backlog, but sometimes it means I don’t get around to drawing.

Lately I’ve been experimenting with quickly capturing text fragments – a chunk even smaller than index cards. A few taps on my phone bring up a single-line prompt. Whatever I type into that dialog gets saved to a timestamped file named something like yyyy-mm-dd timestamp - keyword.txt, and that’s synchronized over Dropbox to my computer. I have some code in Emacs to read those files and add them to a date-based outline, and I’ve included the code at the end of this blog post just in case it’s handy.

I’ve found myself capturing more and more of these snippets these days. When a possibly interesting thought occurs to me while I’m walking around, it’s easy enough to take a moment to unlock my phone and add a note. My Emacs-based workflow fits me a bit better than the Evernote-based one I used to use, but that’s the benefit of customization.

2015-05-24e Working with surface thoughts -- index card #fuzzy #drawing #thinking

2015-05-24e Working with surface thoughts – index card #fuzzy #drawing #thinking

There’s still the challenge of bringing those thoughts together, of course. The text titles and fragment keywords are often enough to remind me of what I was thinking and how the different thoughts might be connected to each other, and I can always open the sketches in a new window if I want to refer to them. I have an ever-growing outline of sketches that haven’t yet been chunked into blog posts, and now I have a chronological tree of these little fragments. I have another bit of Emacs Lisp that lets me quickly get a montage of the sketches listed in part of my outline. Maybe I could use that more often – perhaps even randomly picking an outline node, coming up with a montage, and prompting me to either glue the chunks together into a blog post or draw whatever’s missing.

So this is what the index card workflow looks like as a whole:

2015-05-08b My index card management system -- index card #zettelkasten #workflow #index-cards #drawing

2015-05-08b My index card management system – index card #zettelkasten #workflow #index-cards #drawing

and then the text fragments feed into the beginning of that thinking process.

It’s been almost six months of thinking with index cards. I sometimes feel pretty fragmented, but there are confounding factors so I don’t know whether that’s a side-effect of this way of thinking. But I think it’s unlikely that my past self was that much more coherent and better at concentrating. Remembering what it was like to write my notes before and what it’s like to write my notes now, I think I like this way a lot. I feel like I’m getting better at writing about the small things, not just the big things, and I’m gradually getting better at tying things together.

What might be some interesting next steps for this system?

2015-06-12h 6-month reflection on index cards -- index card #index-cards #drawing #zettelkasten #chunking

2015-06-12h 6-month reflection on index cards – index card #index-cards #drawing #zettelkasten #chunking

It might be cool to visualize how much has been chunked and what’s still isolated, in a way that’s more engaging than my outline. I’m also curious about the time separation of thoughts. For example, this post brings together four cards spread over a little more than a month, a set of connections I probably wouldn’t have been able to follow without these notes.

The fragment code I mentioned:

(defun my/read-phone-entries ()
  "Copy phone data to a summary Org file."
   (lambda (filename)
     (let ((base (file-name-base filename)) contents timestamp category encoded-time date)
       (when (string-match "^[^ ]+ [^ ]+ \\([^ ]+\\) - \\(.*\\)" base)
         (setq time (seconds-to-time (/ (string-to-number (match-string 1 base)) 1000))
               encoded-time (decode-time time)
               date (list (elt encoded-time 4) (elt encoded-time 3) (elt encoded-time 5))
               category (match-string 2 base))
           (insert-file-contents filename)
           (setq contents (s-trim (buffer-string))))
             (find-file "~/dropbox/tasker/summary.txt")
           (org-datetree-find-date-create date)
           (unless (save-excursion (re-search-forward (regexp-quote base) nil t))
             (goto-char (line-end-position))
             (insert "\n")
             (insert "**** " contents "  :" category ":\n" base "\n")
             (insert (format-time-string "[%Y-%m-%d %a %H:%M]\n" time))

             (if (member category '("Think" "Do"))
                   (org-back-to-heading t)
                   (if (looking-at org-outline-regexp) (goto-char (1- (match-end 0))))
                   (unless (looking-at org-todo-regexp)
                     (org-todo "TODO"))))
             (if (string-match "^Energy \\([0-9]\\)" contents)
                 (org-set-property "ENERGY" (match-string 1 contents)))))
         (delete-file filename))))
   (directory-files "~/dropbox/tasker/data" t "\\.txt$")))

How can I make better use of my index card drawing process?

I really like this practice of working with index cards, especially now that I’ve sorted out a sweet digital workflow for them.

2015-02-10 Evolution of my index card workflow -- index card #drawing #workflow

2015-02-10 Evolution of my index card workflow – index card #drawing #workflow

I started with a straightforward workflow:

  1. Think of a question.
  2. Draw it on a paper index card.
  3. After I complete 5+ index cards, scan the cards.
  4. Convert and process the cards (colouring, etc.).
  5. Rename the cards.
  6. Upload the cards.
  7. Add them to my Flickr set (and to blog posts and so on).

I replaced my Flickr uploading process with a script. Then I replaced the paper index cards with digital index cards. I wrote another script to make renaming files easier. Then I built an outline of questions and used that to create index card templates. So now my workflow looks like this:

  1. I use Org Mode in Emacs to collect and organize questions. I use TODO states to track ones that need further research, ones that are ready to be drawn, and ones that are ready to be blogged.
  2. When I switch to tablet mode, I can select questions to draw using a custom pen-friendly Emacs interface that sets up the template for me.
  3. I upload the images using another script and add the links to my outline.

After I draft the blog post, I use another bit of code to move the relevant images out of my “To blog” directory and into another directory so that I can easily upload them (since I still haven’t tweaked the all-Emacs way of doing things the way I want them).

An index card is a good size for a chunk. It’s smaller than a blog post, so I can accelerate my learn-do-share-review cycle. If I invest more time into creating, organizing, and sharing them, I think they’ll pay off well. Other people report that their Zettelkasten (index card organization systems) become almost like conversational partners and collaborators. I already feel that way about my blog archive, and it will probably be even more

Hmm… Should I add a unique identifier to sketches so that I can refer to them more concisely than giving the full link? This mostly matters for referring to sketches in the drawing itself, since I can use links in text or metadata. For example, I can assign codes to each chunk, possibly differentiating between sketches (letters?) and blog posts (numbers?). So, maybe “2015-01-01a” for the first sketch on January 1, and “2015-01-01-1” for the first blog post? I could omit the dashes, but then searching requires that mental translation, so we’ll keep the dashes in there. The downside is that there’ll be a little additional clutter, but it might be interesting to experiment with – adding a reference line, and maybe even adding the info to the filename. It gives some linking capability that can survive the disparate systems I publish sketches to (my blog, Evernote, Flickr), even for sketches that don’t get turned into blog posts.

What about my 5-cards-a-day target?

2015-02-08 Reflection on 5 index cards a day target -- index card #drawing #reflection

2015-02-08 Reflection on 5 index cards a day target – index card #drawing #reflection

Sometimes making five cards feels like a stretch, since I have to Think Interesting Thoughts. Using templates can help – I could make four cards and a journal entry, for example. I expect the awkwardness will subside as I build up my question store and do more research/experimentation.

Colour slows me down if I think about it too much or worry about becoming too repetitive. It might be fine to just quickly highlight things most of the time and save the development of colour sense for sessions of deliberate practice.

2015-02-09 How can I make better use of my index card drawing process -- index card #drawing #index-cards #zettelkasten

2015-02-09 How can I make better use of my index card drawing process – index card #drawing #index-cards #zettelkasten

In terms of thinking, spending the extra few minutes to think about and capture the next questions or actions for a card can make a big difference in my focus. I can also relax my chunking guidelines so that a single sketch can be fleshed out into a quick blog post instead of waiting until I accumulate several sketches related to the topic – taking my own advice to schedule Minimum Viable Posts. If I phrase my outline in terms of questions instead of keywords, I’ll probably find that more motivating and easier to scope.

2015-02-09 How can I make better use of my laptop -- index card #tech

2015-02-09 How can I make better use of my laptop – index card #tech

That will probably also help me with some of the bottlenecks I identified while contemplating how I can make better use of my laptop. I’m doing okay at generating questions and drawing index cards, but I can do better at translating those ideas into research, experiments, and blog posts. So, I can clear out more of my backlog of index cards that I want to share (probably ending up with two months of scheduled blog posts, or maybe even more!). Then I can research and try out more ideas, so I’m not just drawing questions that I can answer with what’s currently in my head. =)