RE: APIs

I take it that the term "standard" in "standard API" can be established in
many fashions but that we are not taking a particular stand on who sets the
standard (except where we specifically state so). 

I infer from your comment that an API can become a "standard API" by a
manufacturer of a device declaring it to be a standard for that device. Yet
we apparently rely on the notion of an API becoming "standard" by being
widely implemented (i.e., "conventions"), i.e., there must be some sense in
which it is not enough that the producer of software or of a device declares
some API to be standard.

If we look at APIs in general, an ignoring the distinction between input and
output, I am thinking of a basic specialization/generalization hierarchy
where:

1. API is the most general
2. standard API is the more specific category
3. W3C DOM and other DOMs are yet more specific categories

The wording of checkpoint 5.4 seems to imply that "standard APIs" should
have the characteristic of being "platform-independent", though I imagine
that there might be instances in which an API might be standard by virtue of
being widely accepted but not particularly platform-independent. 

This may be an area in which it is difficult to make everything completely
tidy.

> -----Original Message-----
> From: Ian Jacobs [mailto:ij@w3.org]
> Sent: Thursday, October 12, 2000 11:53 AM
> To: Hansen, Eric
> Cc: UA List (E-mail)
> Subject: Re: APIs
> 
> 
> "Hansen, Eric" wrote:
> > 
> > I am trying to sort the world of APIs as presented in the 
> document. I find
> > it somewhat confusing to sort out the references the 
> "APIs", "standard
> > APIs", "standard input APIs", and W3C DOM (which is a kind 
> of standard API,
> > both input and output, I suppose).
> > 
> > Is there any time that we refer to APIs in the document 
> that we DON'T mean
> > "standard APIs"? If we _always_ mean "standard APIs" then 
> we should either
> > always say that or factor out the word "standard" and then 
> link to a fuller
> > explanation in the glossary.
> 
> Yes, there is a difference (and that difference was highlighted in
> a recent email from Jon). Not every API is a standard API. In 
> checkpoint
> 1.1 we say "through every input API implemented by the user agent".
> Some of these may not be standard APIs for the system.
> 
>  - Ian
>  
> > We have part of a definition of "standard APIs" in checkpoint 5.4:
> > 
> > "5.4 Provide programmatic read and write access to user 
> agent user interface
> > controls using standard APIs (e.g., platform-independent 
> APIs such as the
> > W3C DOM, standard APIs for the operating system, and conventions for
> > programming languages, plug-ins, virtual machine environments, etc.)
> > [Priority 1]
> > Note: For example, provide access to information about the 
> user agent's
> > current input configuration so that assistive technologies 
> can trigger
> > functionalities through keyboard events, mouse events, etc."
> > 
> > Thus "standard APIs" include: "platform-independent APIs 
> such as the W3C
> > DOM, standard APIs for the operating system, and 
> conventions for programming
> > languages, plug-ins, virtual machine environments, etc."
> > 
> > We should probably consolidate the existing definitions for 
> "API" and
> > "Standard device APIs" (see below):
> > 
> > "Application Programming Interface (API)"
> > "An application programming interface (API) defines how 
> communication may
> > take place between applications."
> > 
> > "Standard device APIs"
> > "Operating systems are designed to be used by default with 
> devices such as
> > pointing devices, keyboards, voice input, etc. The 
> operating system (or
> > windowing system) provides "standard APIs" for these 
> devices. On desktop
> > computers today, the standard input APIs are for the mouse 
> and keyboard. For
> > touch screen devices or mobile devices, standard input APIs 
> may include
> > stylus, buttons, voice, etc. The graphical display and 
> sound card are
> > considered standard ouput devices for a graphical desktop computer
> > environment, and each has a standard API."
> > 
> > I presume that this is basically an editorial issue, but I 
> highlight this
> > because if there is the inconsistency that I think might 
> exist, then fixing
> > it would slightly change the wording of many checkpoints.
> > 
> > ===========================
> > Eric G. Hansen, Ph.D.
> > Development Scientist
> > Educational Testing Service
> > ETS 12-R
> > Princeton, NJ 08541
> > 609-734-5615 (Voice)
> > E-mail: ehansen@ets.org
> > (W) 609-734-5615 (Voice)
> > FAX 609-734-1090
> 
> -- 
> Ian Jacobs (jacobs@w3.org)   http://www.w3.org/People/Jacobs
> Tel:                         +1 831 457-2842
> Cell:                        +1 917 450-8783
> 

Received on Thursday, 12 October 2000 12:19:03 UTC