4 คะแนน โดย GN⁺ 2024-10-05 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Cartographist เป็นเบราว์เซอร์ทดลองที่ออกแบบมาเพื่อการไล่ตามลิงก์ลงลึกระหว่างการค้นคว้า โดยแสดงบริบทการสำรวจเป็นพาเนลที่ต่อกันในแนวนอนแทนการเปิดหน้าต่างใหม่
  • ไม่ได้เก็บประวัติการเข้าชมไว้เป็นเพียงรายการเรียงตามเวลา แต่แสดงเป็น ภาพรวมโครงสร้างแบบทรี ทำให้ผู้ใช้เข้าใจได้ง่ายว่าไปถึงหน้านั้นผ่านเส้นทางใด
  • สามารถบันทึกและโหลดสถานะเซสชันกลับมาเป็น trails ได้ จึงสานต่อการค้นคว้าหัวข้อที่กินเวลานานจากจุดที่หยุดไว้ได้
  • เริ่มต้นจากการทดลองเบราว์เซอร์สำหรับงานวิจัยในช่วงฤดูร้อนปี 2020 และได้รับอิทธิพลจากเลย์เอาต์เว็บไซต์ของ Andy Matuschak, การทดลองสแต็กวิวเบราว์เซอร์มือถือของ Nate Parrot, Miller columns และเบราว์เซอร์คลาสของ Smalltalk
  • ในงานวิจัยจริง กระบวนการสังเคราะห์ ที่รวบรวมและจัดเรียงข้อมูลบางส่วนใหม่สำคัญกว่าการเก็บประวัติทั้งหมด และการบันทึกตำแหน่งสกรอลล์/ส่วนที่เลือก หรือประวัติที่แก้ไขได้ อาจใช้งานได้จริงกว่า

วิธีการสำรวจของ Cartographist

  • Cartographist เป็นเว็บเบราว์เซอร์ทดลองที่มุ่งเน้น การสำรวจแบบลงโพรงกระต่าย
  • แทนที่จะเปิดหน้าต่างใหม่ด้วย cmd-click ทุกครั้งที่เปิดลิงก์จะสร้าง พาเนลแบบสกรอลล์แนวนอน
  • ไม่ใช่วิธีค้นหาหน้าเว็บจากประวัติการเข้าชมเชิงเส้น แต่แสดงกระแสการสำรวจเป็น ภาพรวมโครงสร้างแบบทรี
  • สามารถบันทึกและโหลดเซสชันในสถานะตรงกับตอนที่ออกจากเซสชันไว้เป็น trails ได้ โดยไม่ต้องเริ่มใหม่ทุกครั้ง
    • เหมาะกับรูปแบบการใช้งานที่ค้นคว้าหัวข้อหนึ่งเป็นเวลานาน
  • โค้ดเปิดเผยไว้ที่ szymonkaliski/Cartographist

ที่มาและข้อจำกัดของการทดลอง

  • โปรเจกต์เริ่มขึ้นในช่วงฤดูร้อนปี 2020 ระหว่างทดลองไอเดียเว็บเบราว์เซอร์ที่เน้นงานวิจัย
    • แนวคิดพื้นฐานคือการแยก browsing เป็นกิจกรรมแบบเปิดและแตกแขนง กับ searching เป็นการค้นหาข้อมูล
    • หลังจากแชร์ตัวอย่างล่วงหน้าบน Twitter ก็ยังมีคำขอให้แชร์ต่อเนื่อง จึงเปิดเผยโปรเจกต์นี้
  • การท่องเว็บแบบใช้พาเนลได้รับอิทธิพลจากอินเทอร์เฟซหลายแบบ
  • วิธีสำรวจแบบพาเนลลักษณะเดียวกันยังใช้สำหรับการสำรวจโค้ดใน Vim ด้วย
    • เป็นวิธีเปิดนิยามฟังก์ชันในพาเนลใหม่ด้วยคีย์ลัดเดียว
    • Glamorous Toolkit มองได้ว่าเป็นตัวอย่างที่ขยายไอเดียการท่องแบบพาเนลออกไปมากขึ้น
  • ประวัติที่บันทึกลงดิสก์มีเสน่ห์ในเชิงทฤษฎี เพราะช่วยให้กลับไปยังเซสชันการท่องเว็บในภายหลัง และเลือกได้อย่างมีสติว่าตัวเองอยู่ใน “topic” ใด
  • ในทางปฏิบัติ ประโยชน์ของ ประวัติทั้งหมด เองมีข้อจำกัด
    • การรู้ว่าไปถึงที่ไหนและอย่างไรอาจช่วยได้ในบางครั้ง แต่งานที่สำคัญกว่าในงานวิจัยคือ การสังเคราะห์: ดึงบางส่วนจากภาพรวมขนาดใหญ่ จัดเรียงและประกอบใหม่ พร้อมคิดไปกับข้อมูล
    • การปรับปรุงที่เล็กกว่านั้นอาจเป็นการบันทึกตำแหน่งสกรอลล์หรือส่วนที่เลือก และ ประวัติที่แก้ไขได้ ซึ่งสามารถลบทางตันและเพิ่มโน้ตได้
  • ยังมีความเป็นไปได้ว่าต้องแก้ปัญหานี้ในระดับอื่น
    • ตัวจัดการหน้าต่างที่ดีอาจแทนที่ Cartographist ได้แทบทั้งหมด
    • มีการทดลองเลย์เอาต์แบบคอลัมน์ใน HHTWM แต่เนื่องจากไม่มีการสกรอลล์แนวนอน สุดท้ายจึงไม่ได้มีประโยชน์มากนัก

1 ความคิดเห็น

 
GN⁺ 2024-10-05
ความคิดเห็นบน Hacker News
  • ขอพูดนอกเรื่องนิดหน่อย แต่ผมสนใจส่วนในบทความที่บอกว่าเวลาไล่ดูโค้ดด้วย Vim สามารถ “เปิดนิยามของฟังก์ชันในพาเนลใหม่ด้วยคีย์ลัดเดียว” เลยไปค้นค่าตั้ง .vim ของผู้เขียนใน GitHub
    วิธีคือ nnoremap gF vgF: https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    และ nnoremap gD :call CocActionAsync('jumpDefinition', 'vsplit'): https://github.com/szymonkaliski/dotfiles/blob/357fc7c76ca86...
    สุดท้ายใน Lua ของ nvim ผมลงตัวที่ buf_set_keymap('n', 'gds', 'vlua vim.lsp.buf.definition()', opts) และตั้งเป็นแมปปิงคนละตัวกับ gd ที่ใช้ประจำ เพื่อเลือกได้ว่าจะเปิดหน้าต่างแบ่งใหม่หรือไม่ เช่น ถ้าตัวแปรถูกนิยามไว้แค่สูงขึ้นไป 20 บรรทัด ผมก็ไม่อยากได้หน้าต่างแบ่งใหม่

    • ถ้าใช้เพื่อจุดประสงค์แบบนี้ Haystack ก็ถือว่าใช้ได้ดีทีเดียว: https://haystackeditor.com/
    • ถ้าเป็นฟีเจอร์ของ Vim อะไรที่เรานึกออก ก็น่าจะมีใครสักคนทำไว้แล้ว เพียงแต่เรายังไม่เคยเห็นเท่านั้น อย่างไรก็ดี ถ้ามีคีย์ลัดที่ทำว่า “เมื่อย้ายไปยังนิยามแล้ว ถ้าข้อความบางส่วนที่มองเห็นอยู่ตอนนี้ยังคงเหลือบนหน้าจอ ก็ย้ายไปตรงนั้นเลย แต่ถ้าไกลกว่านั้นให้เปิด หน้าต่างแบ่ง” ก็คงดี
    • ผมชอบการตั้งค่านี้เลยเพิ่มเข้าไปในคอนฟิก nvim แต่ gds ทำให้เกิดดีเลย์เล็กน้อยตอนจะใช้ gd จึงเปลี่ยนเป็น gv
    • คำสั่งที่ถูกต้องคือ vim.api.nvim_buf_set_keymap หรือไม่ก็แค่ vim.keymap.set
  • เจ๋งมาก ขอแนะนำอย่างยิ่งให้ลองติดต่อ Kay Xu ที่ทำวิจัยเรื่อง sensemaking และ berrypicking
    ดูเหมือนเขากำลังทำเวอร์ชันใหม่ที่ดีกว่า โดยอิงกับส่วนขยายเบราว์เซอร์แทนที่จะเป็นเรนเดอเรอร์แยกต่างหาก และถ้าร่วมมือกันก็น่าจะเป็นประโยชน์ต่อทั้งสองฝ่าย
    https://vis4sense.github.io/sensemap/paper.pdf
    https://vis4sense.github.io/sensemap/
    https://web.archive.org/web/20080112091521/http://www.gseis....

    • ไม่มีการรองรับ Firefox และแม้จะเขียนไว้ว่า “SenseMap เวอร์ชันเก่าไม่ได้รับการดูแลต่อแล้ว และกำลังพัฒนาเวอร์ชันใหม่ชื่อ HistoryMap” แต่ไซต์ก็ตายไปแล้ว
  • ผมเคยทำอะไรคล้าย ๆ กันเมื่อกว่า 20 ปีก่อน มันทำ ค้นหาข้อความทั้งชุด ในเนื้อหาหน้าเว็บได้ และทำงานเหมือนประวัติเบราว์เซอร์ด้วย จึงใช้มันอยู่หลายปี
    ผมเห็นวิธีแก้ปัญหาจริง ๆ จากคนคนหนึ่งที่ดื้อรั้นมากและมีความบกพร่องทางการเรียนรู้ ในห้องที่ตู้ใต้ดินอัดแน่นไปด้วยกระดาษห่อเนื้อ เขาพยายามทำความเข้าใจตำราเรียนโดยจัดเรียงเนื้อหาใหม่บนม้วนกระดาษขนาดยักษ์ และสร้างไวยากรณ์ของตัวเองขึ้นมา ผลลัพธ์ออกมาคล้ายการผสมระหว่างมายด์แมปกับ ZUI
    ไอเดีย “การลิงก์” ของเขาใกล้เคียงกับระบบดัชนี เขาจะดึงม้วนกระดาษอีกม้วนที่ติดป้ายไว้จากตู้ กางออกไปจนถึงบริเวณที่ “เชื่อมโยง” กัน แล้วพับวางบนโต๊ะให้ม้วนทั้งสองอยู่เคียงกัน
    ผมเห็นความใช้ได้แบบทั่วไปของมันในทันที และเมื่อกว่า 10 ปีก่อนก็เคยลงมือทำอยู่หลายเดือนเพื่อให้เป็นวิธีใหม่ในการสำรวจเว็บ แต่ไม่ได้ทำต่อ ผมยังคิดอยู่เรื่อย ๆ ว่าควรทำต่อ แต่ความวิตกกังวลกับภาวะซึมเศร้านี่หนักจริง ๆ ตอนนี้ยังสามารถใช้ LLM ทำ การติดป้ายออนโทโลยี แบบฉลาด ๆ ได้ด้วย ชิ้นส่วนต่าง ๆ อยู่ตรงนั้นแล้ว แค่ต้องหยิบมันขึ้นมาเท่านั้น

    • จะใช้วิธีแปะกระดาษ รูปภาพ โน้ต ฯลฯ บนผนังหรือกระดานปักหมุดขนาดใหญ่ แล้วเชื่อมรายการที่เกี่ยวข้องด้วยด้ายแดงกับหมุดก็ได้
    • น่าสนใจ ถ้ามีลิงก์ให้ดูเพิ่มเติมเกี่ยวกับโปรเจกต์นั้นและแรงบันดาลใจก็คงดี ถ้ามีบล็อกหรือบัญชีโซเชียลที่น่าติดตาม ก็อยากให้เขียนลงไว้ด้วย
    • ช่วยอธิบาย ระบบลิงก์ นั้นอีกแบบได้ไหม ผมยังไม่ค่อยเข้าใจ อยากรู้ว่าการกางม้วน “ดัชนี” ที่ติดป้ายไว้ไปจนถึงบริเวณที่เชื่อมโยงกันนั้นหมายถึงอะไรกันแน่
    • ฟังดูเหมือน Zettelkasten + transclusion
  • ผมชอบท่อนที่ว่า “พอแชร์ตัวอย่างพรีวิวบน Twitter ก็ได้รับกระแสตอบรับมหาศาลเกินคาด แต่ดันไปวอกแวกกับเรื่องอื่น จนไม่ได้กลับมาทำโปรเจกต์ต่อ”
    ทำเบราว์เซอร์สำหรับสำรวจโพรงกระต่ายแล้วตัวเองกลับเสียสมาธิซะเอง
    ล้อเล่นน่ะ คำอธิบายฟีเจอร์ของ Vim ทำให้นึกถึงเบราว์เซอร์ Whisper ของ Squeak มันมีอะไรคล้าย SmalltalkBrowser แบบเน้นความลึก เพื่อเลี่ยงการเพิ่มจำนวนหน้าต่างอย่างหลีกเลี่ยงไม่ได้ระหว่างทำงานทั่วไป น่าสนใจเหมือนกันที่ใน Vim ฟีเจอร์ที่ต้องใช้เพื่อจัดระเบียบการสำรวจซอร์สโค้ดใหม่แบบนั้นคือการตั้งค่าแค่ราวสองบรรทัด แน่นอนว่าเบราว์เซอร์ Whisper ไม่ได้มีแค่การไล่ดูไปด้านข้าง แต่ยังมีการซ้อนและ UI ใหม่ด้วย

  • เจ๋งดี ตอนทำ Chrome มีบางคน—เอาจริง ๆ ก็คงมีผมคนเดียว—ที่ติดใจเบราว์เซอร์แบบ IE shell ชื่อ iRider มันมีแท็บแบบ tree-style และฟีเจอร์ปักหมุด เลยมีประโยชน์ในลักษณะคล้ายกันมาก
    เท่าที่จำได้ ในนี้มีฟีเจอร์หนึ่งที่อาจเข้ากับสิ่งนี้ได้ดี คือการลากข้ามแท็บเพื่อควบคุมเป็นชุด หลังจากคลิกปุ่มปิดหรือปักหมุด แล้วลากแนวตั้งทับแท็บอื่น ๆ การกระทำเดียวกันก็จะถูกนำไปใช้ ทำให้จัดการกองแท็บที่เพิ่มขึ้นไม่รู้จบได้ง่ายมาก

    • ผมอยากเพิ่ม การท่องประวัติแบบแนวนอน นี้เข้าไปใน “Chrome แบบเวอร์ชวลไลซ์” หรือก็คือ BrowserBox ซึ่งเป็น Chrome ในรูปแบบแอปไคลเอนต์-เซิร์ฟเวอร์ และ CloudTabs ซึ่งเป็น SaaS ของมัน: https://browse.cloudtabs.net
  • สำหรับผู้ใช้ ADHD ดูเหมือนจะเป็นของที่เป็นทั้งความฝันและฝันร้ายในเวลาเดียวกัน
    มีแค่ผมหรือเปล่าที่มักจบเซสชันการท่องเว็บด้วยแท็บ 300 แท็บ? ฟีเจอร์นี้น่าจะถูกใช้หนักเกินไป และคงทำให้ชีวิตแย่ลงไปอีกมาก

    • ช่วงหลังเพิ่งได้รู้จักองค์ประกอบเรื่อง ความจำใช้งาน ของ ADHD และมันค่อนข้างเป็นจุดเปลี่ยนเลย ตระหนักว่าสิ่งสำคัญที่สุดที่ทำได้ในแต่ละวันคือการเคลียร์กระดานให้ว่าง เพื่อให้มีพื้นที่สำหรับโฟกัส และลดภาระที่รู้สึกระหว่างวัน
      ใช้เวลาอยู่พักหนึ่ง แต่ตอนนี้เวลาเห็นของรก ๆ อย่างแท็บหรือภาพหน้าจอ ผมจะคิดมากกว่าว่าถ้าไม่มีของรกเหล่านี้จะทำอะไรได้มากขึ้นแค่ไหน แทนที่จะคิดว่าจะเก็บอะไรไว้หรือเสียอะไรไป จากนั้นมันเริ่มดูเหมือนเป็นการได้มา ไม่ใช่การสูญเสีย และช่วยได้ ไม่ได้ใช้ได้ผลเสมอไป แต่วันที่ได้ผลนี่น่าทึ่งจริง ๆ
    • กรณีของผม การที่แท็บสะสมมักเกี่ยวกับ ความกลัวว่าจะสูญเสียบางอย่าง เป็นการเก็บของดิจิทัลที่อาจต้องใช้สักวันหนึ่งไว้ ดังนั้นถ้ามั่นใจได้ว่าประวัติจะคงอยู่เสมอ ก็อาจกลับช่วยให้ดีขึ้นได้
      ถ้าติดแท็กได้ง่ายระหว่างสำรวจ และภายหลังค้นหาแท็กกับเนื้อหาหน้าเว็บที่เคยดูได้อย่างรวดเร็ว ก็น่าจะช่วยได้อีก ความมั่นใจว่าจะหาเจออีกทำให้ปิดแท็บได้ง่ายขึ้น
      ในฐานะคนที่มี ADHD เหมือนกัน ช่วงนี้ผมจัดการปิดแท็บเป็นระยะ ๆ ปกติจะผูกกับเหตุการณ์ที่เกี่ยวข้อง เช่นตอนเริ่มหรือจบงานของวัน หรือเริ่มหรือจบงานชิ้นหนึ่ง พยายามให้มีหน้าต่างหนึ่งต่อหนึ่งงานที่กำลังทำอยู่ และย้ายแท็บอื่นไปไว้ที่อื่น เช่น ถ้าเป็นแท็บที่เกี่ยวกับงานที่ต้องทำก็ใส่ไว้ในบอร์ดคัมบัง ถ้าเป็นของที่จะอ่านก็ส่งไป Instapaper ถ้าน่าสนใจและอยากกลับมาดูภายหลัง ก็ทิ้งไว้หนึ่งบรรทัดใน LogSeq journal พร้อมคำอธิบายสั้น ๆ หลักการคือ ถ้าไม่ได้แค่กองสะสมไว้เฉย ๆ ก็ย่อมมีเหตุผลที่ต้องบันทึกแท็บไว้ จึงทำเหตุผลนั้นให้ชัดเจน แล้ววางไว้ในที่ที่จะกลับมาหาได้ในเวลาที่เหมาะสม
    • ถ้ามี ADHD น่าจะชอบ offpunk เป็นเบราว์เซอร์ออฟไลน์สำหรับ Gemini, Gopher และเว็บแบบมินิมอล
      เพิ่มบุ๊กมาร์กหรือฟีด RSS เป็นต้น แล้วรัน offpunk --sync จากนั้นรัน offpunk สุดท้ายพิมพ์ tour หรือ t ที่พรอมป์ แล้วกด t ต่อไปเรื่อย ๆ จนกว่าจะดูบล็อกหรือเว็บข่าวทั้งหมดครบ
      อ่านเว็บด้วยสเปซบาร์ และถ้าอยากอ่านอีกครั้งให้พิมพ์ less ก็จะเข้าถึงด้วยหมายเลขลิงก์ได้ ถ้าจะย้อนกลับให้กด b เนื้อหาทั้งหมดถูกเก็บออฟไลน์ไว้สำหรับใช้งานภายหลัง
      URL https://sr.ht/~lioploum/offpunk/
    • ผมก็เป็นแบบนั้นเป๊ะ ต้องมีอะไรบางอย่างที่ช่วยให้ยังอยู่ในเส้นทาง อย่างน้อยก็เป็นอะไรที่ส่งสัญญาณว่า “ระวัง! ตอนนี้กำลังลง โพรงกระต่าย อยู่” แทนที่จะยุให้ลงไป
      ในทางกลับกัน ความสามารถในการกลับไปยังจุดแยกที่หลุดออกจากเส้นทางเดิมที่ควรตามได้อย่างรวดเร็วนั้นมีค่ามากจริง ๆ
      แม้แต่ใน Vim ผมก็ยังรับฟีเจอร์ undo branches ได้ไม่จริงจัง เข้าใจนะ แต่ใช้งานจริงไม่สำเร็จ ดูเหมือนสมอง ADHD ของผมจัดการประวัติแบบเส้นตรงได้ดีกว่าแบบแตกกิ่ง
    • ถ้าแท็บเยอะจนรับมือไม่ไหว ก็โยนไปให้ OneTab ได้
  • น่าสนใจ มีส่วนที่ทับซ้อนกับส่วนเสริม Firefox ต่อไปนี้
    Tree Style Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... — เรียบง่ายกว่า และไม่มีฟีเจอร์บันทึกเซสชัน
    Tree Tabs: https://addons.mozilla.org/en-US/firefox/addon/tree-tabs — ซับซ้อนกว่าและบันทึกเซสชันได้ด้วย แต่ไม่เข้ากันกับส่วนเสริมบางตัว และยังไม่ได้รับการประเมินความปลอดภัยจาก Mozilla
    ทั้งคู่ไม่ได้จัดเรียงแท็บใหม่ภายในหน้าต่าง แต่ให้แค่ รายการแบบต้นไม้ ทางเลือกของแท็บที่เปิดอยู่

    • Sideberry คือเวอร์ชันที่พัฒนาต่อจากส่วนเสริมเหล่านั้นมากกว่า
    • Firefox เคยมีส่วนเสริมที่แสดงแท็บเป็นตารางภายในหน้าต่างเดียวกันด้วย แต่หายไปพร้อมกับ XUL
    • ถ้ามีอะไรแบบ Miller columns ก็คงดี
    • เท่าที่เห็น มีแค่ foxytab ที่จัดเรียงแท็บใหม่ภายในหน้าต่างได้
  • ทุกคนกำลังพูดถึงความเสี่ยงเชิงอัตถิภาวะที่ AI จะนำมา แต่คนนี้กลับปล่อยเครื่องมือแบบนี้ออกสู่โลกโดยไม่มีมาตรการป้องกันใด ๆ น่ากังวลจริง ๆ
    ถ้าพูดจริงจังขึ้นอีกนิด การมี กราฟแท็บ ArXiv แทนรายการแท็บแบบเส้นตรงน่าจะมีประโยชน์มากเวลาขุดลึกเข้าไปในวรรณกรรมวิทยาศาสตร์

    • เรื่องนี้เกี่ยวอะไรกับ “AI”?
    • วิธีแบบกราฟสามารถขยายไปสู่การท่องเว็บทั้งหมดได้ มีกรณีที่เปิดหน้า B จากหน้า A และก็เปิดหน้า B จากหน้า C ด้วย
      ถ้าเป็นการท่องเว็บแบบต้นไม้ ก็จะเปิดหรือดู B สองครั้ง และยังมองไม่เห็นง่าย ๆ ด้วยว่ามาถึง B จากทั้ง A และ C
  • ต้องนำ ไฮเปอร์เท็กซ์ ที่แท้จริงกลับมา
    เบราว์เซอร์ควรทำงานเหมือนการสำรวจเอกสาร ไปหน้าไปหลังได้ และแต่ละ “วิว” ควรถูกแคชและบันทึกได้ ไม่ใช่กลายเป็นขยะ SPA ที่บรรทุก main.min.js ขนาด 20MB

  • ประโยคที่ดีที่สุดจากบทความของคนที่สร้างเบราว์เซอร์ที่ปรับให้เหมาะกับการสำรวจโพรงกระต่าย: “พอแชร์พรีวิวบน Twitter ก็ได้รับกระแสตอบรับมหาศาลแบบไม่คาดคิด แต่ดันไปเสียสมาธิกับเรื่องอื่นจนไม่ได้กลับมาทำโปรเจกต์ต่อ”