Ngôi nhà macOS mới của Tailscale
AI/ML·Hacker News·1 lượt xem

Ngôi nhà macOS mới của Tailscale

Tailscale's new macOS home

AI Summary

Tailscale vừa tung ra giao diện macOS dạng cửa sổ để khắc phục tình trạng icon menu bar bị che khuất bởi "tai thỏ" trên các dòng MacBook mới. Đây là một giải pháp UI mạnh mẽ hơn cho các developer, bởi Apple không cung cấp cách thức native để tùy chỉnh vị trí icon menu bar hay ngăn chúng bị che. Điều này cho thấy những thách thức khi phát triển ứng dụng macOS hướng tới người dùng, đặc biệt khi hành vi UI ở cấp hệ thống không đoán trước được và không có tài liệu rõ ràng. Các developer cần cân nhắc các chiến lược UI thay thế hoặc thông báo rõ ràng về những hạn chế này cho người dùng.

Tailscale sẽ gần như vô hình khi kết nối bạn và tất cả các thiết bị của bạn với nhau. Nhưng trên một số MacBook, trong một thời gian, nó có thể hơi vô hình. Chúng tôi có hai bản sửa lỗi cho nó: một bản sửa lỗi nhỏ...

Tailscale sẽ gần như vô hình khi kết nối bạn và tất cả các thiết bị của bạn với nhau. Nhưng trên một số MacBook, trong một thời gian, nó có thể hơi vô hình. Chúng tôi có hai bản sửa lỗi cho vấn đề này: một bản sửa lỗi nhỏ và hơi kỳ quặc, và một bản sửa lỗi khác thực sự hữu ích, hiện có sẵn trên macOS.

Bản sửa lỗi nhỏ, kỳ quặc có thể đã trở thành quá khứ đối với đại đa số người dùng Mac. Tôi muốn ghi lại điều đó ở đây: để giúp các nhà phát triển khác, đánh dấu thời điểm này và lặng lẽ tán dương về giao diện macOS có cửa sổ của chúng tôi hiện đã có sẵn rộng rãi.

Nhưng trong một thời gian, chúng tôi đã gặp phải vấn đề này với biểu tượng của Tailscale chìm vào bóng tối.

“Bạn sẽ kết thúc ở nơi bạn kết thúc up”

Khi ra mắt lần đầu trên macOS, Tailscale là một công cụ dòng lệnh và một thanh menu tính thiết thực. Một số MacBook, bắt đầu từ mẫu MacBook Pro 2021, có một notch ở giữa trên cùng của màn hình. Và tùy thuộc vào số lượng ứng dụng khác có biểu tượng thanh menu đang chạy, biểu tượng của ứng dụng Tailscale có thể bị ẩn bên trong phần notch đó.

Apple, một công ty có truyền thống ưu tiên chức năng đơn giản hơn là các cài đặt dày đặc, không cung cấp cho người dùng hoặc nhà phát triển một con đường thoát khỏi bóng tối. Nếu có nhiều biểu tượng thanh menu hơn thì sẽ có khoảng trống ở phía bên phải của notch, các mục trên thanh menu chỉ đơn giản biến mất trong notch-y ether. Nếu bạn không nhìn thấy nó, bạn không thể nhấp vào nó. Không có thông báo cho người dùng, không có phần tràn, không có tùy chọn để sắp xếp lại các mục trên thanh menu.

a tight screenshot of the Tailscale menu bar app, right next to a simulated notch on the gray top menu bar of a MacBook screen.
Bản trình diễn của tác giả về ứng dụng phụ của thanh menu Tailscale, gần đến mức nguy hiểm.

Khi viết bài này, Apple có một số cách giải quyết gián tiếp, chẳng hạn như đẩy mạnh hơn nữa sở hữu các biểu tượng hệ thống vào Trung tâm điều khiển được cải tiến và cung cấp một giao diện có phần không phù hợp Tùy chọn “Chia tỷ lệ cho vừa với bên dưới máy ảnh”. Các ứng dụng quản lý thanh menu của bên thứ ba như ICEBartender có thể trợ giúp nhưng chúng gây thêm sự phức tạp và chi phí.

“Chúng tôi không có bất kỳ quyền kiểm soát nào đối với nơi mọi thứ được hiển thị trong thanh menu,” một kỹ sư của Tailscale, người đã yêu cầu giấu tên để chia sẻ ý kiến ​​trung thực của mình, cho biết. “Bạn chỉ cần nói: 'Tôi muốn trở thành một ứng dụng trên thanh menu.' Họ đưa nó lên đó và thế là xong, bạn sẽ đến nơi mà bạn sẽ đến."

Do hành vi có hoặc không có này, các nhà phát triển Tailscale đã nhận được một số báo cáo lỗi từ người dùng khi sau khi ra mắt MacBook có rãnh khía, các biểu tượng Tailscale của họ rơi vào khoảng giữa màn hình. Người kỹ sư nói: "Họ nói: 'Thực ra, tôi không thể tìm thấy Tailscale của mình. Nó biến mất rồi. Nó không khởi động được'. “Chúng tôi nói, 'Không, nó ở đó, nó chỉ ẩn sau phần notch thôi.' Nhưng chúng tôi gần như phát ngán với điều đó rồi."

Các biểu tượng trên thanh menu Mac có thể không biết chúng bị mắc kẹt bên trong vùng ảo không có pixel nhưng chúng có thể báo cáo rằng có thứ gì đó đang chặn chúng. Bằng cách sử dụng dữ liệu từ occlusionState, ứng dụng Tailscale có thể thấy biểu tượng của nó đang ở trạng thái lấp lửng ở giữa thanh.

Và mặc dù không thể di chuyển nhưng ứng dụng này có thể nói. Cụ thể, một thông báo bật lên có thể cho biết:

Mac pop-up dialog, reading: Sneaky! The Tailscale icon is hiding behind the notch [new line] The Tailscale icon is hidden due to limited space in the menu bar. To see the Tailscale menu, please rearrange or remove some of the other icons.

Cảnh báo nhã nhặn này dù thế nào đi nữa cũng không hoàn hảo. Cảnh báo notch có thể vô tình được kích hoạt bởi các lỗi khác trên màn hình, như mở và đóng nắp MacBook, di chuyển giữa các màn hình hoặc sự kết hợp nào đó của cả hai. Nhưng nó đã giúp phân loại "Cài đặt Tailscale của tôi ở đâu?" vấn đề này đã xảy ra một thời gian.

Tai thỏ và cách chúng tôi giải quyết vấn đề này

Apple chắc chắn có thể thực hiện một số thay đổi để ngăn chặn vấn đề này xảy ra. Hệ thống có thể ngăn các biểu tượng thanh menu hiển thị ở khu vực notch. Cơ chế tràn có thể xếp chồng các biểu tượng mà nếu không sẽ rơi vào vùng khía âm. Hoặc các nhà phát triển có thể được cung cấp thêm thông tin và công cụ về trạng thái khía cạnh của biểu tượng.

Trong thời gian chờ đợi, hãy xem mã Swift cho phép ứng dụng của chúng tôi biết ứng dụng sẽ kêu một chút khi bị ẩn. Điều này sẽ không cần thiết với ứng dụng cửa sổ mới—trừ khi bạn bật tùy chọn “Ẩn biểu tượng Dock” trong tùy chọn ứng dụng khách có cửa sổ, trong trường hợp đó, nó vẫn có thể bộc lộ bản chất ẩn của nó.

Một cách khắc phục thực sự: Một giao diện macOS hoàn toàn mới

Như chúng tôi đã lưu ý tại bản beta tháng 9 của nó phát hành, một phiên bản cửa sổ của ứng dụng macOS của Tailscale không thay thế ứng dụng thanh menu mà chạy song song với nó. Nó có thể được kéo lên từ Dock hoặc tìm kiếm Spotlight và giúp truy cập nhiều dữ liệu cũng như tính năng của Tailscale dễ dàng hơn.

A screenshot showing Tailscale's macOS windowed UI, with a device selected (iPhone) and details of that device on the right. A Taildrop box offers drag-and-drop file sending.

Giao diện cửa sổ, được bật theo mặc định bắt đầu bằng phiên bản 1.96.2 của ứng dụng khách macOS của chúng tôi, cung cấp:

  • Danh sách các thiết bị tailnet có thể tìm kiếm và trạng thái kết nối của chúng
  • Dễ dàng ping, sao chép địa chỉ IP và gửi tệp thông qua Taildrop tới các thiết bị
  • Dễ dàng truy cập vào các nút thoát, có thể tìm kiếm và với một nút được đề xuất dựa trên độ trễ, hiệu suất và vị trí
  • Một chấm đỏ trên biểu tượng Dock để ghi chú các lỗi nghiêm trọng
  • Một “mini player” giúp thu nhỏ Tailscale xuống mức tối thiểu
  • Chuyến tham quan sản phẩm về tất cả những thứ này sau cài đặt/cập nhật

Hãy cho chúng tôi biết bạn nghĩ gì về giao diện mới để chúng tôi có thể cải thiện giao diện này. Chúng tôi đang làm việc trên một giao diện người dùng tương đương dành cho các thiết bị Windows. Và chúng tôi luôn tìm cách mang lại một chút chức năng mới lạ cho phần mềm của mình.

Tác giả: tosh

#discussion