|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
|
|
|