Bluesky、スクリーンショットにだけロゴを表示する仕組みが話題に
How Bluesky draws its logo on screenshots

Blueskyのアプリで、スクリーンショットを撮ると右上にロゴが表示されるが、実際の画面には表示されない。その秘密は、iOSのセキュリティ機能を利用したトリックにあった。開発者のmozzius氏が作成したexpo-privacy-sensitiveパッケージが、UITextFieldのisSecureTextEntryプロパティを利用して、スクリーンショット時にロゴを表示させている。TelegramやSignalも同様の手法を採用しており、Appleがすぐに修正する可能性は低いとされる。
「スクリーンショットを撮ると、iOSはこのUITextFieldを非表示にして、Blueskyのロゴがその隙間から姿を現す(最初からずっとそこにあったのだ)。」
HNでの議論
424- jjcm
これと永久ロゴの間で選ぶなら、私は断然これだ。
このアプローチは実際とても気に入っている。アクションボタンはこの文脈では関係ないし、コンテンツを隠すこともない。
もちろん、これを望まない状況もあるだろう(例えば、アプリを開発していてスクリーンショットからリデザインを始めたい場合など)。しかし、平均的なユーザーにとっては、これは過度に敵対的ではないと思う。意図が変更されることに反対する人々が教条的にいるのは理解しているが、ニュアンスのバランスを取る必要があると思う。私は共有された要素に帰属元があることを実際に楽しんでいるし、これを達成するための影響の少ない方法だと思う。
- skiing_crawling
これは、そもそもそれを許可している電話OSの開発者のせいだ。スクリーンショットを撮るとき、私はその時画面に表示されていたものとまったく同じ画像が得られることを期待する。それはあなたのアプリの写真ではなく、私の画面の写真だ。一部の銀行アプリはこれを防いでいた(または今も防いでいる)し、今では一部のアプリがブランドを挿入するフックを得ている。私のデバイスは私自身以外の主人に仕えている。
- pfraze
これは実際にはアプリを宣伝するための透かしであり、Blueskyは他のマイクロブログアプリと見た目が似ているため、そうでなければ認識されないだろう。Samがファイルを文字通りGrowthHack.tsxと名付けたことを知らなかったが、それはかなり面白い。
- 3form
さて、私はスクリーンショットに反応してプロセスを制御するアプリが、私にとって敵対的で迷惑以外の何ものでもなかったケースに一度も出会ったことがない。これもその助けにはならない。
これは、現代のソフトウェアエンジニアリングが私にとって迷走していると感じる完璧な例だ。私のデバイスの機能が、そのソフトウェアを提供する者の利益のために完全に働いている。私はこの傾向がいつか消えてなくなることを願ってやまない。
- internetter
コメントでスナップチャットについて言及している人は誰もいないが、スナップチャットでは「サービスを差別化する」中核的な柱の一つが、相手に通知せずにスクリーンショットを撮ることの難しさだ。
- YesThatTom2
キャプションに完全な日時を含めるようなこともできるだろうか? キャプションがいつまでも「1時間前」のままなのは嫌だ。
- rmwaite
iOSで、コントロールセンターを下にスワイプしてから上に戻すが、指を離さない場合、スクリーンショットにはロゴが表示されない。私はTwitterでこれをやって、スクリーンショットにXロゴが入らないようにしている。
- wraptile
これこそ、ポケットコンピュータがまだ真面目に扱われていない理由だ。私のプログラムは、スクリーンショットのような私の管理操作を認識するべきではないし、ましてやそれに応答するべきでもない。
- c7b
Blueskyがこれをやったことに怒っているなら、怒る相手を間違えていると思う。意図を変更することは問題であり、悪用される可能性がある(この特定のケースには特に問題はないと思うが)。本当の問題は、動作を変更する可能性がほとんどないことだ。ユーザーの自由を尊重するOSでは、望む結果を得るためにソフトウェアが何をしているかを傍受する方法が無数にあるだろう。iOSでは、あなたはAppleのなすがままにされている。私たちは、ユーザーの自由をセキュリティリスクと見なし、場合によっては禁止されるべきものと見なす(年齢確認を考えてみてほしい)コンピューティング文化を正常化したAppleに怒るべきだと思う。
- _djo_
XやThreadsもこれをやっている。私は彼ら全員がやらないでほしいと思う。スクリーンショットをいじるのは、セキュリティ対策として防止する場合にのみ行われるべきだ。