Thread Subject: Re: Concerns about our current definition of a"platform"

Note

This archival content is maintained by WebAIM and NCDAE on behalf of TEITAC and the U.S. Access Board . Additional details on the updates to section 508 and section 255 can be found at the Access Board web site.

From: Gregg Vanderheiden
Date: Mon, Aug 20 2007 8:20 PM


Thanks Peter


Perhaps we should allow for things that act as platform for some aspects but
not for others. It is mentioned in note 3 but it should be allowed for in
the provision language as well.

See edits below.


Gregg
-- ------------------------------
Gregg C Vanderheiden Ph.D.


>
> *Platform software*:
> collection of software components that runs on an underlying
> software or hardware layer, such that the platform creates a
> virtual environment in which to run applications in a manner
> which isolates the applications PARTIALLY OR ENTIRELY from the underlying
layer.
>
> * Note 1: If there is a direct route from the application to the
> underlying layer then the software components in the middle are
> not ACTING AS a "platform" FOR THOSE ASPECTS OF THE APPLICATION.
For example, a program which
> hosts plug-in's is not ACTING AS a platform if the plug-in can
directly
> access the underlying layer.
> * Note 2: An application offering a compute service, such as a 3d
> rendering engine where a requesting application can directly
> access the underlying layer would also not be considered a
> "platform".
> * Note 3: A particular software component may play the role of a
> platform in some situations and not in others. Platforms can
> include such things as Internet browsers, operating systems,
> plug-ins to internet browsers or other software
> applications, and
> under some situations, byte-code interpreted virtual
> environments,
> and other "programming within another programming" environments.
> * *TBD:* Notes about bootloader programs and closed systems?
>
> -------------------------
>
> My concern is with the phrase "in a manner which isolates the
> application from the underlying layer", and especially Note 1
> "If there is a direct route from the application to the
> underlying layer...".
>
> I believe the Java platform should meet our definition of a
> platform.
> As per note 3, the Java runtime interprets Java byte-code,
> and runs the code inside a virtual, run-time environment.
> However, it is possible to introduce native code which can be
> called directly from Java (via the "Java Native Interface"
> mechanism or JNI) - thus creating "a direct route from the
> application to the underlying layer". Should the possibility
> of the creation of such a direct route disqualify Java as a
> platform (even if it isn't used; or it is used for something
> completely unrelated to presenting an accessible user
> interface: e.g. fast file manipulation or database access)?
> Likewise, one of the things we've done in the Swing user
> interface library for Java is gather and expose
> platform-specific settings for things like the desktop font
> and color and menu height - all of the things necessary to
> make visual user interface that complies with the desktop
> theme setting. In a sense then, with this information, we
> are expressly allowing Java applications to behave as if they
> are visually identical to native application - dynamically
> and instantly updating their look & feel as the user changes
> the desktop setting (which doesn't appear to be isolation at
> all). And in fact, I suggest that this is exactly what we
> want a well behaved platform-that-is-also-an-application to do.
>
> Oh, and as far as the TBD goes; I don't know that we need to
> explicitly mention bootloaders here. They aren't generally
> implemented as a platform (hmmm... I guess we could just note
> that and be done with it).
>
>
> Therefore, I suggest we update our definition to address this
> example, and propose this draft:
>
>
> *Platform software*:
> collection of software components that runs on an underlying
> software or
> hardware layer, and that provides a set of software services to
> applications which allows them to be isolated from the underlying
> software or hardware layer.
>
> * Note 1: For our purposes, it is those software
> components/services
> provided to applications for the creation or
> manipulation of user
> interfaces and user input - that impact accessibility -
> which are
> of concern for whether something is a platform or not. An
> application offering a compute service, such as a 3d rendering
> engine where a requesting application isn't using the software
> components/services to create a user interface and interact with
> the user, should not be considered a "platform".
> * Note 2: If applications typically connect directly to the
> underlying layer, rather than relying solely on the platform
> software components and services, then it is likely that the
> software components in the middle are not acting as a
> "platform".
> For example, a program which hosts plug-in's is not a
> platform if
> the plug-in can directly access the underlying layer.
> * Note 3: A particular software component may play the role of a
> platform in some situations and not in others. Platforms can
> include such things as Internet browsers, operating systems,
> plug-ins to internet browsers or other software
> applications, and
> under some situations, byte-code interpreted virtual
> environments,
> and other "programming within another programming" environments.
>
>
>
> Regards,
>
> Peter Korn
> Accessibility Architect,
> Sun Microsystems, Inc.
>


WebAIM is an initiative of:
Center for Persons with Disabilities (CPD) Utah State University