And now, a cautionary tale

Computing is broken. You heard it here last.

Of course by now you've heard about Meltdown and Spectre and have decided that there's just no use, let's burn it all to the ground and start over ... but let's consider a somewhat more mundane example, less horrible on the face of it but much more pervasive. Stuff like this is happening on systems everywhere, in your house, in your pocket, every single day.

A few years back I shopped for a password manager app. I wanted one which was simple, easy to use (because if it's too much work to get into it or add new passwords to it, I wouldn't use it and that would defeat the purpose), not compromised by the Chinese or the Russians or the NSA, and likely to be supported and stay functional for a long long time.

I did okay on the goals with the one I eventually picked. (Well, I can never be sure about the NSA.) But all good things must come to an end. Today I went to add a few new passwords to the thing. When I set up a password I tend to scribble it on the first piece of paper at hand and then consolidate them into the password keeper later, when I remember to. Once I make updates, I use its mechanism to send a copy of the password file to Dropbox, where I can grab it to store a copy on my computer and also possibly synch it to an older device running the same app. The latter is not so important, because that other device is a v1 iPad and it's a miracle anything runs on it any more.

The Dropbox export had stopped working. Dropbox gave an error which sure looked like "yeah, they're trying to use an old protocol to do this and we don't support that method any more." OK. Dude needs to update his app. Maybe send him an email? My phone hasn't tried to update the app. Maybe check the app store? App is no longer in the app store. Uh-oh.

Fortunately there's more than one export method, so I emailed myself a copy of the file, which isn't the most secure thing in the world, but I don't imagine anyone would be sniffing too hard. Most of these are low-security passwords anyway, those are the kind I'm likely to forget, because they're for web sites I have reason to log into once a year. The real stuff, the stuff I use constantly, I manage to keep in my brain pretty well.

Searching the web confirmed that the developer has gone MIA. Now, the fact that he finally decided to just give up on the software without informing anyone should not mar the fact that I've been running it for about six years now on various devices, and I guess I shouldn't penalize him just because his idea of long-term doesn't match mine. You don't get "forever" in software, no matter how devoutly I might wish for it, and I just have to accept this. I will penalize him, though, for not leaving word. Especially since he left behind a hell of a mess, and evidence suggests he may have done so knowingly.

Y'see, the majority of hits I found are from angry users who upgraded their phones to iOS 11, at which point the app just stopped working because Apple is super-aggressive about pulling out the back-compatibility rug. You get a message saying "Developer needs to upgrade this app" and iOS won't let it run. Which means if you upgraded iOS you can't get at your passwords. No way to export them, no recourse, unless you happen to also have the data on an older device you haven't upgraded yet.

Lesson #1: This is one of the many reasons why I don't take OS upgrades in a tearing hurry.

Lesson #2: Before you take an OS upgrade always have a non-OS-dependent, accessible backup of any data you consider critical.

It may surprise you to know that I have far less anger here for the developer than I do for Apple. The problem is, as a developer, I know what it's like to continually be trapped on the maintain-back-compatibility train. You write an app, and hopefully it's a good app, but even if it is, you don't necessarily want to keep supporting it forever. If you're part of a larger company you can maybe hand off the maintenance to someone else, but if the entire software company is you, at some point you say, "Nope, that's as much time I'm giving to this project that doesn't even pay me squat, from here on it's on a strictly as-is basis and no support from me." (Though, again, I would have told users when this policy change took place. Fair's fair.)

But the OS maker does have a certain responsibility for back-compatibility, and they have an enormous staff of people so they really should be able to devote some attention to that. Apple shows every sign of having decided, in their iOS line in particular, that they refuse to care. They break stuff constantly and they've taken the position that all of the pain, all of the responsibility, is on the app makers' end ... for very little value gained. They have a captive market and the system is pretty much designed to screw the app maker on all fronts. Good app but you won't make a pointless upgrade to it at least once a year? Delisted for lack of activity. Can't keep up with our OS changes because you're only one person? Sucks to be you, delisted as incompatible with new versions. The only in-device promotional channel is Apple's own curation, so if they don't take a shine to your app, you might as well be delisted. The consumer has far too many options to sort through and they just won't see your app amid the noise.

[Oh, yeah, and Apple has set an expectation of very low price points for most apps, so don't expect much in the way of profit for your labor either. This is the era of the disposable app, hadn't you heard? Too bad about your two years of development time making it good. The market now belongs to the people who can throw out buggy, possibly dangerous shovelware in a turnaround of a month or two. Which, incidentally, is what causes most of the clutter on the app store. But I digress.]

Apple easily has the ability to put in a back-compatibility sandbox for older apps. "This app is running in iOS 9 mode, which means certain features will be unavailable." They don't do this because there is no one who can hold their feet to the fire so they'll be arsed to.

It wouldn't surprise me if it turned out the developer of my password keeper app just walked away in disgust with the whole process.

Anyway, what it comes down to personally for me is that if I change to a password keeper that is currently actively supported (which means another arduous round of shopping and reading reviews because a lot of them are pretty spurious), I have hours of work trying to reinstate my passwords into the new app, because there are HUNDREDS of them and I'm assuming they'll all have to be reentered by hand. And then, in a year or two, that password maker will get tired or go bust and I'll have to do it all again. Meanwhile, while I'm sorting all this out, I can't take an OS upgrade on the phone, which frankly is no huge hardship.

Meanwhile, it looks like all the efforts at a better and saner system of identity management on the web have died in a flurry of infighting, incompetence, and trust issues. Ultimately if you put someone or something in charge of single-sign-on, it has to be someone you trust implicitly--and, as the whole cloud of stink radiating from the certificate-authority business proves, that someone or something does not presently exist.

We are gradually crawling toward a realization that we can't actually trust the people who make the computers and software the world has come to depend upon to do a trustworthy and reliable job. This realization will make us more aware of how fucked we are, but it will not actually make us any less fucked.

««

eye