4 puntos por GN⁺ 2024-10-05 | 1 comentarios | Compartir por WhatsApp
  • Cartographist es un navegador experimental pensado para flujos de investigación en los que se profundiza siguiendo enlaces; en vez de abrir ventanas nuevas, muestra el contexto de navegación en paneles conectados horizontalmente
  • No deja el historial de visitas solo como una lista cronológica, sino que lo muestra como una vista general en estructura de árbol, lo que facilita entender por qué ruta llegó el usuario a una página
  • Permite guardar y volver a cargar el estado de la sesión como trails, para retomar desde el punto donde se dejó una investigación temática de largo plazo
  • Surgió de un experimento de navegador para investigación en el verano de 2020, influido por el diseño del sitio web de Andy Matuschak, el experimento de Nate Parrot con una pila de vistas de navegador móvil, las Miller columns y el navegador de clases de Smalltalk
  • En la investigación real, más que conservar todo el historial, es más importante el proceso de síntesis de reunir y reordenar parte del material; guardar la posición de desplazamiento y las selecciones, o contar con un historial editable, podría ser más práctico

La forma de explorar en Cartographist

  • Cartographist es un navegador web experimental enfocado en la exploración tipo madriguera de conejo
  • En vez de abrir una ventana nueva con cmd-click, cada vez que se abre un enlace crea un panel con desplazamiento horizontal
  • En lugar de buscar páginas dentro de un historial lineal de visitas, muestra el flujo de exploración como una vista general en estructura de árbol
  • Permite guardar y cargar en trails el estado exacto en el que se dejó la sesión, sin empezar de cero cada vez
    • Está pensado para una forma de uso en la que se investiga un tema específico durante un período largo
  • El código está disponible públicamente en szymonkaliski/Cartographist

Contexto y límites del experimento

  • El proyecto comenzó en el verano de 2020, al experimentar con la idea de un navegador web centrado en la investigación
    • La distinción de base era entender browsing como una actividad abierta y divergente, y searching como búsqueda de información
    • Después de compartir una vista previa en Twitter, siguieron llegando solicitudes para compartirlo, por lo que el proyecto se hizo público
  • La navegación basada en paneles recibió influencia de varias interfaces
  • El mismo enfoque de navegación por paneles también se usa en Vim para navegar código
    • Consiste en abrir la definición de una función en un panel nuevo con un solo atajo de teclado
    • Glamorous Toolkit puede verse como un caso que lleva más lejos la idea de navegación por paneles
  • El historial guardado en disco resulta teóricamente atractivo porque permite volver después de un tiempo a una sesión de navegación y elegir conscientemente dentro de qué “topic” se está
  • En la práctica, la utilidad del historial completo en sí es limitada
    • Saber por dónde y cómo se llegó puede ayudar a veces, pero en investigación lo más importante es la síntesis: extraer partes de un conjunto mayor, reordenarlas y recombinarlas, y pensar junto con los materiales
    • Mejoras más pequeñas incluyen guardar la posición de desplazamiento o la selección, y un historial editable que permita eliminar callejones sin salida y agregar notas
  • También queda la posibilidad de que el problema deba resolverse en otro nivel
    • Un buen gestor de ventanas podría reemplazar casi por completo a Cartographist
    • En HHTWM se experimentó con un diseño en columnas, pero al no tener desplazamiento horizontal terminó siendo poco útil

1 comentarios

 
GN⁺ 2024-10-05
Opiniones en Hacker News
  • Es un tema un poco distinto, pero me pareció interesante la parte del artículo donde dice que, al navegar código con Vim, “abre la definición de una función en un panel nuevo con un solo atajo”, así que busqué la configuración .vim del autor en GitHub
    El método era nnoremap gF vgF: https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    Y nnoremap gD :call CocActionAsync('jumpDefinition', 'vsplit'): https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    Al final, en Lua de nvim me quedé con buf_set_keymap('n', 'gds', 'vlua vim.lsp.buf.definition()', opts), y lo dejé como un mapeo distinto del gd que uso normalmente para poder elegir si abrir o no una nueva ventana dividida. Por ejemplo, si una variable solo está definida 20 líneas más arriba, no quiero una nueva ventana dividida

    • Para este uso, Haystack también está bastante bien: https://haystackeditor.com/
    • Si se trata de una función de Vim, es muy probable que alguien ya haya implementado lo que podamos imaginar, solo que todavía no lo hayamos visto. Aun así, me gustaría que existiera una combinación de teclas que dijera: “si al saltar a la definición parte del texto actualmente visible sigue quedando en pantalla, salta ahí sin más; si está más lejos que eso, abre una ventana dividida
    • Me gustó esta configuración y la agregué a mi configuración de nvim, pero gds provoca un pequeño retraso cuando intento usar gd, así que lo cambié a gv
    • El comando exacto es vim.api.nvim_buf_set_keymap o simplemente vim.keymap.set
  • Está bastante genial. Recomiendo mucho contactar a Kay Xu, que investiga sensemaking y berrypicking
    Parece que está trabajando en una versión más nueva y mejor basada en una extensión del navegador, no en un renderer separado, y colaborar podría beneficiar a ambas partes
    https://vis4sense.github.io/sensemap/paper.pdf
    https://vis4sense.github.io/sensemap/
    https://web.archive.org/web/20080112091521/http://www.gseis....

    • No hay soporte para Firefox. Además, dice que “la versión anterior de SenseMap ya no se mantiene y se está desarrollando una nueva versión llamada HistoryMap”, pero el sitio está muerto
  • Hace más de 20 años hice algo parecido. También permitía búsqueda de texto completo en el contenido de las páginas y funcionaba como el historial del navegador, así que lo usé durante varios años
    La verdadera solución la vi en una habitación con gabinetes de sótano llenos de papel de carnicería, obra de una persona muy persistente que tenía dificultades de aprendizaje. Para entender los libros de texto, reorganizaba el contenido sobre enormes rollos y fue creando su propia gramática; el resultado era una mezcla de mapa mental y ZUI
    Su idea de “enlazado” se parecía más a un sistema de índices. Sacaba del gabinete otro rollo de papel etiquetado, lo desplegaba hasta el área “vinculada” y lo doblaba sobre la mesa para poner ambos rollos uno junto al otro
    La aplicabilidad general se veía de inmediato, y hace más de 10 años trabajé durante unos meses en una nueva forma de explorar la web, pero no logré continuar. Sigo pensando que debería trabajar más en ello, pero la ansiedad y la depresión son realmente difíciles. Ahora los LLM también permiten etiquetado ontológico inteligente. Las piezas están justo ahí; solo hay que tomarlas

    • También se puede pegar papel, fotos, notas, etc. en una pared o en un tablero gigante, y conectar elementos relacionados con hilo rojo y chinchetas
    • Interesante. Me gustaría que hubiera algún enlace para ver más sobre ese proyecto y la inspiración. Si tienes un blog o alguna cuenta social que valga la pena seguir, sería bueno que también lo dejaras por escrito
    • ¿Podrías explicar ese sistema de enlazado de otra manera? Todavía no termino de entenderlo. Me pregunto qué significa exactamente desplegar un rollo “índice” etiquetado hasta el área vinculada
    • Eso suena a Zettelkasten + transclusion
  • Me da gracia la parte de “compartí una vista previa en Twitter y tuvo una reacción enorme e inesperada, pero me distraje con otras cosas y no volví al proyecto”
    Hizo un navegador para explorar rabbit holes y luego él mismo se distrajo
    Bromas aparte, la descripción de la función de Vim me recuerda al navegador Whisper de Squeak. Tenía algo parecido a un SmalltalkBrowser orientado a profundidad para evitar la proliferación inevitable de ventanas durante el trabajo normal. También es interesante que, en Vim, las funciones necesarias para reorganizar la exploración de código de esa forma sean apenas unas dos líneas de configuración. Claro que el navegador Whisper no solo navegaba hacia los lados, sino que también tenía apilamiento y una nueva UI

  • Genial. Cuando estábamos creando Chrome, algunos de nosotros —en realidad, prácticamente solo yo— estábamos obsesionados con iRider, un navegador tipo shell de IE. Tenía pestañas estilo árbol y función de fijar, así que resultaba útil de una forma muy parecida
    Según recuerdo, también tenía una función que podría encajar bien aquí: arrastrar a través de pestañas para controlarlas en lote. Si hacías clic en el botón de cerrar o fijar y luego arrastrabas verticalmente sobre otras pestañas, se aplicaba la misma acción, lo que hacía muy fácil manejar una pila interminable de pestañas

    • Me gustaría agregar esta navegación horizontal del historial a “Chrome virtualizado”, es decir, BrowserBox, que es Chrome como app cliente-servidor, y a su SaaS, CloudTabs: https://browse.cloudtabs.net
  • Para usuarios con ADHD, parece algo que sería un sueño y una pesadilla al mismo tiempo.
    ¿Soy el único al que le pasa seguido que una sesión de navegación termina con 300 pestañas? Siento que usaría esta función en exceso y que me haría la vida mucho peor.

    • Hace poco entendí el componente de memoria de trabajo del ADHD, y fue un punto de inflexión importante. Me di cuenta de que lo más importante que puedo hacer en cualquier día es despejar el tablero, porque así aparece espacio para concentrarme y también baja la carga que siento durante el día.
      Me tomó tiempo, pero ahora, cuando veo desorden como pestañas o capturas de pantalla, en vez de pensar en qué guardar o qué perder, pienso en cuánto más podría hacer si ese desorden no estuviera ahí. Entonces empieza a sentirse como una ganancia, no como una pérdida, y ayuda. No siempre funciona, pero los días en que funciona son realmente sorprendentes.
    • En mi caso, que se acumulen pestañas suele estar relacionado con el miedo a perderme algo. Es una forma de guardar digitalmente cosas que quizá necesite algún día. Por eso, tener la certeza de que el historial siempre queda podría incluso mejorar las cosas.
      Creo que ayudaría más poder etiquetar fácilmente durante la navegación y luego buscar rápido por etiquetas y por el contenido de las páginas vistas. Si tengo la certeza de que puedo volver a encontrar algo, se me hace más fácil cerrar pestañas.
      Como otra persona con ADHD, últimamente hago limpiezas periódicas cerrando pestañas. Normalmente las vinculo a eventos relacionados, como cuando empiezo o termino la jornada, o cuando inicio o cierro una tarea. Intento tener una ventana por cada trabajo en curso, y el resto de las pestañas las pongo en otro lado. Por ejemplo, si una pestaña está relacionada con una tarea, la meto en un tablero Kanban; si es para leer, la mando a Instapaper; si me parece interesante y quiero volver a verla después, dejo una línea en mi diario de LogSeq con una breve descripción. La idea es que, si no las estoy acumulando porque sí, debe haber una razón para guardar esas pestañas; entonces aclaro esa razón y las pongo en un lugar donde pueda encontrarlas cuando corresponda.
    • Si tienes ADHD, creo que te va a gustar offpunk. Es un navegador offline para Gemini, Gopher y web mínima.
      Agregas marcadores, feeds RSS, etc., ejecutas offpunk --sync y luego ejecutas offpunk. Por último, en el prompt escribes tour o t, y sigues presionando t hasta haber visto todos los blogs o sitios de noticias.
      Los sitios se leen con la barra espaciadora y, si quieres volver a leer algo, escribes less para acceder por número de enlace. Para volver atrás, presionas b. Todo queda guardado offline para usarlo después.
      URL https://sr.ht/~lioploum/offpunk/
    • A mí me pasaba exactamente lo mismo. Necesito algo que me mantenga en rumbo. O, al menos, algo que en vez de incitarme a meterme en una madriguera, me avise: “¡Atención! Estás entrando en una madriguera”.
      Por otro lado, poder volver rápidamente al punto de bifurcación donde me desvié de la ruta que originalmente debía seguir es realmente valioso.
      Tampoco logré incorporar bien la función de ramas de deshacer en Vim. La entiendo, pero no he podido usarla en la práctica. Creo que mi cerebro con ADHD maneja mejor un historial lineal que uno ramificado.
    • Si las pestañas se vuelven inmanejables, pásalas a OneTab.
  • Interesante. Se solapa con los siguientes complementos de Firefox:
    Tree Style Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... — más simple y sin función de guardado de sesiones.
    Tree Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-tabs — más complejo y también permite guardar sesiones, pero no es compatible con algunos otros complementos y no recibió la evaluación de seguridad de Mozilla.
    Ninguno de los dos reordena las pestañas dentro de la ventana; solo ofrece una lista en árbol alternativa de las pestañas abiertas.

    • Sideberry es una versión más avanzada de esos complementos.
    • En Firefox también había un complemento que mostraba las pestañas en una cuadrícula dentro de la misma ventana, pero desapareció junto con XUL.
    • Sería bueno tener algo como Miller columns.
    • Lo único que he visto que reordena pestañas dentro de la ventana es foxytab.
  • Todo el mundo habla del riesgo existencial que traerá la IA, y este tipo lanza al mundo una herramienta así sin ningún mecanismo de seguridad; de verdad me preocupa.
    Hablando un poco más en serio, en vez de una lista lineal de pestañas, un grafo de pestañas de ArXiv podría ser bastante útil al profundizar en la literatura científica.

    • ¿Qué tiene que ver esto con la “IA”?
    • El enfoque de grafo puede extenderse a toda la navegación web. Puede pasar que abras la página B desde la página A, y que también abras la página B desde la página C.
      Con navegación estilo árbol, terminarías abriendo o viendo B dos veces, y tampoco sería fácil ver que llegaste a B tanto desde A como desde C.
  • Hay que recuperar el hipertexto de verdad.
    El navegador debería comportarse como si estuviera explorando documentos. Debería poder ir hacia atrás y hacia adelante, y cada “vista” debería estar en caché y poder guardarse, no convertirse en basura SPA cargada con un main.min.js de 20 MB.

  • La mejor frase del texto de alguien que creó un navegador optimizado para explorar madrigueras: “Compartí una vista previa en Twitter y tuvo una respuesta inesperadamente enorme, pero me distraje con otras cosas y no volví al proyecto”