My book Barcodes with iOS 7 is nearing completion. Buy it now to get early access!
Our DNA is written in Objective-C

Apple’s Patent on NSDataDetector

Apple owns patent US5946647 and slapped that around HTC’s team of lawyers successfully. Apple has previously sued HTC over them infringing 4 of their patents seeking to block sales of several Android-based mobile phones that HTC is making. On December 19th the International Trade Commission published their final determination as to the validity of two claims in this patent while finding no infringement on the others.

This result is interesting for us iOS developers for several reasons. For one it shows that something we are taking for granted was actually patented by Apple. They filed it on February 1st, 1996 and the patent was granted 3 years later on August 31, 1999. Usually patents are very elusive and it is generally hard to show how a device or operating system really infringes upon them. But in this rare specimen Apple has the rights on something that you probably see every day.

The second thing that fascinates me that in all the legalese that you find in the patent and ruling documents you can actually begin to see the outline of this mentioned technology if you know what you are looking for and know where to look. The final determination specifically mentions claims 1 and 8 of said patent. So let’s first have a look at what the patent is about and then share the experience of actually seeing that Apple is right in asserting their ownership.

Claim 1 is:

1. A computer-based system for detecting structures in data and performing actions on detected structures, comprising:

  • an input device for receiving data;
  • an output device for presenting the data;
  • a memory storing information including program routines including
    • an analyzer server for detecting structures in the data, and for linking actions to the detected structures;
    • a user interface enabling the selection of a detected structure and a linked action; and
    • an action processor for performing the selected action linked to the selected structure; and
  • a processing unit coupled to the input device, the output device, and the memory for controlling the execution of the program routines.

Got that so far? There is some data that has has some structures in it and somehow actions are linked to that. Don’t worry just yet, it will be clear soon.

Claim 8 is much simpler:

8. The system recited in claim 1, wherein the user interface highlights detected structures.

Now the bell should be ringing! Let me visualize it for you:

Here the data is the plain text of the email, and the detected structures are an appointment (formulated in natural language) and a domain name. Both had been detected by iOS (a “computer-based system”) and turned into clickable links. Or in legalese: The “user interface highlighted these detected structures”.

NSDataDetector (available as of iOS 4) currently knows the following types, but you can add your own if you can put it into a regular expression as NSDataDetector is based on NSRegularExpression.

  • NSTextCheckingTypeDate
  • NSTextCheckingTypeAddress
  • NSTextCheckingTypeLink
  • NSTextCheckingTypePhoneNumber
  • NSTextCheckingTypeTransitInformation

It’s very nice of Apple to provide this intelligent way of finding “structures in data”.

Did you have your DOH! moment yet?

Nowadays we are used to email and web pages working this way. Isn’t it extremely obvious? Users have come to expect a domain name to be clickable. But my iPhone was the first device that also turned phone numbers and dates into hyperlinks. The true feat of imagination is that Mr. Miller (and his 3 friends) thought of this 16 years ago, in the year that Windows 95 came out. It was sufficiently NON-obvious back then so that the patent was granted.

This patent being used to win the case against HTC might only be the first step. HTC claims to have a workaround they are scrambling to implement, but this workaround can only be to remove the auto-hyperlinking in Android apps, browsers and email clients. If Apple truly would want to be evil then they could now use this patent against any other product doing this broad sort of link detection: Microsoft Outlook, Gmail, even all sorts of editing apps that are modifying the text you input for your convenience, even blog engines like WordPress. There is a UI and there is code that detects and highlights. Bam!

When I shared my initial reaction to this online, people generally responded along the lines of “patents are bad, they stifle innovation”. And generally I do agree. I would abolish software patents in the blink of an eye if I could. But since they are a fact of current US business – that we cannot do anything about – I consider myself lucky to be focussing on Apple’s platform. Patents aside, Apple products generally DO win on quality. But it is also reassuring to know that Apple wields some patents that they are not afraid to use to protect the platform we depend on for our livelyhood.

Speaking of the general brokenness of the US patent system the lesson might be that often patents are granted that are not obvious at the current technical level we are at. But they might be commonplace 15 years from now. There needs to be either an expiration date or a re-evaluation process that un-grants patents that have outlived their uniqueness. Though that might still prolong the suffering of a dying patient. The patentability of UX needs to be abolished altogether.

Categories: Apple

%d bloggers like this: