1 คะแนน โดย GN⁺ 27 일 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เพื่อแก้ปัญหาที่ไอคอนบนแถบเมนูถูกบังจาก ดีไซน์รอยบากของ MacBook ทาง Tailscale ได้เปิดตัว อินเทอร์เฟซแบบหน้าต่างสำหรับ macOS แบบใหม่
  • ในช่วงแรกมีการใช้วิธีแก้ชั่วคราวด้วยการแสดง การแจ้งเตือนแบบป๊อปอัป เมื่อไอคอนถูกซ่อนอยู่หลังรอยบาก แต่ตอนนี้ได้เปลี่ยนมาเป็น UI แบบสแตนด์อโลนเต็มรูปแบบ แล้ว
  • อินเทอร์เฟซใหม่นี้จะถูกเปิดใช้งานเป็นค่าเริ่มต้นตั้งแต่ เวอร์ชัน 1.96.2 และแสดงฟีเจอร์สำคัญอย่าง Taildrop, Exit Node, การค้นหาอุปกรณ์ ในรูปแบบภาพ
  • ตรรกะตรวจจับการถูกบังของไอคอน บนแถบเมนูยังคงมีอยู่ เพื่อป้องกันปัญหาที่ผู้ใช้หาไอคอนไม่เจอ
  • การเปลี่ยนแปลงครั้งนี้ช่วยปรับปรุงประสบการณ์ใช้งานบน macOS และมีแผนจะขยายไปสู่การพัฒนา UI ลักษณะคล้ายกันสำหรับ Windows ในอนาคต

ปัญหารอยบากของ MacBook และอินเทอร์เฟซ macOS แบบใหม่ของ Tailscale

  • Tailscale ควรทำงานแบบแทบมองไม่เห็นขณะเชื่อมต่ออุปกรณ์ทั้งหมดของผู้ใช้ แต่ด้วย ดีไซน์รอยบากของ MacBook บางรุ่นจึงเกิดปัญหาที่ไอคอนบนแถบเมนูหายไป
  • เพื่อแก้ปัญหานี้จึงมีการใช้สองแนวทาง ได้แก่ ระบบแจ้งเตือนชั่วคราวและ อินเทอร์เฟซแบบหน้าต่างใหม่สำหรับ macOS
  • ในช่วงแรกใช้วิธีแจ้งเตือนผู้ใช้เมื่อไอคอนถูกซ่อนอยู่หลังรอยบาก ต่อมาจึงเพิ่ม UI แบบสแตนด์อโลนเต็มรูปแบบ เพื่อปรับปรุงการเข้าถึงและการใช้งาน
  • อินเทอร์เฟซใหม่นี้จะถูกเปิดใช้งานเป็นค่าเริ่มต้นตั้งแต่ เวอร์ชัน 1.96.2 และนำเสนอฟีเจอร์หลักอย่าง Taildrop, Exit Node, การค้นหาอุปกรณ์ ในรูปแบบที่มองเห็นได้ชัด
  • การเปลี่ยนแปลงนี้ช่วยยกระดับประสบการณ์ใช้งาน macOS และจะต่อยอดไปสู่การพัฒนา UI ลักษณะคล้ายกันสำหรับ Windows ในอนาคต

ปัญหาไอคอนบนแถบเมนูที่เกิดจากรอยบาก

  • ตั้งแต่ MacBook Pro รุ่นปี 2021 เป็นต้นมา มีรอยบากอยู่ตรงกลางด้านบนของหน้าจอ ทำให้เกิดกรณีที่ไอคอนบนแถบเมนูถูกบังอยู่ในพื้นที่รอยบาก
    • หากมีไอคอนบนแถบเมนูจำนวนมาก บางไอคอนอาจหายไปหลังรอยบากจนไม่สามารถคลิกได้
    • macOS ไม่มี การแจ้งเตือน เมนู overflow หรือฟังก์ชันจัดเรียงไอคอนใหม่ สำหรับสถานการณ์นี้
  • Apple มีวิธีแก้ทางอ้อมอยู่บ้าง แต่ยังไม่สมบูรณ์
    • ย้ายไอคอนของระบบไปที่ Control Center หรือ
    • ปรับสัดส่วนหน้าจอด้วยตัวเลือก “Scale to fit below camera
  • แอปจากผู้พัฒนาภายนอกอย่าง ICE และ Bartender สามารถช่วยจัดการไอคอนบนแถบเมนูได้ แต่ก็เพิ่มความซับซ้อนและภาระด้านทรัพยากร
  • วิศวกรของ Tailscale ระบุว่า “เมื่อแอปถูกลงทะเบียนเป็นแอปบนแถบเมนู macOS จะกำหนดตำแหน่งเองโดยอัตโนมัติ” ซึ่งหมายความว่านักพัฒนาไม่สามารถควบคุมได้
  • หลังยุครอยบาก ผู้ใช้บางส่วนรายงานว่า “Tailscale ไม่ได้ทำงาน” แต่ความจริงคือ ไอคอนถูกซ่อนอยู่หลังรอยบาก

ฟีเจอร์ตรวจจับไอคอนและการแจ้งเตือนผู้ใช้

  • ใช้ข้อมูล occlusionState ของ macOS เพื่อ ตรวจจับได้ว่าไอคอนของ Tailscale ถูกบังอยู่หรือไม่
  • แม้ไอคอนจะถูกซ่อนอยู่ ก็ยังสามารถแสดง ข้อความป๊อปอัป เพื่อแจ้งผู้ใช้ได้
    • ข้อความคือ: “ไอคอน Tailscale ถูกซ่อนอยู่หลังรอยบาก โปรดจัดระเบียบหรือลบไอคอนอื่นออก”
  • คำเตือนนี้ไม่สมบูรณ์แบบ และอาจแสดงผิดพลาดได้จาก การสลับหน้าจอ การเปิดปิดฝาโน้ตบุ๊ก หรือการเชื่อมต่อจอภายนอก
  • อย่างไรก็ตาม ในช่วงเวลาหนึ่งมันช่วยบรรเทาปัญหา “หาเมนูตั้งค่า Tailscale ไม่เจอ” ได้

ตรรกะตรวจจับรอยบากที่อิงโค้ด Swift

  • มีการเขียน โค้ด Swift เพื่อให้ตรวจจับได้เมื่อแอปถูกซ่อน
    • เฝ้าดู NSWindow.didChangeOcclusionStateNotification เพื่อตรวจสอบสถานะการมองเห็นของไอคอน
    • หากค่า occlusionState.contains(.visible) เป็น false จะถือว่าไอคอนถูกบังอยู่
  • ในแอปแบบหน้าต่างใหม่ โค้ดนี้ไม่จำเป็นอีกต่อไป แต่หากเปิดใช้ตัวเลือก ซ่อนไอคอน Dock ก็ยังสามารถทำงานได้

อินเทอร์เฟซแบบหน้าต่างใหม่สำหรับ macOS

  • UI แบบหน้าต่าง ที่ถูกเปิดใช้งานเป็นค่าเริ่มต้นตั้งแต่ Tailscale เวอร์ชัน 1.96.2 สามารถทำงานร่วมกับแอปบนแถบเมนูได้
    • เปิดใช้งานได้ผ่าน Dock หรือการค้นหาด้วย Spotlight
    • แสดงฟีเจอร์หลักอย่าง รายการอุปกรณ์ใน Tailnet, สถานะการเชื่อมต่อ, การส่งไฟล์ (Taildrop), การเลือก Exit Node ในรูปแบบภาพ
  • รายการฟีเจอร์หลัก
    • การค้นหาอุปกรณ์และการแสดงสถานะการเชื่อมต่อ

    • ฟังก์ชัน Ping, คัดลอก IP และส่งผ่าน Taildrop

    • Exit Node ที่แนะนำตามค่าหน่วงเวลา ประสิทธิภาพ และตำแหน่ง

    • การแจ้งข้อผิดพลาดด้วยจุดสีแดงบนไอคอน Dock

    • โหมด ‘มินิเพลเยอร์’ แบบย่อ

      • มีทัวร์แนะนำฟีเจอร์เมื่อทำการติดตั้งหรืออัปเดต
      • กำลังรวบรวมความคิดเห็นของผู้ใช้เพื่อปรับปรุงอินเทอร์เฟซ และกำลังพัฒนา UI ลักษณะคล้ายกันสำหรับ Windows อยู่ด้วย
      • Tailscale เน้นย้ำแนวทางที่จะรักษา ‘อารมณ์ขันเชิงใช้งาน (functional whimsy)’ ควบคู่ไปกับประสิทธิภาพในการใช้งาน

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

 
GN⁺ 27 일 전
ความเห็นจาก Hacker News
  • ปัญหาที่ ไอคอนในแถบเมนูถูกบังเพราะรอยบาก นี่ชวนอึ้งจริง ๆ
    ต้องเสียเวลาหลายชั่วโมงทุกสัปดาห์ไปกับการตอบอีเมลผู้ใช้ที่บ่นว่าแอปไม่ยอมรันหรือไม่มีอินเทอร์เฟซ
    ต่อให้มี FAQ ก็ยังแก้ไม่ได้ และยังลามไปถึงคำขอคืนเงินหรือแม้แต่ chargeback ทำให้เสียหายมาก
    ไม่นานมานี้พี่ชายผมเพิ่งปล่อยแอป PiP แบบง่าย ๆ ชื่อ PiPiri แล้วในสองวันแรกมีการคืนเงินไปครึ่งหนึ่ง เพราะคนเข้าใจผิดว่าแอปไม่ทำงานเนื่องจากมีไอคอนเยอะเกินจนมองไม่เห็น
    เมื่อก่อนแอป Bartender ยังช่วยบรรเทาปัญหานี้ได้ แต่พอมีการเปลี่ยน internal API ใน macOS Tahoe ก็พังไปหมด
    Apple ควรจัดการเรื่องนี้ให้ดีกว่านี้

    • ในมุมของ Apple เขามองว่า นักพัฒนาภายนอกใช้งาน menu item ผิดวัตถุประสงค์
      เดิมทีมีแค่ Apple เท่านั้นที่เพิ่ม menu extra ได้ และนักพัฒนาต้องใช้เครื่องมือไม่เป็นทางการอย่าง MenuCracker
      ภายหลังถึงมี API อย่างเป็นทางการ แต่ก็ออกแบบมาสำหรับ menu item ชั่วคราว ที่แสดงเฉพาะตอนแอปกำลังทำงานเท่านั้น
      เพราะงั้น Apple เลยมองว่านี่ไม่ใช่บั๊ก แต่เป็นความรับผิดชอบของนักพัฒนา
      ส่วนตัวผมคิดว่าถ้ามีส่วนขยาย Control Center ให้นำไอคอนถาวรไปไว้ตรงนั้นก็น่าจะดีกว่า
    • ถ้ามีไอคอนมากเกินไป ก็ควรเอาไปใส่ใน เมนู overflow
      Windows แก้เรื่องนี้ด้วยเมนู overflow ของ system tray มาตั้งแต่หลายสิบปีก่อนแล้ว และเบราว์เซอร์เองก็ซ่อนไอคอนส่วนขยายได้
      แต่ macOS กลับแค่ซ่อนไอคอนเงียบ ๆ ทำให้ผู้ใช้ไม่รู้เลยว่ามีอะไรถูกบังอยู่
    • ผมกำลังหาแอปของพี่เขาอยู่พอดี เมื่อก่อนเคยใช้ Helium เดี๋ยวคงต้องลองดู
    • สงสัยว่าทำไม Apple ถึงรู้ปัญหานี้แต่ยังไม่ยอมแก้ มีเหตุผลที่สมเหตุสมผลบ้างไหม?
    • ผู้ใช้ที่มีไอคอนเยอะเกินไปน่าจะสร้าง ต้นทุนด้านซัพพอร์ต สูง อาจต้องดูสัดส่วนผู้ใช้กลุ่มนี้แล้วสะท้อนไปที่ราคา
  • ทุกครั้งที่ซื้อ Mac เครื่องใหม่ ผมจะรันคำสั่งเพื่อลดระยะห่างของไอคอนบนแถบเมนู
    ทำแบบนี้แล้วแสดง จำนวนรายการได้มากกว่าสองเท่า

    defaults -currentHost write -globalDomain NSStatusItemSpacing -int 2
    defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 2
    
    • ฟังดูขัดกับคำว่า macOS “ใช้งานได้เลย” มาก สุดท้ายก็ต้องลงทั้งคำสั่งและแอปเพิ่มกว่าจะใช้ได้ดี
    • ดูเหมือนว่าคำสั่งนี้จะใช้ไม่ได้แล้วใน macOS 26.3 (Tahoe) น่าจะมีอะไรเปลี่ยนไป
    • ดีขึ้นเยอะเลย ขอบคุณ
    • อยากรู้วิธีกลับไปใช้ค่าเริ่มต้นเหมือนกัน
  • ไม่เข้าใจเลยว่าทำไม Apple ถึงยังไม่แก้ปัญหานี้เสียที
    การที่บริษัทใหญ่ระดับ Tailscale ยังต้องหาทางเลี่ยงปัญหาแบบนี้ เป็นตัวอย่างที่ชัดเจนของ การจัดการซอฟต์แวร์ที่ย่ำแย่ ของ Apple

  • ผมยังมีไอคอนไม่เยอะเลยไม่เคยเจอ แต่ไอคอนมันหายไปหลังรอยบากแบบนั้นจริง ๆ เหรอ?
    Windows XP ยังแก้ปัญหานี้ได้ตั้งแต่ 25 ปีก่อนแล้ว ที่ macOS ยังทำไม่ได้ถือว่า คุณภาพตกลง มาก

    • ผมเจอปัญหานี้อยู่จริง ๆ แต่พอบ่นก็จะได้คำตอบกลับมาว่า “ก็ซ่อนไอคอนที่ไม่จำเป็นสิ”
      ดูการพูดคุยที่เกี่ยวข้องได้ที่นี่
    • ใช่ มันแค่ถูกซ่อนหายไปเฉย ๆ โดยไม่มีสัญญาณอะไรเลย
    • น่าตกใจที่ Apple ไม่จัดการเรื่องพื้นฐานแบบนี้
    • นี่ไม่ใช่กรณีเฉพาะทาง แต่เป็น สถานการณ์ที่คาดเดาได้อยู่แล้ว เป็นผลจากการออกแบบที่แย่หรือไม่ก็ความไร้ความสามารถ
    • ผมเจอตอนใช้ Rider พอปรับขนาดตัวอักษรใหญ่ขึ้น เมนูก็เยอะจนไอคอน macOS พื้นฐานถูกบัง
      ต้องเอาโฟกัสออกจากหน้าต่าง Rider ถึงจะเห็นไอคอน ดูภาพหน้าจอ
  • ผมกำลังหาวิธี สมัยใหม่ สำหรับเข้าถึงเครือข่ายบ้านจากระยะไกล

    • เข้าถึงเซิร์ฟเวอร์ที่บ้าน
    • ดูสตรีมมิงทีวีสหรัฐฯ จากต่างประเทศ
    • ให้สมาชิกในครอบครัวที่ไม่ใช่สายเทคนิคใช้งานได้ง่าย
    • ให้เซิร์ฟเวอร์ Linux เชื่อมต่ออัตโนมัติตอนบูต
      ถ้าจะให้ตอบโจทย์ทั้งหมดนี้ Tailscale ก็น่าจะเป็นตัวหลัก
    • ผมใช้ Tailscale กับ Unraid NAS แล้วใช้งานได้ดีมาก และยังได้ hostname แยกให้อัตโนมัติตามแต่ละคอนเทนเนอร์ด้วย
      โควตา free tier ก็ยังเหลือ และการเชื่อมกับ Mullvad ก็ทำงานดี
    • ทั้งหมดนี้ทำได้ด้วย Tailscale แค่ตั้งอุปกรณ์ในสหรัฐฯ เป็น Exit Node แล้วให้อุปกรณ์อื่นวิ่งผ่านมันเป็นพร็อกซีก็พอ
    • ผมต่อ WireGuard ตรง ๆ ไปเลย ไม่เห็นเหตุผลที่จะเพิ่มชั้นกลางเข้ามา
    • แค่เชิญสมาชิกครอบครัวเข้า Tailnet แล้วตั้งค่า Exit Node ก็จบ ง่ายมากจริง ๆ
    • ผมยังลังเลว่าควรแยกบัญชีให้สมาชิกครอบครัวแต่ละคนหรือเปล่า ตอนนี้ล็อกอินด้วยบัญชีผมทั้งหมด แต่ถ้าหลุดล็อกอินก็ต้องมานั่งล็อกอินใหม่ให้ ซึ่งค่อนข้างยุ่งยาก
  • ขอแนะนำ ตัวจัดการเมนูบาร์บน Mac Ice ที่รวมหลายไอคอนไว้และซ่อนได้ในอันเดียว

    • ผมใช้ Hidden มาหลายปีแล้ว เรียบง่ายและทำงานได้สมบูรณ์แบบ
    • ช่วงหลังมีเวอร์ชัน fork ชื่อ Thaw ที่อัปเดตบ่อย
    • KDE มีฟีเจอร์แบบนี้มาให้ในตัวอยู่แล้ว
  • เมื่อวานผมติดตั้ง Tailscale บน GCP VM แล้วเปิด route advertisement จากนั้น ping ไปที่อินสแตนซ์ได้ก็จริง แต่มี packet loss สูง
    ส่วน SSH tunnel กลับใช้งานได้ปกติ เลยดูเหมือนจะเป็นปัญหาฝั่ง Tailscale

  • ผมหา VPN ทางเลือกอยู่ แล้วไปถาม ClaudeAI จนได้รู้จัก Tailscale
    มัน ใช้งานได้ทันที แม้ในสภาพแวดล้อม Windows เก่า ๆ และตั้งค่าก็ง่าย
    เป็นเครื่องมือที่เหมาะมากสำหรับจัดการคอมพิวเตอร์ของพ่อแม่จากระยะไกล

    • ผมก็ใช้แบบนั้นเหมือนกัน ติดตั้ง Tailscale บน iMac ของครอบครัวเป็น system daemon เพื่อให้มันรันได้ก่อนล็อกอิน
      พอไม่มี GUI ก็ไม่มีทางที่ผู้ใช้จะไปปิดมันพลาด
      วิธีติดตั้งดูได้จากวิกิทางการ
  • ถ้าติดตั้งหลายแอปบน Mac ที่ใช้ทำงาน เช่น VPN, MDM, ปฏิทิน, สำรองข้อมูล ฯลฯ บั๊กนี้จะโผล่มาเร็วมาก
    ถึงจะไม่ถึงขั้นร้ายแรง แต่ก็น่าแปลกใจที่ macOS ยังไม่มี เมนู overflow อย่างเป็นทางการ เสียที

  • ในฐานะผู้ใช้ Linux ผมชอบแอป GUI แต่ Tailscale ยังมีแค่ CLI เลยค่อนข้างน่าเสียดาย
    แม้แต่ไอคอน tray ง่าย ๆ ก็ยังต้องพึ่ง GNOME extension ที่บั๊กเยอะ
    ผมเข้าใจนะว่า ecosystem มันกระจัดกระจาย แต่ก็หวังว่าสักวันจะดีขึ้น