There's the rub. Because patents get issued for things that are so obvious that you would never bother mentioning them in "the literature".
Take dragging a map with the mouse as an example. First, if you're doing online mapping, the first thing you think of is to just grab the map and drag it wit the mouse, so you implement that. (Even though some clown has a patent for the act of doing so).
But assuming you've gotten away with that somehow, now imagine the first day of implementing it, when you "drop" the map while your mouse is still moving. It'll stop in a jarring way and your first thought will be "That's ugly. What if it kept going with momentum and coasted to a stop." And that would get you sued out of existence.
Now, the patent system seems to suggest that the appropriate way to handle this would be to search the patent database for "dragging a map with a mouse", find the patent for "momentum", license that from whoever has it, read it and learn how to implement it, thus benefitting from some novel invention, saving yourself time and effort, and reimbursing the inventor for his effort.
But in actuality, you spend the time it takes to draw a breath thinking about the problem, then code it up in the next few minutes and carry on with your day. Because there are very few things in programming where describing the problem doesn't also describe how to solve it.
I've never seen an example of a software patent that covers an actual non-obvious "invention".
When online mapping was first around the javascript slippy map hadn't been invented. The page would show you a given map tile, and provide left/right/up/down/zoom buttons that would load a tile one step in the direction you chose. Sometimes with a complete pageload for every step.
For example: https://web.archive.org/web/20040805053745/http://getamap.or...
Google maps was still years away. And tile server tech wasn’t quite there to ship it yet. But it was the obvious thing to build, and not in any way a mystery as to how you’d do it.
Inventions are often that way -- think of the mousetrap. People knew springs pinched the crap out of you when released. But nobody had made a device to kill mice, yet untilthat was invented.
I don't know what the cognitive bias for thinking that because you thought of an idea it must be obvious is, but it exists. I say that as a patent inventor.
The technical "how" of the implementation is not really obvious, you could implement the same result in many possible ways, some better than others.
That physics combination with drag and drop interaction was not obvious in the time period we are discussing. The closest thing I can remember to that sort of thing were side scrolling games that accelerated with the character centered on the screen according to the game's physics, and possibly paddle-based game physics dating to the Atari era.
Slowly increasing scroll was present in some interfaces. But not tweened stop.
My main point is that clever people often dismiss what they find trivial to be obvious to others, and while that's often the case once many examples have been observed, it isn't prior to the exposure to many examples.
Copying natural laws in our work is something that was obvious for humans for millennia. We've been imagining space ships 100 years before going to space but simulating inertia for an object "sliding" on a screen was "not obvious at the time"?
Of course it was! How to do it (well) may not have been obvious but the idea of doing it was there for anyone using a computer. The parallel with the real world was always obvious because this is directly analogous to how physical objects behave and you'd do naturally in the physical world. The world around you provides the "observed example", not other computer implementations.
I personally thought since decades ago about this kind of inertia while scrolling through lists or dragging things. I thought of transparency, skeuomorphism, writing on touchscreens, etc. long before they were implemented because computers could handle them. And I can assure you I wasn't the only one.
"Same thing that you've been doing for ages in real life but now on a computer".
P.S. I'm thinking of a holographic/VR 3D interface right now that replicates interactions with physical objects either by manipulating it with my body parts, with electronic input devices, or with a BCI. I hope I live long enough to read an internet discussion where someone claims this was just not obvious back in the dark ages of the early 2020s...
Your interface is just a fantasy. You haven't taken any steps towards making it a reality. There's no demonstrable prototype. There's no documented research into it's principles that you have uniquely contributed directly to.
That's the difference. You haven't undergone any inventive steps, because you haven't created anything. You have a vague idea that such a thing may be possible, but haven't undergone the rigor of understanding and implementing a basic example of what you have conceptualized.
This isn't to be confused with comercializing the idea, figuring out how to market and produce it to meet demand, package it, and deliver it. That's a wholly different process, parts of which itself may require further inventions.
> I'm speaking of the inertial scrolling [...] That physics combination with drag and drop interaction was not obvious
Now you pivoted to the point that the implementation is what makes it not obvious:
> You have to think of and implement the idea.
Despite the tone of disapproval you just landed in agreement with what I said in the very first comment:
> The "what" is obvious [...] The technical "how" of the implementation is not really obvious
Will it be a novel invention to implement the inertial scrolling of a map using an exceptionally overly-complicated and completely impractical method that nobody has used before? No. Will the idea of inertial scrolling be obvious despite my completely non-obvious implementation? Very much so.
Technical and business limitations drove the design of MapQuest. That client computers had little computing power, bandwidth (on both sides of the pipe) was limited and expensive, and processing power on the server for a very low value user (per interaction) had to be meted. No one who used MapQuest didn't wish they could just smoothly scroll the map, but we were fine given many of us were on a terrible connection, ran on systems with limited graphics power (where even smoothly blitting a high resolution raster graphic was taxing), etc.
Every improvement (more computing power, memory, storage, bandwidth, or even business model, etc) in the industry invariably leads to many people all independently seeing the same obvious next step, many groups building the same eventual thing, and then the losers (from a market perspective) claiming that their ideas were stolen. It is the story of this industry.
Perhaps you could interpret the parent comment as "if you're doing online mapping [and mouse drag/drop is possible in the browser], the first thing you think of ..."
There were also other interesting navigation schemes that relied on multi button mice or tablets.
I still like the model where you hold down a button and the navigation speed and direction is controlled by the distance and angle from that click point to the mouse cursor.
I think "grab to move" is as old as our opposable thumbs. There is nothing innovative about it
Such innovation does not need the protection of the patent system any more than the obvious inventions do, it happens on its own.
- you get the idea
The latter case is a litmus test of non-obviousness -- all the pieces were there for some time but no one had put them together. It is distinct from when everyone puts the pieces together the second the pieces are available.
Patent clerks can't tell the difference.
I will say that the state-of-the-art for geospatial computing in the 1990s was pretty damn primitive, many useful things had not been invented yet. It isn't great today but it has come a long way.
Hence the focus on prior art.
Obviousness is the wrong caliper here, I think.
IF there's plenty of prior art, then it's easy to define why something is "obvious" - it had been done may times before.
You can laugh at "native common sense" as being meaningless when the law is involved, but actually it's not. In the right circumstances, the fact that most practitioners of the software art see things a certain way would be "dispositive" (as the lawyers like to put it). We haven't seen anyone create those circumstances.
I had a senior attorney review this paper for me, and he had a lot of interest in the concept. He called it a "toolkit" and found it intriguing that software engineers had a toolkit they applied to any problem. You know that we do.
The forces arrayed against this concept are formidable. Even Computer Science departments in universities aren't unified against software patents. I actually talked to some profs at Illinois, and one of them said "you're assuming that I agree with you!" He didn't. He had a startup company and the VCs had told him he had to have patents.
Rounded corners should not be patentable. The latest ARM core design should be.
After reading constant praise about simplicity here on HN it always sound like cognitive dissonance to then read when patents are mentioned that something 'simple' should not be protected.
A good idea will win on its merits or fail.
Legal ownership of ideas just tether us to paying Disney and Google’s of the world in perpetuity as they buy everything up.
We basically live in a state sanctioned system of quota and expropriation of effort. It’s not violent like the USSR, so we look beyond it.
And we spend a lot of energy policing it all.
Their patent was invalidated in 2017. Here's why:
https://www.ipwatchdog.com/2017/10/25/cafc-affirms-invalidit...
A tale of something that is "very obvious" only after it has been done. I mean MP3 is about reducing information for frequencies hidden by other frequencies right (I think that is roughly correct!) and that is a really obvious way to reduce bandwidth....once someone worked it out.
Novelty is also a requirement, in addition to nonobviousness.
The OP suggests there are more important issues for programers to focus on:
"I'm openly critical of their ad-driven business model, especially since the damage is clearer. That's broached in the show, but only to point out how much money Google would theoretically owe these guys if they'd agreed or been forced to license at 10 cents per use (which was very unlikely IMO).
Invading people's privacy for profit is not something to yearn for. It's one of the reasons I sold all my Google stock. I respect Google's engineering work and the great "free" information they provide. There are a lot of smart and dedicated people working there. But the biz model is not ok, IMO."
Sad that Google appropriated this guy's work for a "business model" that he does not approve of.
Perhaps there are many more folks like him, who have done solid, valuable work in some area that has nothing to do with invading people's privacy or online ads, only to have the product of that work usurped and given away for "free" in the interests of furthering Google's prime directive: selling online ad services.
But Tim is surely up to clarify any questions.
Well, nothing is harder to say than if something is "obvious". Locking backward, basically most things are "obvious".
"someone who is skilled in the art?"
This is another questions. What is "skilled"? Most patent courts assume an average person from the field of the invention and not an extraordinary specialist.
I've also noticed that many insights also seem "obvious" in hindsight (the proverbial "egg of Columbus" thing). In fact, the better the insight, the more "obvious" it seems!! Thus, "hindsight obviousness" is not an argument against an innovation
I was actually responsible for invalidating another maps-related patent from the 1990s, in Germany. I was in Patent Litigation and I also remember having a "ART+COM" folder in my email, but that's about all I can remember. I don't think the case was very active by 2014.
Anyhow, there's something Avi said that I have to comment on:
The test for patent-worthiness is: “would it be non-obvious to someone who is skilled in the art?” I’d been doing “stupid programmer tricks” like this since high school, as have many others in my field.
If only it were so simple! You would think that "hey, that's just a stupid programmer trick!" would be enough to render something obvious, but you'd be wrong. That's what my paper [1] is about.
No, to call "obvious" the combination of references A and B, there usually has to be some "teaching, suggestion, or motivation" in the literature that it would be a good idea to combine A and B. There are nuances to this statement, in case anyone's feeling pedantic.
[1] https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2399580