Re: Requirements: Issue-14 Gathering requirements for System Information and Events API

Hi,

thanks for these. In general I'm not certain that we need to go into  
detail with requirements that are outside the strictly functional —  
those should be taken care of by patterns discussions.

On Sep 23, 2009, at 00:00 , Tran, Dzung D wrote:
> Requirements for System Information and Events API
> 	• Any action that might take more than 10 milliseconds must be  
> available through an asynchronous interface.
> 	• Any action that is expected to take less than 100 milliseconds  
> should be available with a synchronous interface.

I would also shy away from using numbers. A method like  
tellMeYourName() might take femtoseconds for a regular device, but  
could take several minutes for a deployed field of smart dust. Rather  
than strict cut-off points, we can simply discuss and review.

> 	• Any synchronous operation that might take more than a millisecond  
> must provide the option to specify a timeout interval.

I would be concerned that timeout options would increase the API's  
complexity for minimal developer benefit. Implementations will  
normally have a timeout, and can call the failure callback/event when  
it reaches it (like XHR does).

> 	• Actions that vary in how long they take and meet both categories  
> should be available in both synchronous and asynchronous variants.

Likewise, this has added complexity to XHR that I'm not convinced was  
needed.

> 	• Any continuously varying sensor must allow one to ask to be told  
> when it changes and must allow one to specify the maximum frequency  
> with which such change events should be delivered.
> 	• Any change event must include a field saying how long it was  
> since the last time the sensor was checked (not the last time the  
> event was fired).

Ok.

> 	• A conforming implementation must implement the NavigatorPlatform  
> interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Power interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Connection interface.
> 	• A conforming implementation should implement the  
> NavigatorPlatform Cpu interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Storage interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Display interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Input interface.
> 	• A conforming implementation should implement the  
> NavigatorPlatform Geolocation interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Audio interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Video interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Thermal interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> AmbientLight interface.
> 	• A conforming implementation should implement the  
> NavigatorPlatform AmbientSound interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> AmbientPressure interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Proximity interface.
> 	• A conforming implementation must implement the NavigatorPlatform  
> Movement interface.

Those aren't requirements, I don't know what NavigatorPlatform is.

--
Robin Berjon
   robineko — setting new standards
   http://robineko.com/

Received on Wednesday, 23 September 2009 12:14:20 UTC