世界を動かす技術を、日本語で。

Tailscaleの新しいmacOSホーム

概要

  • Tailscale のMacBookでのメニューバーアイコン消失問題の経緯と対応策の紹介
  • Appleのノッチ付きMacBookでの UI制限 による問題発生
  • 一時的な 警告ポップアップ による回避策の実装
  • 新しい ウィンドウ型macOSインターフェイス の導入
  • 今後の改善とユーザーからのフィードバックの呼びかけ

Tailscaleメニューバーアイコンの消失問題とその対策

  • Tailscale は本来「見えない」くらいシームレスな体験を目指したVPNサービス

  • 2021年以降のMacBook Proなど、 ノッチ付きディスプレイ の登場によりメニューバーアイコンが「見えなくなる」問題が発生

  • Appleは メニューバーアイコンの配置制御 をユーザーや開発者に提供していない現状

  • アイコンがノッチ部分に隠れると、ユーザーはTailscaleが「起動していない」と誤認する事例が多発

  • Apple純正の回避策(Control Centerや「カメラ下に合わせて拡大」設定)は根本解決にならず

  • サードパーティ製の ICEBartender といったメニューバー管理アプリも存在するが、導入の手間や負荷が増加

    • Tailscale開発者も「どこに表示されるか制御できず、結果的にノッチに隠れる」とコメント

一時的な回避策:アイコンが隠れた時の警告表示

  • occlusionState データを利用し、アイコンが「表示されていない」状態を検知
  • アイコンがノッチなどで隠れた場合に ポップアップ警告 を表示
  • この警告は完全ではなく、画面切り替えやディスプレイ接続のタイミングでも誤発動する場合あり
  • それでも「Tailscaleが見つからない」問題のトリアージに一定の効果
  • 今後、新しいウィンドウ型アプリが主流となることで、多くのユーザーはこの問題から解放される見込み

本質的な解決策:ウィンドウ型macOSインターフェイスの導入

  • 2023年9月のベータリリースを経て、 バージョン1.96.2 以降でデフォルト有効化

  • ウィンドウ型アプリは従来のメニューバーアプリと 併用可能

  • DockやSpotlightから起動でき、より多くのTailscale情報や機能に 直感的にアクセス 可能

  • 主な特徴

    • tailnetデバイス一覧 と接続状態の検索・表示
    • デバイスへの Ping、IPアドレスコピー、 Taildrop によるファイル送信
    • Exit Node の検索・推奨(遅延・パフォーマンス・ロケーションを考慮)
    • 重大エラー時のDockアイコンへの 赤点表示
    • 必要最小限の「 ミニプレーヤー」モード
    • インストール・アップデート時の プロダクトツアー 機能
  • ユーザーからの フィードバック を募集中

  • Windows向けにも同様のUIを開発中

  • 今後も「 使いやすさと遊び心」を追求する方針

今後への提案と課題

  • Apple側での ノッチ対応 改善(ノッチ部分へのアイコン非表示、オーバーフローUIの実装等)が望まれる
  • 開発者へのより詳細な メニューバーAPI 提供への期待
  • ウィンドウ型UIのさらなる改善と他OS展開によるユーザー体験向上

Tailscale のmacOS体験は、ノッチ問題を経て着実に進化。新しいUIで、今後もより直感的な接続体験を提供予定。

Hackerたちの意見

アイロニックだけど、TailscaleとMacのSSOで困ってるんだ。AppleのSSOでtailnetを設定したんだけど、Windows以外のデバイスで接続しようとすると、新しいユーザーを追加するのが簡単じゃないんだよね。新しいユーザーは自分のtailnetを持っちゃうし。サードパーティのSSOを使わずに、パスキーだけでTailscaleを使えたらいいのに。

メニューバーのアイコンが足りなくてこれにぶつかったことはないけど、ノッチの後ろにあるアイコンを隠すだけって本当にそうなの?OSがこんな明らかなエッジケースを処理してないなんて。ノッチの横にオーバーフロードロップダウンを置けばいいのに(Windows XPは25年前にそれを解決したのに)。最近のmacOSのソフトウェアの質が下がってるのは知ってるけど、これはさすがにひどい。

Appleがこれを扱ってないのは本当に衝撃的だね。彼らのフラッグシップ製品の一つがこんなに落ちぶれてるなんて。

そうそう、隠れてることを示すものが何もないし、ドロップダウンもないよね。

これが長い間優れたUXで称賛されてきた会社にとって本当に腹立たしいことだよね。他にもたくさんの小さな問題が放置されてて、ブランドイメージが悪くなってる。

Rider使ってるときにこれに遭遇するんだ。Macbookのテキストサイズを大きくしてるから、Riderのメニューアイテムが8000個もあって、メニューアイコン(全部macOSのデフォルト、サードパーティのやつじゃない)が隠れちゃうんだよね。アイテムにアクセスしたいときは、別のワークスペースかウィンドウに切り替えないといけない。ちょっとイライラするけど、誰を責めればいいのか分からないな。Riderかな、メニューアイテムがめちゃくちゃ多いから。スクリーンショット: https://imgur.com/8y0QbZN 「Run」と「Tests」の間の隙間がノッチで、Riderにいるときじゃないと気づかないことが多い。

これは本当に問題なんだけど、文句を言うと「気にしないアイコンは隠せばいいじゃん」って言われる。まるでそれが解決策みたいに。https://news.ycombinator.com/item?id=47346079

視覚障害がある人なら、14インチのノートパソコンでもアイコンが少ししかなくても当たっちゃうよ。フォントが小さい以外に、メニューが過剰に詰まってたり、アプリアイコンが少しでもあると、ドックに繋いでない限りいつも当たっちゃう。ハッキーなメニューバーの改造ツールは、実質的にアクセシビリティの必需品だし、私の視力もそんなに悪くないのに。(一番良い状態で20/30か20/40くらい。)重度の障害がある人は、macOSでは完全に詰んでるよ、大きな外部モニターがあってもね。

トレイアイコンのオーバーフローが追加されたのはWindows 7の時で、XPじゃないよ。

これはエッジケースですらない。避けられないケースとして考慮されるべきだった。ほんとに落胆させるデザインの怠慢か、無能だね。

そうだよね、こんな明らかなことが無視されてるなんて驚いたよ。ビジュアルデザイン(Liquid Glass)に投資するのに、ノッチでアイコンが隠れるっていう明らかなUXの問題を放置するのは、優先順位を間違えてる気がする。

そうなんだ!「バーテンダー」ってアプリで「解決」してるよ。ハックされてて、たまに動かないけど、これが唯一の解決策だった…アップルのソフトウェア、ほんと最悪だよね!

Mac用の便利なメニューバーマネージャーで、複数のアイコンを一つのアイコンの後ろに隠せるやつだよ:https://github.com/jordanbaird/Ice

モバイルでリンクを手元に持ってないけど、Thawっていうフォークがあって、頻繁にアップデートされてるよ。

KDEにはそれが含まれてるよ!

ここで聞くのにいい場所みたいだね:リモートで自宅ネットワークに接続するための最新の技術ってどうなってる?自宅サーバーへのアクセス、海外でアメリカのテレビをストリーミングする能力(自宅ネットワークから出るため)、技術的なバックグラウンドがない人たち(親や子供など)が自分のデバイスで簡単に接続できるようにする能力、リモートのLinuxサーバーが自動的に起動時に接続できる能力が欲しいんだ。これは、家でOTAテレビが受信できないから、誰かの家に簡単なストリーミングボックスを設置して、そこから自宅に接続して、みんなのデバイスでストリーミングできるようにしたいからなんだ。これにはTailscaleが関わると思うから、ここで聞いてるんだ。

そうだね、TailscaleとExit Nodes、家族を招待するTailnetについて説明してくれたね。Tailscaleをインストールして、いくつかのデバイスをエグジットノードとして設定するだけで、ほぼそれだけで簡単にできるよ。

Tailscaleがこれをすべて可能にしてくれるよ。アメリカのデバイスをエグジットノードとして設定して、他のデバイスをそれを通してプロキシするように設定してね。

OpenWRT/TomatoとWireGuardでいい感じに成功したよ。プロビジョニングのインターフェースは悪いけど、QRコードで設定できるし、一度動き出したらVPNをオンにするのが驚くほど速かった。今の時代、交渉や様々な信頼できないステップで遅くなることを期待しちゃうけど、iOSでVPNボタンをタップしたら、ほんの一瞬で接続できたのは本当にすごかった。

僕はローカルネットワークに接続するためにWireGuardを使ってるだけだよ。仲介者を入れる意味がわからないな。

CGNAT(IPv4、IPv6両方)にいるなら、VPSを使って公的なIPv6を持ってれば、パブリックドメイン(ddns openwrt)経由で接続できるし、公的IPがあればWireGuardでいけるよ。

Tailscaleが多分いいと思うけど、プライバシーが気になるなら、各ノードでテレメトリーやログ、スパイ機能を無効にするのを忘れないでね。デフォルトだと、いわゆる「プライベート」ネットワークの動作をTailscaleに漏らしちゃうから(どのポートで、どのノードからどのノードに接続したか、いつ開いて、いつ閉じたかとか):https://tailscale.com/docs/features/logging

「Windowsデバイス用の同等のUIを作業中です」 Linuxユーザーで、良いGUIアプリが好きな僕としては、TailscaleみたいなアプリがCLI専用しか選べないのは本当に残念だよ。シンプルなトレイアイコンですら、バグの多いGNOME拡張に頼らざるを得ないしね。デスクトップLinuxのエコシステムが分散していて、ユーザーが少ないから正当化するのが難しいのは理解してるけど、いつか変わってほしいな!

これが「バグのあるGNOME拡張」のことを指してたのかもしれないけど、もし違ったらこれね: https://tailscale.com/docs/features/client/linux-systray

新しいMacを手に入れるたびに、メニューバーのアイコンの間隔を狭くするためにこれらのコマンドを実行してるよ。メニューバーにアイテムを少なくとも2倍入れられるようになるんだ。

defaults -currentHost write -globalDomain NSStatusItemSpacing -int 2
defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 2

これめっちゃいいね、ありがとう!

え、なんで今までこれを知らなかったんだ?これ、ネットで大々的に広めるべきだよ!

これがMacを使うときの一番の不満だったんだよね、「ただ動く」OSなのに。使えるようにするために、いくつかのコマンドを実行したり、必要なアプリをインストールしたりしなきゃいけなかった。

Appleって、そもそもアプリがメニューバーを使わない方がいいって思ってるんじゃない?どこで読んだかは忘れたけど、これが理由でAppleがメニューバーを改善しないのかもしれない。個人的には、現状は耐えられないから改善すべきだと思うけど、もしかして記憶違いかな?

そうだね、ランダムなアプリ開発者にあんな目立つ限られた画面スペースを使わせるのは大きなミスだったよ。でも、もうずっとそのオプションがあるから、取り上げようとしたらみんな大騒ぎするだろうね。アップルの考えは、スペースが足りなくなるのはたくさんのメニューバー好きなアプリを使ってる一部の人だけだから、もしこの問題にぶつかるほどダサいなら、自分で解決するべきだって感じみたい。

正確にはそうじゃないけど、多くのアプリがmacOSのメニューバーエクストラに関するアップルのヒューマンインターフェースガイドラインを違反してるよ:[1] アプリじゃなくて人がメニューバーエクストラをメニューバーに追加するかどうかを決めるべき。通常、人はアプリの設定ウィンドウで設定を変更してメニューバーエクストラを追加するんだけど、発見しやすくするために、セットアップ中にそのオプションを提供するのもいいかも。メニューバーエクストラの存在に頼るのは避けて。システムはメニューバーエクストラを定期的に隠したり表示したりするから、他のメニューバーエクストラがどれを表示してるか予測できないし、あなたのメニューバーエクストラの位置も分からないから。アプリ特有の機能を他の方法でも見せることを考えてみて。例えば、人がアプリのDockアイコンをControlクリックしたときに表示されるDockメニューを提供することができるよ。人はメニューバーエクストラを隠したり使わない選択ができるけど、アプリが動いているときはDockメニューは常に利用可能だよ。[1] https://developer.apple.com/design/human-interface-guideline...

ノッチがメニューバーのアイコンを隠すなんて、ほんとに馬鹿げた問題だよ。毎週何時間も、私のアプリを買った人たちが「起動しない」とか「インターフェースがない!」ってフラストレーション溜めてメール送ってくるのを手伝ってる。FAQなんて全然役に立たないし、急いで返金を求められることもあるし、最悪の場合、ユーザーが支払った金額の2倍が私のポケットから引かれるチャージバックも起きる。最近、兄に簡単なアプリを作る手伝いをしたんだけど(https://lowtechguys.com/pipiri)、最初の2日で半分の売上がこの問題で返金になった。人々はメニューバーのアイコンが多すぎて、アプリが動かないと思ってた。彼の初めてのアプリのローンチとしてはあまり励みにならなかったな。それに、これを緩和するための最良の解決策であるBartenderアプリが、macOS TahoeのAppleの内部API変更で完全に壊れちゃったのも残念だった。もっと上手く対処できたはず。

これ、解決するのはめっちゃ簡単な問題だよね。メニューバーのアイコンが多すぎるときは、オーバーフローメニューに入れればいいんだ。一つのアイコンにアイコンのリストを入れて、どのアイコンを上のバーに入れるか、どれをオーバーフローメニューに入れるかを自由に配置させてほしい。Windowsは何十年も前にシステムトレイのオーバーフローメニューでこれを解決してるし、ブラウザも拡張アイコンをオーバーフローメニューに入れられるようにしてる。そんなに難しくないのに、macOSは静かにアプリを隠して、隠れてることを示すものが全くないんだよね。

これは果物会社にとって珍しい問題じゃないよね。誰か、まだこの問題を解決してない理由について合理的な推測をしてみてくれない?

メニューバーのアイコンがたくさんある人はおかしいかもしれないから、製品の価格設定をする前に、どれくらいアイコンがあるか確認した方がいいよ。サポートのコストも考慮しないとね。

メニューバーのアイテムを並べ替えるオプションがない これは少なくとも間違いだよ。Commandを押しながらアイコンをドラッグすれば、順番を入れ替えられるよ。

開発者が順番をリクエストしたり指定したりする方法がないってことだと思う。

いつもMacのノッチを避けるために画面解像度を変えてるよ。やり方はあんまり分かりやすくないけど、デフォルトよりちょっと短い解像度になるんだ。これって潜在的なピクセルを無駄にしてるし、ほぼベゼルレスデザインにかけたエンジニアの努力も無駄にしてるって分かってるけど、個人的にはやる価値があると思う。