Re: [File System APIs] If one is good, then two must be better?

On Tue, 04 Feb 2014 20:48:30 +0400, Arun Ranganathan <>

> On Feb 4, 2014, at 6:15 AM, Charles McCathie Nevile wrote:
>> On Mon, 03 Feb 2014 19:09:53 +0400, Arthur Barstow  
>> <> wrote:
>>> On 1/31/14 10:44 AM, ext Ian Clelland wrote:
>>>> Hi Art,
>>>> For what it's worth, theFile API: Directories and System is also  
>>>> implemented (and supported) by Apache Cordova[1]. The implementation  
>>>> is essentially complete for mobile applications on Android, iOS and  
>>>> FireOS, with nearly-complete support on Blackberry and Windows Phone.
>>>> While our plugin registry was counting downloads, it was the  
>>>> most-downloaded plugin for the platform by a wide margin, so I  
>>>> believe it is being used actively.
>>> Thanks for this information Ian!
>>>> I don't know if Cordova should count as a browser implementation for  
>>>> the purposes of this WG, but we are implementing the APIs and making  
>>>> them available to (hybrid) web application developers.
>>> The group has some flexibility regarding the specifics of the  
>>> interoperability criteria used to advance a spec along the  
>>> Recommendation track, but we haven't talked about the criteria for  
>>> these specs since they are still working drafts.
>> And the particular question here isn't about CR criteria, but about  
>> whether one or other approach is more likely to achieve the consensus  
>> of interoperable implementation.
>> Which essentially means whether implementations are likely to switch,  
>> or credible future implementors have a strong preference for one over  
>> the other.
>> In which case, what Cordova does (and more to the point what developers  
>> do with it) seems relevant information to consider as we try to find a  
>> consensus.
> Two interoperable implementations of a specification should determine  
> the way forward.

In this case we have multiple ways forward, and the fact that any of them
have two implementations is an important but not sufficient indicator that
they therefore have industry consensus as "the" way forward.

For historical comparison, there were three at least reasonably
interoperable independent browser implementations of WebSQL, when there
were no real implementations of IndexedDB.

There was one browser objecting to dropping WebSQL for IDB, 2 who said
they would not implement it, and 4 (including 2 of the 3 webSQL
implementors) saying they *would* implement IDB. We thus made the decision
to focus on IDB. For any faults that it may have, it appears to have
become the standard, which makes me suspect that focusing on it was the
correct decision at the time.

Similarly the issue here is not whether we can make a specification for
one or the other approach that *could* be a standard, since it seems we
can, but whether one or the other is a clear candidate to be a real
standard - i.e. what people *will* actually do...

I think one of the mistakes with IndexedDB (and appcache for that matter)
was that the participants in the discussion were too heavily biased toward
browser implementors, without enough input or involvement from "working
developers". Which meant that we standardised something that didn't meet
people's expectations as well as we and they hoped.

I hope that when we make a choice it's one that not only matches the
reality of what gets implemented, but helps us provide what the market
really wants. I presume everyone here hopes for that. I think a key part
of how to get there is to listen carefully to the feedback we get, and
look around at what people are doing, rather than just relying on
formulaic rules of thumb or bureaucratic tallying of test results.



> While I think distributions like PhoneGap are extremely useful as  
> "web-like abstractions" on top of disparate mobile platforms, it is not  
> straightforward to make a clear "apples to apples" comparision for API  
> interoperability between PhoneGap and a web browser, or conduct common  
> test cases. Naturally, the distinctions blur, but I still think they  
> exist.
> A web page using the FileSystem API in JavaScript and working in two  
> separate browser implementations seems like a good measure of  
> interoperability, and I think this should be what helps us make a  
> determination.
> -- A*

Charles McCathie Nevile - Consultant (web standards) CTO Office, Yandex         Find more at

Received on Wednesday, 5 February 2014 12:03:58 UTC