Re: Intent to implement: nsIDOMMozIccManager.getCardLockRetryCount

2013-06-26 Thread Mounir Lamouri
Hi Thomas,

MozICCManager is an API available only for built-in applications on
Firefox OS so it is fine to change it as much as you want.

--
Mounir

On 25/06/13 17:11, Thomas Zimmermann wrote:
> Hi,
> 
> I intent to implement an extension to nsIDOMMozICCManager.
> 
> When unlocking a SIM card, there is a maximum number of remaining tries.
> The new interface 'getCardLockRetryCount' will allow for reading the
> number of remaining tries for a specific lock. During the unlock
> process, an app can display this information to the user, probably in
> conjunction with a descriptive message (e.g, 'You have 3 tries left.').
> 
> interface nsIDOMMozIccManager {
>   ...
>   nsIDOMDOMRequest getCardLockRetryCount(in DOMString lockType);
>   ...
> };
> 
> The parameter 'lockType' is a string that names the lock. The result is
> a DOM request. On success, it returns the number of retries in its
> result property; on error it returns a error name. An error happens if
> the given lock type is not known or not supported by the implementation.
> 
> There is more detailed documentation in bug 875710, comments 17 and 18 [1].
> 
> Any feedback and suggestions are welcome.
> 
> Best regards
> Thomas
> 
> [1] https://bugzilla.mozilla.org/show_bug.cgi?id=875710#c17
> ___
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Mounir Lamouri
On 25/06/13 17:28, Robert O'Callahan wrote:
> On Wed, Jun 26, 2013 at 4:15 AM, Mounir Lamouri  wrote:
> 
>>> 3. APIs solving use cases which no browser vendor shipping an engine
>>> other Gecko is interested in at that time. In cases such as this,
>>> Mozilla will solicit feedback from as many relevant parties as
>>> possible, begin the standardization process with a relevant standards
>>> body, and create a test suite as part of the standards process. An
>>> example of this is the Push Notifications API.
>>
>> I am not a big fan of that exception. Given how fast paced the Web is
>> nowadays, we could easily put a lot of APIs in that category.
> 
> I don't see this. Can you give some examples?

On Mozilla's side, there are a few APIs that we are pushing and do not
interest other vendors for the moment. Most APIs related to Firefox OS.
On Google's side, it is harder to find examples because I do not follow
that as closely but requestAutocomplete() is an example of an API that
Mozilla might not look at for quite some time.
On Apple and Microsoft side, they do not anyway express intents before
shipping but Apple has a history on Webkit iOS for pushing APIs that
sometimes ended up in specs and sometimes just stayed as a Apple-only API.

>> Actually,
>> if we ask other vendors what they think about most Firefox OS APIs, we
>> will very likely get no answer. Does that mean that those APIs are good
>> to go?
> 
> If "no answer" means "we don't care about your use cases", then we can't
> let that block our progress, because there are always going to be use-cases
> we need to solve that no other vendor is currently interested in.

I agree that getting blocked because other vendors don't care about our
use cases is not a good situation. However, it is easy to push bad APIs
because no one had time to look into it and then, when they do, having
two competing API which ends up in a mess (IDB vs WebSQL for example).
My point is not that we will do that on purpose but we are opening a
door to situations like these.

Cheers,
--
Mounir
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Robert O'Callahan
On Thu, Jun 27, 2013 at 12:54 AM, Mounir Lamouri  wrote:

> On 25/06/13 17:28, Robert O'Callahan wrote:
> > I don't see this. Can you give some examples?
>
> On Mozilla's side, there are a few APIs that we are pushing and do not
> interest other vendors for the moment. Most APIs related to Firefox OS.
>

Right.

On Google's side, it is harder to find examples because I do not follow
> that as closely but requestAutocomplete() is an example of an API that
> Mozilla might not look at for quite some time.
>

If we think these use cases are (or ever will be) relevant, we need to give
feedback even if we don't plan to implement them soon. We should at least
try to make sure these APIs are something we wouldn't feel bad about
implementing, and complain if they are.

>
> On Apple and Microsoft side, they do not anyway express intents before
> shipping but Apple has a history on Webkit iOS for pushing APIs that
> sometimes ended up in specs and sometimes just stayed as a Apple-only API.
>

I know. That's bad behavior on their part. However, I think Apple and
Microsoft are mostly followers currently.

> If "no answer" means "we don't care about your use cases", then we can't
> > let that block our progress, because there are always going to be
> use-cases
> > we need to solve that no other vendor is currently interested in.
>
> I agree that getting blocked because other vendors don't care about our
> use cases is not a good situation. However, it is easy to push bad APIs
> because no one had time to look into it and then, when they do, having
> two competing API which ends up in a mess (IDB vs WebSQL for example).
> My point is not that we will do that on purpose but we are opening a
> door to situations like these.
>

I think that door has to be opened.

AFAIK Apple never really solicited feedback on WebSQL before shipping.
Also, there was no attempt to create a proper spec. (A proper spec would
have included a spec for SQLite, so if they had done that, maybe we would
have adopted it after all!) So I don't think we would repeat the WebSQL
error under our proposed policy.

So I see your point, but I think it's fair to expect other vendors to
provide feedback on our API proposals if they care about the use-cases, and
for us to do the same for them. The available bandwidth and level of
investment is higher than it used to be.

Rob
-- 
Jtehsauts  tshaei dS,o n" Wohfy  Mdaon  yhoaus  eanuttehrotraiitny  eovni
le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o  Whhei csha iids  teoa
stiheer :p atroa lsyazye,d  'mYaonu,r  "sGients  uapr,e  tfaokreg iyvoeunr,
'm aotr  atnod  sgaoy ,h o'mGee.t"  uTph eann dt hwea lmka'n?  gBoutt  uIp
waanndt  wyeonut  thoo mken.o w  *
*
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Andrew Overholt

On 24/06/13 01:50 PM, Kyle Huey wrote:

1. "at least one other browser vendor ships -- or publicly states their
intention to ship -- a compatible implementation of this API"

Because Apple and Microsoft generally do not publicly comment on
upcoming features, and Presto is no more, in practice this will boil
down to a minimum condition of the Blink developers stating their
intention to ship an API (in Chrome, presumably).  That feels too
restrictive to me.  Blink's policy talks about "positive signals" from
other vendors which is much more vague.  I worry that the proposed
language is too rigid and will either restrict us from innovating or
worse, be ignored.


What if we clarified earlier in the policy that things hidden behind 
flags are exempt from these requirements, like Ehsan pointed out Blink does?



4. "Disputes between the API review team and the API developers will be
decided by the module owner for the API's area."

I'm not sure that there is even a module owner here to decide things.


How do you feel about Ehsan's suggestion of using the DOM module owner 
as an arbiter?



5. "Once one week has passed [...]

This seems unnecessarily heavy-handed to me.


Agreed so I'll remove it.  I'm actually thinking we still have the email 
request but only to inform those who are interested in the feature 
landing but haven't been following the bug closely.  What do you think? 
 What about you, Ehsan?


Thanks for the feedback!

Andrew

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Andrew Overholt

On 24/06/13 05:52 PM, Ehsan Akhgari wrote:

There are two things that I think can use clarification.  One is what
we're going to do about "trivial changes"?  Do all web facing features
ned to go through this process?


I was going to put a blurb about "trivial changes" but thought it would 
be too hard to define.  Would you be okay with it being in there with 
something like "definition of triviality is left up to the module owner"?



The other question is, what we're going to do about negative feedback
from the API review phase but where the feedback cannot be incorporated
because of other concerns?


I was thinking the module owner (or I guess the DOM module owner in 
certain cases) would make the call.  But maybe I'm misunderstanding what 
sort of feedback you're thinking of; can you give an example?


Thanks,

Andrew

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Andrew Overholt

On 25/06/13 10:11 AM, Brian Smith wrote:

In the document, instead of creating a blacklist of web technologies to which 
the new policy would not apply (CSS, WebGL, WebRTC, etc.), please list the 
modules to which the policy would apply.


I started building up a list of modules to which the policy would apply 
but it grew quickly and there are a lot of modules in Core.  How do you 
feel about refining the definition of "web-exposed feature" and then 
saying it applies to all modules but the module owner has veto power for 
applicability?


Andrew
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 11:11 AM, Andrew Overholt wrote:

5. "Once one week has passed [...]

This seems unnecessarily heavy-handed to me.


Agreed so I'll remove it.  I'm actually thinking we still have the email
request but only to inform those who are interested in the feature
landing but haven't been following the bug closely.  What do you think?
  What about you, Ehsan?


Hmm, assuming that we're not blocking people checking in their code to 
m-c hidden behind a flag, I think it would make sense to reform the 
intent to implement emails as mostly informational, while giving the 
people to object if they have a good reason why implementing the feature 
is a bad idea, but we should still have some way to come to a conclusion 
for intent to ship emails.  I think it would make sense to take a week 
of silence as consent, to prevent people from having to wait for an 
extended period of time looking for some reply to their email.


Cheers,
Ehsan

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 11:21 AM, Andrew Overholt wrote:

On 24/06/13 05:52 PM, Ehsan Akhgari wrote:

There are two things that I think can use clarification.  One is what
we're going to do about "trivial changes"?  Do all web facing features
ned to go through this process?


I was going to put a blurb about "trivial changes" but thought it would
be too hard to define.  Would you be okay with it being in there with
something like "definition of triviality is left up to the module owner"?


Do we really need to precisely define it?  I mean, at some point we 
should rely on people to use their best judgement.  Of course, needless 
to say, the module owner will still have the power to act at the final 
arbiter on these matters.



The other question is, what we're going to do about negative feedback
from the API review phase but where the feedback cannot be incorporated
because of other concerns?


I was thinking the module owner (or I guess the DOM module owner in
certain cases) would make the call.  But maybe I'm misunderstanding what
sort of feedback you're thinking of; can you give an example?


Certainly.  In our efforts to support Web Audio, we've considered 
implementing some parts of the API which are not exactly webby after 
extensive discussions in the working group in the interest of having an 
interoperable implementation with other engines at some point.  We've 
done so as a compromise.  I'm certain that such an API, if it went 
through the proposed API review process, would get a negative feedback 
on the API design itself.  Assuming that the DOM module owner upholds 
the opinion of the API review team, it would mean an impasse at the 
implementation since the feedback of the API review team would not 
necessarily affect the decision of the Audio Working Group.  In this 
hypothetical scenario, following the process would probably mean that we 
would be unsable to ever ship Web Audio support.


Cheers,
Ehsan

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Kyle Huey
On Wed, Jun 26, 2013 at 8:48 AM, Ehsan Akhgari wrote:

>
> The other question is, what we're going to do about negative feedback
>>> from the API review phase but where the feedback cannot be incorporated
>>> because of other concerns?
>>>
>>
>> I was thinking the module owner (or I guess the DOM module owner in
>> certain cases) would make the call.  But maybe I'm misunderstanding what
>> sort of feedback you're thinking of; can you give an example?
>>
>
> Certainly.  In our efforts to support Web Audio, we've considered
> implementing some parts of the API which are not exactly webby after
> extensive discussions in the working group in the interest of having an
> interoperable implementation with other engines at some point.  We've done
> so as a compromise.  I'm certain that such an API, if it went through the
> proposed API review process, would get a negative feedback on the API
> design itself.  Assuming that the DOM module owner upholds the opinion of
> the API review team, it would mean an impasse at the implementation since
> the feedback of the API review team would not necessarily affect the
> decision of the Audio Working Group.  In this hypothetical scenario,
> following the process would probably mean that we would be unsable to ever
> ship Web Audio support.
>

Any API review that doesn't take into account the need for interoperable
implementations and the existence of legacy content is a waste of time.
Most of the web would fail an API review then ...

- Kyle
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 9:09 AM, Robert O'Callahan wrote:

On Google's side, it is harder to find examples because I do not follow

that as closely but requestAutocomplete() is an example of an API that
Mozilla might not look at for quite some time.



If we think these use cases are (or ever will be) relevant, we need to give
feedback even if we don't plan to implement them soon. We should at least
try to make sure these APIs are something we wouldn't feel bad about
implementing, and complain if they are.


I don't think that in practice we can expect other vendors to give us 
feedback on all proposed APIs, or that we give them feedback on their 
proposed APIs.


For whatever it's worth, Blink has made the decision to implement Web 
MIDI without receiving any feedback from us (and to the best of my 
knowledge from other vendors), and has also made the decision to ship 
requestAutocomplete hoping that Hixie will add it to the spec before it 
hits the Chrome release channel.  In the case of Web MIDI at least they 
have asked us to give feedback on a few occasions, but we've been unable 
to do so because of not having enough resources.  But it looks like 
they're also interested in making progress on the features that are only 
interesting to them while making an effort to solicit feedback from 
other engine vendors.



If "no answer" means "we don't care about your use cases", then we can't

let that block our progress, because there are always going to be

use-cases

we need to solve that no other vendor is currently interested in.


I agree that getting blocked because other vendors don't care about our
use cases is not a good situation. However, it is easy to push bad APIs
because no one had time to look into it and then, when they do, having
two competing API which ends up in a mess (IDB vs WebSQL for example).
My point is not that we will do that on purpose but we are opening a
door to situations like these.



I think that door has to be opened.

AFAIK Apple never really solicited feedback on WebSQL before shipping.
Also, there was no attempt to create a proper spec. (A proper spec would
have included a spec for SQLite, so if they had done that, maybe we would
have adopted it after all!) So I don't think we would repeat the WebSQL
error under our proposed policy.

So I see your point, but I think it's fair to expect other vendors to
provide feedback on our API proposals if they care about the use-cases, and
for us to do the same for them. The available bandwidth and level of
investment is higher than it used to be.


So, are you proposing that we should give feedback on all APIs even if 
they're not interesting to us?  I'd be fine with that, but I don't think 
we can assume that it will be reciprocated.


Cheers,
Ehsan
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 11:50 AM, Kyle Huey wrote:

On Wed, Jun 26, 2013 at 8:48 AM, Ehsan Akhgari mailto:ehsan.akhg...@gmail.com>> wrote:


The other question is, what we're going to do about negative
feedback
from the API review phase but where the feedback cannot be
incorporated
because of other concerns?


I was thinking the module owner (or I guess the DOM module owner in
certain cases) would make the call.  But maybe I'm
misunderstanding what
sort of feedback you're thinking of; can you give an example?


Certainly.  In our efforts to support Web Audio, we've considered
implementing some parts of the API which are not exactly webby after
extensive discussions in the working group in the interest of having
an interoperable implementation with other engines at some point.
  We've done so as a compromise.  I'm certain that such an API, if
it went through the proposed API review process, would get a
negative feedback on the API design itself.  Assuming that the DOM
module owner upholds the opinion of the API review team, it would
mean an impasse at the implementation since the feedback of the API
review team would not necessarily affect the decision of the Audio
Working Group.  In this hypothetical scenario, following the process
would probably mean that we would be unsable to ever ship Web Audio
support.


Any API review that doesn't take into account the need for interoperable
implementations and the existence of legacy content is a waste of time.
Most of the web would fail an API review then ...


Absolutely, but different people reviewing the APIs can have different 
priorities, which is why I raised the question on what exactly needs to 
be done upon receiving negative feedback from the API review.


Cheers,
Ehsan

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Andrew Overholt

On 25/06/13 12:15 PM, Mounir Lamouri wrote:

  Note that at this time, we are specifically focusing on new JS APIs
and not on CSS, WebGL, WebRTC, or other existing features/properties.


I think the "JS APIs" here is unclear. I think saying "Web APIs" would
be more appropriate, assuming this is what you meant.


I waffled on this but if you think "[Ww]eb APIs" is more clear, I'll go 
with that.



Also, I do not understand why we are excluding CSS, WebGL and WebRTC. We
should definitely not make this policy retro-apply so existing features
should not be affected but if someone wants to add a new CSS property,
it is not clear why this shouldn't go trough this process.


My hope was to get something in place for APIs and then build up to 
other web-exposed "things" like CSS, etc.



1. Is the API standardized or on its way to being so?
2. Declaration of intent
3. API review
4. Implementation
5. Shipping


I think 2) should be "Declaration of intent to implement" and we should
add an item between 4) and 5) named "Declaration of intent to ship".
Those two distinct items are important I believe.


Done.  Although note that others have expressed concern about the 
"intent to ship"->"shipping" situation.



2. at least two other browser vendors ship a compatible
implementation of this API


I will join Henri: "browser vendors" should be "browser engines" and


Fixed.


"ship" is too restrictive. If a feature is implemented and available in
some version (even behind a flag) with a clear intent to ship it at some
point, this should be enough for us to follow.


I changed it to "at least two other browser engines ship (regardless if 
it's behind a flag or not in their equivalent of beta or release) -- a 
compatible implementation of this API ".  How's that?  I don't want to 
see us basing our decision to ship on another engine's use of their 
nightly equivalent for experimentation (whether this happens right now 
or not).  Am I worried for no reason?



3.  at least one other browser vendor ships -- or publicly states
their intention to ship -- a compatible implementation of this API
and there is a specification that is no longer at risk of significant
changes, on track to become a standard with an relevant standards
body, and acceptable to a number of applicable parties


Actually, with this point, point 2) sounds barely useful. The only
situation when we could have 3) applying but not 2) would be if two
engines implement a feature that has no specification.


That was the situation I was thinking of :)


2. ecosystem- and hardware-specific APIs that are not standard or of
interest to the broader web at that time (or ever) may be shipped in
a  way to limit their harm of the broader web (ex. only on a device
or only in specific builds with clear disclaimers about applicability
of exposed APIs). An example of this is the FM Radio API for Firefox
OS.


When I read this, I read "It is okay to have Mozilla ship a phone with
proprietary APIs". That means that we are okay with Mozilla creating the
situation Apple created on Mobile, a situation that Mozilla has been
criticising a lot. Shipping proprietary APIs on a specific device is
harming the broader Web if that device happens to be one of the most
used device out there...


The way you read it obviously not something we want to do.  What if we 
dropped the "ecosystem-"?  I can't see how we can allow ourselves to 
ship hardware-specific APIs that don't work everywhere without an 
exception like this.  Are there situations where we would ship such an 
API on desktop if there's very little chance of the required hardware 
existing there?



3. APIs solving use cases which no browser vendor shipping an engine
other Gecko is interested in at that time. In cases such as this,
Mozilla will solicit feedback from as many relevant parties as
possible, begin the standardization process with a relevant standards
body, and create a test suite as part of the standards process. An
example of this is the Push Notifications API.


I am not a big fan of that exception.


That was my attempt to not limit our ability to innovate without other 
engines.  I'm open to alternative phrasings.



Declaring Intent
API review
Implementation
Shipping


I think some clarifications are needed in those areas.


I changed the section headers to:

Declaring Intent to Implement
API review
Implementation
Intent to Ship and Shipping

How's that?


Intent emails
should be reviewed by "dev-platform", not a "API review team". In other
words, any one should be able to express its opinion and opinions will
be listened based on their technical value, not based on affiliation.


I added some wording to clarify that the email should do _both_.  I was 
also not assuming affiliation would necessarily define the "API review 
team".



The issue with having "dev-platform" finding a consensus with intent
emails is that we might end up in a infinite debate. In that case, we
should use the module system and have the mo

Re: Making proposal for API exposure official

2013-06-26 Thread Andrew Overholt

On 26/06/13 11:48 AM, Ehsan Akhgari wrote:

On 2013-06-26 11:21 AM, Andrew Overholt wrote:

On 24/06/13 05:52 PM, Ehsan Akhgari wrote:

There are two things that I think can use clarification.  One is what
we're going to do about "trivial changes"?  Do all web facing features
ned to go through this process?


I was going to put a blurb about "trivial changes" but thought it would
be too hard to define.


Sorry, I was wrong here.  I didn't put it in because I intended the 
policy to only cover new APIs.  I guess we could say "new APIs or major 
changes to existing APIs" ...


Andrew

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Brian Smith
Andrew Overholt wrote:
> On 25/06/13 10:11 AM, Brian Smith wrote:
> > In the document, instead of creating a blacklist of web technologies to
> > which the new policy would not apply (CSS, WebGL, WebRTC, etc.), please
> > list the modules to which the policy would apply.
> 
> I started building up a list of modules to which the policy would apply
> but it grew quickly and there are a lot of modules in Core.

There is an easy way to build this list. When a module owner agrees to change 
the decision making process for his/her module to incorporate the policy, 
he/she can add his module to the list himself.

> How do you feel about refining the definition of "web-exposed feature"
> and then saying it applies to all modules but the module owner has veto
> power for applicability?

Module owners choose how to make decisions in their modules, though they can be 
overridden by Brendan.

I **highly** recommend that you re-read this:
http://www.mozilla.org/hacking/module-ownership.html

And, in particular: "We do not have an elaborate set of rules or procedures for 
how module owners manage their modules. If it works and the community is 
generally happy, great. If it doesn't, let's fix it and learn."

I understand that Brendan would like to have more/all web-facing functionality 
covered by some kind of guidelines similar to what you propose. I am not 
against that idea. However, I don't think the rules you write work very well 
for the modules I work in. For example, I don't think this part makes sense for 
networking or PKI: "The Mozilla API review team will consist of Mozillians who 
have experience designing JS APIs and will have at least one representative 
from the JS team at all times." After the quarter is over, I am willing to 
spend time working with you to try to define a policy that might work better 
for modules that aren't DOM/JS-related.

Cheers,
Brian
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 12:17 PM, Andrew Overholt wrote:

On 26/06/13 11:48 AM, Ehsan Akhgari wrote:

On 2013-06-26 11:21 AM, Andrew Overholt wrote:

On 24/06/13 05:52 PM, Ehsan Akhgari wrote:

There are two things that I think can use clarification.  One is what
we're going to do about "trivial changes"?  Do all web facing features
ned to go through this process?


I was going to put a blurb about "trivial changes" but thought it would
be too hard to define.


Sorry, I was wrong here.  I didn't put it in because I intended the
policy to only cover new APIs.  I guess we could say "new APIs or major
changes to existing APIs" ...


Well, the policy also mentions enforcement through commit hooks (which I 
don't like!) so it at least looks to cover all API changes.


Ehsan

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 12:28 PM, Brian Smith wrote:

I understand that Brendan would like to have more/all web-facing functionality covered by 
some kind of guidelines similar to what you propose. I am not against that idea. However, 
I don't think the rules you write work very well for the modules I work in. For example, 
I don't think this part makes sense for networking or PKI: "The Mozilla API review 
team will consist of Mozillians who have experience designing JS APIs and will have at 
least one representative from the JS team at all times." After the quarter is over, 
I am willing to spend time working with you to try to define a policy that might work 
better for modules that aren't DOM/JS-related.


I'm still not sure why it won't work well for the modules that you work 
on.  Can you please clarify, perhaps with an example?  Are there parts 
of your work which involves things that web developers can detect which 
doesn't fit with what's being proposed here?


Cheers,
Ehsan
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 12:08 PM, Andrew Overholt wrote:

"ship" is too restrictive. If a feature is implemented and available in
some version (even behind a flag) with a clear intent to ship it at some
point, this should be enough for us to follow.


I changed it to "at least two other browser engines ship (regardless if
it's behind a flag or not in their equivalent of beta or release) -- a
compatible implementation of this API ".  How's that?  I don't want to
see us basing our decision to ship on another engine's use of their
nightly equivalent for experimentation (whether this happens right now
or not).  Am I worried for no reason?


If another engine has an implementation behind a flag in a prerelease 
channel, I don't see why we can't coordinate the possible changes that 
they're considering with them.  I don't think that's going to be a huge 
concern.



2. ecosystem- and hardware-specific APIs that are not standard or of
interest to the broader web at that time (or ever) may be shipped in
a  way to limit their harm of the broader web (ex. only on a device
or only in specific builds with clear disclaimers about applicability
of exposed APIs). An example of this is the FM Radio API for Firefox
OS.


When I read this, I read "It is okay to have Mozilla ship a phone with
proprietary APIs". That means that we are okay with Mozilla creating the
situation Apple created on Mobile, a situation that Mozilla has been
criticising a lot. Shipping proprietary APIs on a specific device is
harming the broader Web if that device happens to be one of the most
used device out there...


The way you read it obviously not something we want to do.  What if we
dropped the "ecosystem-"?  I can't see how we can allow ourselves to
ship hardware-specific APIs that don't work everywhere without an
exception like this.  Are there situations where we would ship such an
API on desktop if there's very little chance of the required hardware
existing there?


I think what Mounir is worrying about is the reverse situation where 
people code against our APIs without knowing that they're not available 
on other devices.  Mounir, do you have the same concern about certified 
Firefox OS APIs?  What about privileged APIs?


To answer your question, Andrew, I think it would be a good idea to ship 
our APIs consistently on all platforms where the required hardware is 
available.



The issue with having "dev-platform" finding a consensus with intent
emails is that we might end up in a infinite debate. In that case, we
should use the module system and have the module owner(s) of the
associated area of code make the decision. If the module owner(s) can't
take this decision, we could go upward and ask Brendan to make it.


I admit I didn't think much about "dev-platform" coming to a consensus.
  I guess I'd like major disputes to be handled on a case-by-case basis
and not have to define what should be done in the infinite discussion
situations.  Maybe we should just be more forthcoming as reviewers or
module owners about something we wouldn't want to ship and thus save
potential implementors' time.


We should definitely try to prevent people from spending time 
implementing something that we are never going to ship.  But I think 
Mounir's point is good here.  Experience has shown that getting 
consensus on dev-platform is, well, not very easy.  Therefore I think 
the escalation path that Mounir is proposing is a good idea.


Cheers,
Ehsan
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-25 9:02 PM, Jonas Sicking wrote:

"For new products, APIs that have not yet been embraced by other
vendors or thoroughly discussed by standards bodies may be shipped
only as a part of this product. Standardization must however start
within X months after shipping initial version of the product".


Hmm, is there any reason why we're not explicitly making this about 
Firefox OS?  Talking about a new product means that for example Firefox 
for Metro can also do this when it's shipped.  So far we've been able to 
avoid a lot of this problem on our more traditional products, so maybe 
it's not a great idea to open a wildcard for all future products.  If, 
in the future, another product proves to be as different in its 
requirements and challenges as Firefox OS is, we can always amend the 
policy to include that as well.


Cheers,
Ehsan
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Gavin Sharp
The message you quote has a specific example - "Mozillians who have
experience designing JS APIs and will have at least one representative
from the JS team at all times" is probably not the best group to
determine whether we should implement support for/ship SPDY, for
example. I think it's clear the document was written with a focus on
Web APIs, applying it more broadly to things like network protocols is
(I think) a laudable goal, but might require some tweaks.

Gavin

On Wed, Jun 26, 2013 at 1:17 PM, Ehsan Akhgari  wrote:
> On 2013-06-26 12:28 PM, Brian Smith wrote:
>>
>> I understand that Brendan would like to have more/all web-facing
>> functionality covered by some kind of guidelines similar to what you
>> propose. I am not against that idea. However, I don't think the rules you
>> write work very well for the modules I work in. For example, I don't think
>> this part makes sense for networking or PKI: "The Mozilla API review team
>> will consist of Mozillians who have experience designing JS APIs and will
>> have at least one representative from the JS team at all times." After the
>> quarter is over, I am willing to spend time working with you to try to
>> define a policy that might work better for modules that aren't
>> DOM/JS-related.
>
>
> I'm still not sure why it won't work well for the modules that you work on.
> Can you please clarify, perhaps with an example?  Are there parts of your
> work which involves things that web developers can detect which doesn't fit
> with what's being proposed here?
>
> Cheers,
> Ehsan
>
> ___
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Ehsan Akhgari

On 2013-06-26 1:38 PM, Gavin Sharp wrote:

The message you quote has a specific example - "Mozillians who have
experience designing JS APIs and will have at least one representative
from the JS team at all times" is probably not the best group to
determine whether we should implement support for/ship SPDY, for
example. I think it's clear the document was written with a focus on
Web APIs, applying it more broadly to things like network protocols is
(I think) a laudable goal, but might require some tweaks.


SPDY is not detectable from web script (correct me if I'm wrong) so it's 
not covered by this spec.  Brian, are you objecting to the things which 
does fall under the scope of the current proposal?


Thanks!
Ehsan
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Gavin Sharp
The scope of the current proposal is what's being debated; I don't think
there's shared agreement that the scope should be "detectable from web
script".

Gavin


On Wed, Jun 26, 2013 at 11:01 AM, Ehsan Akhgari wrote:

> On 2013-06-26 1:38 PM, Gavin Sharp wrote:
>
>> The message you quote has a specific example - "Mozillians who have
>> experience designing JS APIs and will have at least one representative
>> from the JS team at all times" is probably not the best group to
>> determine whether we should implement support for/ship SPDY, for
>> example. I think it's clear the document was written with a focus on
>> Web APIs, applying it more broadly to things like network protocols is
>> (I think) a laudable goal, but might require some tweaks.
>>
>
> SPDY is not detectable from web script (correct me if I'm wrong) so it's
> not covered by this spec.  Brian, are you objecting to the things which
> does fall under the scope of the current proposal?
>
> Thanks!
> Ehsan
>
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Bugzilla Keyword Standardization Proposal

2013-06-26 Thread Milan Sreckovic
Hi Marc,

I think this is good, and leads to more clarity than what we have today.  I had 
to squint a bit to get all the information out of the page below, so it may be 
useful to be a bit more explicit as to what the things will look like in the 
document itself.  A few examples would help as well.

The way I understand it, you're keeping regressionwindow-wanted, steps-wanted 
and testcase-wanted as the request keywords and setting qawanted, qaurgent and 
blank as the urgency flag on those requests?  I know I would benefit from 
seeing some of those combinations with a description of what they mean and what 
kind of response or attention they will get.

On 2013-06-25, at 18:13 , Marc Schifer  wrote:

> 
> Posted this to dev.planning as well. 
> 
> 
> We in QA have been discussing ways to help improve our workflows and provide 
> some standardization across the teams in how we use Bugzilla. As part of this 
> process we have come up with a proposal to make a small change to the 
> definition of qawanted keyword and the addition of a new keyword qaurgent
> 
> Please read the proposal linked below and give us your feed back.
> 
> https://wiki.mozilla.org/QA/qawanted_proposal
> 
> Marc S.
> 
> ___
> dev-planning mailing list
> dev-plann...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-planning
> ___
> dev-platform mailing list
> dev-platform@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Patrick McManus
On Wed, Jun 26, 2013 at 2:07 PM, Gavin Sharp  wrote:

> The scope of the current proposal is what's being debated; I don't think
> there's shared agreement that the scope should be "detectable from web
> script".
>
>
Partially embedded in this discussion is the notion that the open web
requires coordination in all web facing things. Mozilla should seek
partners and consensus, seek to be an honest broker, consider the imprint
of our footsteps, and be public in all we do. I'm on board with that idea
in the networking space - and if we think that as a statement of principle
it is an important thing to document - let's do so!

But the underlying spirit of the proposal seems to assume a problem that
isn't in evidence beyond the webapi space. I spend my days in roughly equal
parts with the IETF, with my team, with our code, and with implementers
outside of gecko doing interop (both clients and servers, which is a bit of
a different working relationship than webapi faces). I'm fortunate to work
with some very cooperative folks both in industry and academia and there is
strong awareness of the need to balance innovation against fragmentation.
If anything, I think we (as an industry) rock too few boats for the overall
health of the web.

Therefore I disagree with the relevance of the proposal's bureaucracy to
non webapi work. Obviously web idl reviewers, js team members, and
blink-coordinated-mailing-lists aren't the primary stake holders in a
discussion of congestion control algorithms, tls options, or data-on-syn
approaches.

If we think red tape beyond a statement of principle is really needed for
non webapi spaces, then its probably best to fork the proposal into other
module specific documents and let those proceed in parallel.
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Re: Making proposal for API exposure official

2013-06-26 Thread Robert O'Callahan
On Thu, Jun 27, 2013 at 3:59 AM, Ehsan Akhgari wrote:

> On 2013-06-26 9:09 AM, Robert O'Callahan wrote:
>
>> If we think these use cases are (or ever will be) relevant, we need to
>> give
>> feedback even if we don't plan to implement them soon. We should at least
>> try to make sure these APIs are something we wouldn't feel bad about
>> implementing, and complain if they are.
>>
>
> I don't think that in practice we can expect other vendors to give us
> feedback on all proposed APIs, or that we give them feedback on their
> proposed APIs.
>

I agree, which is why the default for the no-feedback situation has to be
forward progress, not deadlock.

For whatever it's worth, Blink has made the decision to implement Web MIDI
> without receiving any feedback from us (and to the best of my knowledge
> from other vendors), and has also made the decision to ship
> requestAutocomplete hoping that Hixie will add it to the spec before it
> hits the Chrome release channel.  In the case of Web MIDI at least they
> have asked us to give feedback on a few occasions, but we've been unable to
> do so because of not having enough resources.  But it looks like they're
> also interested in making progress on the features that are only
> interesting to them while making an effort to solicit feedback from other
> engine vendors.


I think they've done the right thing here for Web MIDI. They've produced a
spec, invited feedback, and confirmed that at least we don't have
objections.

So, are you proposing that we should give feedback on all APIs even if
> they're not interesting to us?


I think we should try. So, we should try to have someone carve out some
time to review Web MIDI, at least to the point where we feel confident it
would make sense to implement.


> I'd be fine with that, but I don't think we can assume that it will be
> reciprocated.
>

That doesn't matter.

Rob
-- 
Jtehsauts  tshaei dS,o n" Wohfy  Mdaon  yhoaus  eanuttehrotraiitny  eovni
le atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o  Whhei csha iids  teoa
stiheer :p atroa lsyazye,d  'mYaonu,r  "sGients  uapr,e  tfaokreg iyvoeunr,
'm aotr  atnod  sgaoy ,h o'mGee.t"  uTph eann dt hwea lmka'n?  gBoutt  uIp
waanndt  wyeonut  thoo mken.o w  *
*
___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform


Best way to make xpcshell provide consistent stack limits?

2013-06-26 Thread Andrew Sutherland
For B2G's gaia repository we are currently using xpcshell[1] as our 
command line JS runner.  I was noticing some horrible inconsistencies in 
terms of blowing the JS stack when we were trying to use the esprima JS 
parser[2] that varied by the platform and build type.


The nutshell is that the #defines at 
http://dxr.mozilla.org/mozilla-central/source/js/xpconnect/src/XPCJSRuntime.cpp#l2687 
net us the following JS stack limits.  (These are the limits when the JS 
engine starts throwing "InternalError: too much recursion" and are 
somewhat separate from actual native stack limits.)


linux (32 bit, non-debug): 512 KiB
windows (all builds): 900 KiB [3]
linux (32 bit, debug): 1 MiB
linux (64 bit, non-debug): 1 MiB
linux (64-bit, debug): 2 MiB
OS X (all): 7 MiB


For gaia's purposes, this inconsistency is not great.  How should we 
resolve this?


a) Make xpcshell try and pick more consistent values itself

b) Make xpcshell take a command line argument and call 
JS_SetNativeStackQuota plus doing whatever it needs to back that up with 
an appropriate platform stack (possibly by re-exec()ing). (Similar to 
node.js supporting --stack_size which defaults to 984 for me right now.)


c) Change xpconnect's hard-coded defaults

d) Change xpconnect to use jsnativestack.cpp's ability to tell us what 
the platform stack size actually is and/or nsThread's knowledge of the 
stack size it was created with.  So on linux we'd use whatever 'ulimit 
-s' is telling us to do, etc.


e) Don't use xpcshell for that!  Are you crazy?!

f) Other

Thanks,
Andrew

1: Although in the future this might end up just being any xulrunner 
"-app" capable build.
2: Since the esprima JS parser produces a parse-tree that's supposed to 
confirm to what SpiderMonkey's Reflect API produces, we do have a 
work-around, but I expect this stack issue to come up again in the future.
3: The windows limit could be higher by its current rationale; 
https://bugzilla.mozilla.org/show_bug.cgi?id=582910 increased the 
windows stack to 2 MiB from 1MiB.

___
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform