Hacker News new | ask | show | jobs
by jasonkester 1702 days ago
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'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".

4 comments

> 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

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...

I mentioned it because I was doing online mapping in 1999, when things were as you describe. In my spare time, I built the obvious thing that occurred to everybody, and came up with a draggable map with momentum. (In the browser, just like gmaps)

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.

It's not obvious. It's just smart. And decades of momentum based apis have caused you to think of something you'd probably never actually seen in a ui at the time as non-novel.

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 "what" is obvious, it's similar to the way you'd use a real map (and not only): by folding or rolling it and sliding the region or tile you want to see with your hands until it comes into your view. So the concept of sliding something into view is obvious. On a computer you have to use the input methods available, keyboard or mouse to achieve the same with relatively few obvious options.

The technical "how" of the implementation is not really obvious, you could implement the same result in many possible ways, some better than others.

I'm speaking of the inertial scrolling tween that causes the coast to stop pre-Google Maps era, and makes the interface feel like handling an actual physical object, not the sliding of things into a viewport. Viewports and tiling had been done long before that time period.

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.

> That physics combination with drag and drop interaction was not obvious in the time

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...

It is obvious because that is how you move a big physical map. You pull it towards or away from yourself to view specific area, just like with a mouse. That's how it was done since first maps. It's just obvious to move a big piece of paper on the table that way.
It's not that - it's the inertial glide to a stop that makes it feel like a big piece of paper that was innovative at the time. See my other comment.
Yes seriously. Does nobody remember MapQuest? Even that was revolutionary compared to what came before, but had no ability to move the map dynamically, and this was the state of the art until Google Maps launched. I remember sitting in an office with two other students and my graduate advisor the first time we used Google Maps, and our mouths were literally agape. My advisor said “the people who can make this work are going to run the world,” which was sort of accurate. Same feeling the first time I used a good capacitive-touch display with snapback and inertial scrolling: ideas that may seem obvious when you’ve used them for a lifetime, but sure aren’t obvious beforehand.
"Does nobody remember MapQuest?"

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.

Well of course technical and business limitations drove the design: that's what made it impressive. Building a client-side scrolling map would have been relatively easy in the 90s. Google's advance was getting there efficiently on a 2005-era web browser.
This is a good point because I remember using mapquest before google maps existed. I did want real time map movement but how that mechanism was to be implemented is the key point. The inertial grab and drag seems obvious today but before that, I envisioned it working like an RTS game such as warcraft2. You'd move the mouse cursor to the edge of the map box/screen and the map would then scroll.
That doesn't change the fact that the concept was obvious. In fact that's how offline desktop mapping programs worked before online mapping of any time existed. (Remember those? Microsoft AutoRoute for example!)

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 ..."

While that may be true there were definitely various slippy maps in GIS and CAD applications.

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.

Grab to move viewports with middle clicks has been around in CAD / vector drawing software long before that. I'm not sure about geospatial software which had less market. I'm pretty sure there was grab to move in various level editors when game modding was huge. Those are all ostensibly "mapping" softwares that made the notion obvious.
is that because "grab to move stuff" was something so innovative or because browsers/PCs/javascripts was just not good enough?

I think "grab to move" is as old as our opposable thumbs. There is nothing innovative about it

I think a good example might be PageRank. There were loads of engineers and researchers at multiple companies working day and night on search engine technology at the time, and it wasn't obvious to any of them. Basically it seems to have occurred to two people in 1996, Sergey Brin and Robin Li (who went on to found Baidu).
Although PageRank isn't obvious, it was inevitable. Without taking away from its usefulness, it's the kind of thing that would have been invented very soon anyway. It was basically invented as soon as the internet had enough information to make such approach superior.

Such innovation does not need the protection of the patent system any more than the obvious inventions do, it happens on its own.

I do like the "inevitable" test. It ties in with my belief that there are many "inventions" that are universal amongst sentient beings.
Off topic, but I am very interested in the topic of what other inventions are universal (I've thought about this myself a bit). Do you have a list or writeup?
I've not maintained a list over the years. But some that I can name off the top of my head are: Wheel Battery Electric motor Glass LED Laser Book Lens Ballpoint pen Mirror

- you get the idea

My dad claims to have “invented” the brushless electric motor as a physics student, only to discover it had been invented many dozens of times already.
Mathematics
I think I agree, the PageRank parent and software patents in general are not genuinely in the public interest. I just think it’s one of the strongest examples that might pass any patentability test. That doesn’t mean the patent is a good thing.
Perlin noise comes to mind. I’ve implemented noise “off the cuff” using general math knowledge, which appears visually quite similar. But Perlin’s algorithm doesn’t seem to me to bear any resemblance to the one I settled on. And at least for me, it’s non-obvious and takes quite a bit more study to understand.
This software patent was for a pretty non-obvious invention, https://en.wikipedia.org/wiki/Scale-invariant_feature_transf...