Ramblings from a Researcher-In-Training

Peer Reviewed

Posts in iOS
A JMODest Proposal: Add a Dynamic Passcode Keypad to the iPhone

In response to some interesting reporting from Joanna Stern on how thieves are shoulder-surfing their victims’ iPhone passcodes and get all of the keys to their iCloud kingdom, I posted a silly solution to this problem on Mastodon…and then realized it may not be that silly after all.

A GIF of RuneScape’s bank PIN UI, in which the numbers scramble after each digit is entered. A mouse is slowly entering 1-9-8-4.
🦀🦀🦀Shoulder surfers are powerless against auto-jumbling passcode digits🦀🦀🦀

Some backstory: there's an MMORPG called RuneScape that, to my eye, essentially solved the problem of “shoulder-surfing” passcodes way back in 2005 with how they implement player bank PINs. As you enter your 4-digit bank PIN, the number placement randomizes after each digit (and the digit’s placement on the tile itself shuffles as well) — making quickly determining the sequence of digits just from mouse placement extremely challenging. With just a bit of added friction, Jagex adds a considerable layer of protection on players’ Bandos sets, GP stacks, and party hats from any would-be hackers.

So, too, could Apple protect the photos, credit cards, and iCloud accounts of people entering their iPhone passcode (regardless of length!) by deploying a similar solution to the iPhone lock screen — even just optionally for the most security-conscious. Honestly, I would turn it on immediately if for no other reason than that FaceID almost always works for me…and on the rare occasion when I need to enter my passcode, the benefit this added friction outweighs the annoyance. Sure, Apple needs to resolve other issues pointed out in Stern’s reporting (dear God, why is my passcode sufficient to reset my iCloud password?!) — but any extra layer of protection (even optional) on what is almost certainly one’s most-precious device seems like a no-brainer to me.

Lincoln, Nebraska Police Alerted to Horrific Car Crash by iOS 16 Crash Detection

Some very unpleasant local news (content warning: car crash, loss of life) crossed my feed this morning in what is also the first incidence I've seen of the new iPhone's Crash Detection feature in action. Early Sunday morning in Lincoln, Nebraska (about 45 minutes from where I sit), the Lincoln Police Department report that they were alerted to a car crash via the iPhone 14 (or possibly Apple Watch S8)'s automatic Crash Detection feature. Sadly, this crash was particularly violent and resulted in the loss of six young lives after many hours of emergency crew efforts. From the WOWT story:

Police are still investigating the cause of the crash but said it was reported by an iPhone that detected the impact and called responders automatically when the phone’s owner didn’t respond.

Although in this horrible incident it seems the iPhone 14/Apple Watch S8 Crash Detection feature was not enough to save any lives, it is a remarkable example of the feature in action. Nearby neighbors seem to have been on the scene and immediately attempted to rescue the passengers, and no doubt would have called 9-1-1. I am hopeful, though, how much time was saved by iOS's automatic emergency alerting — and how much of an impact that saved time will have in future crashes.

News, iOSMatt VanOrmerNews
Via the WSJ: Text Messaging is the New Email

In a piece today in the Wall Street Journal, Joanna Stern lays out a frustration that so many of us have: the entirely intolerable state of iMessage spam — from the article:

Me: So sorry! I totally missed these. They got buried by texts from the pediatrician, the electrician and the dog groomer.

No, those three people didn’t walk into a bar. Instead, they were congregating in my Messages app—along with texts about appointments, 20%-off sales, two-factor codes and the whereabouts of my FedEx packages.

Stern then goes on to list a variety of strategies to mitigate the notification hellscape that iMessage has become, thanks to spam messages and a dozen one-time verifications codes. Perhaps I'm just a bit heated on the subject because I read Stern's piece while actively rebuilding after a fresh Windows install and had to re-sign-in to every website and service I use...meaning I was quickly inundated with about 15 iMessage verification codes! Surely Apple could take the tech that helpfully detects one-time verification codes and auto-populates them on your iOS keyboard for quick entry and use it to delete those same iMessage threads after a fixed duration? Let's say 24 hours, since most of those one-time codes are time-limited in their use anyway. Why leave them sitting around for the user to clean up (or not) when you could tidy up automagically?

Another triage tip, shared helpfully by Matt C in the Relay FM Members Discord: You can manually add all of the phone numbers that send you one-time verification codes to a contact called "Robots" to sequester them in a single iMessage thread. This is a really clever solution to a problem that we shouldn't even have, but alas.

A screenshot of an iPhone on a contacts pane for a Contact called “Robots”, with a long list of phone numbers below it.
Corralling one-time codes, one robo-text at a time.
Linked, iOSMatt VanOrmerLinked
The Schlage Encode Plus Smart Lock — The Best of “Ecosystem Lock-In”

About four months ago my wife and I finally won a bid on a house in this horrendous market, and one of the first things to do in a new house is change the locks. It just so happens that the first deadbolt to support iOS 15's home key feature hit the market right around when we were set to close — the Schlage Encode Plus Smart Wifi Deadbolt. So, being the intrepid early adopter that I am, I ordered a few Encodes Plus to install in our new house and see if unlocking doors with just the tap of an iPhone or Apple Watch is as convenient as it sounds.

The Nuts and (Dead) Bolts

Like any high-end consumer deadbolt, the Schlage Encode Plus arrived well-packaged and complete with all the necessary finish hardware for a variety of door situations (though since it’s just a deadbolt, you’ll have to purchase a matching door knob/handle separately). We went with “Century” trim in the satin nickel finish, which looks pretty much like stainless steel. The exterior face of the lock is an aesthetically pleasing rectangle with the capacitive backlit keypad on the top half and a standard Schlage cylinder lock on the bottom half. The motor mechanism and all of the “smarts” of this smart lock (as well as the requisite 3x AA batteries) are situated within the inside-facing portion of the lock in a somewhat-attractive (if somewhat large) housing which also features a manual locking lever. Given that this is a high-end lock from a respected lock-making company, the stainless steel backplates, extra-long strike plate screws, internal storage of the tamper-vulnerable components, and a standard (read: “swappable”) 5-pin Schlage core all indicate that the lock will actually secure an entryway, regardless of your means of unlocking it...but I’ll leave it to the LockPickingLawyer to give a more thorough review of the lock’s physical security.

The external side of the Schlage Encode Plus, with a black plastic keypad surrounded by metal trim with a traditional key cylinder near the bottom, being installed in a wooden door.
Installing the Encode Plus was a breeze — though I’ve replaced a few door handles and locks before.

The installation instructions were clear, and essentially follow the same steps as any run-of-the-mill deadbolt — just with an extra wire to route from the exterior-facing keypad through the steel backplate to the brains of the device ensconced in the internal housing. Interestingly, one of the wrinkles of installing a typical deadbolt is actually removed by the Encode Plus: depending on which side of the door your existing lock is on, most deadbolts require an “inversion” step so you don’t have to mount the housing upside down on left-opening or right-opening doors. I was flummoxed when I couldn’t figure out how to “flip” the lock for my opposite-facing door…until I discovered that this is all handled in the locks start-up procedure, which simply ‌detects what direction it’s facing and adjusts the internal mechanism accordingly. This may be a common feature in all smart locks, but since this is the first one I’ve ever installed I was nonetheless delighted by the cleverness. As for setting the lock up via HomeKit, Schlage made it easy by placing the typical HomeKit QR code/NFC scanner inside of the internal housing for easy (authorized) access.

The internal housing of the Schlage Encode Plus, with a black plastic battery cover at the top and a metal bottom piece with a lock/unlock lever, on a wooden door, mounted above a metal door handle.
The internal housing of the Schlage Encode Plus…
The external keypad of the Schalge Encode Plus, with capacitive buttons for each digit, an NFC wireless symbol, a house-shaped symbol with a check mark, and a padlock symbol, on a wooden door.
…and the external capacitive keypad (which illuminates on first-touch).

A Lock Picked for HomeKit

The Schlage Encode Plus can be unlocked by entering user-designated access codes into the 10-digit keypad (up to 100 access codes can be active at a time), via a tap of a button in the Home app or through any number of HomeKit automations, by tapping the NFC chip in your iPhone or Apple Watch against the face of the lock, or by using an actual physical key. I'm of the opinion that the variety of access options is the biggest selling feature of the Encode Plus — the last thing I want is an entirely-electronic deadbolt's mechanism or batteries to fail on me when I'm trying to get into my house. Other brands have solutions for this of course, like Yale's 9V battery contact pads to provide temporary emergency power to its Assure series of locks...but honestly, having an actual key on my keychain seems far more reassuring to me. And of course, the inclusion of a numeric keypad allows the homeowner to set up temporary or permanent access codes to non-keyholders like extended family members, children, or anyone else you want to provide access to your home. All of the Encode Plus’s features, from access codes to automations, can be managed either in the Schlage Home app or entirely via HomeKit. I opted for the latter, as running this Thread-enabled deadbolt exclusively via HomeKit extends the device's battery life to a full year, according to Schlage. As I write this, even after over three months of extensive use of multiple Encodes Plus they are all sitting at 94% battery life — if that trajectory keeps up they might last four years instead of the one year advertised by Schlage.

Three side-by-side screenshots of the three Schlage Encode Plus locks in my HomeKit library in the Basement, Garage, and the Front Door, displaying 94% battery after 4 months of use.
I was initially worried about the use of standard AA batteries, but sitting at 94% after four months of use is quite impressive.

Beyond the battery life boost, I feel like this lock is specifically designed to work best when used exclusively with HomeKit — after all, its defining feature is support for Apple’s new Home Key functionality, which requires HomeKit integration to use. The Schlage Encode Plus is essentially a premium deadbolt designed specifically for people deeply-entrenched in The Apple Ecosystem™️, and the more entrenched you are the better your experience with this lock will be. Do you just have an iPhone and want to be able to lock your door from afar with the press of a button? Easily accomplished, though certainly not unique to the Encode Plus. Want to configure automations in HomeKit to lock your doors when everyone leaves the house? Piece of cake, and a pretty nice quality of life improvement. But the real magic of the Encode Plus is using an iPhone — and especially an Apple Watch — to unlock your doors via NFC. Once you’ve configured your phone or watch in HomeKit with a home key in your Apple Wallet — and enabled “Express Mode” to allow your phone to automatically authenticate, no FaceID required — you simply tap the top of your phone (or the face of an NFC-enabled Apple Watch) to the NFC reader on the Encode Plus…and it unlocks. Fast — like really fast. Honestly, the NFC unlock process finishes significantly faster than even unlocking the door via a button in Home Kit or asking Siri — let alone the true baseline comparison of rummaging in my pockets for keys, finding the right key, inserting and turning the core. I'm shocked at how effectively the Encode Plus (combined with lots of work-from-home) has essentially eliminated the very concept of keys from my life — a weight on my mind I did not notice until I was relieved of it.

Unlocking the Encode Plus with an NFC-enabled Apple Watch is simple and snappy — though some collision with door jams is inevitable.

Locked-In and Loving It

The Schlage Encode Plus has quickly become my absolute-favorite smart home accessory — thanks in large part to how little I have to think about it. Honestly, my belated review of a product I’ve had and used for four months is just indicative to me of its excellence — it has never failed me or annoyed me or bothered me in any way that would bring it to the forefront of my attention (or my writing priorities). It has seamlessly integrated into our lives, entirely eliminated a daily source of annoyance (the very concept of keys), and did so in a subtle and understated way so as to cause no friction whatsoever. My collection of Wemo outlets need a reboot from time to time, my HomePods mini and Siri itself still regularly fumble requests, but these locks have not had so much as a single blip. No annoying on-boarding process, no teaching the less tech-savvy member of my household complicated Siri incantations, and not a single hiccup or drop-out — just “Wrist-bend and Enter”.

That said, the convenience comes at a cost: The Encode Plus retails for $299 (again, without a door knob/handle — just the deadbolt), which is pretty steep compared to a standard deadbolt, but fairly in-line with what other smart locks from reputable retailers are going for. Given the many added niceties of the Encode Plus vs say the Yale Assure Deadbolt ($289, and no Home Key!), I think folks already shopping for a high-end home lock shouldn't balk at the price — after all, I bought three and they've been worth every penny.

The Encode Plus has been out-of-stock since it soft-launched in March, but rumor has it that a restock is on the horizon for the next week or so — your best bet to snag one is to sign up for alerts at the various retailers that sell it via Schlage's product page. At time of writing, this is the only Home Key-compatible lock on the market in the United States (Aquara has the only other Home Key lock for sale, but only for international buyers), so if you're like me and want the best smart lock experience available in the Apple ecosystem, jump on the next restock as quickly as you can.

Giving Hats to Iguanas With MaskerAid

A couple weeks ago, professional podcaster and occasional app developer Casey Liss released his latest app called MaskerAid — an app that (on the tin, at least) is for obscuring faces with emoji overlays. Launch-day coverage of the app was extensive, including from 512 Pixels, iMore, 9to5Mac, and of course Casey's own blog post.

All of these post highlighted MaskerAid's main feature of automatically detecting faces in an image using iOS magic and eclipsing each with an emoji — letting you share photos of your children more privately on Instagram and the like. All of these posts touched briefly on some alternative use cases for MaskerAid — things like adding a tasteful 💩 emoji or censoring other body parts in a particular photo. But how many of them traveled all the way to Cancún to test out how MaskerAid holds up to the challenge of giving an iguana a cool hat?

🎵 Lizard Faces on Parade 🎵

I joke, of course, when I say that I went all the way to Cancún to review MaskerAid — my wife and I have had this resort vacation booked since Christmas, and during our stay we discovered that Cancún is simply rife with photogenic iguanas. Behold their majestic poses:

A photo of an iguana behind a bush.
A photo of an iguana perched on a log.
A photo of an iguana lounging on a wooden bridge.
What these photos don't show you is their frequent head-bobbing — both used as a greeting and a sign of agitation!

It became my project between trips to the beach and reading sessions poolside to find and photograph any nearby iguanas, but then after a few days I realized what would make these dainty dragons all the more delightful: hats!

A photo of an iguana perched on a log, with an overlaid emoji top hat blowing on an overlaid emoji horn.
Four iguanas each wearing a different emoji hat.
A photo of an iguana on a bridge with a crown emoji on it’s head, with a second iguana in the background.

Although MaskerAid is billed mostly as an app to provide privacy to your kids on Instagram, it also excels as a straight-up emoji annotation app. After the $2.99 in-app purchase, I was able to add whatever emoji I wanted — from top hats to trumpets — to the idling iguanas of the Riviera Maya. Unfortunately, the iOS face detection baked into MaskerAid has not been expanded to detect reptiles (yet), so every emoji had to be carefully placed by hand. All of this iguana iconography made me notice how challenging it is to place small emoji on small subjects (usually background lizards). When dragging an emoji of any size, it and it's surrounding "container" become slightly transparent to make placing it just right over a face (or snout) much easier to do. However, when the emoji you're working with is smaller than the tip of your finger you can't see what you're doing and have to rely on trial and error. It would be nice if at a certain size the classic cursor magnifying glass from the iOS text editor was added to the emoji container that let you see "passed" your finger while placing a particularly tiny emoji.

Of course, there are far more emoji than just hats...and there were far more than just iguanas at our resort! Getting creative with MaskerAid seemed to me the best way to test out its utility as a simple emoji annotator, and maybe find a few more suggestions for improvement.

A photo of a small gecko wearing an emoji backpack.
A photo of an iguana playing emoji soccer.
A photo of a pelican in flight, with a rocket emoji in it’s grip.
A small bird standing on a deck, with two emoji sandals placed on it’s feet.

Other than the issue of small emoji being difficult to place, I also had an issue with rescaling any emoji also resetting that emoji's rotation state back to "normal" for that emoji. I often found it easier to rotate first and scale second...only to have my careful work undone by the app. I'm unsure if this is a bug, but I hope it can be fixed in a future update.

🎵 Let the Spectacle Astound You 🎵

Overall, MaskerAid does exactly what it promises to: adding emoji to obscure part of an image (or in my case, enhance it) with ease. It's not a complicated app, nor is it entirely original in what it does. Twitter and Instagram, for instance, both let you add emoji annotations to images before posting them — which in a way does undercut MaskerAid's titular purpose. That said, I'm a big fan of the single-purpose app — a tool that does one thing and does it well. If I want to add an emoji to an image (for privacy or for a punchline), do I want to...tweet it? and then save the image from Twitter? No, I want a quick and simple way to add the emoji and then send the image where I please. It was interesting hearing Casey discuss the reception to MaskerAid on this week's ATP, especially his surprise at all of the interesting and unexpected ways people are using the app. Despite its simplicity and its single-purpose nature, I enjoyed using MaskerAid while on my trip. Showing my silly edits to my wife while sitting on the beach (especially the gecko wearing a backpack) was fun for us — and given where we were, "fun" was a high bar to hit!

You can give MaskerAid a try for yourself — whether for anonymizing a photo or anthropomorphizing a gecko — by downloading it for free on the app store.

iOSMatt VanOrmeriOS
Some Follow-Up On the Chipolo CARD Spot

Earlier this month I posted my glowing review of the Chipolo CARD Spot, and I am still mostly happy with it. However, I spent the last week or so traveling with my wife from Omaha to Chicago to Cancún and then back, all the while carrying with us 4 AirTags in various bags and the Chipolo CARD Spot in my wallet — which served as an excellent stress-test of the "Left Behind" notifications both products support. The AirTags worked exactly as expected: I only got the notification when I dropped off our checked bag (as I expected I would). But the Chipolo CARD Spot? I got no fewer than four false Left Behind notifications in both airports — perhaps the most stressful and unpleasant place to have your phone say "Hey, your wallet is gone!" The first time it happened, I stopped dead in my tracks to rummage through my pockets in a panic (don't worry, no wallets were lost in the making of this blog post).

Now that I'm back home, I've been pondering why the Chipolo CARD Spot might be more prone to crying wolf than AirTags. After some digging, I found this page on Chipolo's support website that reminded me what the CARD Spot lacks: a U1 chip! From the support page:

Chipolo ONE Spot trackers only use Bluetooth technology to connect to your phone and are not equipped with ultra-wideband (UWB) technology.

Ultra-wideband technology is used for precision finding at close distances, which the Chipolo ONE Spot already covers with a very loud ring.

Now, naturally the lack of an ultra-wideband chip in the CARD Spot will make it more difficult to find than an AirTag — the U1 chip is what enables the fancy arrow guide pointing toward a lost AirTag. But now I'm wondering if the reliance on Bluetooth may also predispose the CARD Spot to false Left Behind alerts. Another wrinkle: I use an "RFID-blocking" Ridge wallet knock-off, which could(?) further interfere with the CARD Spot's connectivity to my iPhone — tricking it into thinking I had abandoned it. Or, perhaps, this is some sort of firmware issue Chipolo could fix with an update (I have sent support an email about the situation, but have not gotten a response yet).

I don't think a few false alarms are a deal breaker, but they are certainly an annoyance that makes an otherwise-great feature of an otherwise-great product a bit of a bitter pill.

iOSMatt VanOrmeriOS
Concept: Markdown Support in iMessage

I was scrolling through Twitter on Sunday when Ryan Jones’ iOS 16 wishlist popped up in my feed. In skimming his list, the handful of suggested improvements to iMessage stuck out to me — things like creating hyperlinks within the iMessage composer or selecting text within those iconic blue bubbles. These suggestions got me thinking about other iMessage improvement ideas, like the oft-suggested expansion of tapback reactions to include all Emoji rather than the piddling six options we’ve had since 2016. Dan Moren made exactly this request way back in 2018, and the ever-increasing popularity of chat apps like Discord and Slack only exacerbates the absence of many modern messaging niceties in iMessage. But one overlooked feature of Discord, Slack, and others that iMessage could benefit from has been kicking around since 2004: support for good old-fashioned Markdown.

A Modest Markdown Mock-Up

The evolution of iMessage has mostly been a process of stacking new features on top of the underlying core of “text-based messaging app”; some duds and some delights. Additions that pop to mind are the iMessage App Store (a dud, mostly), iMessage Effects like “Sent with Lasers” (delights, unless you’re in an SMS group chat), and Voice Messages (winner of the “worst-placed button” award). Apple has a long track record of trying out new features in iMessage the app, but has seldom re-evaluated how the text of messages themselves could be improved on. That’s where Markdown comes in — the ubiquitous plain-text markup language that let’s you quickly bold, italicize, strikethrough, or add a link in-line as you type your message. Markdown is essentially the standard method of composing rich text on the internet these days — anyone who has written a Reddit comment since 2005 is probably familiar with the basic syntax, and modern messaging apps like Discord, Slack, WhatsApp, and Telegram all support some portion of the Markdown spec. In fact, I’d wager lots of folks use “Markdown” in iMessage too — just without the benefit of actually seeing the formatting. I add *emphasis* stars around words in iMessages all the time, but would much rather see that Markdown syntax parsed and displayed as rich text inside the conversation. I’ve mocked up what that might look like below:

Two side-by-side screenshots of iMessage, mocked-up with bold and italicized text in a message bubble.
My mockup of Markdown support in iMessage — Apple could add an entire Markdown “Aa” menu, but they’re a bit low on space in the iMessage UI.

Apple could theoretically add support for Markdown with no change whatsoever to iMessage’s UI — Discord, for instance, gives no Markdown hints when composing a message and has no dedicated UI element for inserting syntax. That said, I think Apple typically takes a layered approach to features like this — nerds could just type out their syntax manually, but the option to insert syntax via highlighting a word and selecting “Bold” in the Edit Menu would probably do the trick for the uninitiated. Many iOS apps support this approach to applying rich text, or even have entire panels of quickly-insertable markdown syntax options.

Three side-by-side screenshots of Outlook, Obsidian, and iA Writer’s approach to Markdown syntax insertion on the iPhone.
Outlook, Obsidian, and iA Writer all have different approaches to Markdown text formatting — perhaps iMessage could implement a seamless solution too?

That said, I don’t think Apple would need to hand-hold users too much if they added Markdown support to iMessage. Familiarity with Markdown is incredibly commonplace in online communication, and adding it entirely “invisibly” to iMessage (until the message is sent) would have few negative consequences. Even in the case where an iMessage user sends a Markdown-filled text message via SMS to an older device, the message would be entirely human-readable — after all: that’s the entire point of Markdown!

“Message” is in the Name

A lot of digital ink has been spilt in recent weeks on Apple’s supposed “dominance” in the text-messaging space thanks to iMessage’s “blue bubble effect” — claims that iMessage has an unfair advantage over competing services thanks solely to its in-group color scheme. What went largely missed in this whirlwind of discussion was how unequivocally bad iMessage is as a messaging app in 2022 — luckily, Jason Snell explained this well in a recent Macworld column:

When you look at the messaging landscape today, iMessage isn’t a colossus that dominates the world. In fact, I’d say that iMessage’s first decade is more of a failure than a success in terms of worldwide acceptance, user experience, and innovation.

Snell hits the nail on the head here — Apple’s haphazard strategy of lumping features on-top of iMessage while a dozen competitors embrace modern messaging technologies (including Markdown, editable messages, good replies/threads, etc) has resulted in a UI mess and a stagnant plain-text core still living in the shadow of SMS limitations. iMessage needs a refresh — not more satellite features like Apple Pay or Memoji, but actual improvements to text messaging itself. Markdown support is perhaps the lowest-hanging fruit of the many ways iMessage desperately needs to catch up to its peers in peer-to-peer communication.

On Apple's AirTag Stalking Problem

Apple’s AirTags are one of the most feature-rich and useful consumer tracking products on the market — extensive OS integration, pinpoint tracking accuracy using Apple’s U1 chip, and perhaps the biggest benefit of all: the unrivaled network of iOS devices on the Find My network, which essentially guarantees a lost item is able to “ping” its owner with a location. That said, easy, affordable, and ubiquitous tracking devices have caused some considerable concern particularly from victims of stalking — Ryan Mac and Kashmir Hill summarize the issue well in their New York Times coverage:

Ms. Estrada is not alone in her experience. In recent months, people have posted on TikTok, Reddit and Twitter about finding AirTags on their cars and in their belongings. There is growing concern that the devices may be abetting a new form of stalking, which privacy groups predicted could happen when Apple introduced the devices in April.

The sharp increase in reports of people being unknowingly tracked by bad actors using AirTags is clearly indicative of a major problem — but the question I’ve been wrestling with since these stories began is “Has Apple made the problem of stalking worse with AirTags, or just easier to discover?” This question stems from one of the primary features of AirTags that most competing products entirely lack: the “anti-stalking features” baked into iOS. From the AirTag’s product page:

AirTag is designed to discourage unwanted tracking. If someone else’s AirTag finds its way into your stuff, your iPhone will notice it’s traveling with you and send you an alert. After a while, if you still haven’t found it, the AirTag will start playing a sound to let you know it’s there.

Put simply, if an unknown AirTag is seen moving with you for a period of time your iPhone will send you a notification to let you know, and even cause the offending AirTag to beep and give away its location. I’ve gotten this notification myself on a day where I had my wife’s car keys, “unknown” AirTag included. Since the AirTag did not belong to my iCloud account, I got a warning notification after about four hours of driving around town on my errands. Obviously, in my situation the warning notification was frivolous and almost worth a chuckle (after all, I knew my wife’s keys were the culprit) — but to someone who finds an AirTag in their purse after a party or on the underside of their car? I imagine discovering that some stranger is tracking your location (and has been for a couple hours) would be greatly distressing.

AirTag Notifications and the Frequency Illusion

For a moment, let’s place the many recent stories about unwanted AirTag stalking in context with Apple’s anti-stalking feature (which notifies iOS users of the fact they are being tracked) and the surrounding market of other readily-available tracking devices (Tile, Chipolo, or no-name options from Amazon and Alibaba) with no such anti-stalking features to speak of. Yes, Apple’s AirTags have the U1 chip, which greatly narrows the accuracy of the device to under one foot versus the bluetooth-limited range of 30 feet for most other trackers. That said, I would argue a nefarious individual wanting to stalk someone would debatably be foolish to use an AirTag to do so…since their victim has a high probability of being alerted to the tracking device (if they have an iPhone — more on that later). Surely to a criminal, the benefit of AirTags’ highly-pinpoint accuracy is immediately overwhelmed by the downside of getting caught. AirTags’ anti-stalking features make the discovery of an unwanted tracker trivially-easy (for iPhone-users), and each AirTag being paired to a specific iCloud account (and in the case of a surreptitiously-placed AirTag: a specific criminal’s iCloud account) creates a scenario in which victims are readily-notified and perpetrators are easily identified by law enforcement (presumably with a simple subpoena for the owner of the discovered AirTag). In fact, I think the increase in news stories about AirTag stalking situations are less indicative of AirTags causing more stalking, and more indicative of how frequently stalkings already occur — with AirTags’ anti-stalking features simply bringing more of these horrible situations to light. These stories may be a classic example of the Baader-Meinhof phenomenon (AKA the "Frequency Illusion") — in which increased awareness of creeps using AirTags to stalk women creates the illusion that it is happening more often, or even that AirTags are responsible for this illusory increase in incidence.

Finding More Solutions

Stalking is a serious problem, and Apple’s foray into the tracker market places the hefty responsibility of harm mitigation on their shoulders — if nothing else due to their sheer scale making trackers like AirTags so much more ubiquitous. Apple’s iteration on AirTags’ anti-stalking features seems to indicate the company is aware of their role in protecting users, but there’s still plenty of room for improvement. Perhaps the highest-priority item should be bringing the iOS-integrated unknown tracker notification to Android devices as well, as Benjamin Mayo from 9to5mac and others have suggested. Apple has released a dedicated Android app so users can “scan” for nearby AirTags, but the lack of constant background checks and the necessity of manually seeking out the app in the first place renders it all but useless. I’d guess most of the foundational work for Android system-level tracker alerts was done with Apple and Google’s joint effort on the (painfully underutilized) COVID exposure notification API, so a partnership with Google to further-reduce the harm of stalking is probably feasible. In addition, the nebulous amount of time (usually on the order of hours) that an unwanted AirTag needs to be following you seems somewhat untenable if preventing stalking is the goal. If it takes five hours of moving around before you’re notified that you may be being stalked, is the harm really prevented? I proposed on Twitter that Apple (and perhaps Google down the road) should add the ability to lower the time before such a warning is sent to a user’s preference — or perhaps even better, set the default duration very low (30 minutes?) and allow users to raise it if they feel comfortable with the added risk.

Ultimately, I don’t think AirTags are to blame for any perceived increase in stalking incidents since their release — in fact, I think their innovative anti-stalking features are likely resulting in more unaware victims discovering the unwanted trackers and avoiding much worse outcomes. That being said, the ball is still in Apple’s court to take a very negative PR situation and apply some creative solutions (like the ones suggested above) to deliver real-world protections for potential victims of stalking. AirTags’ anti-stalking features have already put pressure on other tracking companies like Tile to develop similar anti-stalking solutions, and hopefully further improvements will make stalking someone with a consumer tracker dingus much more difficult for creeps and weirdos; or if nothing else, results in more of them getting caught.

News, iOSMatt VanOrmerAirTag, iOS, News
Affirmations — An iOS App Designed to Make You Feel Good

Reams of paper and terabytes worth of server space have been spent writing about how our phones are bad for us in one way or another. The immensely harmful effect that social media has on our mood, our beliefs, and our self-image; the many examples of apps designed to addict you or trick you to empty your wallet; and the countless hours spent scrolling aimlessly through a shallow sea of equally-shallow content. As unfortunate as it is, we’ve largely accepted these negative influences on our lives as table-stakes of the social internet and the smart phones we love and get in line to buy every year — yet we do painfully little to make room for positivity in our digital lives. That’s where Affirmations from developer Justin Hamilton comes in — an app entirely dedicated to building users up and sparking joy in a digital world so determined to wear us down.

Four side-by-side screenshots of Affirmations, with different positive sayings in each.

A Self-Care Salve in Our Digital Desert

On the face of it, Affirmations is an incredibly simple app: it’s a large repository of encouraging, loving, and wholesome phrases displayed in a rotating home screen widget, as scheduled or random push notifications, or just sifted through manually in the app. But, naturally, the way that this simple concept is executed on makes all the difference in how well it jostles you out of a negative headspace. Affirmations’ aesthetic is rich with calming color tones in smooth gradients, and subtle haptic feedback throughout the app (especially when tapping through affirmations) helps to gently nudge you to pay attention to the message being shown. These small details were so clearly made with care, and are entirely vital for what the app aims to do for its users — every aspect of the app evokes the positivity and reassurance it wants to share, in both what the app says and how it looks and feels while saying it.

Two side-by-side screenshots of my home screen, including the small Affirmations widget.
Affirmations is helping to make my home screen a more pleasant place to be.

I find the best way to use Affirmations is via its home screen widgets. Carving out some space on my home screen for a small widget that cycles through compliments and encouragements throughout my day is such a simple antidote to the other stressors found there — like my calendar, emails, and reminders. I’ve recently been reassessing the “balance” of my home screen — especially how much of that precious real estate I set aside for “goodness” — and Affirmations is a crucial component to shifting that balance away from “stress, work, notifications, tasks” and towards “happiness, calm, pause, breath, joy” whenever I unlock my phone. The widget serves as my ever-present reminder to center wholesome thoughts instead of negative ones, and to reassess my attitude when something has gotten me down — it seems like such a small thing, but it's really made a noticeable difference in my mood because of how quickly it redirects my mind from the negative to the positive.

Three side-by-sode screenshots of the Affirmations settings — including custom affirmation settings and notification parameters.
Tailoring Affirmations to best fit your needs is dead-simple, as is setting up notifications to randomly brighten your day.

In addition to simply displaying words of encouragement, Affirmations also has an excellent offering of features to fine-tune when and how the app tries to lift your spirits. You can set custom notification times for an affirmation to be delivered via push notification, as well as enabling "Random Notifications" to add a bit more spontaneity to when you're affirmed. You can control how many random notifications you receive in a day, and can also set a "do not disturb" window — because not everyone wants random encouragement at 3AM. Affirmations also allows you to toggle off specific categories of its pre-loaded affirmations that may be less applicable (or affirming) to you in your specific situation. Justin is always adding new affirmations and new categories, even with time-specific affirmation categories like Pride Month affirmations and seasonal affirmations like "Pumpkin Spice Season is here!" (for those who observe it), all of which can be toggled off if you'd prefer. Users are also able to populate the app with their own affirmations (up to 200 characters), perhaps to add a personal goal or a specific call to action to the rotation of messages — allowing a more targeted tenderness that the developer could never have introduced on their own. The appearance of the widgets (and the app itself) is entirely customizable, with settings to modify the color scheme of the gradients, gradient opacity, font size, as well as the drop shadow — meaning Affirmations can fit into any home screen aesthetic. Oh, and of course, Justin has created a wonderful selection of custom app icons as well!

A side-by-side pair of screenshots, one showcasing the appearance customizations and the other displaying the custom app icons.
Making Affirmations your own is easy with the straightforward appearance customization and colorful app icon selection.

Also hidden within Affirmations' Settings is a built-in breathing exercise bubble akin to the Apple Watch's Breathe app, a truly delightful Fidget window full of haptic feedback on buttons, sliders, and dials familiar to any iOS user, and an extensive repository of mental health resources from organizations and governments from around the world.

Two side-by-side screenshots of Affirmations’ Fidget page and Breathe page.
The Fidget page of Affirmations is such an unnecessary but excellent addition to an app focused on mental health.

Ambient Mindfulness, No Credit Card Required

So many other apps in this category — I’m thinking “mindfulness” apps or other apps designed to motivate and encourage — have too much of a “work” component to them. Demands to set aside X minutes a day for a meditation, or apps designed to be pushy in their efforts to improve your life. Worse yet: so many of these apps are locked behind prohibitive pay-walls or scummy weekly subscription fees. Affirmations is entirely free, and is very much an ambient attitude adjustment app — an IV drip of delight, slowly but steadily shifting me toward more positive thoughts whenever I unlock my phone. This is in stark contrast to how our phones usually make us feel — unpleasant feelings like anger, sadness, fear, loneliness, or dread. Affirmations is the only app that I can unequivocally say has only ever made me feel good, charitable, and wholesome feelings. And with the volume of doom and gloom we've all be main-lining for, well, years at this point, we could certainly use more apps like Affirmations in our lives. You can download Affirmations on the App Store today for free, and try out the so-called “self-care sidekick” for yourself.

The Winning Widget of St. Jude/Relay FM Fundraiser Monitoring

A few weeks ago I shared my custom Pyto widget that automatically pulls from Relay FM's Tiltify page for their annual St. Jude Children's Research Hospital fundraiser, and shortly after that I shared Zach Knox's iterative improvement on the same concept. Well, now we've both been completely eclipsed by a lovely group of developers from the Relay FM members Discord, who quickly created a bespoke iOS app with native, customizable widgets all entirely dedicated to monitoring the fundraiser's progress. You can join the app's TestFlight beta to add its delightful widgets to your home screen. The app supports widgets of all sizes, displaying the total fundraiser goal as well as milestone progress, and even has notification support when reaching a milestone, "significant amounts" (like $250,000), or a custom dollar amount of your choosing.

Screenshots of the Relay For St. Jude widget, and accompanying settings.
Being able to set a custom dollar amount notification is a delightful touch!

The team behind this app has far outstripped what Zach and I cobbled together with mediocre scripts and middling widget design, and you should all go give the app a try if you want to keep an eye on the Relay FM community's donation progress. Oh, and you should go donate right now to St. Jude Children's Research Hospital — they do phenomenal, lifesaving work in kiddos with cancer all at no cost to their families. What better cause is there to give your money to? If you are reading this blog post, there's a good chance you are about to buy an expensive Apple product next week — figure out the sales tax on that purchase and go donate it to St. Jude.

iOSMatt VanOrmerWidget, iOS, St. Jude