HN
Today

Bluesky draws its logo on screenshots

Bluesky employs a sneaky iOS UI hack that makes its logo magically appear on screenshots, even though it's not visible in the live app. This deep dive uncovers how a UITextField meant for secure input is repurposed to reveal branding upon screenshotting. It's a clever, if slightly controversial, use of platform features that sparks discussion about API intent versus creative implementation.

11
Score
1
Comments
#1
Highest Rank
14h
on Front Page
First Seen
Aug 17, 10:00 PM
Last Seen
Aug 18, 11:00 AM
Rank Over Time
31111111111223

The Lowdown

This intriguing post explores a clever, almost invisible UI trick employed by the Bluesky social app: its logo mysteriously appears in the top-right corner of screenshots, even though that space is occupied by a "Follow" button within the live application. The author, baffled by this vanishing act, embarked on a technical detective mission to uncover the secret behind this ephemeral branding.

  • The author initially observed the Bluesky logo only when taking screenshots, but not when viewing the post in the app where a "Follow" button resided.
  • Upon investigation, by diving into Bluesky's open-source code (specifically GrowthHack.tsx and the expo-privacy-sensitive package), the mechanism was revealed.
  • The trick leverages an iOS feature: a UITextField with isSecureTextEntry set to true. iOS blanks out the content of such fields in screenshots for privacy reasons.
  • Bluesky renders the live "Follow" button inside this secure text field's layer. When a screenshot is taken, the secure field blanks, effectively making the "Follow" button disappear and revealing the underlying Bluesky logo.
  • This method is a repurposing of a technique used by apps like Telegram and Signal to prevent screenshots of sensitive content in "secret chats."
  • The author notes that the original discussion around implementing this feature in Bluesky's pull request was met with some disapproval, questioning if it's a "nifty trick" or an "abuse of API meant for privacy."

Ultimately, this post shines a light on a highly creative, albeit debatable, technical maneuver. It demonstrates how developers can leverage platform-specific behaviors in unexpected ways, turning a privacy-focused feature into a subtle branding and growth-hacking tool, prompting reflection on ingenuity versus intended API usage.