4 points par GN⁺ 2024-10-05 | 1 commentaires | Partager sur WhatsApp
  • 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 browsing comme une activité ouverte et divergente, et searching comme 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 navigation par panneaux s’inspire de plusieurs interfaces
  • 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

 
GN⁺ 2024-10-05
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 .vim sur GitHub
    La 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 du gd que 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 split

    • Pour ce genre d’usage, Haystack est aussi plutôt pas mal : https://haystackeditor.com/
    • S’il s’agit d’une fonctionnalité Vim, il y a de fortes chances que quelqu’un l’ait déjà implémentée, même si je ne l’ai pas encore vue. Cela dit, j’aimerais bien avoir une combinaison de touches du type : « quand on saute à la définition, si une partie du texte actuellement visible reste encore à l’écran, alors on y va simplement ; si c’est plus loin que ça, ouvrir un split »
    • J’ai aimé cette configuration et je l’ai ajoutée à ma config nvim, mais gds introduisait un léger délai quand je voulais utiliser gd, donc je l’ai remplacé par gv
    • La commande exacte est vim.api.nvim_buf_set_keymap, ou simplement vim.keymap.set
  • Trè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....

    • Pas de prise en charge de Firefox. Et il est indiqué que « l’ancienne version de SenseMap n’est plus maintenue et qu’une nouvelle version appelée HistoryMap est en cours de développement », mais le site est mort
  • 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

    • On peut aussi accrocher du papier, des photos, des notes, etc. sur un mur ou un immense panneau en liège, et relier les éléments associés avec du fil rouge et des punaises
    • Intéressant. Ce serait bien d’avoir un lien pour en voir plus sur ce projet et son inspiration. Si tu as un blog ou un compte social à suivre, ce serait bien aussi d’écrire à ce sujet
    • Peux-tu expliquer ce système de linking autrement ? Je ne visualise pas encore très bien. Je me demande ce que signifie exactement dérouler un rouleau d’« index » étiqueté jusqu’à la zone liée
    • Ça ressemble à Zettelkasten + transclusion
  • 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

    • J’aimerais ajouter cette navigation horizontale dans l’historique à un « Chrome virtualisé », c’est-à-dire BrowserBox, Chrome sous forme d’application client-serveur, ainsi qu’à son SaaS CloudTabs : https://browse.cloudtabs.net
  • 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

    • J’ai récemment découvert la composante mémoire de travail du TDAH, et ça a vraiment été un déclic. J’ai compris que, n’importe quel jour, le plus important à faire est de dégager le terrain, pour créer de l’espace mental où se concentrer et réduire la charge ressentie tout au long de la journée
      Ç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
    • Dans mon cas, l’accumulation d’onglets est souvent liée à la peur de perdre quelque chose. C’est une manière d’archiver numériquement des choses dont je pourrais avoir besoin un jour. Donc si j’ai la certitude qu’il reste toujours une trace, ça pourrait au contraire améliorer les choses
      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
    • Si vous avez un TDAH, offpunk pourrait vous plaire. C’est un navigateur hors ligne pour Gemini, Gopher et le web minimal
      Ajoutez des favoris, des flux RSS, etc., lancez offpunk --sync, puis offpunk. Enfin, à l’invite, saisissez tour ou t, puis continuez à appuyer sur t jusqu’à 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 less pour accéder aux liens par numéro. Pour revenir en arrière, appuyez sur b. Tout le contenu est conservé hors ligne pour un usage ultérieur
      URL https://sr.ht/~lioploum/offpunk/
    • J’étais exactement pareil. Il me faut quelque chose qui me maintienne sur les rails. Au minimum, quelque chose qui me signale « Attention ! Vous êtes en train d’entrer dans un terrier de lapin », au lieu de m’y encourager
      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é
    • Quand il y a trop d’onglets pour s’en sortir, il suffit de les envoyer dans OneTab
  • 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

    • Sideberry est une version plus avancée de ces extensions
    • Firefox avait aussi une extension qui affichait les onglets sous forme de grille dans la même fenêtre, mais elle a disparu avec XUL
    • Ce serait bien d’avoir quelque chose comme les colonnes de Miller
    • La seule extension que j’aie vue réorganiser les onglets à l’intérieur de la fenêtre, c’est foxytab
  • 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

    • Quel rapport avec « l’IA » ?
    • L’approche par graphe peut s’étendre à toute la navigation web. On peut ouvrir une page B depuis une page A, puis aussi ouvrir cette même page B depuis une page C
      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.js

  • La 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 »