About a month ago, I decided to sunset Vignette.
This was a decision that was a long time coming. In short, due to changes in Facebook, Instagram, and most especially Twitter, Vignette cannot work nearly as reliably as I would like. As such, I have decided to pull it from sale, worldwide. It isn’t right to charge money — any amount of money — for something that no longer works properly.
It Begins With Facebook
As with many bad stories of late, this one starts with Facebook. Starting probably eight-ish months ago, I kept getting regular reports from users that Facebook integration wasn’t working. Whenever I tried it at my desk, it worked no problem. Of course. For probably half of Vignette’s existence, and some unknown subset of Vignette’s users, Facebook never worked better than 50/50.
Curiously — and still unexplained — I also heard consistent reports from users that switching Wi-Fi ↔ Cellular resolved their Facebook issues. For the life of me, I couldn’t (and can’t) wrap my head around why that would be. I started going down the rabbit hole of iOS content caching, but never made heads or tails of it.
Not long after Vignette shipped, I had to start throwing best practices to the wind, and having Vignette masquerade as Instagram itself. This is not something I ever felt great about. Shortly after I started faking being Instagram, I realized I needed to update the mechanism I used to fake it. Already, the cat-and-mouse game started.
Eventually, I settled on something that seemed like it was reliable, but it was also undocumented, liable to be taken away at a moment’s notice. This didn’t feel good to me as a developer, and surely isn’t the path to satisfied users.
Twitter’s Nail in the Coffin
For the entirety of Vignette’s life, outside of the generally-only-used-by-nerds Gravatar, and Github, Twitter was the most reliable and straightforward way find a user’s profile picture. All you needed was a specially constructed URL, and you were golden.
For example, here was mine:
This used to be available to anyone, no matter if you had a Twitter account or not, and whether you were logged in or not. It was… glorious.
Suddenly, a couple months ago, Twitter turned this feature off. Going forward, I had two choices:
- Force users to log into Twitter via Vignette, which is somewhat antithetical
to my whole privacy focus
- Treat Vignette as a full-fledged Twitter client app, which would limit me to
900 requests per 15 minutes for all Vignette users in aggregate.
I felt like I was between a rock and a hard place. Not to mention the support burden for Vignette seemed to be increasing over time, probably due to the above unreliability.
My only choices, as far as I could see, were:
- Start allowing login via Vignette to all of these services. This would:
- Presumably fix the unreliability
- Be an immense amount of work
- Probably not be financially prudent
- Be somewhat against my whole privacy stance
- Retire the app. This would:
- Largely eliminate the support burden
- Prevent any new users from buying an app that doesn’t work properly
- Eliminate what was becoming a tremendous mental burden
I chose to retire the app, by removing it from sale.
It will still be available to existing users in its most recent incarnation, but new users cannot download nor buy it.
I briefly considered making the app free, but a non-functional free app is only marginally better than a non-functional paid app. The support burden for a free app is also non-zero, where the support burden for a retired app approaches zero with each passing day.
Ultimately, discussing Vignette with my co-hosts on episode 386 of my podcast (the conversation begins at 1:34:33) led me to the conclusion I knew but wouldn’t admit to myself: I must retire Vignette.
To anyone who purchased Vignette, please accept my heartfelt thanks. Vignette’s launch was beyond my wildest dreams, but as with most iOS apps, that peak fell fast and hard. I didn’t expect for its life to be so short, and I am disappointed by it. Nonetheless, Vignette made a tangible difference for my little family, and I will forever appreciate all of my customers. Thank you.
I don’t for a million years think that I was the cause of this cat-and-mouse game; rather, I was some of the fallout from a surely much larger fight with some other app somewhere. ↩