- Cartographist est un navigateur expérimental conçu pour les recherches où l’on suit des liens toujours plus loin, en affichant le contexte de navigation sous forme de panneaux horizontaux enchaînés plutôt que dans de nouvelles fenêtres
- Au lieu de conserver l’historique uniquement comme une liste chronologique, il l’affiche sous forme d’une vue d’ensemble arborescente, ce qui permet de comprendre plus facilement par quel chemin on est arrivé à une page
- L’état d’une session peut être enregistré et rechargé sous forme de trails, ce qui permet de reprendre une enquête thématique de longue durée exactement là où elle s’était arrêtée
- Le projet est né d’une expérimentation autour d’un navigateur de recherche à l’été 2020, influencée par la mise en page du site d’Andy Matuschak, les expérimentations de pile de vues de navigateur mobile de Nate Parrot, les Miller columns et le navigateur de classes de Smalltalk
- Dans la recherche réelle, le travail de synthèse consistant à rassembler et réorganiser une partie des matériaux compte souvent plus que la conservation de l’historique complet, et des fonctions comme la sauvegarde de la position de défilement, des sélections ou un historique modifiable peuvent s’avérer plus pratiques
La manière de naviguer de Cartographist
- Cartographist est un navigateur web expérimental centré sur l’exploration en terrier de lapin
- Au lieu d’ouvrir une nouvelle fenêtre avec
cmd-click, il crée un panneau à défilement horizontal chaque fois qu’un lien est ouvert - Plutôt que de retrouver une page via un historique linéaire, il montre le flux de navigation sous forme d’une vue d’ensemble arborescente
- Au lieu de recommencer à chaque fois, il permet d’enregistrer et de recharger l’état exact d’une session au moment où on l’a quittée sous forme de trails
- Cela correspond à un usage orienté vers l’étude prolongée d’un sujet précis
- Le code est disponible publiquement sur szymonkaliski/Cartographist
Contexte et limites de l’expérimentation
- Le projet a commencé à l’été 2020 dans le cadre d’une expérimentation autour de l’idée d’un navigateur web centré sur la recherche
- La distinction de départ consistait à voir
browsingcomme une activité ouverte et divergente, etsearchingcomme la recherche d’informations - Après le partage d’un aperçu sur Twitter, les demandes de partage ont continué, ce qui a conduit à la publication du projet
- La distinction de départ consistait à voir
- La navigation par panneaux s’inspire de plusieurs interfaces
- La mise en page du site d’Andy Matuschak
- L’expérimentation de Nate Parrot consistant à empiler côte à côte des vues de navigateur web mobile
- Les Miller columns
- Le navigateur de classes original de Smalltalk
- Ce même mode de navigation par panneaux est aussi utilisé pour l’exploration de code dans Vim
- Une seule combinaison de touches permet d’ouvrir la définition d’une fonction dans un nouveau panneau
- Glamorous Toolkit peut être vu comme un exemple poussant encore plus loin l’idée de la navigation par panneaux
- Un historique enregistré sur disque est théoriquement séduisant, car il permet de revenir à une session de navigation après un certain temps et de choisir consciemment le “topic” dans lequel on se trouve
- En pratique, l’utilité de l’historique complet lui-même est limitée
- Savoir d’où l’on vient et comment on est arrivé quelque part peut parfois aider, mais dans la recherche, le plus important est souvent la synthèse : extraire des éléments d’un ensemble plus vaste, puis les réorganiser, les recombiner et réfléchir avec ces matériaux
- Parmi les améliorations plus modestes, on peut imaginer la sauvegarde de la position de défilement ou des sélections, ainsi qu’un historique modifiable permettant de supprimer les impasses et d’ajouter des notes
- Il reste aussi possible que le problème doive être résolu à un autre niveau
- Un bon gestionnaire de fenêtres pourrait presque remplacer Cartographist
- HHTWM a expérimenté une disposition en colonnes, mais sans défilement horizontal, ce qui l’a finalement rendu peu utile
1 commentaires
Avis sur Hacker News
C’est un peu hors sujet, mais j’ai trouvé intéressant le passage où l’auteur dit que, lorsqu’il explore du code dans Vim, il « ouvre la définition d’une fonction dans un nouveau panneau avec un seul raccourci », alors je suis allé chercher sa configuration
.vimsur GitHubLa méthode était
nnoremap gF vgF: https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...Et
nnoremap gD :call CocActionAsync('jumpDefinition', 'vsplit'): https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...Au final, en Lua avec nvim, j’ai adopté
buf_set_keymap('n', 'gds', 'vlua vim.lsp.buf.definition()', opts), avec un mapping distinct dugdque j’utilise d’habitude, pour pouvoir choisir d’ouvrir ou non un nouveau split. Par exemple, si une variable est simplement définie 20 lignes plus haut, je ne veux pas forcément un nouveau splitgdsintroduisait un léger délai quand je voulais utilisergd, donc je l’ai remplacé pargvvim.api.nvim_buf_set_keymap, ou simplementvim.keymap.setTrès chouette. Je recommande vivement de contacter Kay Xu, qui travaille sur le sensemaking et le berrypicking
Il semble travailler sur une version plus récente et meilleure, basée sur une extension de navigateur plutôt que sur un moteur de rendu séparé, et une collaboration pourrait être bénéfique aux deux parties
https://vis4sense.github.io/sensemap/paper.pdf
https://vis4sense.github.io/sensemap/
https://web.archive.org/web/20080112091521/http://www.gseis....
J’avais créé quelque chose de similaire il y a plus de 20 ans. Il y avait aussi une recherche plein texte dans le contenu des pages, et ça fonctionnait comme un historique de navigation ; je l’ai utilisé pendant des années
La vraie solution, je l’ai vue chez une personne extrêmement tenace qui avait des troubles de l’apprentissage, dans une pièce au sous-sol remplie de papier de boucherie rangé dans des armoires. Pour comprendre ses manuels, elle réorganisait leur contenu sur d’immenses rouleaux et avait créé sa propre grammaire, ce qui donnait au final une sorte d’hybride entre carte mentale et ZUI
Son idée de « linking » ressemblait davantage à un système d’indexation. Elle sortait d’une armoire un autre rouleau de papier étiqueté, le déroulait jusqu’à la zone « liée », puis le repliait sur la table pour placer les deux rouleaux côte à côte
Le potentiel général était immédiatement évident, et j’ai travaillé plusieurs mois, il y a plus de 10 ans, sur une nouvelle façon d’explorer le Web, mais je n’ai pas réussi à continuer. Je me dis sans cesse que je devrais m’y remettre, mais l’anxiété et la dépression sont vraiment difficiles. Aujourd’hui, avec les LLM, on peut aussi faire un étiquetage ontologique intelligent. Les pièces sont là, juste devant nous ; il suffit de les prendre
J’ai trouvé amusant le passage : « J’ai partagé un aperçu sur Twitter et la réaction a été étonnamment énorme, mais j’ai été distrait par d’autres choses et je ne suis pas revenu au projet »
Il a créé un navigateur pour explorer des terriers de lapin, puis s’est lui-même laissé distraire
Blague à part, la description des fonctionnalités de Vim me rappelle le navigateur Whisper de Squeak. Il avait une sorte de SmalltalkBrowser centré sur la profondeur pour éviter la prolifération inévitable des fenêtres pendant le travail courant. C’est aussi intéressant que, dans Vim, les fonctionnalités nécessaires pour réorganiser ainsi l’exploration du code tiennent à peu près en deux lignes de configuration. Bien sûr, le navigateur Whisper ne se contentait pas de naviguer latéralement : il avait aussi de l’empilement et une nouvelle UI
Super. Quand nous construisions Chrome, quelques-uns d’entre nous — en fait, pratiquement moi seul — étions fascinés par iRider, un navigateur shell IE. Il avait des onglets en arbre et une fonction d’épinglage, ce qui le rendait utile d’une manière très similaire
Si je me souviens bien, il avait aussi une fonctionnalité qui pourrait bien convenir ici : on pouvait faire glisser à travers les onglets pour les contrôler en lot. Après avoir cliqué sur le bouton de fermeture ou d’épinglage, on faisait glisser verticalement sur d’autres onglets, et la même action s’appliquait ; cela rendait très facile la gestion de piles d’onglets qui grossissent sans fin
Pour les personnes avec un TDAH, ça ressemble à la fois à un rêve et à un cauchemar
Il n’y a que moi pour finir régulièrement une session de navigation avec 300 onglets ? Je sens que j’abuserais de cette fonctionnalité, et qu’elle rendrait ma vie nettement pire
Ça a pris du temps, mais maintenant, quand je vois du bazar comme des onglets ou des captures d’écran, je pense moins à ce que je vais sauvegarder ou perdre qu’à tout ce que je pourrais faire de plus s’il n’y avait pas ce bazar. Du coup, ça commence à ressembler à un gain plutôt qu’à une perte, et ça aide. Ça ne marche pas toujours, mais les jours où ça marche, c’est vraiment impressionnant
Pouvoir taguer facilement pendant la navigation, puis rechercher rapidement plus tard dans les tags et le contenu des pages consultées, aiderait encore plus. Quand on est sûr de pouvoir retrouver quelque chose, fermer l’onglet devient plus facile
En tant que personne aussi concernée par le TDAH, je fais maintenant régulièrement des sessions de fermeture d’onglets. En général, je les cale sur des événements pertinents, comme le début ou la fin de la journée de travail, ou le début ou la fin d’une tâche. J’essaie d’avoir une fenêtre par travail en cours, et je mets les autres onglets ailleurs. Par exemple, si un onglet concerne une tâche à faire, je le mets dans un tableau Kanban ; si c’est à lire, je l’envoie vers Instapaper ; si c’est intéressant et que je veux y revenir plus tard, je laisse une ligne dans mon journal LogSeq avec une courte description. Le principe, c’est que si je ne garde pas juste des onglets empilés, c’est qu’il y a une raison de les conserver ; autant clarifier cette raison et les mettre à un endroit où je pourrai les retrouver au bon moment
Ajoutez des favoris, des flux RSS, etc., lancez
offpunk --sync, puisoffpunk. Enfin, à l’invite, saisisseztourout, puis continuez à appuyer surtjusqu’à avoir parcouru tous les blogs ou sites d’actualitéOn lit un site avec la barre d’espace, et si l’on veut le relire, on saisit
lesspour accéder aux liens par numéro. Pour revenir en arrière, appuyez surb. Tout le contenu est conservé hors ligne pour un usage ultérieurURL https://sr.ht/~lioploum/offpunk/
En revanche, pouvoir revenir rapidement au point de bifurcation où l’on s’est écarté du chemin qu’on était censé suivre est vraiment précieux
Même dans Vim, je n’ai jamais vraiment adopté la fonctionnalité de branches d’annulation. Je la comprends, mais je n’ai pas réussi à l’utiliser en pratique. Mon cerveau TDAH semble mieux gérer un historique linéaire qu’un historique ramifié
Intéressant. Il y a des recoupements avec les extensions Firefox suivantes
Tree Style Tabs : https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... — plus simple, sans fonction de sauvegarde de session
Tree Tabs : https://addons.mozilla.org/en-US/firefox/addon/tree-tabs — plus complexe et capable de sauvegarder les sessions, mais incompatible avec certaines autres extensions et non évalué par Mozilla sur le plan de la sécurité
Les deux ne réorganisent pas les onglets à l’intérieur de la fenêtre ; elles fournissent seulement une liste arborescente alternative des onglets ouverts
Tout le monde parle du risque existentiel que l’IA ferait peser, et voilà que cette personne lâche un tel outil dans la nature sans aucune sécurité ; c’est vraiment inquiétant
Plus sérieusement, avoir un graphe d’onglets ArXiv au lieu d’une liste linéaire d’onglets pourrait être très utile quand on plonge profondément dans la littérature scientifique
Avec une navigation en arbre, on finit par ouvrir ou consulter B deux fois, et le fait d’être arrivé à B depuis A comme depuis C n’est pas facilement visible
Il faut ramener un vrai hypertexte
Le navigateur devrait se comporter comme si l’on naviguait dans des documents. On devrait pouvoir avancer et reculer, chaque « vue » devrait être mise en cache et sauvegardable, au lieu d’être une saleté de SPA embarquant 20 Mo de
main.min.jsLa meilleure phrase dans l’article de la personne qui a créé un navigateur optimisé pour l’exploration des terriers de lapin : « J’ai partagé un aperçu sur Twitter et ça a reçu une réaction énorme et inattendue, mais j’ai été distrait par autre chose et je ne suis jamais revenu au projet »