77: iOS 10 – What's new, anyway?

I've made good on my promise to install the iOS 10 public beta. Aside from having to download a configuration profile to my device, the process felt just like any other major iOS update of the past few years: a lot of patient waiting through two excruciatingly bright progress bar screens. I was prepared for a few setup screens (because of one of the worst additions to the OS X update process, even for point revisions), but instead I was dumped straight into Springboard, where I said the same thing I have after other iOS updates: "Hang on, what's different?"

On my first Springboard page, the answer was nothing except the Home app, which — for unknown reasons — had been slotted fifth from the top, far left. I began to poke and prod and immediately rediscovered some changes, like the replacement of the Spotlight/Siri search page with a widget view and the new media and home panes in Control Center. I opened up Messages and saw a couple giant-size emoji. And then I couldn't remember what else I was supposed to be impressed by.

This is a double-edged sword. If people like me who follow Apple very closely can't remember what a beta of iOS has to offer without external assistance, how much of an impact will the new features have? But if my true reaction is "everything seems to be working as usual", that's wonderful for the average user who taps "Update" the very first time their phone prompts them to, because they won't be overly put out by the changes (no mass panic like with the iOS 7 update). And I presume there will be an on-device tour in the final build, much like the iOS 10 preview page on Apple's website.

During the beta period I'll be carefully studying that Apple page, as well as the in-depth writeups of the private betas done by sites like iMore and MacStories. I've already recorded my first bug report, and I'll keep doing my part — although I wish there was an easy way to tell if I'm creating a lengthy writeup for a known issue. But I'm sure there will be entire features that go undiscovered, for days, weeks, or even well past the final release. That's just the complexity of iOS in it's maturity. The best I can do to keep up is to get a head start, and with the public beta, Apple is letting me.

76: Indexicals are hard

Major improvements are coming to Siri in the 2016 editions of Apple's operating systems. This is the steady march of progress; in its five-year existence, Siri has consistently gained new abilities. From the user's perspective, those abilities fall into two categories: speaking new languages and using new APIs. (Of course, the addition of public APIs is the big step forward in iOS 10.)

Yet there is valid criticism that Siri hasn't made five years' worth of progress. In particular, it's easy to find areas where Siri is poor at the fundamentals, like taking the spoken word and constructing meaning from it. Take, for example, the seemingly simple Siri command "tell my wife that I love her." You can probably already guess how this will go wrong. Siri unthinkingly drafts the message with the text "I love her".

Fellow linguist Michael Erlewine summarized this sad state of affairs as "indexicals are hard". There are entire graduate-level linguistics seminars devoted to this sort of problem — I've taken some. The fact is, Siri should do better. I'll prove it to you. As an English speaker, you know how to use indexicals, but in just a couple minutes you'll understand them too.

Indexicals are words that don't mean much without an additional frame of reference. I and you could be anyone, if you don't know who's speaking or being spoken to. In a simple conversation with Siri, the context is completely predictable: when Siri hears "I", it means the iPhone user.

The misguided text message example adds complexity; there's additional context earlier in the sentence that identifies who "she" is. As English speakers we know that it matches up with "my wife", and that "my" is the possessive of "I" — which is predictable! — so the whole phrase should be interpreted as "the iPhone user's wife". That's information that Siri knows exactly what to do with, as long as your contact cards are organized properly. It should also know that a pronoun referring to the recipient of a new message should always become "you."

Yes, it's tricky, with a couple of frame shifts, but this is a solved natural language processing problem. The explanations of the new public Siri APIs indicate to me that Siri isn't even attempting to construct meanings based on the grammars of languages it speaks. Instead it heuristically goes from audio to text to "intent". That's absurd for an organization with the massive NLP talent Apple has. Implementing a basic solution to this problem is the stuff of undergraduate NLP term projects. In other words, if you're Apple, literally a summer intern could do it, at least passably. Perhaps passable isn't good enough, and they're holding out for perfection, but that's a losing game; natural language is uniquely human, and humans are never perfect. In the meantime, the best way to register our intents isn't through a speech interface, but through the direct interface between our brains and our thumbs.

75: Big, buggy apps

The top grossing app on the US App Store probably shouldn't have passed app review. There, that's my hot take on Pokémon Go. (If you've had your fill of those already, feel free to skip to tomorrow, but this is more about the iOS app than the gameplay or the phenomenon.)

I'm not the only one who feels this way. Sarah Jeong, who tweeted under the name "a literal Psyduck" for months and therefore has some Poké-cred, made her New York Times debut (congrats!) saying that Pokémon Go is "the most horribly designed app I’ve ever been obsessed with". It's 100% true. Even setting aside the expected fail whale–esque server crashes, the 1.0 client was a garbage heap of hacks. (This continues a fine tradition dating back to Pokémon Red and Blue, which were miserably programmed. Even regular users noticed memory corruption glitches like the Rare Candy trick and Missingno. Watch a tool-assisted speedrun if you want to see shoddy coding utterly dismantled through nothing but button presses.)

The app's flaws were apparent on initial launch, which reliably took a full 30 seconds on my iPhone 6. That's slower than it takes the phone itself to boot, and is an egregious enough performance issue that any other developer's app would have failed review then and there. Responsiveness is a hallmark of iOS, and this app is anything but. Once using the app, it occassionally bugs out and stops accepting touch input; these aren't hard crashes, since animations keep playing. And speaking of animation, the game is 3D-intensive but clearly doesn't take advantage of Metal or any other GPU optimizations. It can blast through battery on the pace of 1% per minute, another strike at app review.

 
Is that bad?

Is that bad?

 

I figured that Pokémon Go must be common, cross-platform code inside a light iOS wrapper, until the news that its massive OAuth security bug was iOS-only. Kudos to Niantic, who jumped on that issue and rolled in a bunch of other fixes in the app's first update. There's no doubt that Apple worked with them closely to expedite the process, as they absolutely should have. Niantic is essentially Apple's largest customer right now, sending 30% of their Pokécoin proceeds to Cupertino. They deserve special attention, and they're not abusing it. App launch times are way, way down — likely under pressure from Apple and users. Some but not all crashes and hangs are fixed. And the big security hole was plugged.

In accepting version 1.0 of Pokémon Go, Apple made a calculated business move. The cross-platform release date had been announced, and Apple couldn't be left out. Now that it's here, they can demand the best from its developers. That most benefits Apple and all their Pokémon-capturing users.

74: Entering beta

The iOS 10 and macOS Sierra public betas dropped last week, while I was on vacation. This is the earliest that public betas have been released since Apple started the program a few years ago. That's notable, but not surprising, as many who take the plunge for professional purposes noticed that the first developer betas seemed sturdier than usual.

I wasn't ready to update my phone on July 7 (and it certainly didn't help that my encrypted iTunes backup and I were in different states). The question is whether I'm ready now, just a few days later. I tend to be very conservative when it comes to major OS updates. I didn't update to iOS 9 until 9.0.1 came out. I figured I'd waited that long, so what was a couple more weeks to make sure that the showstopper bugs wouldn't affect me?

iOS 10 is the most excited I've been about getting my hands on an operating system since iOS 6. Yes, really, iOS 6. The promise of turn-by-turn directions (now mundane) plus major Siri improvements had me hooked until I realized that most of the new features wouldn't work on my iPhone 4. The huge redesign in iOS 7 was exciting, but my desire to use a beta build was tempered by obvious bugginess, which persisted well past the final release of 7.0. And, of course, as much as I wanted those prerelease OSes, I didn't actually have access to them, since I've never had a paid developer account.

Now the betas are public — one more barrier taken down — and the temptation is there, with angels and devils pushing and pulling. "Never, ever put a beta on your carry phone!" "It's fine, I ran beta 1 with no problem!" Ultimately I have to let my own conscience guide me. And I think this will be the year that I run an iOS beta for the first time. I'll take the due precautions, including backups of my encrypted backups.

Even then I'll have to be patient, as much of iOS 10's potential will only be unlocked as third-party developers start to take advantage of its powerful new APIs, like Siri integration, the new Maps and Messages mini-apps, and redesigned widgets. But I've seen enough app release notes that cheekily include "updates from the future" to know that those features will also arrive quickly. So I think my decision is made. The iOS public beta is here, and in the infamous words of Eddy Cue: I can't wait to do it.