4 पॉइंट द्वारा GN⁺ 2024-10-05 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Cartographist एक प्रायोगिक ब्राउज़र है, जो रिसर्च के दौरान links को follow करते हुए गहराई में जाने वाले flow के लिए नए window की जगह क्षैतिज रूप से जुड़े panels में browsing context दिखाता है
  • यह visit history को सिर्फ chronological list के रूप में नहीं छोड़ता, बल्कि tree-structure overview में दिखाता है, जिससे उपयोगकर्ता आसानी से समझ सकते हैं कि वे किस रास्ते से किसी page तक पहुंचे
  • session state को trails के रूप में save और reload किया जा सकता है, ताकि लंबे समय तक चलने वाली topic research को वहीं से जारी रखा जा सके जहां छोड़ा था
  • इसकी शुरुआत 2020 की गर्मियों में research-oriented browser experiment से हुई थी, और यह Andy Matuschak की website layout, Nate Parrot के mobile browser view stack experiment, Miller columns, और Smalltalk class browser से प्रभावित है
  • वास्तविक research में पूरी history को बचाए रखने से ज्यादा महत्वपूर्ण synthesis process है—material के कुछ हिस्सों को इकट्ठा करना और फिर से arrange करना; scroll position/selection area saving या editable history ज्यादा practical हो सकती है

Cartographist का navigation तरीका

  • Cartographist एक प्रायोगिक वेब ब्राउज़र है, जो rabbit-hole-style exploration पर केंद्रित है
  • cmd-click से नया window खोलने के बजाय, हर link खोलने पर यह horizontal scrolling panel बनाता है
  • यह linear visit history में page ढूंढने के तरीके की बजाय, exploration flow को tree-structure overview में दिखाता है
  • हर बार नए सिरे से शुरू करने के बजाय, session छोड़े जाने के exact state को trails के रूप में save और load किया जा सकता है
    • यह किसी खास topic की long-term research करने के तरीके के लिए बनाया गया है
  • code szymonkaliski/Cartographist पर public है

प्रयोग की पृष्ठभूमि और सीमाएं

  • 2020 की गर्मियों में, research-focused web browser idea के साथ प्रयोग करते हुए यह project शुरू हुआ
    • इसका आधार यह distinction था कि browsing को open-ended divergent activity और searching को information retrieval के रूप में देखा जाए
    • Twitter पर preview share करने के बाद भी sharing requests आती रहीं, इसलिए project public किया गया
  • panel-based browsing पर कई interfaces का प्रभाव है
  • वही panel navigation तरीका Vim में code navigation के लिए भी इस्तेमाल होता है
    • एक shortcut key से function definition को नए panel में खोलने का तरीका
    • Glamorous Toolkit को panel browsing idea को और आगे बढ़ाने वाला उदाहरण माना जा सकता है
  • disk पर save होने वाली history theoretically आकर्षक है, क्योंकि इससे समय बीतने के बाद browsing session में वापस लौटा जा सकता है और consciously चुना जा सकता है कि आप किस “topic” में हैं
  • व्यवहार में, पूरी history की usefulness सीमित है
    • यह जानना कि आप कहां से और कैसे पहुंचे, कभी-कभी मददगार होता है, लेकिन research में ज्यादा महत्वपूर्ण काम बड़े whole से कुछ हिस्सों को पकड़ना, उन्हें rearrange/recombine करना और material के साथ सोचते हुए synthesis करना है
    • छोटे improvements में scroll position या selection area save करना, dead ends हटाना और notes जोड़ सकने वाली editable history शामिल हैं
  • यह संभावना भी बनी रहती है कि problem को किसी दूसरे level पर हल करना पड़े
    • एक अच्छा window manager लगभग Cartographist की जगह ले सकता है
    • HHTWM में column-style layout का experiment किया गया था, लेकिन horizontal scrolling न होने के कारण आखिरकार यह बहुत उपयोगी नहीं रहा

1 टिप्पणियां

 
GN⁺ 2024-10-05
Hacker News की राय
  • थोड़ा अलग बात है, लेकिन लेख में Vim से code नेविगेट करते समय “एक shortcut से function definition को नए panel में खोलते हैं” वाला हिस्सा दिलचस्प लगा, इसलिए लेखक के GitHub पर .vim config ढूँढकर देखा
    तरीका nnoremap gF vgF था: https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    और nnoremap gD :call CocActionAsync('jumpDefinition', 'vsplit'): https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    आखिरकार nvim के Lua में buf_set_keymap('n', 'gds', 'vlua vim.lsp.buf.definition()', opts) पर आकर टिक गया, और इसे सामान्य gd से अलग mapping पर रखा ताकि नया split खोलना है या नहीं, यह चुन सकूँ. उदाहरण के लिए अगर variable सिर्फ 20 lines ऊपर define है, तो नया split नहीं चाहिए

    • ऐसे use case के लिए Haystack भी काफ़ी अच्छा है: https://haystackeditor.com/
    • Vim feature के मामले में, जो हम सोच सकते हैं उसे शायद किसी ने पहले ही implement किया होगा, बस हमने अभी तक देखा नहीं है. फिर भी, ऐसा key combo अच्छा होगा जो “definition पर जाने पर अगर अभी दिख रहा कुछ text स्क्रीन पर बना रहता है तो सीधे jump करो, और उससे दूर हो तो split window खोलो”
    • यह config पसंद आया, इसलिए nvim config में जोड़ लिया, लेकिन gds की वजह से gd इस्तेमाल करते समय हल्की delay आती थी, इसलिए इसे gv में बदल दिया
    • सही command vim.api.nvim_buf_set_keymap है, या फिर बस vim.keymap.set
  • काफ़ी बढ़िया. sensemaking और berrypicking पर रिसर्च करने वाली Kay Xu से संपर्क करने की ज़ोरदार सलाह दूँगा
    लगता है वे अलग renderer की बजाय browser extension आधारित एक नया और बेहतर version बना रही हैं, और collaboration दोनों के लिए फ़ायदेमंद हो सकता है
    https://vis4sense.github.io/sensemap/paper.pdf
    https://vis4sense.github.io/sensemap/
    https://web.archive.org/web/20080112091521/http://www.gseis....

    • Firefox support नहीं है. और लिखा है कि “SenseMap का पुराना version अब maintain नहीं होता और HistoryMap नाम का नया version develop हो रहा है”, लेकिन साइट dead है
  • 20 साल से भी पहले मैंने कुछ ऐसा ही बनाया था. उसमें page content की full-text search भी थी, और वह browser history की तरह भी काम करता था, इसलिए मैंने उसे कई साल इस्तेमाल किया
    असली समाधान मैंने एक बहुत जिद्दी व्यक्ति में देखा, जिसे learning disability थी, और जो basement की एक अलमारी में butcher paper ठूँसकर रखे कमरे में काम करता था. वह textbook समझने के लिए सामग्री को बड़े रोल्स पर फिर से व्यवस्थित करता था और अपनी grammar बना ली थी, और नतीजा mind map और ZUI के मिश्रण जैसा था
    उसका “linking” आइडिया indexing system के ज़्यादा क़रीब था. वह लेबल लगे दूसरे paper roll को cabinet से निकालकर “linked” हिस्से तक खोलता, फिर उसे table पर मोड़कर दोनों rolls को साथ-साथ रखता था
    इसकी generality तुरंत समझ आ गई थी, और 10 साल से भी पहले मैंने web browse करने के नए तरीके पर कुछ महीने काम किया था, लेकिन आगे जारी नहीं रख पाया. अब भी बार-बार लगता है कि इस पर और काम करना चाहिए, लेकिन anxiety और depression सच में बहुत मुश्किल हैं. अब LLM के साथ समझदार ontology labeling भी संभव है. सारे pieces यहीं पड़े हैं, बस उठाना है

    • कागज़, फ़ोटो, मेमो वगैरह को दीवार या किसी बड़े pinboard पर चिपकाकर, लाल धागे और pins से जुड़े items को connect करना भी किया जा सकता है
    • दिलचस्प है. उस project और उसकी inspiration के बारे में और देखने के लिए कोई link हो तो अच्छा लगेगा. अगर कोई blog या follow करने लायक social account है, तो उसके बारे में लिखना भी बढ़िया होगा
    • क्या उस linking system को किसी और तरीके से समझा सकते हो? अभी पूरी तरह समझ नहीं आया. लेबल लगे “index” roll को linked हिस्से तक खोलने का ठीक-ठीक मतलब क्या है, यह जानना चाहता हूँ
    • यह Zettelkasten + transclusion जैसा लग रहा है
  • “Twitter पर preview शेयर किया तो उम्मीद से कहीं ज़्यादा जबरदस्त प्रतिक्रिया मिली, लेकिन दूसरी चीज़ों में ध्यान भटक गया और project पर लौट नहीं पाया” वाला हिस्सा मज़ेदार है
    rabbit-hole exploration browser बनाया और ख़ुद ही distract हो गए
    मज़ाक अलग, Vim feature की व्याख्या ने Squeak के Whisper browser की याद दिला दी. सामान्य कामकाज के दौरान अनिवार्य रूप से बढ़ते जाने वाले windows से बचने के लिए उसमें depth-oriented SmalltalkBrowser जैसा कुछ था. Vim में source navigation को उस तरह reorganize करने के लिए सिर्फ़ दो lines की config काफ़ी है, यह भी दिलचस्प है. बेशक, Whisper browser में सिर्फ़ side-by-side navigation ही नहीं, stacking और नया UI भी था

  • बढ़िया है. जब Chrome बनाया जा रहा था, तब कुछ लोग—असल में लगभग मैं अकेला—iRider नाम के IE shell browser के दीवाने थे. उसमें tree-style tabs और pinning थी, इसलिए वह काफ़ी मिलते-जुलते तरीके से उपयोगी था
    याद पड़ता है कि उसमें एक और feature था जो यहाँ भी फ़िट बैठ सकता है: tabs के आर-पार drag करके batch control करना. close या pin button क्लिक करने के बाद दूसरे tabs के ऊपर vertically drag करते जाते थे, और वही action उन पर भी लागू हो जाता था, जिससे लगातार बढ़ते tab piles को संभालना बहुत आसान हो जाता था

    • मैं इस horizontal history navigation को “virtualized Chrome”, यानी client-server app के रूप में Chrome, BrowserBox और उसके SaaS CloudTabs में जोड़ना चाहता हूँ: https://browse.cloudtabs.net
  • ADHD यूज़र्स के लिए यह एक साथ सपना भी लगती है और दुःस्वप्न भी
    क्या सिर्फ़ मेरे साथ ही ऐसा होता है कि browsing session खत्म होते-होते 300 tabs हो जाते हैं? लगता है मैं इस feature का ज़रूरत से ज़्यादा इस्तेमाल करूँगा और यह ज़िंदगी को काफ़ी बदतर बना देगा

    • हाल ही में मुझे ADHD के working memory वाले पहलू के बारे में पता चला, और यह काफ़ी बड़ा turning point था। मुझे समझ आया कि किसी भी दिन मैं जो सबसे महत्वपूर्ण काम कर सकता हूँ, वह है चीज़ों को खाली करना, ताकि focus के लिए जगह बने और दिन भर महसूस होने वाला बोझ भी कम हो
      इसमें समय लगा, लेकिन अब tabs या screenshots जैसी अव्यवस्था को देखते समय मैं यह कम सोचता हूँ कि क्या save होगा या क्या खो जाएगा, और ज़्यादा यह सोचता हूँ कि अगर यह अव्यवस्था न हो तो मैं कितना अधिक काम कर सकता हूँ। तब यह खोने जैसा नहीं बल्कि पाने जैसा लगने लगता है, और इससे मदद मिलती है। हर बार काम नहीं करता, लेकिन जिस दिन करता है, वह सच में चौंकाने वाला होता है
    • मेरे मामले में tabs का जमा होना अक्सर loss aversion से जुड़ा होता है। यानी ऐसी चीज़ों को डिजिटल रूप से सहेजकर रखना जिनकी कभी न कभी ज़रूरत पड़ सकती है। इसलिए अगर यह भरोसा हो कि उसका रिकॉर्ड हमेशा रहेगा, तो शायद हालत बेहतर हो सकती है
      अगर browse करते समय आसानी से tag लगा सकूँ, और बाद में tags और page content दोनों में तेज़ी से search कर सकूँ, तो शायद और मदद मिले। अगर भरोसा हो कि उसे फिर से ढूँढा जा सकता है, तो tabs बंद करना आसान हो जाता है
      ADHD वाले नज़रिये से, मैं आजकल नियमित रूप से tabs बंद करके साफ़-सफ़ाई करता हूँ। आम तौर पर दिन का काम शुरू या खत्म करते समय, या किसी task की शुरुआत या अंत जैसे जुड़े हुए events पर। मैं कोशिश करता हूँ कि हर ongoing काम के लिए एक window हो, और बाकी tabs कहीं और रख दूँ। उदाहरण के लिए, अगर वह किसी to-do से जुड़ा tab है तो उसे kanban board में डाल देता हूँ, पढ़ने वाली चीज़ हो तो Instapaper में भेज देता हूँ, और अगर सिर्फ़ दिलचस्प है और बाद में फिर देखना है तो LogSeq journal में छोटी-सी description के साथ एक line लिख देता हूँ। अगर सिर्फ़ यूँ ही ढेर नहीं लगा रहा हूँ, तो tab save करने की कोई वजह होती है; सिद्धांत यह है कि उस वजह को स्पष्ट करो और उसे ऐसी जगह रखो जहाँ सही समय पर फिर से पाया जा सके
    • अगर आपको ADHD है, तो शायद offpunk पसंद आए। यह एक offline Gemini, Gopher, minimal web browser है
      bookmarks या RSS feeds वगैरह जोड़ें, offpunk --sync चलाएँ, फिर offpunk चलाएँ। आखिर में prompt पर tour या t टाइप करें, और फिर t दबाते रहें जब तक सारे blogs या news sites न देख लें
      sites को spacebar से पढ़ा जा सकता है, और अगर दोबारा पढ़ना हो तो less टाइप करें, फिर link numbers के ज़रिए पहुँचा जा सकता है। पीछे जाने के लिए b दबाएँ। सारी सामग्री बाद में इस्तेमाल के लिए offline रखी जाती है
      URL https://sr.ht/~lioploum/offpunk/
    • मैं भी बिल्कुल ऐसा ही था। मुझे कुछ ऐसा चाहिए जो मुझे पटरी पर बनाए रखे। कम से कम ऐसा कुछ जो खरगोश के बिल में धकेलने के बजाय यह संकेत दे, “सावधान! आप अभी rabbit hole में जा रहे हैं”
      दूसरी ओर, जिस branching point से आप अपने मूल रास्ते से हटे थे, वहाँ जल्दी लौट पाना सच में बहुत कीमती है
      Vim में भी मैं undo branching feature को ठीक से अपना नहीं पाया। समझता हूँ, लेकिन व्यवहार में इस्तेमाल नहीं कर पाता। लगता है मेरा ADHD दिमाग branching history से ज़्यादा linear history को बेहतर संभालता है
    • जब tabs बेकाबू हो जाएँ, तो उन्हें OneTab में भेज दो
  • दिलचस्प है। इसमें नीचे दिए गए Firefox add-ons से कुछ समानता है
    Tree Style Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... — यह ज़्यादा सरल है और इसमें session saving नहीं है
    Tree Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-tabs — यह ज़्यादा जटिल है और session saving भी कर सकता है, लेकिन कुछ दूसरे add-ons के साथ compatible नहीं है, और इसे Mozilla की security review नहीं मिली है
    दोनों में से कोई भी window के अंदर tabs को rearrange नहीं करता, बल्कि खुले tabs की एक वैकल्पिक tree list ही देता है

    • Sideberry उन add-ons का ज़्यादा विकसित version है
    • Firefox में एक add-on ऐसा भी था जो उसी window के भीतर tabs को grid में दिखाता था, लेकिन वह XUL के साथ गायब हो गया
    • Miller columns जैसा कुछ भी अच्छा रहेगा
    • window के अंदर tabs को rearrange करने वाला मुझे सिर्फ़ foxytab ही दिखा है
  • सब लोग AI से आने वाले अस्तित्वगत ख़तरे की बात कर रहे हैं, और यह व्यक्ति ऐसे tool को बिना किसी safety guard के दुनिया में छोड़ रहा है — यह सच में चिंताजनक है
    थोड़ा और गंभीर होकर कहूँ तो, linear tab list की जगह अगर ArXiv tab graph हो, तो वैज्ञानिक साहित्य में गहराई से उतरते समय यह काफ़ी उपयोगी हो सकता है

    • इसका “AI” से क्या लेना-देना है?
    • graph approach को पूरे web navigation तक बढ़ाया जा सकता है। कभी A page से B page खुलता है, और C page से भी B page खुल जाता है
      tree-style browsing में तब B दो बार खुला हुआ या दिखता है, और यह भी आसानी से नज़र नहीं आता कि आप A और C दोनों से B तक पहुँचे थे
  • हमें फिर से सही मायने वाला hypertext वापस लाना चाहिए
    browser को documents navigate करने जैसा व्यवहार करना चाहिए। आगे-पीछे जाया जा सके, और हर “view” cache होकर save की जा सके; यह 20MB के main.min.js से लदा हुआ कोई SPA कचरा नहीं होना चाहिए

  • rabbit hole exploration के लिए optimized browser बनाने वाले व्यक्ति की पोस्ट में सबसे बेहतरीन पंक्ति यह है: “मैंने Twitter पर preview साझा किया, तो उम्मीद से कहीं ज़्यादा जबरदस्त प्रतिक्रिया मिली, लेकिन फिर मैं दूसरी चीज़ों में उलझ गया और project पर लौट ही नहीं पाया”