78: Improved data detectors

I keep an informal running list of potential topics for Picomac. There's one that's been in there for months, but I've avoided it because my opinion just seemed too negative. It reads: "data detectors are as dumb as a box of rocks".

Data detectors have been around for a long time on both the Mac and iOS. They first appeared in Apple's Mail apps, doing helpful little things like highlighting addresses or phone numbers so you could act on them quickly. Those data types made sense for such a feature; if pressed, I could probably write a quick and dirty regular expression that would match them just about as accurately as the detectors do.

But highlighting phone numbers wasn't what provoked my ire. It was the overgeneralization of data detectors into Messages, which led to lots of annoying clutter. In an effort to be helpful, Messages would take phrases like "what are you making for dinner?" and underline "for dinner", offering to create a calendar appointment. I hope the day never comes that I need to make a record of what time I will eat a meal in my own home.

Monday was my first full day with iOS 10 and it was also a rough day personally. I was not up for cooking dinner. I got a text with some suggestions: "We could go to Zingerman's roadhouse or jolly pumpkin or something." The two restaurant names were underlined. (And "for dinner" was not!) I tapped on each name and a full page of relevant info popped up: location, phone number, photos, and other info sourced from Yelp. Dumb old data detectors have grown up. First, they're location-aware; if you're not in Michigan, the words "jolly pumpkin" mean nothing with respect to dinner plans — especially if they're written all in lowercase. Second, they're more subtle; instead of looking like an ordinary hyperlink, the underline beneath the text is thinner and lighter — just enough to signal that you can tap on it.


Highlighting local restaurant names is just one new trick that data detectors have learned, and I expect to discover more. It gives me hope that someday it will be an OS-level feature to perform more complex data detection, like taking an email signature block and automagically parsing it into a full contact card. (That's best done by third-party apps like Interact today.) It's also promising for Apple's ability to do smart things with "proactive" or context-sensitive data on the fly. If data can be detected an acted upon instantly, perhaps someday Siri will no longer have to say "let me check on that" in response to very simple queries. And whatever future data detectors bring, one thing is certain: I won't be rolling my eyes at texts about dinner anymore.