Re: ISSUE-164: Correct default for charging time if unknown in battery (was: [battery] next steps and questions)

There are now three different places in the latest ED that talk about the value to use if the implementation is unable to report the value of chargingTime, all in Section 6 BatteryManager Interface (https://dvcs.w3.org/hg/dap/raw-file/e6ca4e6b30f8/battery/Overview.html#batterymanager-interface).

[[
If the implementation is unable to report the battery status information for a particular attribute, the BatteryManager will emulate a fully charged battery by setting the attribute's value to a value that of the fully charged battery.
]]

[[
When a BatteryManager object is created, if the implementation is unable to report the battery's:
    charging state, the charging attribute MUST be set to true,
    charging time, the chargingTime MUST be set to 0,
    remaining time, the dischargingTime MUST be set to the value positive Infinity,
    level, the level attribute must be set to 1.0.
]]

[[
The chargingTime attribute MUST be set to 0, if the battery is full or there is no battery attached to the system, and to the value positive Infinity if the battery is discharging, the implementation is unable to report the remaining charging time while the battery is charging but not full, or otherwise.
]]

The first says that [at any time, I presume] if the implementation is unable to report the chargingTime, it is to be set to the value of a fully charged battery, i.e. 0. (By the way, that statement does not have a normative MUST.)
 
The second says that *when a BatteryManager object is created*, if the implementation is unable to report the chargingTime, it MUST be set to 0.

The third says that *while the battery is charging but not full*, if the implementation is unable to report the chargingTime, it MUST be set to positive Infinity.

Obviously the last is inconsistent with the first. Since the first snippet was added by Anssi [1] after Mounir modified the third [2] to address one of my comments [3], we need Mounir's feedback on whether he agrees with the overall statement in the first snippet (in which case, the text in the third bit needs to be fixed).

Regards, Cathy.
 
[1] https://dvcs.w3.org/hg/dap/rev/4c334400e0aa
[2] https://dvcs.w3.org/hg/dap/rev/a1f480a15e78
[3] http://lists.w3.org/Archives/Public/public-device-apis/2014Jun/0034.html




> -----Original Message-----
> From: ext cathy.chan@nokia.com [mailto:cathy.chan@nokia.com]
> Sent: Friday, June 20, 2014 2:41 PM
> To: anssi.kostiainen@intel.com; w3c@fjhirsch.com
> Cc: public-device-apis@w3.org; timvolodine@google.com;
> mounir@lamouri.fr
> Subject: RE: [battery] next steps and questions
> 
> > From: ext Kostiainen, Anssi [mailto:anssi.kostiainen@intel.com]
> >
> > On 11 Jun 2014, at 18:07, Frederick Hirsch <w3c@fjhirsch.com> wrote:
> >
> > [...]
> >
> > > I must admit I'm confused - why is it correct to have the default
> > > attribute
> > values emulate a fully charged battery? Shouldn't the default values
> > be 'unknown' until the state of the battery is determined and the
> > values can be properly initialized?  I believe this requires more than
> > a note, instead a new 2nd paragraph explanation in section 6 of this model.
> >
> > Added a more elaborate clarification and dropped the note (it is
> > incorporated in the new section):
> >
> > https://dvcs.w3.org/hg/dap/rev/4c334400e0aa
> >
> 
> I take it to mean that *at any time*, if the implementation is unable to report
> any attribute value, then the default (which emulates a full battery) is to be
> applied to that attribute. If that's the case, do we still need the "When a
> BatteryManager object is created" clause in the paragraph that immediately
> follows the WebIDL? (I would also move the paragraph to before the
> WebIDL, i.e. right after the added clarification, since they're describing the
> same thing.)
> 
> Also, how about the change that Mounir [1] made in response to my initial
> comment on the discrepancy in the value of chargingTime when it is
> unknown? Should it be rolled back? Currently, it says that the value is to be
> set "to the value positive Infinity if ... the implementation is unable to report
> the remaining charging time while the battery is charging but not full", which
> is inconsistent with the clarification text that was added.
> 
> [1] http://lists.w3.org/Archives/Public/public-device-apis/2014Jun/0034.html
> 
> - Cathy.

Received on Thursday, 26 June 2014 15:46:00 UTC