Rabbit-hole खोज के लिए अनुकूलित एक प्रायोगिक वेब ब्राउज़र
(szymonkaliski.com)- 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 किया गया
- इसका आधार यह distinction था कि
- panel-based browsing पर कई interfaces का प्रभाव है
- Andy Matuschak की website layout
- Nate Parrot का mobile web browser views को side-by-side stack करने का experiment
- Miller columns
- original Smalltalk class browser
- वही 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 टिप्पणियां
Hacker News की राय
थोड़ा अलग बात है, लेकिन लेख में Vim से code नेविगेट करते समय “एक shortcut से function definition को नए panel में खोलते हैं” वाला हिस्सा दिलचस्प लगा, इसलिए लेखक के GitHub पर
.vimconfig ढूँढकर देखातरीका
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 नहीं चाहिएgdsकी वजह सेgdइस्तेमाल करते समय हल्की delay आती थी, इसलिए इसेgvमें बदल दिया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....
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 यहीं पड़े हैं, बस उठाना है
“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 को संभालना बहुत आसान हो जाता था
ADHD यूज़र्स के लिए यह एक साथ सपना भी लगती है और दुःस्वप्न भी
क्या सिर्फ़ मेरे साथ ही ऐसा होता है कि browsing session खत्म होते-होते 300 tabs हो जाते हैं? लगता है मैं इस feature का ज़रूरत से ज़्यादा इस्तेमाल करूँगा और यह ज़िंदगी को काफ़ी बदतर बना देगा
इसमें समय लगा, लेकिन अब tabs या screenshots जैसी अव्यवस्था को देखते समय मैं यह कम सोचता हूँ कि क्या save होगा या क्या खो जाएगा, और ज़्यादा यह सोचता हूँ कि अगर यह अव्यवस्था न हो तो मैं कितना अधिक काम कर सकता हूँ। तब यह खोने जैसा नहीं बल्कि पाने जैसा लगने लगता है, और इससे मदद मिलती है। हर बार काम नहीं करता, लेकिन जिस दिन करता है, वह सच में चौंकाने वाला होता है
अगर 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 करने की कोई वजह होती है; सिद्धांत यह है कि उस वजह को स्पष्ट करो और उसे ऐसी जगह रखो जहाँ सही समय पर फिर से पाया जा सके
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/
दूसरी ओर, जिस branching point से आप अपने मूल रास्ते से हटे थे, वहाँ जल्दी लौट पाना सच में बहुत कीमती है
Vim में भी मैं undo branching feature को ठीक से अपना नहीं पाया। समझता हूँ, लेकिन व्यवहार में इस्तेमाल नहीं कर पाता। लगता है मेरा ADHD दिमाग branching history से ज़्यादा linear history को बेहतर संभालता है
दिलचस्प है। इसमें नीचे दिए गए 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 ही देता है
सब लोग AI से आने वाले अस्तित्वगत ख़तरे की बात कर रहे हैं, और यह व्यक्ति ऐसे tool को बिना किसी safety guard के दुनिया में छोड़ रहा है — यह सच में चिंताजनक है
थोड़ा और गंभीर होकर कहूँ तो, linear tab list की जगह अगर ArXiv tab graph हो, तो वैज्ञानिक साहित्य में गहराई से उतरते समय यह काफ़ी उपयोगी हो सकता है
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 पर लौट ही नहीं पाया”