from the oh,-microsoft...-can't-you-try-to-be-a-little-BIGGER-than-everyone-else? dept
If you work in the software industry, patents are obviously a huge issue. Nowhere is the abuse of patents more common than in this field, where broadly written claims covering obvious “methods” are the rule, rather than the exception.
Fortunately, some new tools have been crafted to allow developers to head off future trolling efforts. One of these, Ask Patents, was set up by StackExchange and Google in conjunction with the USPTO. Joel Spolsky, cofounder and CEO, recently had a reason to test drive Ask Patents, resulting in the rejection of a terrible software patent application.
There are a lot of people complaining about lousy software patents these days. I say, stop complaining, and start killing them. It took me about fifteen minutes to stop a crappy Microsoft patent from being approved. Got fifteen minutes? You can do it too.
First, Spolsky gives the uninitiated a little background on software patents.
Software developers don’t actually invent very much. The number of actually novel, non-obvious inventions in the software industry that maybe, in some universe, deserve a government-granted monopoly is, perhaps, two.
The other 40,000-odd software patents issued every year are mostly garbage that any working programmer could “invent” three times before breakfast. Most issued software patents aren’t “inventions” as most people understand that word. They’re just things that any first-year student learning Java should be able to do as a homework assignment in two hours.
Taking a look at the history of patent trolls bears this out. Eolas, a notorious troll, which recently had its patents invalidated, has been extracting settlements from dozens of companies with its “Web interactivity” patents for nearly a decade. Others have followed in its wake, using patents such as “System for disseminating media content representing episodes in a serialized sequence” (to attack podcasters) and “online shopping carts” (to attack pretty much everyone) to generate revenue via lawsuits and settlements, all without having to actually create a competing product.
So, how do these patents make it past examiners without being discarded as obvious or running into tons of prior art?
The first technique is to try to make the language of the patent as confusing and obfuscated as possible. That actually makes it harder for a patent examiner to identify prior art or evaluate if the invention is obvious…
The second technique to getting bad software patents issued is to use a thesaurus. Often, software patent applicants make up new terms to describe things with perfectly good, existing names… Since patent examiners rely so much on keyword searches, when you submit your application, if you can change some of the keywords in your patent to be different than the words used everywhere else, you might get your patent through even when there’s blatant prior art, because by using weird, made-up words for things, you’ve made that prior art harder to find.
Spolsky details even more methods deployed by trolls to push through broad patents. He also notes that these examiner-thwarting efforts serve two purposes: sliding the application through and clouding the patent’s coverage in order to increase the possibility that it will be infringed. Trolls don’t want other creators not to infringe on their patents — they want as much infringement as possible in order to generate settlements, hence the vague, ill-defined terminology.
Armed with this knowledge, Spolsky went in search of a patent app to invalidate.
At first I honestly thought it was going to be hard. Would we even be able to find vulnerable applications? The funny thing is that when I looked at a bunch of software patent applications at random I came to realize that they were all bad, which makes our job much easier.
From the patent’s summary:
[T]echniques for generating and displaying a presentation of elements in view of the pixel density of the display component, using a scale factor set of scale factors that specify a pixel density range and a scale factor value (e.g., 120%) to be applied to the elements of the presentation.
Spolsky looked at this patent and noticed one phrase being used repeatedly: pixel density. Or as anyone not applying for a dubious patent would call it: resolution.
Without reading too deeply, I realized that this patent is basically trying to say “Sometimes you have a picture that you want to scale to different resolutions. When this happens, you might want to have multiple versions of the image available at different resolutions, so you can pick the one that’s closest and scale that.”
So, Spolsky searched for prior art aimed at the actual purpose of the patent: providing images at multiple resolutions. And he found it — right inside something else created by none other than Microsoft itself.
So I spent about a minute with Google and eventually (bing!) found this interesting document entitled Writing DPI-Aware Win32 Applications [PDF] written by Ryan Haveson and Ken Sykes at, what a coincidence, Microsoft.
And it was written in 2008, while Microsoft’s new patent application was trying to claim that this “invention” was “invented” in 2011. Boom. Prior art found, and deployed.
Total time elapsed, maybe 10 minutes.
A couple of months down the road, Spolsky (or rather, his patent expert) was informed that the application (including all 20 claims) had been rejected. It’s a non-final rejection and Microsoft is appealing, but Spolsky’s experience still demonstrates the potential power tools like these have to thwart bad patents, or at the very least, force the applicants to refine their definitions and descriptions.