Better incentives for showing web ads

I use ad blockers on all my devices. Still, I understand that the sites I enjoy depend on ad revenue. When a site I visit a lot asks me to add them to my blocker’s “allow list”, I will (unless they’ve plastered a dozen ads across each page). Individual websites are the wrong entities to be asking for that permission, though.

Few websites directly sell the ads they display. Instead, they’ll contract that process out to giant ad networks like Google AdSense, Amazon Publisher Services, or dozens of other companies specializing in embedding relevant ads in the appropriate sites. Those are the companies who should be asking me for permission to show their advertisements. If an ad network earns a reputation for serving legitimate ads, free of malware, I won’t mind seeing their ads on a site I like to visit. If another network develops a bad name for showing questionable ads or serving JavaScript Bitcoin miners, I don’t want to see their junk on any website, even if I’m a fan of that site.

An ad blocker that asked me to permit ads from specific networks, or to block them from others, would be an improvement for all reputable actors involved. While almost no one wants to see advertising, users could choose to see ads from only well-behaved networks to support the sites they enjoy. Ad networks would gain viewers by acting decently and regulating themselves. Websites could increase revenue by working with legitimate ad networks and avoiding shady ones.

Everyone involved would have an incentive to make decisions that benefit each other. That sounds much better than the mess we have now.

AirTag lost its way

Apple released their new AirTag product six months ago, and as competent as it is for finding lost gear, Apple’s done everything possible to hamstring the little device to make it frustrating to use.

The product idea is simple: you buy one and attach it to something you don’t want to misplace, like your car keys. Then you can use your iPhone to locate that thing when you inevitably misplace it. For that one specific use case, and if you live alone, AirTag is magical. The “Find My” app tells you how far and in what direction the lost device is so that you can walk right up to it. I’ve owned and used various Tile devices before, and AirTags are easier to use and work better. From a hardware standpoint, I can’t imagine what I’d improve about them. However, Apple’s software decisions are constraining the lovely hardware to the point that I don’t want to use it anymore.

All of AirTag’s problems come down to a single issue: Apple is afraid that someone will use an AirTag to stalk another person, to the point that they’ve deliberately encumbered it to near uselessness:

  • If your phone detects that an AirTag is moving around with you, and its owner isn’t nearby, then the phone will warn you about it. That’s great if you’re being stalked, but terrible if it’s notifying a thief that there’s a tag in your backpack that they’ve just stolen.
  • Inexplicably, Family Sharing doesn’t work for AirTags. I can’t help my wife find her car keys, even though we’re already using the “Find My” app to share our locations. If someone were coercing me to carry an AirTag around so they could track me, they could also coerce me into sharing my location with them through that same app.
  • If I grab my wife’s keys for a quick trip to the grocery store, her AirTag on them will start beeping to alert me to its presence. That’s just silly; see the previous point.
  • The latest iOS beta lets you manually scan for hidden AirTags, sure to be a favorite must-have feature among thieves.

Apple claims that AirTags are meant for lost items, not stolen ones, but that’s a smokescreen for the fact that they haven’t figured out how to reconcile privacy with having the things work as expected. Despite their claims, of course they’re for recovering stolen items! If it weren’t for the disastrous software features, they’d be perfect for tracking down a purse thief or the person who stole your kid’s bike. Apple is selling a soup spoon, then acting shocked and dismayed when someone wants to use it to eat stew. If Apple can’t see why someone would naturally want to use an AirTag to get stolen things back, then that’s a telling failure of their imagination.

Anti-tracking features are good. No one wants to enable stalkers and I don’t blame Apple for that. However, they’re so paralyzed by even the possibility that someone might use an AirTag in a bad way that they’ve made it useless for a bunch of good ways. If Apple’s going to lock it down this hard, they shouldn’t have bothered releasing AirTag to the public. It would have been far less frustrating if it had never left the design lab.

I wanted to love AirTags, but I regret my purchases. It could have been a wonderful little gadget had Apple defined it by its possibilities instead of its limitations. I won’t be buying more.

From OmniFocus to Reminders

My wife’s been a Mac user much longer than I have. Years after she’d been happily using an iMac G4, a family friend asked if I’d like a bargain deal on their unused eMac. I was hooked. I’d recently learned about Getting Things Done (aka GTD) and wanted to try that on my new computer. At the time, on that OS, for Serious Users, that meant adopting either Things or OmniFocus. Then, as now, Things was the prettier choice. However, I had come to Mac OS after years on a Linux desktop and I knew that looks weren’t everything. I bought OF after a short trial period and I was off to the races.

It’s fair to say that OmniFocus changed my life. I’d been a disorganized mess who was constantly forgetting what I was supposed to be doing, and was often paralyzed when faced with too many choices of what I could be working on next. With my new OF/GTD system, I started taming that and getting my life in order. OmniFocus was one of the earliest purchases for my first iPhone. When I later got an iPad, I gulped at the price and then bought OF for it, too. When OmniFocus 2 came out, I bought an upgrade on launch day. When OmniFocus 3 came out, I did the same.

And when the OmniFocus 4 pre-beta became available for iOS, I installed it immediately. This time, though, something was different. Well, not with OF itself. That was the problem. OF 4 looked a lot like OF 3, which was pretty similar to OF 2, which closely resembled OF 1. Sure, The Omni Group had done a tremendous amount of behind-the-scenes work over the years. It was and is a brilliant product for power users. Yet sometimes even power users want something simple, and although OmniFocus scales up wonderfully, it never scaled down. Its industrial grade user interface would be instantly familiar to a user from 2008, with a hundred available options to tweak every last little detail. I realized that my own needs weren’t that incredibly complex and became curious whether maybe another app would be able to tell me to schedule a haircut.

Meanwhile, Apple’s own Reminders app had started life as a severely underpowered afterthought compared to OmniFocus, Things, and other powerhouses. In iOS 14, it hit adolescence and sprouted new features that started to hold their own against commercial alternatives. In iOS 15, it went through another growth spurt into something that started to look feasible. I found a blog post from Jon Mitchell about someone in my situation who had made the leap from OmniFocus to Reminders. That sounded implausible and drastic but it gave me the nudge to try the experiment for myself.

It worked. There are a few features from OmniFocus that I miss, like defer dates, perspectives, and “repeat from date of completion”, but those turned out not to be that important. And in exchange, I got a lot of nice benefits:

  • Reminders is integrated throughout the OS, and lots of apps are happy to export their contents to one of its lists.
  • I can share lists with my wife and family.
  • Taken together, those two features mean that Paprika can send its grocery list to Reminders so that my wife and I can both check off items while we’re at separate stores.
  • The user interface is vastly simpler and friendlier. Looks aren’t everything, but they’re not nothing.
  • I can ask my HomePod, “Hey Siri, what’s my first reminder?”, and it will tell me what to do next.
  • A lot of apps can be made to show reminders, like Calendar 366 which integrates them into a daily calendar view.
  • The Apple Watch app is genuinely nice to use.
  • It’s free.

Since beginning that test, I found myself moving more actions from OmniFocus to Reminders. One day I noticed that there weren’t many actions left in OF anymore, and I sat down to move over the few stragglers. Wow. I’d been at inbox zero many times, but never at actions zero in over a decade of using OmniFocus. And then I did the previously unthinkable: I deleted OF from my iPhone and iPad. I’ve fully committed to a life managed by what used to look like a toy to me. Over the last couple of months, it’s been fine. I still miss the advanced features I mentioned earlier, but not enough to be tempted to go back. Again, my life isn’t so complex that I need an extremely powerful tool to organize it. I’m learning that something simple and fun to use is good enough for me.

I still adore OmniFocus and I can imagine a world where I’d switch back. Maybe Apple will grow bored with developing Reminders and never improve it over today’s state, which is good but far from perfect. Perhaps OmniFocus 4 will be released as an absolutely stunning app that’s a pleasure to use. However, I think I’ll stick with Reminders for now. It’s helping me Get Things Done, and that’s what matters.

Notability's subscription model is an insult

Ginger Labs’s Notability is a popular note-taking app for Apple computers. It’s a nice way for taking and organizing handwritten notes and syncing them to all your devices. This week its authors ruined it by switching from a pay-once model to a subscription rental in the most despicable way I’ve seen.

First, their only concession to existing paid users is that people who’ve bought a previous version get a year’s free subscription to the new version. After that, the app will revert to a broken “free version” which removes features those customers had paid for, like cross-device syncing and unlimited editing (more on this later). This would seem to violate Apple’s guidelines which say:

If you are changing your existing app to a subscription-based business model, you should not take away the primary functionality existing users have already paid for. For example, let customers who have already purchased a “full game unlock” continue to access the full game after you introduce a subscription model for new customers.

That’s incredibly shady. For comparison, when Day One switched to a subscription model, they respected existing customers by giving them a permanent license to use the new app in the same ways they had used the old one. Those customers wouldn’t get access to new paid features, but they could keep the features they’d purchased. I think that’s a reasonable and fair approach. Not so with Notability, though: unless you pony up for a subscription, after that first year the app will become mostly unusable.

Second, and incomprehensibly, Ginger Labs paid their engineers to incapacitate Notability in the most horrid way I know of. From the Notability Subscription FAQ:

What counts as an edit?
Edits are directly tied to your usage of the app and are counted as any changes you make in a session like handwriting, erasing, or adding text or media.

Recording and modifying audio do not count as edits nor does adding or moving notes/pages.

If you’re using the free version of the app, you will be given an editing allowance each month. You can track the status of your remaining edits in the settings menu, and at any point can choose to subscribe to unlock unlimited editing.

That’s right: if someone who’d previously bought Notability doesn’t continue to pay its new rental fee, the app will count how many times they’ve made a change to a note and cut them off when they hit their limit. They are literally charging by the letter. Imagine a word processor that stopped working after you’d written too many words. That’s not a free version. It’s what we use to call “demoware” and it’s a giant insult to existing customers.

No thanks, Ginger Labs. You can keep the new Notability. There are far too many free and paid alternatives to put up with those abusive changes and limitations. I’m exporting all my notes to another system so that I can delete this abomination off all my devices.

Update: In a Fast Company article about the move, lead engineer Colin Gilboy from Ginger Labs said:

We want to make sure that people can’t just use Notability and make it all the way through med school for free. That would leave us without a business.

I have no words for the utter audacity of that statement writing off paid customers. No one was using Notability “for free”.

Update 2: Ginger Labs has announced that they’re “making some changes”:

Everyone who purchased Notability prior to our switch to subscription on November 1st, 2021 will have lifetime access to all existing features and any content previously purchased in the app.

That’s something, but doesn’t undo the damage. It takes a single terribly bad decision to lose customers’ trust. I won’t be fooled twice.

Jira is a code smell

Good Project Managers are important. As an Application Programmer, they’re your Interface to the rest of the organization. They’re your API. Believe me, you want that interface between you and their managers, unless you like giving status updates and making projection reports to pass around.

In fairness to PMs, we engineers don’t make it easy for them to do their jobs. Does this sound familiar?

PM: How long do you think that’ll take?
Engineer: Oh, I don’t know.
PM: Can you give me an estimate?
Engineer: Uh, a while.
PM: OK. I’ll write “a while” on my report. I’m sure the CEO will love that.
Engineer: Fine. 2 months.
PM: Thanks!

Now, think of all the task management applications you’ve been asked to use. Each claims to be useful for engineers (“put all your requirements and future work in one place!”), but they’re also marketed to PMs (“be able to tell your manager how long the engineers are going to take!”).

Jira is one of these. It’s awful. It’s a code smell, and if you’re interviewing at a company that says “we track everything in Jira!”, ask a lot of follow-up questions to figure out if you genuinely want to work there.

Jira itself is… fine. In isolation, it’s neither wonderful nor terrible. It just is, like a rock, tree, or slime mold. Its main feature — and what makes it potentially evil — is its immense configurability that makes it irresistible to the wrong kinds of Project Managers. A good PM will see it, tweak a couple of knobs, and start putting stories in it for the engineers to hack on. A bad PM will see it, embrace every configuration option available, and saddle Engineering with a 23 step status workflow where each story goes from “Inkling” to “Idea” to “Rough Draft” to “Planning Review Meeting 3” to “Code Complete” to “Ready for Testing” to “Testing” to “Tested” and eventually on to “Done”, “Shipped”, “Finished”, “Announced”, “Demoed”, and then “T-Shirts”. The bad PM will love this because they can give reports like “this sprint is 43.8% done and we’re 97.53% likely to hit our target”, and the engineers will hate this because they’ll spend as much time updating story statuses as they do working. A good PM won’t care about all that and will prefer to use something simpler.

A useful task manager will be somewhat opinionated. It will almost, but not quite, do what everyone wants, and will annoy everyone equally with the few things they think it does wrong. A tar pit of a task manager will claim to be everything to everyone after customization, meaning that a few people will think it’s heavenly and everyone else will despise it with the heat of a thousand suns.

Jira is one of the bad ones. If you run across someone who adores it, tiptoe away quietly and quickly.

Introducing Glass Knife

I’ve been using Obsidian lately for taking notes and I’m certain I’ll be saying more about that later. I’m a convert. It’s what I’ve wanted for ages: a pretty UI that sits above a folder full of Markdown files. This makes it trivially easy to share data between programs, and to manipulate Obsidian’s “vault” by directly tweaking those files with external programs.

In that spirit, I’ve released the scripts I use to automate my own workflows as the Glass Knife project. They’re not polished yet but I use them daily, and I’ll keep the project updated as I tweak them for my own use.

Released The Policy Wonk

Today we released the first public version of “The Policy Wonk”, or just “Wonk”. It’s a nifty tool we’ve been using at Amino for several months to manage our ever-growing set of AWS IAM policies, and acts as a sort of compiler/optimizer to combine lots of them together.

Although it’s a young project, I’m proud of how it shaped up and I think it’ll be useful for lots of people.

Unusual shipping fail from Apple

I ordered a couple of Apple AirTags and keychain holders this weekend, and UPS dropped the package off on my doorstep a few minutes ago. The outer box had not been sealed in any way — no glue, tape, or anything:

Unsealed box from Apple

The packages inside were bent on arrival, likely from the warehouse:

Inner boxes were damaged in packing

I hope this is an exception. If I were a new Apple customer, I’d be unimpressed with their vaunted first impression.

Fact-Checking Snopes

I want to like Snopes but I’m not convinced that they weigh evidence correctly. As a personal anecdote, I found what I thought was a problem with their debunking of the myth that Marilyn Monroe had 6 toes. To be clear, I don’t believe that she did. Or even care. But at the time, one of the article’s supporting “facts” was that if she’d had a toe removed, she’d have to learn to walk again because it would throw off her balance and ruin her gait. (Note: the article no longer includes this fact. It did at one time, though.)

However, my wife’s a podiatrist. Part of her job is amputating parts of feet when they’re damaged or infected beyond repair. I asked her what it’s like for an otherwise healthy adult to recover from a pinky toe amputation, and she said it’s a matter of waiting for the wound site to heal and then they continue with life as normal. Even a big toe amputation isn’t all that disruptive. A vestigial 6th toe hanging off to the side? You’d never notice it was gone except that shoes would fit better.

I emailed Snopes and said that while I agreed with their conclusion, this particular supporting fact was invalid as explained by an expert in the field. They replied, in essence, that I was an idiot for believing she had 6 toes, and they left the article as-is.

That’s not at all what I thought. I just didn’t like that they were using incorrect facts to support their argument, and especially that they reacted poorly to a well-intended correction.

I’ve been skeptical of Snopes’s fact checking since then. Although I think they’re likely right most of the time, that left a bad taste in my mouth. Are other people sending them corrections about their own fields of expertise and having them rejected? I’d never know.

I greatly appreciate fact checkers and the organizations that rely on them. For instance, I might not agree with the conclusion of an article in the New York Times, but because I trust that their reporting is factually correct, I can rely on those bits of information to form my own opinions. I think Snopes means well and tries hard to do good work for a largely thankless job, and that they mostly succeed at it. However, as with Wikipedia, Snopes is a solid starting point for doing your own investigation and shouldn’t be considered authoritative. Use critical thinking skills and follow up on their sources when the subject of an article is personally important to you.

GoDaddy Terminates Texas Spy Site

GoDaddy gives Texas abortion website notice: Find new host ASAP:

The highly controversial and regressive Texas abortion law went into effect on September 1. With the law comes the Texas Right to Life group’s website where anyone can submit allegations that a woman had an abortion past the state’s six-week cutoff mark. The state’s new abortion law also allows private citizens to target anyone accused of helping facilitate an abortion.
[…]
Amid the hacktivism is an outcry directed at GoDaddy, the company that hosts the website. Many have called on the company to cut off its services to Texas Right to Life, a call that has been heard. According to a statement GoDaddy provided to The New York Times, Texas Right to Life has been given 24 hours to find a different host for its website.

Even GoDaddy, of creepily sexy advertising fame, knows the Texas neighbor-stalking website is immoral.

I don’t ever want to hear another word about “government overreach” from the Texas GOP. Not a word.