Szymon Kaliski

  1. Main
  2. Projects
  3. Notes
  4. Music
  5. Bio


Cartographist is an experimental web browser optimized for rabbit-holing.

For more context about the project, you can check out the longer write-up below, which originally appeared as a part of Q4 2021 newsletter.

Transcluded from Cartographist

During the summer of 2020 I played around with an idea for research-focused web browser, embodying some of the concepts from Browsing vs Searching note — browsing being an open-ended divergent activity, and searching understood as information retrieval.

I shared a preview on Twitter, to a surprisingly overwhelming response, but I got distracted with other things and never got back to the project. I still occasionally get requests for sharing this, so here it is: szymonkaliski/Cartographist.

The main idea of browsing in panes was inspired by Andy Matuschak's website layout and some of Nate Parrot's experiments around stacking mobile web browser views next to each other (which I can't seem to find anymore, sorry). This sort of layout has a long history, starting with Miller columns and the original Smalltalk class browser, and is a great interface for detail-in-context browsing.

As an aside, I also use this technique for navigating code with Vim, where a single shortcut goes to a definition of a function in a new pane:

(Glamorous Toolkit is worth checking out, as it takes the idea of pane browsing to another level)

In theory, I also really like the idea of disk-persisted history which allows for going back to a browsing session after a while, and consciously deciding which "topic" I am in.

Unfortunately, in practice, I don't think having the full history is that useful. Yes, it's sometimes good to know how you ended up somewhere, but I think what's most valuable about "research" is the synthesis part — grabbing parts of larger wholes, rearranging, recombining, thinking with the material. A small step in this direction could be persisting scroll position or maybe selection, and making the history editable — allowing users to remove dead ends, add notes, etc.

Additionally, it started to feel that I'm solving this problem on a wrong level. For example, a good window manager could replace Cartographist almost completely — I played around with columnar layout in HHTWM for a bit, but lack of horizontal scrolling makes it not that useful in the end.

Well, let me know if you have any ideas how to make Cartographist better! Is there anything interesting here that I'm not seeing? Could it be useful to you in any way?

Code is open sourced: szymonkaliski/Cartographist.


  1. 2022-01-03A Dog, Short Ramble on "Programming", MIDI→CV, and a Rabbit-Holing Web Browser3

481 words published on 2021-12-22let me know what you think