4 pontos por GN⁺ 2024-10-05 | 1 comentários | Compartilhar no WhatsApp
  • Cartographist é um navegador experimental pensado para o fluxo de se aprofundar seguindo links durante pesquisas, mostrando o contexto de navegação em painéis conectados horizontalmente em vez de novas janelas
  • Em vez de registrar o histórico de visitas apenas como uma lista cronológica, ele o exibe como uma visão geral em estrutura de árvore, facilitando entender por qual caminho o usuário chegou a uma página
  • O estado da sessão pode ser salvo e recarregado como trails, permitindo continuar, a partir do ponto de interrupção, investigações sobre um tema ao longo de períodos longos
  • Surgiu no verão de 2020 a partir de um experimento com navegadores voltados à pesquisa, e foi influenciado pelo layout do site de Andy Matuschak, pelo experimento de Nate Parrot de empilhar visualizações de navegador móvel, por Miller columns e pelo navegador de classes do Smalltalk
  • Em pesquisas reais, mais importante do que preservar todo o histórico é o processo de síntese de coletar e reorganizar partes do material; salvar posição de rolagem e seleção, ou ter um histórico editável, pode ser mais prático

O modo de navegação do Cartographist

  • Cartographist é um navegador web experimental focado em exploração do tipo toca de coelho
  • Em vez de abrir uma nova janela com cmd-click, ele cria um painel com rolagem horizontal a cada link aberto
  • Em vez de encontrar páginas em um histórico linear, ele mostra o fluxo de navegação como uma visão geral em estrutura de árvore
  • Sem precisar recomeçar do zero a cada vez, é possível salvar e carregar o estado exato em que a sessão foi deixada como trails
    • Isso é adequado a um uso em que o usuário pesquisa um tema por longos períodos
  • O código está disponível em szymonkaliski/Cartographist

Contexto e limitações do experimento

  • No verão de 2020, o projeto começou como um experimento com a ideia de um navegador web centrado em pesquisa
    • A distinção de base via browsing como uma atividade aberta e divergente, e searching como busca de informações
    • Depois que uma prévia foi compartilhada no Twitter, pedidos para compartilhá-lo continuaram chegando, e o projeto foi publicado
  • A navegação baseada em painéis foi influenciada por várias interfaces
  • A mesma forma de navegação por painéis também é usada no Vim para navegar por código
    • É um modo de abrir a definição de uma função em um novo painel com um único atalho
    • Glamorous Toolkit pode ser visto como um caso que amplia ainda mais a ideia de navegação por painéis
  • O histórico salvo em disco é teoricamente atraente por permitir voltar a uma sessão de navegação depois de algum tempo e escolher conscientemente em qual “topic” você está
  • Na prática, a utilidade do histórico completo em si é limitada
    • Saber por onde e como você chegou a algo às vezes ajuda, mas o mais importante na pesquisa é a síntese: capturar partes de um todo maior, reorganizá-las e recombiná-las, pensando junto com os materiais
    • Melhorias menores incluem salvar a posição de rolagem ou a área selecionada, e um histórico editável que permita remover becos sem saída e adicionar notas
  • Ainda resta a possibilidade de que o problema precise ser resolvido em outro nível
    • Um bom gerenciador de janelas poderia quase substituir o Cartographist
    • Em HHTWM foi experimentado um layout em colunas, mas, sem rolagem horizontal, ele acabou não sendo muito útil

1 comentários

 
GN⁺ 2024-10-05
Opiniões no Hacker News
  • Fugindo um pouco do assunto, achei interessante a parte do texto em que ele diz que, ao navegar pelo código no Vim, “abre a definição de uma função em um novo painel com um único atalho”, então procurei a configuração .vim do autor no GitHub
    O método era nnoremap gF vgF: https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    E nnoremap gD :call CocActionAsync('jumpDefinition', 'vsplit'): https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    No fim, no Lua do nvim, fiquei com buf_set_keymap('n', 'gds', 'vlua vim.lsp.buf.definition()', opts), e deixei isso em um mapeamento diferente do gd que uso normalmente, para poder escolher se quero ou não abrir uma nova janela dividida. Por exemplo, se uma variável foi definida apenas 20 linhas acima, não quero uma nova janela dividida

    • Para esse tipo de uso, o Haystack também é bem interessante: https://haystackeditor.com/
    • Se é um recurso do Vim, é bem provável que alguém já tenha implementado algo que podemos imaginar; talvez eu é que ainda não tenha visto. Ainda assim, eu gostaria de ter uma combinação de teclas que fizesse algo como: “se, ao ir para a definição, parte do texto atualmente visível ainda ficar na tela, apenas vá até lá; se for mais longe do que isso, abra uma janela dividida
    • Gostei dessa configuração e adicionei ao meu nvim, mas gds causa um pequeno atraso quando tento usar gd, então mudei para gv
    • O comando exato é vim.api.nvim_buf_set_keymap ou simplesmente vim.keymap.set
  • Bem legal. Recomendo fortemente entrar em contato com Kay Xu, que pesquisa sensemaking e berrypicking
    Parece que ela está trabalhando em uma versão mais nova e melhor, baseada em extensão de navegador em vez de um renderizador separado, e uma colaboração poderia ser benéfica para ambos
    https://vis4sense.github.io/sensemap/paper.pdf
    https://vis4sense.github.io/sensemap/
    https://web.archive.org/web/20080112091521/http://www.gseis....

    • Não há suporte ao Firefox. E está escrito que “a versão antiga do SenseMap não é mais mantida, e uma nova versão chamada HistoryMap está em desenvolvimento”, mas o site está fora do ar
  • Mais de 20 anos atrás, fiz algo parecido. Também fazia busca de texto completo no conteúdo das páginas e funcionava como histórico do navegador, então usei por alguns anos
    A solução de verdade eu vi no quarto, cheio de papel pardo de açougueiro em armários no porão, de uma pessoa muito persistente que tinha dificuldades de aprendizagem. Para entender livros didáticos, ela reorganizava o conteúdo em rolos enormes, criando sua própria gramática; no fim, ficou como uma mistura de mapa mental com ZUI
    A ideia de “linking” dele era mais próxima de um sistema de índice. Ele tirava de um armário outro rolo de papel com rótulo, desenrolava até a área “conectada” e o dobrava sobre a mesa para deixar os dois rolos lado a lado
    A aplicabilidade geral ficou óbvia na hora e, mais de 10 anos atrás, trabalhei por alguns meses em uma nova forma de navegar pela web, mas não consegui continuar. Continuo achando que preciso trabalhar mais nisso, mas ansiedade e depressão são realmente difíceis. Agora, com LLMs, também é possível fazer rotulagem ontológica inteligente. As peças estão bem ali; basta pegá-las

    • Também dá para prender papéis, fotos, anotações etc. na parede ou em um enorme quadro de cortiça, conectando itens relacionados com linha vermelha e tachinhas
    • Interessante. Seria bom ter algum link para ver mais sobre esse projeto e a inspiração por trás dele. Se houver um blog ou alguma conta social para seguir, seria ótimo se você também escrevesse sobre isso
    • Você poderia explicar esse sistema de linking de outra forma? Ainda não ficou claro para mim. Fiquei curioso sobre o que exatamente significa desenrolar um rolo “índice” rotulado até a área conectada
    • Isso soa como Zettelkasten + transclusion
  • Achei engraçado o trecho: “Compartilhei uma prévia no Twitter e houve uma reação enorme e inesperada, mas me distraí com outras coisas e nunca voltei ao projeto”
    Ele criou um navegador para exploração de rabbit holes e acabou se distraindo
    Brincadeiras à parte, a descrição do recurso no Vim me fez lembrar o navegador Whisper do Squeak. Ele tinha algo como um SmalltalkBrowser orientado à profundidade para evitar a multiplicação inevitável de janelas durante o trabalho normal. Também é interessante que, no Vim, os recursos necessários para reorganizar a navegação pelo código desse jeito sejam algo como duas linhas de configuração. Claro que o navegador Whisper tinha não só navegação lateral, mas também empilhamento e uma nova UI

  • Legal. Quando estávamos criando o Chrome, alguns de nós — na prática, eu sozinho — éramos fãs de um navegador shell de IE chamado iRider. Ele tinha abas em estilo de árvore e recurso de fixar, e era útil de uma forma muito parecida
    Pelo que lembro, ele tinha um recurso que também poderia se encaixar bem aqui: um jeito de arrastar através das abas para controlá-las em lote. Depois de clicar no botão de fechar ou fixar, você arrastava verticalmente sobre outras abas e a mesma ação era aplicada, o que tornava muito fácil lidar com pilhas de abas que cresciam sem parar

    • Gostaria de adicionar essa navegação horizontal pelo histórico ao “Chrome virtualizado”, ou seja, ao BrowserBox, o Chrome como app cliente-servidor, e ao seu SaaS, o CloudTabs: https://browse.cloudtabs.net
  • Para usuários com ADHD, parece algo que seria um sonho e um pesadelo ao mesmo tempo
    Sou só eu que frequentemente termino uma sessão de navegação com 300 abas? Acho que eu usaria esse recurso em excesso e que ele tornaria minha vida muito pior

    • Recentemente descobri o componente de memória de trabalho do ADHD, e isso foi uma virada e tanto. Percebi que a coisa mais importante que posso fazer em qualquer dia é limpar o tabuleiro, porque assim crio espaço para me concentrar e também reduzo o peso que sinto ao longo do dia
      Levou tempo, mas agora, quando vejo tralhas como abas ou capturas de tela, penso menos no que vou salvar ou perder e mais em quanto mais eu poderia fazer se essa tralha não estivesse ali. Aí começa a parecer um ganho, não uma perda, e isso ajuda. Nem sempre funciona, mas nos dias em que funciona é realmente impressionante
    • No meu caso, o acúmulo de abas muitas vezes tem a ver com medo de perder algo. É uma forma de guardar digitalmente coisas de que talvez eu precise algum dia. Então, se eu tiver a certeza de que sempre haverá um histórico, talvez isso até melhore as coisas
      Acho que ajudaria mais se fosse fácil adicionar tags durante a navegação e depois pesquisar rapidamente pelas tags e pelo conteúdo das páginas visitadas. Quando tenho confiança de que consigo encontrar de novo, fica mais fácil fechar abas
      Também com ADHD, hoje em dia faço limpezas periódicas de abas. Normalmente associo isso a eventos relacionados, como ao começar ou terminar o trabalho do dia, ou ao iniciar ou concluir uma tarefa. Tento manter uma janela para cada trabalho em andamento, e o restante das abas vai para outro lugar. Por exemplo, se a aba está relacionada a uma tarefa, coloco no quadro Kanban; se for algo para ler, mando para o Instapaper; se for interessante e eu quiser revisitar depois, deixo uma linha no diário do LogSeq com uma breve descrição. A lógica é: se não estou simplesmente acumulando, deve haver um motivo para salvar uma aba; então explicito esse motivo e a coloco em um lugar onde eu possa encontrá-la de novo no momento apropriado
    • Se você tem ADHD, acho que vai gostar do offpunk. É um navegador offline para Gemini, Gopher e web mínima
      Adicione favoritos, feeds RSS etc., execute offpunk --sync e depois execute offpunk. Por fim, no prompt, digite tour ou t, e continue pressionando t até ver todos os blogs ou sites de notícias
      Leia os sites com a barra de espaço e, se quiser reler, digite less para acessar pelos números dos links. Para voltar, pressione b. Todo o conteúdo fica armazenado offline para uso posterior
      URL https://sr.ht/~lioploum/offpunk/
    • Eu era exatamente assim. Preciso de algo que me mantenha no trilho. No mínimo, algo que sinalize “atenção! você está entrando agora em uma toca de coelho”, em vez de me incentivar a entrar nela
      Por outro lado, poder voltar rapidamente ao ponto de bifurcação em que saí do caminho que originalmente deveria seguir é realmente valioso
      Nem no Vim consegui adotar de verdade o recurso de ramificações de desfazer. Eu entendo, mas falhei em usar na prática. Acho que meu cérebro com ADHD lida melhor com histórico linear do que com histórico ramificado
    • Quando as abas ficarem numerosas a ponto de serem incontroláveis, é só jogar tudo no OneTab
  • Interessante. Há sobreposição com os seguintes complementos do Firefox
    Tree Style Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... — mais simples e sem recurso de salvamento de sessão
    Tree Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-tabs — mais complexo e também permite salvar sessões, mas não é compatível com alguns outros complementos e não passou pela avaliação de segurança da Mozilla
    Nenhum dos dois reorganiza abas dentro da janela; ambos apenas fornecem uma lista em árvore alternativa das abas abertas

    • Sideberry é uma versão mais evoluída desses complementos
    • No Firefox também havia um complemento que mostrava as abas em uma grade dentro da mesma janela, mas ele desapareceu junto com o XUL
    • Seria bom ter algo como Miller columns também
    • O único que vi reorganizar abas dentro da janela foi o foxytab
  • Todo mundo fala dos riscos existenciais que a AI trará, mas esse sujeito soltar uma ferramenta dessas no mundo sem nenhuma proteção é realmente preocupante
    Falando um pouco mais a sério, ter um grafo de abas do ArXiv em vez de uma lista linear de abas poderia ser bastante útil ao mergulhar fundo na literatura científica

    • O que isso tem a ver com “AI”?
    • A abordagem em grafo pode ser estendida para toda a navegação na web. Às vezes você abre a página B a partir da página A, e também abre a página B a partir da página C
      Com navegação em estilo árvore, você acabaria abrindo ou vendo B duas vezes, e também não ficaria fácil perceber que chegou a B tanto por A quanto por C
  • Precisamos trazer de volta o hipertexto de verdade
    O navegador deveria se comportar como se estivesse navegando por documentos. Você deveria poder ir para frente e para trás, e cada “visualização” deveria ser cacheada e salvável, não virar um lixo de SPA carregado com um main.min.js de 20 MB

  • A melhor frase no texto de alguém que criou um navegador otimizado para explorar tocas de coelho: “Compartilhei uma prévia no Twitter e a reação foi inesperadamente enorme, mas me distraí com outras coisas e não consegui voltar ao projeto”