One Infinite Loop

… and I’m not talking about the address of Apple’s main campus. I’m talking about an infinite loop in how Siri processes text messages. I’m going to describe a situation that Apple’s developers amazingly didn’t consider, and their verification team missed. In this situation, it’s better for them if they appear to be incompetent rather than to have made a concious decision to code an infinite loop.

While riding my motorcycle I have a helmet communicator that offers hands-free listening to music and podcasts on my iPhone via a bluetooth connection. With voice control I can answer incoming calls and use Siri to do—well—anything that Siri can do.

As I was riding and listening to a podcast I heard several text message alerts come in. Normally I don’t interrupt what I’m doing, especially when on the motorcycle, to check what the message is. It’s seldom very important. But three messages spaced closely together felt like something I should check.

Since I was on an open road with no cars around and great sight lines but not very safe places to stop, I decided to ask Siri to read my latest text messages to me so I wouldn’t have to stop and pull out my phone.

I said, “Siri, read my latest text messages.”

Siri replied, “You have three new text messages. One from <a Twitter user>, and two from <my wife>. <Your wife> said, ‘<latest text message>’. Do you want to reply?”

I responded, “No.”

Now, as intelligent readers, what would you expect Siri to do next? Would you expect it to read the previous message? I certainly would. But no, Siri decided that I needed to hear the same message again and it read it to me once more and asked if I wanted to reply. Finding this so unbelievably stupid that surely I must have made an error, I once again said no and Siri dutifully read me the same message for a third time.

I guess I catch on faster than the Apple developers who coded this crapola that this was a futile exercise. Because I was on the motorcycle and didn’t want to try to figure out what phrases Siri would accept to read the previous message as that would be too distracting, I waited until I could find a safe place to pull over and pulled out the phone to read the text messages the old fashioned way, by poking the screen with my finger.

Sure, this is a minor bug in terms of its impact on the user, but it’s a whopper of a bug in that it clearly shows how disgraceful Apple’s design, unit test, and system testing is that they let this bug out the door. Nobody at Apple thought to test with more than one unread message?

In spite of how bad this makes Apple’s process, coders, and verification teams look, it’s still better than thinking that someone intentionally designed Siri to enter an infinite loop and this was accepted by the whole review team.

Clearly, my attitudes about design and test are at odds with Apple’s standards, which is why you’ll never see me entering 1 Infinite Loop.

Author: Tom

Destroyer of software. If I haven't tested it, it hasn't been tested.

Leave a Reply

Your email address will not be published. Required fields are marked *