npm と crates.io と GitHub で先に押さえた名前が、Microsoft Store では取れませんでした。大文字にしてもスペースを入れても弾かれ、試した 4 表記が全滅しています。表示名を Remote Audio に変えたところで手が止まり、結局 npm と crates.io の名前まで全部取り直すことにしました。分かれ目は技術的な難しさではなく、まだ使っている人が 1 人もいないことでした。
Microsoft Store のアプリ名は 1 つしか存在できません。予約画面で Check availability を押すだけの簡単な操作ですが、そこで audioremote / AudioRemote / audio remote / Audio Remote の 4 表記が全部「既に使われています」になりました。Store を検索しても該当アプリは 1 件も出てきません。これは公式ドキュメントに書かれているとおりで、他の開発者が予約だけして未提出という状態です。表記をずらして回避する発想はここでは通じないので、語順を変えて Remote Audio にしました。
問題はその後です。表示名を 1 つ変えるだけのつもりが、GitHub のリポジトリ名も実行ファイル名も Web UI の表示も動きました。それでも npm と crates.io のパッケージ名、%APPDATA% 配下の設定パス、winget の PackageIdentifier は audioremote のまま残り、表示名と識別子が割れた状態になります。一般論では、名前は返せず設定パスを変えれば相手のトークンが消えるので、ここは据え置くのが正解です。ただ v0.1.0 を出したのは 5 日前で、実質の利用者はまだ自分だけでした。守るべき互換性が無いところで分裂を抱え込むのは面倒を先送りしているだけなので、v0.2 で npm と crates.io も remoteaudio へ取り直します。winget については「初回 PR が open のうちが最後の機会」だと思っていたのですが、公開後に確認したらその PR はマージ待ちではなくバリデーションで止まっていました(マニフェストの置き場所にバージョンフォルダが無かった)。締切だと思っていたものは最初から存在せず、PR は閉じて v0.2.0 で出し直します。記事の後半では、この Remote Audio が何をするツールなのかも紹介しています。
名前の話が中心の記事ですが、その名前が付いている本体はこれです。ゲスト側はブラウザだけ、ホスト側は窓を持たず通知領域に常駐します。