- Cartographist ist ein experimenteller Browser für den Recherchefluss, bei dem man Links immer tiefer folgt: Statt neuer Fenster zeigt er den Navigationskontext in horizontal aneinandergereihten Panels
- Der Verlauf bleibt nicht nur als chronologische Liste erhalten, sondern wird als Baumstruktur-Übersicht angezeigt, sodass Nutzer leichter nachvollziehen können, über welchen Pfad sie zu einer Seite gelangt sind
- Der Sitzungszustand lässt sich als trails speichern und wieder laden, sodass sich langfristige Themenrecherchen an der unterbrochenen Stelle fortsetzen lassen
- Entstanden ist das Projekt im Sommer 2020 aus einem Browser-Experiment für Recherche; beeinflusst wurde es vom Website-Layout von Andy Matuschak, Nate Parrots Experiment mit gestapelten Mobile-Browser-Views, Miller columns und dem Smalltalk-Klassenbrowser
- In echter Recherche ist weniger das Bewahren des gesamten Verlaufs entscheidend als der Syntheseprozess, bei dem Teile des Materials gesammelt und neu angeordnet werden; gespeicherte Scrollpositionen und Auswahlen oder ein editierbarer Verlauf könnten praktischer sein
Die Navigationsweise von Cartographist
- Cartographist ist ein experimenteller Webbrowser mit Fokus auf Rabbit-Hole-artiges Navigieren
- Statt per
cmd-Klick ein neues Fenster zu öffnen, erzeugt er bei jedem geöffneten Link ein horizontal scrollbares Panel - Seiten werden nicht über einen linearen Verlauf wiedergefunden; stattdessen zeigt der Browser den Navigationsfluss als Baumstruktur-Übersicht
- Sitzungen müssen nicht jedes Mal neu begonnen werden: Der exakte Zustand beim Verlassen einer Sitzung lässt sich als trails speichern und laden
- Das ist auf Nutzungsweisen zugeschnitten, bei denen man ein bestimmtes Thema über längere Zeit recherchiert
- Der Code ist unter szymonkaliski/Cartographist veröffentlicht
Hintergrund und Grenzen des Experiments
- Das Projekt begann im Sommer 2020 als Experiment mit der Idee eines recherchezentrierten Webbrowsers
- Grundlage war die Unterscheidung,
browsingals offene, divergente Aktivität undsearchingals Informationssuche zu verstehen - Nachdem eine Vorschau auf Twitter geteilt worden war, kamen auch später weitere Anfragen zum Teilen, woraufhin das Projekt veröffentlicht wurde
- Grundlage war die Unterscheidung,
- Panel-basiertes Browsing wurde von mehreren Interfaces beeinflusst
- Andy Matuschaks Website-Layout
- Nate Parrots Experiment, Mobile-Webbrowser-Views nebeneinander zu stapeln
- Miller columns
- der ursprüngliche Smalltalk-Klassenbrowser
- Dieselbe Panel-Navigation wird in Vim auch für die Code-Navigation verwendet
- Dabei öffnet ein einzelnes Tastenkürzel die Definition einer Funktion in einem neuen Panel
- Glamorous Toolkit kann als Beispiel gelten, das die Idee des Panel-Browsings weiter ausbaut
- Ein auf der Festplatte gespeicherter Verlauf ist theoretisch attraktiv, weil man später zu einer Browsing-Sitzung zurückkehren und bewusst auswählen kann, in welchem „topic“ man sich befindet
- In der Praxis ist der Nutzen der gesamten History selbst begrenzt
- Zu wissen, woher und wie man angekommen ist, hilft manchmal; wichtiger in der Recherche ist jedoch die Synthese: aus einem großen Ganzen Teile herauszugreifen, sie neu anzuordnen und neu zu kombinieren und gemeinsam mit dem Material zu denken
- Kleinere Verbesserungen wären das Speichern von Scrollpositionen oder Auswahlbereichen sowie eine editierbare History, in der Sackgassen entfernt und Notizen hinzugefügt werden können
- Es bleibt auch möglich, dass das Problem auf einer anderen Ebene gelöst werden sollte
- Ein guter Fenstermanager könnte Cartographist nahezu ersetzen
- In HHTWM wurde mit einem spaltenförmigen Layout experimentiert; ohne horizontales Scrollen war es am Ende jedoch nicht besonders nützlich
1 Kommentare
Hacker-News-Kommentare
Etwas am Thema vorbei, aber ich fand die Stelle im Artikel interessant, in der es heißt, dass man beim Navigieren durch Code in Vim „mit einem Shortcut die Funktionsdefinition in einem neuen Panel öffnet“, und habe deshalb in den GitHub-Repos des Autors nach seiner
.vim-Konfiguration gesucht.Der Ansatz war
nnoremap gF vgF: https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...Und
nnoremap gD :call CocActionAsync('jumpDefinition', 'vsplit'): https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...Am Ende bin ich in Lua für nvim bei
buf_set_keymap('n', 'gds', 'vlua vim.lsp.buf.definition()', opts)gelandet und habe es als separates Mapping neben dem üblichengdgelassen, damit ich wählen kann, ob ein neuer Split geöffnet werden soll oder nicht. Wenn eine Variable zum Beispiel nur 20 Zeilen weiter oben definiert ist, will man dafür keinen neuen Split.gdserzeugt eine kleine Verzögerung, wenn man eigentlichgdverwenden will, daher habe ich es aufgvgeändert.vim.api.nvim_buf_set_keymapoder einfachvim.keymap.set.Ziemlich cool. Ich empfehle dringend, Kay Xu zu kontaktieren, die zu sensemaking und berrypicking forscht.
Sie scheint an einer neueren und besseren Version auf Basis einer Browser-Erweiterung zu arbeiten, statt an einem separaten Renderer; eine Zusammenarbeit könnte für beide Seiten hilfreich sein.
https://vis4sense.github.io/sensemap/paper.pdf
https://vis4sense.github.io/sensemap/
https://web.archive.org/web/20080112091521/http://www.gseis....
Vor über 20 Jahren habe ich einmal etwas Ähnliches gebaut. Es konnte auch Volltextsuche über Seiteninhalte und funktionierte zugleich wie eine Browser-History, sodass ich es mehrere Jahre genutzt habe.
Die eigentliche Lösung habe ich bei einer sehr hartnäckigen Person mit Lernbehinderung gesehen, in einem Raum voller Metzgerpapier in Schränken im Keller. Um Lehrbücher zu verstehen, ordnete er den Inhalt auf riesigen Rollen neu an und entwickelte dabei seine eigene Grammatik; das Ergebnis war eine Mischung aus Mindmap und ZUI.
Seine Idee des „Linking“ ähnelte eher einem Indexsystem. Er zog eine andere beschriftete Papierrolle aus dem Schrank, rollte sie bis zum „verknüpften“ Bereich aus und faltete sie auf dem Tisch so, dass die beiden Rollen nebeneinander lagen.
Die Allgemeingültigkeit war sofort erkennbar, und vor mehr als zehn Jahren habe ich einige Monate lang an einer neuen Art der Web-Navigation gearbeitet, habe es aber nicht weiterverfolgt. Ich denke immer wieder, dass ich daran weiterarbeiten sollte, aber Angst und Depression sind wirklich hart. Inzwischen ermöglichen LLMs auch intelligentes Ontologie-Labeling. Die Bausteine liegen direkt da; man muss sie nur aufheben.
Die Stelle „Ich habe eine Vorschau auf Twitter geteilt, und sie bekam unerwartet riesige Resonanz, aber ich wurde von anderen Dingen abgelenkt und bin nicht mehr zum Projekt zurückgekehrt“ ist witzig.
Er baut einen Browser für Rabbit-Hole-Recherchen und lässt sich dann selbst ablenken.
Spaß beiseite: Die Beschreibung der Vim-Funktion erinnert mich an den Whisper-Browser von Squeak. Er hatte so etwas wie einen tiefenorientierten SmalltalkBrowser, um die unvermeidliche Vermehrung von Fenstern bei der normalen Arbeit zu vermeiden. Interessant ist auch, dass man in Vim wohl nur etwa zwei Konfigurationszeilen braucht, um die Quellcode-Navigation auf diese Weise neu zu ordnen. Natürlich hatte der Whisper-Browser nicht nur seitliches Navigieren, sondern auch Stapeln und eine neue UI.
Cool. Als wir Chrome bauten, waren einige von uns – eigentlich praktisch nur ich – von einem IE-Shell-Browser namens iRider begeistert. Er hatte Tree-Style-Tabs und Pinning, was auf sehr ähnliche Weise nützlich war.
Soweit ich mich erinnere, gab es dort eine Funktion, die hier ebenfalls gut passen könnte: Man konnte über Tabs hinweg ziehen, um sie im Batch zu steuern. Wenn man auf den Schließen- oder Anpinnen-Button klickte und dann vertikal über andere Tabs zog, wurde dieselbe Aktion angewendet; dadurch ließen sich endlos wachsende Tab-Haufen sehr leicht abarbeiten.
Für ADHS-Nutzer wirkt das wie etwas, das zugleich Traum und Albtraum sein kann.
Bin ich der Einzige, bei dem eine Browsing-Session am Ende oft 300 Tabs hat? Diese Funktion würde ich vermutlich exzessiv nutzen, und sie würde mein Leben deutlich schlimmer machen.
Es hat eine Weile gedauert, aber inzwischen denke ich beim Anblick von Gerümpel wie Tabs oder Screenshots weniger daran, was ich speichern oder verlieren könnte, sondern daran, wie viel mehr ich schaffen kann, wenn dieses Gerümpel nicht da ist. Dann fühlt es sich nicht mehr wie ein Verlust an, sondern wie ein Gewinn, und das hilft. Es klappt nicht immer, aber an den Tagen, an denen es klappt, ist es wirklich erstaunlich.
Noch hilfreicher wäre es wohl, wenn man beim Stöbern leicht Tags vergeben und später schnell nach Tags und den Inhalten der besuchten Seiten suchen könnte. Wenn man sicher ist, etwas wiederfinden zu können, fällt es leichter, Tabs zu schließen.
Ebenfalls aus ADHS-Perspektive: Ich mache inzwischen regelmäßig Tab-Aufräumaktionen. Meist knüpfe ich sie an passende Ereignisse, etwa wenn ich die Arbeit des Tages beginne oder beende oder eine Aufgabe anfange oder abschließe. Ich versuche, pro laufender Aufgabe ein Fenster zu haben, und die übrigen Tabs kommen an andere Orte. Wenn ein Tab zum Beispiel mit einer Aufgabe zu tun hat, landet er im Kanban-Board; wenn es etwas zum Lesen ist, schicke ich es an Instapaper; wenn es interessant ist und ich später noch einmal darauf zurückkommen möchte, hinterlasse ich eine Zeile mit kurzer Beschreibung in meinem LogSeq-Journal. Das Prinzip ist: Wenn man Tabs nicht einfach nur anhäuft, gibt es einen Grund, sie zu speichern; also macht man diesen Grund explizit und legt sie an einem Ort ab, an dem man sie zum passenden Zeitpunkt wiederfindet.
Man fügt Bookmarks oder RSS-Feeds usw. hinzu, führt
offpunk --syncaus und startet dannoffpunk. Zuletzt gibt man am Prompttourodertein und drückt weitert, bis man alle Blogs oder Nachrichtenseiten durch hat.Seiten liest man mit der Leertaste; wenn man sie erneut lesen möchte, gibt man
lessein und kann über Link-Nummern zugreifen. Zurück geht es mitb. Alles wird offline für später gespeichert.URL https://sr.ht/~lioploum/offpunk/
Andererseits ist es wirklich wertvoll, schnell zu dem Abzweig zurückkehren zu können, an dem man den eigentlich vorgesehenen Pfad verlassen hat.
Selbst in Vim konnte ich mich nie richtig mit den Verzweigungen der Undo-Historie anfreunden. Ich verstehe sie, aber in der Praxis scheitere ich daran, sie zu nutzen. Mein ADHS-Gehirn kommt offenbar mit einer linearen Historie besser zurecht als mit einer verzweigten.
Interessant. Es gibt Überschneidungen mit den folgenden Firefox-Add-ons:
Tree Style Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... — einfacher und ohne Session-Speicherung
Tree Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-tabs — komplexer und kann Sessions speichern, ist aber mit einigen anderen Add-ons nicht kompatibel und wurde nicht von Mozilla sicherheitsgeprüft.
Beide ordnen die Tabs nicht innerhalb des Fensters neu an, sondern bieten nur eine alternative Baumliste der geöffneten Tabs.
Alle reden über die existenziellen Risiken durch KI, und dieser Mensch setzt so ein Tool ohne jegliche Sicherheitsvorkehrungen in die Welt — das macht mir wirklich Sorgen.
Etwas ernsthafter: Statt einer linearen Tab-Liste könnte ein ArXiv-Tab-Graph beim tiefen Eintauchen in wissenschaftliche Literatur ziemlich nützlich sein.
Bei Tree-Style-Browsing würde man B zweimal öffnen oder ansehen, und es ist auch nicht leicht erkennbar, dass man sowohl von A als auch von C zu B gekommen ist.
Wir müssen echten Hypertext zurückbringen.
Ein Browser sollte sich so verhalten, als würde man Dokumente erkunden. Man sollte vor- und zurückgehen können, und jede „Ansicht“ sollte gecacht und speicherbar sein — statt dass alles zu SPA-Müll mit einer 20 MB großen
main.min.jswird.Der beste Satz aus dem Beitrag von jemandem, der einen Browser gebaut hat, der für das Erkunden von Rabbit Holes optimiert ist: „Ich habe auf Twitter eine Vorschau geteilt, die unerwartet enorm viel Resonanz bekam, aber dann wurde ich von anderen Dingen abgelenkt und kam nicht mehr zu dem Projekt zurück.“