decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Suggestion for a new canonical thread | 396 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
It's good, but you need to point out that the interface does not exist
Authored by: Ian Al on Wednesday, April 25 2012 @ 05:11 AM EDT
If the interface was between the driver and the auto controls, then it would be
impossible to drive the auto.

The 'interface' is the instruction manual on how puny humans can get the auto
functions to work.

Except, that, to relate to this case, each control would have to be available on
the internet as a separate html document and with some grouped as 'driving
controls', some grouped as 'getting the radio to work' and so on.

The auto is not fussed. It cares nothing about the distinction between the radio
functions and the driving functions. In fact, it doesn't know what humans even
mean by the word 'driving'.

---
Regards
Ian Al
Software Patents: It's the disclosed functions in the patent, stupid!

[ Reply to This | Parent | # ]

Suggestion for a new canonical thread
Authored by: scav on Wednesday, April 25 2012 @ 07:01 AM EDT
We should have an Analogies thread, where people can discuss
a world where everything was somehow a car. Then the rest of
us can skip over them more conveniently and discuss what
things *actually are*.

Wow that made me seem really curmudgeonly. Sorry!

---
The emperor, undaunted by overwhelming evidence that he had no clothes,
redoubled his siege of Antarctica to extort tribute from the penguins.

[ Reply to This | Parent | # ]

Too high a level of abstraction
Authored by: Anonymous on Wednesday, April 25 2012 @ 10:53 AM EDT
The problem with all of these analogies is that an API is just an instruction or a collection of similar instructions (that is how we get the number 37) or the collection of all instructions. At no stage do these say how actually do this. So it makes it very hard to use this type of example correctly.

You can get in any car and use the ignition to start the vehicle - Turn clockwise on the steering wheel to turn right. Turn counterclockwise to go left. - Press on the gas to go. - Press on the brake to stop.
Actually this is an implementation of multiple APIs, which in turn also may need multiple APIs.
  • get in any car
  • use the ignition to start the vehicle
  • turn car
  • make car go
In order to use ignition API you may already have the done certain steps such as inserting a key. This is the hidden API usage of Java as you must have certain things already available like having the correct car key inserted correctly. Part of the API design is to realize that you only need the minimal things to use the ignition so part of it is to say bring the correct car key rather than bring all the keys in the house (assuming it is nit lost :-) )

I purposely used one turn car API for another point. You could just say turn car with the appropriate direction (left or right or no turning). Or, as in your example, have an API to turn the car right, another API to turn the car left, and, presumably another for no turning. A good API design should recognize when you need your three APIs or just my one.

Secondly, Turn clockwise on the steering wheel is actually an implementation of the turn right API. It only works if there is an steering wheel that is setup that way - it does vary across vehicles - radio controlled cars, boats, bulldozers come to mind as often needing different approach.

[ Reply to This | Parent | # ]

And yet another API analogy...
Authored by: Anonymous on Wednesday, April 25 2012 @ 01:49 PM EDT
API's are kind of like analogies. They're used to represent something.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )