Re: Art steps down - thank you for everything

2016-01-31 Thread Tobie Langel
So long, Art, and thanks for all the fish.

--tobie

On Thu, 28 Jan 2016, at 16:45, Chaals McCathie Nevile wrote:
> Hi folks,
> 
> as you may have noticed, Art has resigned as a co-chair of the Web  
> Platform group. He began chairing the Web Application Formats group about 
> a decade ago, became the leading co-chair when it merged with Web APIs to 
> become the Web Apps working group, and was instrumental in making the  
> transition from Web Apps to the Web Platform Group. (He also chaired  
> various other W3C groups in that time).
> 
> I've been very privileged to work with Art on the webapps group for so  
> many years - as many of you know, without him it would have been a much  
> poorer group, and run much less smoothly. He did a great deal of work for 
> the group throughout his time as co-chair, efficiently, reliably, and  
> quietly.
> 
> Now we are three co-chairs, we will work between us to fill Art's shoes.  
> It won't be easy.
> 
> Thanks Art for everything you've done for the group for so long.
> 
> Good luck, and I hope to see you around.
> 
> Chaals
> 
> -- 
> Charles McCathie Nevile - web standards - CTO Office, Yandex
>   cha...@yandex-team.ru - - - Find more at http://yandex.com
> 



Re: Custom Elements: is=

2015-06-14 Thread Tobie Langel
On Sat, Jun 13, 2015, at 18:52, Alice Boxhall wrote:
 Doc in progress at
 https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Type-Extensions.md

Sent a pull request your way[1].

--tobie

---
[1]: https://github.com/w3c/webcomponents/pull/117



Re: Custom Elements: is=

2015-06-13 Thread Tobie Langel
On Fri, Jun 12, 2015, at 19:41, Léonie Watson wrote:
 Is there a succinct explanation of why the is= syntax is disliked? The
 info on the WHATWG wiki explains where is= breaks, but doesn’t offer much
 on the syntax issue [1].

Esthetics aside, the main issue it is takes the concept of inheritance
developers are familiar with and stands it on its head.

The idea with inheritance is that you build a new object and it happens
to inherit from another one, so for example:

my-button extends=button

makes a lot of sense. Clearly, you're building a new element that
extends the capabilities of the existing button object. With the is=
syntax, however, what it is you're doing isn't clear at all:

button is=my-button

What's the message here? Oh this is just a button. Oh wait no it's not,
it's a my-button. But does it actually inherit from button? Mmm. Not
clear from the syntax. 

Further more, what about when you add a bunch of extra attributes in
there:

button value=45 class=button button-large is=my-button
id=cta /

It becomes hard to spot that this element isn't actually a traditional
button. Things get easily lost when scanning code. 

I'm also concerned developers will mistakenly write:

my-button is=button

As it is much closer in form to what they want to achieve (see the
extend=parent syntax I wrote earlier).

So in summary it's ugly, has a high cognitive load, doesn't express the
developers intent (actually even expresses the opposite), is hard to
spot when reading code, and is error prone.

Hope this helps. :)

--tobie







Re: [IndexedDB] link to Editor's draft is a 404

2015-02-04 Thread Tobie Langel
On Wed, Feb 4, 2015 at 8:37 AM, Tobie Langel tobie.lan...@gmail.com wrote:

 On Wed, Feb 4, 2015 at 3:35 AM, Michael[tm] Smith m...@w3.org wrote:
 
  Arthur Barstow art.bars...@gmail.com, 2015-02-02 08:47 -0500:
   Archived-At: http://www.w3.org/mid/54cf7fe0.6090...@gmail.com
   On 2/2/15 7:14 AM, Tobie Langel wrote:
  
   Would recommend redirecting to the ED of the next version of the spec.
  
   That makes sense to me.
 
  Yup, sorry about thatーI forgot a step when we migrated the repos. But
 I've
  now set up the redirects and things should be working as expected. If not
  lemme know.

 Thanks! But it looks like you redirected it to the GitHub repo rather than
 the spec itself:

 $ curl -I https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
 HTTP/1.1 302 Found
 Date: Wed, 04 Feb 2015 07:34:26 GMT
 Server: Apache/2.2.16 (Debian)
 Location: http://w3c.github.io/IndexedDB/
 Vary: Accept-Encoding
 Content-Type: text/html; charset=iso-8859-1

 Mind fixing that?


Ignore the above. Everything is working properly. I'm an idiot. Sorry for
the noise.

--tobie


Re: [IndexedDB] link to Editor's draft is a 404

2015-02-03 Thread Tobie Langel
On Wed, Feb 4, 2015 at 3:35 AM, Michael[tm] Smith m...@w3.org wrote:

 Arthur Barstow art.bars...@gmail.com, 2015-02-02 08:47 -0500:
  Archived-At: http://www.w3.org/mid/54cf7fe0.6090...@gmail.com
  On 2/2/15 7:14 AM, Tobie Langel wrote:
 
  Would recommend redirecting to the ED of the next version of the spec.
 
  That makes sense to me.

 Yup, sorry about thatーI forgot a step when we migrated the repos. But I've
 now set up the redirects and things should be working as expected. If not
 lemme know.


Thanks! But it looks like you redirected it to the GitHub repo rather than
the spec itself:

$ curl -I https://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
HTTP/1.1 302 Found
Date: Wed, 04 Feb 2015 07:34:26 GMT
Server: Apache/2.2.16 (Debian)
Location: http://w3c.github.io/IndexedDB/
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1

Mind fixing that?

Thanks again,

--tobie


[IndexedDB] link to Editor's draft is a 404

2015-02-02 Thread Tobie Langel
Hi,

Heads-up that the link to the Editor's Draft of the IndexedDB spec is now a
404.

Not sure whether that is on purpose or an accident.

Would recommend redirecting to the ED of the next version of the spec.

Thanks,

--tobie


Re: [editing] Responsive Input Terminology

2014-12-12 Thread Tobie Langel
On Thu, Dec 11, 2014 at 8:47 PM, Ben Peters ben.pet...@microsoft.com
wrote:

 There has been a lot of debate [1][2] about the correct name for device
 independent events [3] as a concept*. We have considered Intention Events,
 Command Events, and Action Events among others. I believe we now have a
 good name for them- Responsive Input Events. The reason for this name is
 that it is the corollary to Responsive Layout: for input instead of output.
 Together these two concepts can help form the basis of Responsive Design
 going forward.


I'd be extremely wary of naming a category of DOM events after a term that
has a high buzz factor. Now I'm not suggesting RWD itself is a fad, but
that the term itself will slowly fade away as the technology becomes
mainstream and the focus moves beyond (or elsewhere), e.g. on card-based
design[VINH], context-aware design[SPOOL], or adaptive web design[FROST].

In five years, Responsive Input Events will sounds as weird as HTML5 App
Events would today.

--tobie

---
[VINH]: http://www.subtraction.com/2014/08/26/what-is-a-card/
[SPOOL]: http://www.uie.com/articles/context_aware/
[FROST]: http://bradfrost.com/blog/post/the-principles-of-adaptive-design/


Re: [editing] Responsive Input Terminology

2014-12-12 Thread Tobie Langel
On Fri, Dec 12, 2014 at 1:00 PM, Arthur Barstow art.bars...@gmail.com
wrote:

 What is your counter-proposal?


Heh.

Fair enough, I guess. :)

These seem related to what Java calls semantic events [JAVADOC], so I'd
give that a try to see if it fits the model. If not, would abstract
events or simply high-level events work? Sorry if these have already
been discussed and dismissed (haven't had much time to look through the
archives, tbh).

--tobie

---
[JAVADOC]:
https://docs.oracle.com/javase/tutorial/uiswing/events/generalrules.html#twokinds


[service-workers] SW event syntax and Cache API

2014-07-03 Thread Tobie Langel
Hi folks,

Couple of issues I've bumped into recently while looking at Service Workers
more closely.

1. e.respondWith + e.waitUntil.
I feel like those are strong code smells we haven't found the right design
for yet.
I have a suggestion for waitUntil[1]. None yet for respondWith, but plan to
tinker with it in the upcoming weeks. I like Anne's express.js inspired
suggestions.

2. Cache.add feels misnamed and/or heavily magic.
- I'm not sure handling atomic fetches should happen at this layer.
- Doing so shouldn't be too difficult to build given the right primitives
(fetch + Promise.all)
- It's unclear whether the promise returned by Cache.add is resolved with
responseArray or with void (WebIDL reads Promiseany, algo doesn't mention
resolving ith responseArray). Same issue for Cache.put.

3. It should be a lot easier to prime the cache after a cache miss.
Currently the solutions I've tried are less than desirable[2]. Would like
something like this[3] to work.

Not sure what the best medium is to discuss/help with these issues. Maybe
in person?

LMK.

--tobie
---
[1]:
https://github.com/slightlyoff/ServiceWorker/issues/256#issuecomment-47878042
[2]:
https://gist.github.com/tobie/0689c5dda8f6d49d500d#file-gistfile2-js-L25-L32
[3]:
https://gist.github.com/tobie/113280d3b3db714dc199#file-gistfile1-js-L27


Re: Fetch API

2014-05-29 Thread Tobie Langel
On Thu, May 29, 2014 at 4:58 PM, Marcos mar...@marcosc.com wrote:


  enum RequestMode { same-origin, tainted cross-origin, CORS,
 CORS-with-forced-preflight };

 I think these are badly named (even though they use the names used in HTML
 and Fetch). It's going to be annoying to type these out for developers.

 I would change them to:
 enum RequestMode { same-origin, cors, cors-tainted, cors-preflight
 };


I like those better.

We want consistency with lowercasing or uppercasing cors/CORS in enums,
though.

--tobie


[push-api] No clear mention of privacy implication of sending data through push service

2014-02-17 Thread Tobie Langel
Hi,

Was just skimming through the Push API spec.

I'm aware that no payload is sent with push message for privacy reasons (as
push service is most certainly a third party), but that isn't mentioned in
the spec.

I suggest adding a non-normative note that:

1. describes the reasons of this architectural decision (the privacy
concern),
2. describes a possible work-around (xhr request to App Server to get the
data),
3. eventually mentions some of the benefits (e.g. payload can be always up
to date even if notification is stale).

Secondly, the very helpful sequence diagram contained in the spec could be
amended like so (to hint at this work-around):

  ++   ++ ++
++
  | webapp |   |  user  | |  push  |   |  app
|
  ||   | agent  | | server |   | server
|
  ++   ++ ++
++
  ||  | |
  |-register--|  | |
  ||  | |
  |  (user accepts)   | |
  ||  | |
  ||-setup push service-| |
  ||  | |
  |---success-|  | |
  ||  | |
  |--activate service with PushService attributes-|
  ||  | |
  ||  |--push notification-|
  ||  |   per service API   |
  ||  | |
  || (match to user agent)  |
  ||  | |
  ||--push notification--| |
  || per service protocol | |
  ||  | |
  |(match to webapp)  | |
  ||  | |
  |---system message--|  | |
  ||  | |
  |--XHR GET Request---|
  ||  | |
  |---Payload--|
  ||  | |

Best,

--tobie


Re: Testing Pointer Lock

2013-10-03 Thread Tobie Langel
On Thursday, October 3, 2013 at 11:04 PM, Charles McCathie Nevile wrote:
 On Thu, 03 Oct 2013 22:50:21 +0100, Vincent Scheib sch...@google.com 
 (mailto:sch...@google.com) 
 wrote:
  Pointer lock is tricky to automate tests for. Consider some examples:
  - Upon lock, no pointer should be visible.
 

That might be tested using a reftest[1].
  - A user gesture is required to lock when not in fullscreen.
 

That might be tested using a WebDriver test (we haven't agreed on a way to 
write or run those yet).
 


  - Transitioning to fullscreen and pointer lock then exiting fullscreen
  should maintain pointer lock. (User gesture required to enter fullscreen)
 

This might also be feasible using WebDriver.
  - While locked, moving the mouse indefinitely in any direction must
  continue to provide non zero movementX/Y values.
 

That could be automated using WebDriver.
  I'm considering starting some pointer lock tests with testharness.js. The
  only solution I see is to provide instructions in many tests
  for manual actions and observations.
 

If there's interest on your side to explore the WebDriver-based option, I'm 
happy to start a discussion on how those tests should be written in the 
relevant channel (public-test-in...@w3.org), but that really depends on what 
your main goal with this effort is (move the spec along the REC track, or 
improve interop) and what your timeline's like. If you want to ship the spec 
quickly, going the manual route with testharness.js is probably your best 
option. You'll always be able to revisit later (you could even do both in 
parallel).

--tobie
---
[1]: http://testthewebforward.org/docs/reftests.html 
 




Re: [screen-orient] why not provide at CSSOM API to CSS Device Adaptation instead?

2013-07-04 Thread Tobie Langel
On Thursday, July 4, 2013 at 4:20 PM, Mounir Lamouri wrote:
 On 24/04/13 11:13, Tobie Langel wrote:
  While some of the original use cases required dynamically modifying 
  orientation lock (e.g. the Game within a game experience[5]), key use cases 
  simply require a declarative, page-wide setting, as described by David 
  Bruant on the WHAT WG mailing list[6].
 
 (First, I am so sorry for the huge delay...)

Np. Thanks for getting back to me on this. :) 
 I think we should not use CSS Device Adaptation to set the orientation.
 I am actually not sure how well CSS would handle media queries to have
 rules based on the orientation and setting the orientation from CSS.
 Wouldn't we risk to end up in an infinite loop?

Seems this is handled in section 7 of the spec[a]. Honestly, I don't have 
enough background in this area to assess how well.
 In addition, with the current work of having manifest files applying to
 regular web pages [1], we can hope that web pages that want to have a
 specific orientation could simply use a manifest file. I think using a
 manifest could be a good solution for that kind of use cases [2].

I don't really have an opinion here, except I'd love to see implementors 
converge on a solution and implement it. :)
 This said, how do you expect the orientation to work when set
 declaratively? Should the declaration be set as soon as authorised (on
 Firefox Android, that means being fullscreen [3])? It might provide an
 odd user experience. An alternative would be to only fulfil the
 declarative orientation if the page is allowed to set it at load time.

If authorization is required, I'd imagine the app would be launched fullscreen 
with a modal dialog / overlay requiring user authorization. If denied the 
browser would fallback the regular display mode (with chrome).

Best,

--tobie
---
[a]: http://dev.w3.org/csswg/css-device-adapt/#media-queries




Re: Kickoff application manifest work

2013-06-19 Thread Tobie Langel
On Wednesday, June 19, 2013 at 6:56 AM, Anne van Kesteren wrote:
 It might be though that maybe we should put the boundary for
 applications on the web on the origin level. It would certainly be
 extremely convenient and allow for a whole bunch of simplifications.

I feel the same way. It would be interesting to list the downsides of this 
approach to see if the tradeoff is worth making. 

--tobie



Re: Kickoff application manifest work

2013-06-19 Thread Tobie Langel
On Wednesday, June 19, 2013 at 8:35 AM, Anne van Kesteren wrote:
 On Wed, Jun 19, 2013 at 3:13 PM, Tobie Langel to...@w3.org 
 (mailto:to...@w3.org) wrote:
  It would be interesting to list the downsides of this approach to see if 
  the tradeoff is worth making.
 
 Downsides:
 
 * More DNS queries.
 * More effort to deploy a simple one page application.
 * Incompatible with existing web application infrastructure.
 
 Unresolved either way:
 
 * Finding the navigation controller for a given URL
 * Finding the event worker for a given URL
 * Finding the page/window associated with an end-user notification
 
 So other than better sandboxing it would not solve all that much and
 potentially be a hindrance for people trying to adapt new features.


Thanks.

That really helps.

--tobie 





[shadow-dom] spec markup

2013-06-03 Thread Tobie Langel
Hi folks,

Attempting to parse the shadow-dom spec to gather test coverage data. Turns out 
the markup significantly departs from other specs. Not sure if the spec is 
edited using a special tool or by hand.

Regardless, adding a className of idl to WebIDL blocks would go a long way.

Think that's doable?

Thanks,

--tobie 





Re: [shadow-dom] spec markup

2013-06-03 Thread Tobie Langel
Done: https://www.w3.org/Bugs/Public/show_bug.cgi?id=22254. Thanks.

--tobie 


On Tuesday, June 4, 2013 at 12:00 AM, Dimitri Glazkov wrote:

 On Mon, Jun 3, 2013 at 9:34 PM, Tobie Langel tobie.lan...@gmail.com 
 (mailto:tobie.lan...@gmail.com) wrote:
 
  Regardless, adding a className of idl to WebIDL blocks would go a long 
  way.
  
  Think that's doable?
 
 Sure thing! Please file a bug so we don't forget. It's easy -- click
 the File a bug button in the top right corner of the spec.
 
 :DG 





Re: [File Api]: How to Test input type=file ?

2013-05-31 Thread Tobie Langel
On Thursday, May 30, 2013 at 3:18 PM, Fabian Raetz wrote:
 I'm searching a way to unit test file uploads but i can't find any solutions 
 to that problem on the web.

That's work in the scope of the Browser Testing and Tools WG. Afaik, there's 
ongoing discussions on how to best support that, but there's nothing in the 
Webdriver spec[2] yet.

--tobie 

---
[1]: http://www.w3.org/testing/browser/
[2]: http://www.w3.org/TR/webdriver/




[screen-orient] why not provide at CSSOM API to CSS Device Adaptation instead?

2013-04-24 Thread Tobie Langel
Hi,

Screen orientation lock is critical to a whole set of mobile games (especially 
those which rely on the accelerometer to control the gameplay). It's great that 
it is now considered for specification and implementation.

I had collected some use cases a while back[1], some of which led to 
use-cases[2], requirements[3] and suggestions[4] in the Coremob report.

While some of the original use cases required dynamically modifying orientation 
lock (e.g. the Game within a game experience[5]), key use cases simply require 
a declarative, page-wide setting, as described by David Bruant on the WHAT WG 
mailing list[6].

The current proposal[7] only targets the dynamic setting through a JS API and 
leaves the more declarative approach to other specs[8]. It mentions the Web 
Application Manifest Format and Management APIs[9] and CSS Device 
Adaptation[10].

Now, CSS Device Adaptation, as used in the Viewport META element[11] is 
ubiquitous on mobile. It seems like a natural fit for a declarative orientation 
lock, so much so that it's already specified in the spec[12].

However, the syntax to dynamically read or modify the Viewport META element is 
cumbersome and error prone (you're talking document.cookie-like string 
splitting/concatenation with unspecified separators, etc.[12]).

Instead of providing a dedicated API to cater strictly for the screen 
orientation lock use case, wouldn't it make more sense and be more consistent 
to provide a CSSOM[14] API for the whole Viewport META element, and use 
matchMedia listeners[15] instead of orientationchange events?

This would allow declarative setting through the Viewport META element, dynamic 
modification through the CSSOM API, and event handling through the matchMedia 
interface, all of which are well known and commonly used by developers.

Thanks for your time.

--tobie
---
[1]: http://tobie.github.io/ORIENTATIONLOCK-UCR/index.html
[2]: 
http://coremob.github.io/coremob-2012/FR-coremob-20130131.html#play-a-2d-game
[3]: 
http://coremob.github.io/coremob-2012/FR-coremob-20130131.html#req-orientation-lock
[4]: 
http://coremob.github.io/coremob-2012/FR-coremob-20130131.html#screen-orientation
[5]: 
http://tobie.github.io/ORIENTATIONLOCK-UCR/index.html#game-within-a-game-experience
[6]: http://lists.w3.org/Archives/Public/public-whatwg-archive/2013Apr/0078.html
[7]: https://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html
[8]: 
https://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html#declarative-orientation-locking
[9]: https://dvcs.w3.org/hg/app-manifest/raw-file/tip/index.html
[10]: http://dev.w3.org/csswg/css-device-adapt/
[11]: http://dev.w3.org/csswg/css-device-adapt/#viewport-meta
[12]: 
http://dev.w3.org/csswg/css-device-adapt/#the-lsquoorientationrsquo-descriptor
[13]: 
https://developer.mozilla.org/en-US/docs/Mobile/Viewport_meta_tag#Background
[14]: http://dev.w3.org/csswg/cssom/
[15]: http://dev.w3.org/csswg/cssom-view/#the-mediaquerylist-interface







Re: [screen-orient] why not provide at CSSOM API to CSS Device Adaptation instead?

2013-04-24 Thread Tobie Langel
On Wednesday, April 24, 2013 at 1:00 PM, Kenneth Rohde Christiansen wrote:
 Hi there,
 
 CSS Device Adaptation should hopefully be enabled on all browsers (desktop 
 and mobile) unlike the viewport meta tag, which cannot be enabled on desktop 
 browsers easily as many desktop sites actually comes with a viewport meta tag 
 which is ignored. Having that not being ignored breaks the sites.
*Sigh* 
 
 MS already enabled a subset of the CSS Device Adaptation spec in IE10 desktop.
 
 I support adding some CSSOM API's for CSS Device Adaptation, but I would not 
 do so for the viewport meta tag, which has its share of issues.
Understandably given the above. Outside of the IE10 implementation mentioned 
above, have other implementors committed to implement the CSS part of CSS 
Device Adaptation?
 I would also like the CSS Device Adaptation, orientation lock and Fullscreen 
 to integrate. Especially it would be nice to click on an element in portrait 
 and have it go fullscreen in landscape mode and lock, all with a nice 
 animation.

Agreed. These should work together as much as possible.

Thanks for your comments.

--tobie



Re: [admin] Testing and GitHub login names

2013-04-23 Thread Tobie Langel
X-posting to public-infra for those that have missed the conversation going on 
in WebApps on the subject of test review within the web-platform-tests 
repository on GitHub.

On Tuesday, April 23, 2013 at 9:55 AM, James Graham wrote:
 On 04/23/2013 08:43 AM, Robin Berjon wrote:
 On 22/04/2013 13:12 , James Graham wrote:On Mon, 22 Apr 2013, Arthur Barstow 
 wrote:The only thing that we ask is that pull requests not be merged by
 whoever made the request.
 

   
  
 Is this to prevent the `fox guarding the chicken coop`, so to speak?
 
 If a test facilitator submits tests (i.e. makes a PR) and everyonethat 
 reviews them says they are OK, it seems like the facilitator
should be able to do the merge.


 Yes, my view is that Robin is trying to enforce the wrong condition
   here.
   
   
 No, I'm just operating under different assumptions. As I said before, 
 ifsomeone wants to review without having push/merge powers, it's 
 perfectlyokay. I don't even think we need a convention for it (at this 
 point). Ido however consider that this is an open project, so that 
 whoeverreviews tests can be granted push/merge power.
   
 Why? Because the alternative is this: you get an accepted comment 
 fromsomeone on a PR. Either you trust that person, in which case she 
 couldhave merge powers; or you don't, in which case you have to review 
 thereview to check that it's okay. Either way, we're better off making 
 thatdecision at the capability assignment level since it only happens once
  per person.
  
  
 FWIW I'm used to a situation in which the opposite approach is generally
 taken; that is a reviewer is responsible for reviewing, but the
 submitter is responsible for doing the final integration of their
 changes.Here, the final integration consists of clicking the merge button 
 followed by clicking the are you sure? button. Hardly a place where you'll 
 catch a mistake.

Generally, OS projects using the GH workflow tend to leave integration to the 
reviewers, as they're the only ones able to have access to merging content to 
the canonical repo.

I suggest we do the same and grant collaborator access to anyone who has had 
one contribution merged in the canonical repo OR is a WG member. This is based 
on the Pull Request Hack system[1] described by Felix Geisendörfer.

Here's a short FAQ around this proposal:

1. Who can review an merge content?
Repo collaborators.

2. Who can become a repo collaborator?
Anyone that fulfills either one of the below conditions:
a) be a member of any WG which has tests in the web-platform-tests repo, OR
b) have had at least one contribution to web-platform-tests be merged in the 
main repo.

3. How do you become a repo collaborator?
Right now, ask Robin or myself. We're hoping to get tooling to simplify this in 
the near future.

4. Who is responsible for checking the CLA has been signed?
The reviewer when merging a contribution (if the contributor is not a repo 
collaborator, no point if he/she is).
We'll have tooling to help with this.

--tobie
---
[1]: http://felixge.de/2013/03/11/the-pull-request-hack.html  





Re: [admin] Testing and GitHub login names

2013-04-23 Thread Tobie Langel


On Tuesday, April 23, 2013 at 9:55 AM, James Graham wrote:

 On 04/23/2013 08:43 AM, Robin Berjon wrote:
  On 22/04/2013 13:12 , James Graham wrote:
   On Mon, 22 Apr 2013, Arthur Barstow wrote:
 The only thing that we ask is that pull requests not be merged by
 whoever made the request.
 
 
 
Is this to prevent the `fox guarding the chicken coop`, so to speak?
 
If a test facilitator submits tests (i.e. makes a PR) and everyone
that reviews them says they are OK, it seems like the facilitator
should be able to do the merge.



   Yes, my view is that Robin is trying to enforce the wrong condition
   here.
   
  No, I'm just operating under different assumptions. As I said before, if
  someone wants to review without having push/merge powers, it's perfectly
  okay. I don't even think we need a convention for it (at this point). I
  do however consider that this is an open project, so that whoever
  reviews tests can be granted push/merge power.
   
  Why? Because the alternative is this: you get an accepted comment from
  someone on a PR. Either you trust that person, in which case she could
  have merge powers; or you don't, in which case you have to review the
  review to check that it's okay. Either way, we're better off making that
  decision at the capability assignment level since it only happens once
  per person.
  
 FWIW I'm used to a situation in which the opposite approach is generally  
 taken; that is a reviewer is responsible for reviewing, but the  
 submitter is responsible for doing the final integration of their  
 changes.

Here, the final integration consists of clicking the merge button followed 
by clicking the are you sure? button. Hardly a place where you'll catch a 
mistake.

Generally, OS projects using the GH workflow tend to leave integration to the 
reviewers, as they're the only ones able to have access to merging content to 
the canonical repo.

I suggest we do the same and grant collaborator access to anyone who has had 
one contribution merged in the canonical repo OR is a WG member. This is based 
on the Pull Request Hack system[1] described by Felix Geisendörfer.

Here's a short FAQ around this proposal:

1. Who can review an merge content?
Repo collaborators.

2. Who can become a repo collaborator?
Anyone that fulfills either one of the below conditions:
a) be a member of any WG which has tests in the web-platform-tests repo, OR
b) have had at least one contribution to web-platform-tests be merged in the 
main repo.

3. How do you become a repo collaborator?
Right now, ask Robin or myself. We're hoping to get tooling to simplify this in 
the near future.



4. Who is responsible for checking the CLA has been signed?
The reviewer when merging a contribution (if the contributor is not a repo 
collaborator, no point if he/she is).
We'll have tooling to help with this.

--tobie
---
[1]: http://felixge.de/2013/03/11/the-pull-request-hack.html






Re: Fixing appcache: a proposal to get us started

2013-03-26 Thread Tobie Langel
On Tuesday, March 26, 2013 at 12:12 PM, Bjoern Hoehrmann wrote:
 (I take it the fixing-appcache mailing list has since been closed in
 http://www.w3.org/community/fixing-appcache/ favour of discussion here.)

Yes, see: 
http://lists.w3.org/Archives/Public/public-fixing-appcache/2013Feb/0005.html

--tobie



Re: IndexedDB, what were the issues? How do we stop it from happening again?

2013-03-15 Thread Tobie Langel
On Friday, March 15, 2013 at 4:11 AM, Jarred Nicholls wrote:
 On Thu, Mar 14, 2013 at 10:19 PM, Alex Russell slightly...@google.com 
 (mailto:slightly...@google.com) wrote:
   On Thu, Mar 14, 2013 at 6:36 PM, Glenn Maynard gl...@zewt.org wrote:
  
 
 
   Workers exist
   explicitly to allow you to do expensive synchronous stuff without
   janking the main thread. (Often, the expensive synchronous stuff will
   just be a bunch of calculations, so you don't have to explicitly break
   it up into setTimeout-able chunks.)
   
   The entire reason for most async (all?) APIs is thus irrelevant in a
   Worker, and it may be a good idea to provide sync versions, or do
   something else that negates the annoyance of dealing with async code.
  
  My *first* approach to this annoyance would be to start adding some async 
  primitives to the platform that don't suck so hard; e.g., Futures/Promises.
 
 +1. Libraries cover that fairly well; albeit I think we all would enjoy such 
 things to be first-class citizens of the platform. I've seen some good 
 looking implementations and some decent control flow libraries. I use 
 https://github.com/caolan/async a lot in node projects. 
 
  Saying that you should do something does not imply that doubling up on API 
  surface area for a corner-case is the right solution.
 
 I agree. It may have seemed like a good and simple idea at first - well 
 intentioned for sure - but upon reflection we have to admit it's sloppy, a 
 greater surface area to maintain, and the antithesis of DRY. It's not what I 
 personally would expect from a modern, quality JS api, and I'm probably not 
 the only web dev to share that feeling. At the risk of making a blanketed 
 statement using anecdotal evidence, I would claim that overindulgence from 
 modern libraries in existence today has raised the expectations of web devs 
 in how the web platform architects new apis.

Node.js comes with sync and async APIs (for good reasons) and I haven't heard 
anyone complain that this wasn't DRY.

--tobie





Re: IndexedDB, what were the issues? How do we stop it from happening again?

2013-03-14 Thread Tobie Langel
On Thursday, March 14, 2013 at 7:54 PM, Alex Russell wrote:
 On Wednesday, March 6, 2013, Tobie Langel wrote:
  Sync APIs are useful to do I/O inside of a Worker.
 
 
 I don't understand why that's true. Workers have a message-oriented API 
 that's inherently async. They can get back to their caller whenevs. What's 
 the motivator for needing this?
There's no need per se. Sync API are easier to handle, and given you're already 
out of the UI thread, blocking in that context isn't much of an issue.
  They're also critical for data consistency in some scenarios, e.g. updating 
  the database after a successful xhr request when a worker is about to be 
  terminated.
 
 Unload-catching is a known bug in much o the web platform. Why would we 
 enable it here?

Nevermind. The Web Worker termination process (now?) says scripts get aborted 
anyway.

--tobie



Re: IndexedDB, what were the issues? How do we stop it from happening again?

2013-03-06 Thread Tobie Langel
On Wednesday, March 6, 2013 at 5:51 PM, Jarred Nicholls wrote:
 This is an entirely different conversation though. I don't know the answer to 
 why sync interfaces are there and expected, except that some would argue that 
 it makes the code easier to read/write for some devs. Since this is mirrored 
 throughout other platform APIs, I wouldn't count this as a fault in IDB 
 specifically.

Sync APIs are useful to do I/O inside of a Worker.

They're also critical for data consistency in some scenarios, e.g. updating the 
database after a successful xhr request when a worker is about to be terminated.

--tobie



Re: [webcomponents] Making the shadow root an Element

2013-02-18 Thread Tobie Langel


On Monday, February 18, 2013 at 10:12 PM, Dimitri Glazkov wrote:

 On Mon, Feb 18, 2013 at 1:01 PM, Anne van Kesteren ann...@annevk.nl 
 (mailto:ann...@annevk.nl) wrote:
  On Mon, Feb 18, 2013 at 8:57 PM, Dimitri Glazkov dglaz...@google.com 
  (mailto:dglaz...@google.com) wrote:
   Still unclear. Are you saying this: if we have API members on
   ShadowRoot that aren't on DocumentFragment, then ShadowRoot should not
   be a DocumentFragment?
  
  No. all I'm saying that we made a conscious choice not to have
  innerHTML on DocumentFragment and that therefore we should not
  introduce it on ShadowRoot either (until we either revisit the
  DocumentFragment decision or someone shows that decision is not
  applicable to ShadowRoot somehow).
 
 Ah, got it. Well... The innerHTML is necessary for ShadowRoot. It's
 not a matter of API taste or consistency. If you look at any shadow
 DOM code today (however experimental), you'll see most of it using
 innerHTML to populate the shadow tree.

FWIW, one of the the most common use of doc fragment implies inserting a div 
into it to be able to use the div's innerHTML. For example, in jQuery: 
https://github.com/jquery/jquery/blob/master/src/manipulation.js#L452-L457

--tobie





Re: DRM nonsense in HTML

2013-02-12 Thread Tobie Langel
On 2/12/13 5:05 PM, Florian Bösch pya...@gmail.com wrote:

DRM does not belong into HTML, nor into any kind of W3C standard. [...]

This is the wrong mailing list. You might want to look at
http://www.w3.org/html/wg/lists/.

--tobie





Re: Allow ... centralized dialog up front

2013-02-03 Thread Tobie Langel
On 2/2/13 12:16 PM, Florian Bösch pya...@gmail.com wrote:

Usually games (especially 3D applications) would like to get capabilities
that they can use out of the way up front so they don't have to care
about it later on.

This is not an either / or problem.

First, lets clarify that the granting of a permission (and for how long it
is granted) can be dependent on a variety of factors defined by the user
and or the user agent and is out of control of the developer and of any
spec body to standardize.

Different User Agents will behave differently depending on what market
they target. Different users will react differently depending on their
security and privacy thresholds, the trust relationship they have with the
URL they're visiting, etc.

The permission to carry out a certain task on the user's behalf (such as
taking a picture) might change at any time for any number of reasons (such
as the device's camera being unplugged or broken). There's only one
solution to this: code defensively.

APIs that require specific user permissions are designed so that the
user's can be prompted every time the API is required to be used. Whether
the device chooses to do so or not is implementation specific (and again,
depends on external factors such as user settings, etc.).

Generally, this solution has proven to be both flexible and secure.

Handling permissions up front has three unwanted effects:

1. Users tend to not read the upfront permission settings that much thus
often accidentally granting more privileges than they would like to.
That's a security and privacy issue.
2. Users tend to reject apps which have too many permission requests or
permission requests that feel out of scoop of the app. Eg. A chess game
asking for permissions to use the camera is rather off-putting until you
realize it uses it to take snapshots of a chess-board and suggest next
moves. This awareness generally comes with app usage, or because you're
aware of the feature set of the app through information provided by the
developer (marketing) or third parties (reviews, friends, etc.).
3. Upfront permission lists rapidly get out of sync with real application
requirements. What happens then?

In fact, Upfront permission requirement only really makes sense when the
user has already built a relationship of trust with the developer of the
application or trusts a third party that has means of enforcing good
behavior from the app developer (e.g. through an app store system).

A hybrid approach that considers upfront permissions as hints of
permission requirements to come offers the best of both worlds. It allows
developers to ask permissions upfront for things that make sense given the
context (e.g. a camera app would require camera access upfront) and at a
later stage for features that might not be so obviously connected to the
app's main use case or present a bigger risk for the user. It also allows
the User Agent to treat these hints as it wishes, e.g. by prompting the
user upfront, by automatically granting some permissions using various
kinds of heuristics, or by deciding to only prompt the user when the
feature is actually going to be used.

It is worth noting that the developer will still need to code defensively
for such an approach, as the user (or user agent) might very well not
grant all permissions upfront and still require prompting at a later
stage. Previously granted permissions might also be recalled at any time.

This approach doesn't require the User Agent to let the developer know
which permissions the user has granted upfront nor would that be useful
given permissions can change at any time.


--tobie




Re: Allow ... centralized dialog up front

2013-02-03 Thread Tobie Langel
On 2/4/13 1:35 AM, Florian Bösch pya...@gmail.com wrote:

So how exactly do you imagine this going down when an application that
uses half a dozen such capabilities starts? Clicking trough half a dozen
allow - allow - allow - allow - allow - allow, you really think the
user's gonna bother what the 5th or sixth allow is about?

I don't understand what in my previous email makes you think this is the
suggestion I'm making. Quite the contrary, actually. Nothing in my
suggestion prevents a User Agent from combining permission requirements in
a single prompt. Nothing even prevents a dedicated gaming device (for
example) from granting access to a slew of clearly gaming related features
without prompting the user for permission at all. Nothing prevents a user
from authorizing his User Agent to switch to full screen without
prompting. Or to switch to fullscreen without prompting for websites that
have been recommended by his friends. Or whitelisted by the user. Or the
user agent. Or a third party website. Etc. etc. etc.

--tobie





Re: Proposal: moving tests to GitHub

2013-02-01 Thread Tobie Langel
On 2/1/13 5:52 AM, Arthur Barstow art.bars...@nokia.com wrote:
On 1/31/13 3:18 PM, ext Rebecca Hauck wrote:
 Since I'm not in the webapps working group, I had to first get access to
 the repository. I was told that that to get write access, I (probably)
had
 to join the working group [1].

Yes, it certainly would have been easier if Adobe was a member of WebApps.

Think we all agree that given tests are completely unrelated to IP
concerns, there are no reasons to warrant WG membership in order to be
able to contribute them.

Any process around test contributions that works better for group members
than it does for non-members hinders our ability to obtain external
contributions. One of my goals during my fellowship is to find solutions
around these issues.

--tobie





Re: Proposal: moving tests to GitHub

2013-02-01 Thread Tobie Langel
On 2/1/13 4:23 AM, Arthur Barstow art.bars...@nokia.com wrote:
One of things I wondering about is - after you leave your Fellow
position [BTW, that's totally wicked so congrats on that!], and Robin
has moved on to `greener pastures` and Odin has moved on to be CEO of
Opera - if/when there are problems with GH, who are we gonna' call? Hg,
despite its shortcomings, is backed by the W3C's crack SysTeam. Do we
get an equivalent service from GH?

This is a valid concern we need to address. We need to define the
benefits, risks and risk mitigation strategies of moving to GitHub and
decide whether or not this is something that makes sense. I'm going to
start a doc on this that I'll use across WGs and socialize here first.

I'd really like to see input on this from GitHub doubters so we can really
address their concerns.

 If crowd-sourcing is part of our strategy to get more tests, (and the
 testing meeting we had this week seems to imply it is), then moving to
 GitHub is a requirement.

Yes, those are good points and I'm wondering if there really needs to be
a binary choice here or if there could be advantages to using both. For
example, set up a skeleton structure on GH and if/when tests are
submitted, the Test Facilitator could review them and copy the `good
ones` to Hg.

I have very large doubts about strategies that involve hum a intervention
to sync resources across different versioning systems.

--tobie




Re: Proposal: moving tests to GitHub

2013-01-31 Thread Tobie Langel
On 1/31/13 9:13 AM, Arthur Barstow art.bars...@nokia.com wrote:

As I said during one of the testing breakouts in Lyon, ultimately I
suspect the saying beggars can't be choosy will trump. However, AFAIK,
currently, only one of WebApps' thirty active specs actually has an
outside contribution. As such, and without any information about a
relatively high probability we will get contributions from others, this
move still seems like a lot of make work.

Ultimately, that's a chicken and egg problem. Moving to GitHub doesn't
guarantee external contributions (there are aspects beyond using Git(Hub)
to involve and retain outside contributors), but the current solution
clearly prevents those.

If crowd-sourcing is part of our strategy to get more tests, (and the
testing meeting we had this week seems to imply it is), then moving to
GitHub is a requirement.

--tobie




Re: Proposal: moving tests to GitHub

2013-01-25 Thread Tobie Langel
 FWIW that looks good to me. At risk of bikeshedding, I think that calling a 
 repo with tests for non-HTML specs html-testsuite is confusing and will 
 make the repository harder to find, especially since the people who are aware 
 that html is not a catch-all term are also the people most likely to be 
 writing tests. Some more generic name like web-platform-testsuite seems 
 better.

Couldn't agree more.

--tobie 


Re: Proposal: moving tests to GitHub

2013-01-25 Thread Tobie Langel
On Jan 24, 2013, at 1:24 PM, Odin Hørthe Omdal odi...@opera.com wrote:

 Arthur Barstow wrote:
 Before we start a CfC to change WebApps' agreed testing process [Testing], 
 please make a clear proposal regarding the submission process, approval 
 process, roles, etc. as is defined in [Testing] and its references. (My 
 preference is for you to document the new process, expectations, etc. in 
 WebApps' Public wiki, rooted at http://www.w3.org/wiki/Webapps/).
 
 I've written (well, copied and changed) a document at:
 
http://www.w3.org/wiki/Webapps/Submitting_tests
 
 It might not have everything required right now, but I think it's a good 
 start. :-)

This is awesome. Thanks for writing it.

--tobie


Re: Proposal: moving tests to GitHub

2013-01-22 Thread Tobie Langel
On 1/22/13 11:53 AM, Odin Hørthe Omdal odi...@opera.com wrote:

Hi!

   We just had a small discussion on webapps-testsuite [1] about the
possibility of moving the webapps tests.  I was wrongly under the
impression that we had discussed this before (hey, confusion is not a
crime ;) ).

We had such a discussion in testing a while back.[a]

Now that HTML has done the move, I think it is time for us to
look at it too.  Ms2ger and Robin, which did most of the HTML testsuite
[2] move were happy to help [3].

Ms2ger proposed merging our repository with HTML at the same time and not
 
necessarily having one repository for each group.  I was already thinking
 
such a move might be beneficial to do for webapps and webappsec, but it
might be even more simple to also have html testsuite in that merge.

There are benefits to both approaches. I would be in favor of having a
repository per spec (named tr_shortname-testsuite). This will make it a
lot easier to securely give scoped commit rights to external contributors
when the need arises.

Robin wrote an email describing what they did for the HTML move, some of
which should be relevant for our potential move too [4].  Of particular
interest the possibility for having tests in folders by section of the
spec, and making submissions pull requests.


I'm interested in such a move because it'll make our tests more visible,
and easier to contribute to.  Just this weekend the Server Sent Events
spec got 6 pull requests from a GitHub user Yaffle [5].  Note that that
 
particular repository will be moved into however our new test repository
structure will be, so it probably won't remain as a separate repository.

More thoughts here:
http://tobie.github.com/w3c-testing-plan/unofficial-w3c-testing-plan-201201
16.html#transition-test-repositories-to-github

--tobie

---
[a]: 
http://lists.w3.org/Archives/Public/public-test-infra/2012JulSep/0027.html




Re: Proposal: moving tests to GitHub

2013-01-22 Thread Tobie Langel
On 1/22/13 12:20 PM, Anne van Kesteren ann...@annevk.nl wrote:

On Tue, Jan 22, 2013 at 12:11 PM, Tobie Langel to...@fb.com wrote:
 There are benefits to both approaches. I would be in favor of having a
 repository per spec (named tr_shortname-testsuite). This will make it a
 lot easier to securely give scoped commit rights to external
contributors
 when the need arises.

Given how we relatively frequently move features around and have not
exactly figured out the overall architecture I don't think that's an
approach that scales.

That's definitely something to keep in mind. How frequent is it that a
feature moves from one spec to another (that, is outside of the continuous
flow of features that migrate from HTML5 to WebApps)?

Is your concern about history loss?

--tobie




Re: Proposal: moving tests to GitHub

2013-01-22 Thread Tobie Langel
On 1/22/13 12:37 PM, Anne van Kesteren ann...@annevk.nl wrote:

On Tue, Jan 22, 2013 at 12:30 PM, Tobie Langel to...@fb.com wrote:
 That's definitely something to keep in mind. How frequent is it that a
 feature moves from one spec to another (that, is outside of the
continuous
 flow of features that migrate from HTML5 to WebApps)?

 Is your concern about history loss?

My concern is 1) make work and 2) overhead of deciding what has to be
tested where.

Figuring out precisely what it is you are trying to test is the crux of
the work. Having a repository per specification lightens the cognitive
load, not burdens it more. Especially for external contributors which
might not be aware of which WG handles what specs.

E.g. tests for the ProgressEvent interface test quite a
bit of IDL related requirements, where do they go?

Well, in that case[1], it seems the decision to put it under the
ProgressEvent directory has already been made. I don't see how this folder
being the root of a git repository or a subfolder is relevant.

With regards to the specifics of WebIDL requirements testing, there's work
going on to parse WebIDL and generate assertions out of it. Where that
isn't sufficient it seems a set of dedicated assertions (added to
testharness.js) would greatly simplify testing and answering the question
as to where these should go.

From a distance it
might all appear modular, but it really is all quite interconnected
and by creating artificial boundaries that interconnectedness might
not get testing.

These boundaries are created at the spec level. I see no harm in
replicating them at the test level. And there's certainly nothing
artificial in doing so.

That said, I agree integration testing is key, but it should be done
explicitly and methodically, not by relying on accidental coverage that's
hard to measure. The fun part about integration testing is it actually
tests the specs more than it tests the implementations themselves.

--tobie
 
---
[1]: http://w3c-test.org/webapps/ProgressEvents/tests/submissions/




Re: Proposal: moving tests to GitHub

2013-01-22 Thread Tobie Langel


On 1/22/13 2:23 PM, Robin Berjon ro...@w3.org wrote:

On 22/01/2013 13:27 , Odin Hørthe Omdal wrote:
 I'm not really sure if that is needed. If we can trust someone in one
 repository, why not in all?

I'd add to that: the odds are that if someone is screwing things up,
it's better to have more eyes on what they're doing.

 But what wins me over, is really the overhead question. Do anyone really
 want to manage lots of repositories?  And for what reason?  Also, we
 want more reviewers.  If I'm already added for CORS, I could help out
 for say XMLHttpRequest if there's a submission/pull request languishing
 there.

I think Odin makes convincing arguments. For me it's really the outreach
argument. Just one repo, carrying its one setup and one set of docs, can
easily be pitched as the One True Place to Save The Web. It's a lot
easier to explain at a conference or such: just go there, and patch stuff.

Yes, I guess what I want to avoid at all costs is the split per WG which
has boundaries that partially happen at IP level, rather than strictly at
the technology level.

Whether we end up as:

w3c-tests/
deviceorienation/
html5/
pointerevents/
progressevent/
xmlhttprequest/

or: 

deviceorienation-tests/
html5-tests/
pointerevents-tests/
progressevent-tests/
xmlhttprequest-tests/

Doesn't really matter (though I do find the former more readable). What
bothers me however is how had to parse per-WG-organization is for
newcomers.

--tobie





Re: Proposal: moving tests to GitHub

2013-01-22 Thread Tobie Langel
On 1/22/13 4:45 PM, Robin Berjon ro...@w3.org wrote:

On 22/01/2013 14:48 , Tobie Langel wrote:
 Yes, I guess what I want to avoid at all costs is the split per WG which
 has boundaries that partially happen at IP level, rather than strictly
at
 the technology level.

My understanding is that we don't have to care about spec-IP issues in
test suites because when you contribute to a test suite you're not
contributing to the spec's essential claims.

That's correct.

You *do* need to make the proper commitments for the test suite, but
those are much lighter and can easily be extended to all.

Moving to GitHub should be an excellent occasion to revisit how the CLA
works and provide better integration, e.g.: by using something like
CLAHub[1].

That's why we're proposing to ditch per-WG anything here. The way
html-testsuite is set up, we already have subdirectories for html,
canvas2d, and microdata. Those are all from the HTML WG, but they're
just listed as the individual specs. We can keep on adding more specs in
there (the Web Crypto people are looking to do that).

That sounds good to me. It's the per WG siloing I'm opposed to, not the
one repository to rule them all idea.

--tobie

---
[1]: https://github.com/jasonm/clahub




Re: Proposal: moving tests to GitHub

2013-01-22 Thread Tobie Langel
On 1/23/13 12:48 AM, Julian Aubourg j...@ubourg.net wrote:

I love the idea of moving to github.
The one-repo idea, while much simpler from a maintenance point of view,
could easily be a burden on users that subscribe to it. Even more so for
people who can merge PRs (and thus will receive an email for a PR
initiated for any spec).

Not saying it is blocking but it's something to keep in mind. Mail
filters can go a long way here but filtering out specific specs kinda
defeats the purpose of having so many eyes looking at everything.

It's also worth thinking about which solution will have more chances of
fostering a community of external contributors and reviewers. Strong but
very specialized contributors might not get noticed. Being the biggest
contributor to the XHR test suite might carry a lot more value than being
the 50th biggest contributor to W3C tests in general.

--tobie




Re: [ambient light events LC] Feedback ( LC-2736)

2013-01-17 Thread Tobie Langel
On 1/17/13 11:36 PM, Tab Atkins Jr. jackalm...@gmail.com wrote:

On Thu, Jan 17, 2013 at 8:15 AM,  frederick.hir...@nokia.com wrote:
  Dear Tab Atkins Jr. ,

 The Device APIs Working Group has reviewed the comments you sent [1] on
the
 Last Call Working Draft [2] of the Ambient Light Events published on 13
Dec
 2012. Thank you for having taken the time to review the document and to
 send us comments!

 The Working Group's response to your comment is included below, and has
 been implemented in the new version of the document available at:
 https://dvcs.w3.org/hg/dap/raw-file/tip/light/Overview.html.

Either this link is incorrect, or something is broken in your tooling,
as it sends me to a very raw HTML file with no styling, headers, or
anything else.  This makes it difficult to read or review.

Try running it in Firefox. Seems recent Chrome releases refuse to run JS
served over HTTP on pages served over HTTPS.

--tobie




Re: Editor change for Web Application Manifest Format and Management APIs specification

2012-11-26 Thread Tobie Langel
On 11/26/12 2:35 PM, Charles McCathie Nevile cha...@yandex-team.ru
wrote:

On Wed, 21 Nov 2012 18:58:02 +0400, Mounir Lamouri mou...@lamouri.fr
wrote:

 Hi,

 Anant stepped down as an editor of Web Application Manifest Format and
 Management APIs specification [1] but Mozilla is still interested in
 this specification so I will replace Anant as an editor.

 However, given the feedback we got on this specification [2], we are
 merging it with the Runtime and security model specification that will
 happen in the System Applications Working Group [3].
 We are not against keeping the specification in this WG but we fear that
 it might not gain much traction as-is.

Hi Mounir,

Yandex is interested in this spec.

So is Facebook and Coremob.

--tobie




Re: CfC: publish WD of XHR; deadline November 29

2012-11-23 Thread Tobie Langel
On 11/23/12 5:36 PM, Adam Barth w...@adambarth.com wrote:

However, we should be honest about the origin of the text and not try
to pass off Anne's work as our own.

Or better yet, provide a canvas where Anne is able to do his work as part
of the WebApps WG.

--tobie




Re: [quota-api] Need for session storage type

2012-11-05 Thread Tobie Langel
On 10/31/12 6:03 PM, Eric U er...@google.com wrote:

I think the bigger question is What's a session?
Does it end if I:

   * close the window?
   * close the last window in this origin?
   * close the last window in this browser profile?
   * quit the browser?
   - With or without continue where I left off/load my same 
 windows
from last time?
   - Due to an update that caused a restart?
   - Due to a crash, with automatic crash recovery?
   * switch to another app on my phone/tablet?
   * use enough other apps on my phone/tablet that the browser gets
purged from memory?

I doubt browsers are consistent in all these situations, given that
current Chrome doesn't behave the same as the Chrome of a year ago.
So saying it should act like session cookies doesn't work.

It seems there would/could be value in determining precisely what a
session is, and/or coming up with an API to allow application developers
to close sessions on a per origin basis and benefit from related
security/privacy guarantees (wiping-out session storage, cookies, etc.).

--tobie




Re: [quota-api] Need for session storage type

2012-11-05 Thread Tobie Langel
On 11/5/12 6:47 PM, Brady Eidson beid...@apple.com wrote:


 And/or coming up with an API to allow application developers
 to close sessions on a per origin basis and benefit from related
 security/privacy guarantees (wiping-out session storage, cookies, etc.).

Sites can already clean up individual session-ey nuggets on a
case-by-case basis.

I'm not sure I like the idea of giving them the nuclear option as they'll
just start using that liberally instead of thinking things through.  This
could cause excess i/o and/or lock contention where such semantics are
defined.

Nuclear options have privacy guarantees which other options don't have.
That's also something to consider.

--tobie





Re: CfC: publish LCWD of File API; deadline October 22

2012-10-17 Thread Tobie Langel
On 10/17/12 3:29 AM, Arthur Barstow art.bars...@nokia.com wrote:

All - this is a Call for Consensus to publish a Last Call Working Draft
of the File API spec http://dev.w3.org/2006/webapi/FileAPI/. Note bug
17125 ([1] below) is open and Arun proposes it be postponed for v.next.
Additionally, Arun notes below bug 19554 ([2] below) is a related
feature request for HTML and he proposes the LC comment period be used
to gather input on that bug.

This CfC satisfies the group's requirement to record the group's
decision to request advancement for this LCWD. Note the Process
Document states the following regarding the significance/meaning of a
LCWD:

[[
http://www.w3.org/2005/10/Process-20051014/tr.html#last-call

Purpose: A Working Group's Last Call announcement is a signal that:

* the Working Group believes that it has satisfied its relevant
technical requirements (e.g., of the charter or requirements document)
in the Working Draft;

* the Working Group believes that it has satisfied significant
dependencies with other groups;

* other groups SHOULD review the document to confirm that these
dependencies have been satisfied. In general, a Last Call announcement
is also a signal that the Working Group is planning to advance the
technical report to later maturity levels.
]]

The proposed LC review period is 4 weeks.

If you have any comments or concerns about this CfC, please send them to
public-webapps@w3.org by October 22 at the latest. Positive response is
preferred and encouraged and silence will be considered as agreement
with the proposal.

-Thanks, AB

+1

--tobie




Re: [widgets] Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition) is a Proposed Edited Recommendation

2012-09-28 Thread Tobie Langel
On 9/28/12 10:18 AM, Charles McCathie Nevile cha...@yandex-team.ru
wrote:

On Thu, 27 Sep 2012 23:55:37 +0400, Tobie Langel to...@fb.com wrote:

 On 9/27/12 9:35 PM, Arthur Barstow art.bars...@nokia.com wrote:

 W3C Advisory Committee members are asked to Please review the
 specification and indicate whether you endorse it as W3C Recommendation
 or object to its advancement by completing the following questionnaire
 https://www.w3.org/2002/09/wbs/33280/widget2e/.

 I'm getting the following error when answering the questionnaire:

Hopefully it is fixed now (Dom++)

It is. Thanks, Dom!

--tobie




Re: [widgets] Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition) is a Proposed Edited Recommendation

2012-09-27 Thread Tobie Langel
On 9/27/12 9:35 PM, Arthur Barstow art.bars...@nokia.com wrote:

W3C Advisory Committee members are asked to Please review the
specification and indicate whether you endorse it as W3C Recommendation
or object to its advancement by completing the following questionnaire
https://www.w3.org/2002/09/wbs/33280/widget2e/.

I'm getting the following error when answering the questionnaire:

Saving failed with error Program error: a widget must be loaded before
creation Saving failed with error Program error: a widget must be loaded
before creation Saving failed with error Program error: a widget must be
loaded before creation Saving failed with error Program error: a widget
must be loaded before creation Saving failed with error Program error: a
widget must be loaded before creation Saving failed with error Program
error: a widget must be loaded before creation


--tobie




Re: [quota-api] API change suggestions

2012-09-11 Thread Tobie Langel
On 9/11/12 11:13 AM, Kinuko Yasuda kin...@chromium.org wrote:

I think I like this idea, but I'm also concerned with the fact that
Chromium has been shipping Quota API some time now and there're some
consumers of the old API.

Wasn't aware. Does't seem to be in Chrome, even prefixed, however.


Since we've already made several changes in the API there's no reason
that we cannot make further changes, but I want to be a bit conservative
about this.

Sure. Is the existing implementations based on the current Editor's draft
of the spec on previous material?

I would like to examine: if we have obvious pros/cons in the current and
proposed API (like feature detection in the past API changes), and also
would like to wait a bit more to see if anyone has feedbacks/comments.

Absolutely.

--tobie





Re: [quota-api] API change suggestions

2012-09-11 Thread Tobie Langel
On 9/11/12 12:29 PM, Kinuko Yasuda kin...@chromium.org wrote:

It's prefixed, and based on the previous (original) proposal.

Which is why I didn't find it (I was expecting it to hang off of the
navigator property of the window object).

--tobie




[quota-api] Need for session storage type

2012-09-10 Thread Tobie Langel
Hi all,

Following a recent conversation with Jonas (and contrary to what I
initially claimed here) there's value in adding a third storage type to
the Quota API: Session storage.

Contrary to temporary storage which might not get wiped across UA
sessions, Session storage MUST get wiped when the session is closed.

Happy to provide patch if there's agreement this is a valuable addition to
the spec.

Best,

--tobie




[quota-api] API change suggestions

2012-09-10 Thread Tobie Langel
Hi,

I'm very happy with the API changes we where able to make to the Quota
API, but there's a method name we have left untouched and that I haven't
figured out how to tackle until today: queryUsageAndQuota.

The name is horrendous and is going to make developers cringe. It's also
not very extensible should need arise to provide extra information in the
future.

Here's a suggestion to fix it:

1) create a new StorageQuotaInfo interface:

WebIDL:

interface StorageQuotaInfo {
  readonly attribute unsigned long long quota;
  readonly attribute unsigned long long usage;
};


2) Rename StorageUsageCallback to StorageInfoCallback and pass it a
StorageQuotaInfo instead of two ints:

WebIDL:
callback StorageInfoCallback = void (StorageQuotaInfo storageQuotaInfo);



3) Rename queryUsageAndQuota to getInfo:

WebIDL:

interface StorageQuota {
  void getInfo (in StorageInfoCallback successCallback, in optional
StorageErrorCallback errorCallback);
  ...
};

The examples in the spec would be rewritten as shown here:
https://gist.github.com/3690242


Thoughts?


Again, happy to contribute those changes if there's interest.

Best,

--tobie




Re: [XHR] Setting the User-Agent header

2012-09-06 Thread Tobie Langel
On 9/5/12 12:33 PM, Robin Berjon ro...@w3.org wrote:

On 05/09/2012 06:03 , Mark Nottingham wrote:
 That's unfortunate, because part of the intent of the UA header is to
identify the software making the request, for debugging / tracing
purposes.

 Given that lots of libraries generate XHR requests, it would be natural
for them to identify themselves in UA, by appending a token to the
browser's UA (the header is a list of product tokens).  As it is, they
have to use a separate header.

Do you have a use case that does not involve the vanity of the library's
authors? :)

I would think Caja[1] would legitimately want to change the User Agent
String of ajax requests that got through it. The capabilities the Caja
runtime provides to cajoled code are so different than those of its host
environment that it makes complete sense for the User Agent string to be
different. It's really a browser within a browser.

--tobie

---
[1]: http://code.google.com/p/google-caja/






Re: Lazy Blob

2012-08-02 Thread Tobie Langel
On 8/1/12 10:04 PM, Glenn Maynard gl...@zewt.org wrote:

Can we please stop saying lazy blob?  It's a confused and confusing
phrase.  Blobs are lazy by design.

Yes. Remote blob is more accurate and should help think about this
problem in a more meaningful way.

--tobie




Re: Lazy Blob

2012-08-02 Thread Tobie Langel
On 8/2/12 2:29 PM, Robin Berjon ro...@berjon.com wrote:

On Aug 2, 2012, at 10:45 , Tobie Langel wrote:
 On 8/1/12 10:04 PM, Glenn Maynard gl...@zewt.org wrote:
 Can we please stop saying lazy blob?  It's a confused and confusing
 phrase.  Blobs are lazy by design.
 
 Yes. Remote blob is more accurate and should help think about this
 problem in a more meaningful way.

Actually, you need both to be accurate. With the current stack you can
have lazy blobs, and you can have remote blobs, but you can't have both
at the same time. If we're going to be strict about naming this, we're
talking about remote lazy blobs.

What's a remote blob in the current stack?

--tobie




Re: Feedback on Quota Management API

2012-06-27 Thread Tobie Langel
On Jun 27, 2012, at 9:14, Ms2ger ms2...@gmail.com wrote:

 On 06/27/2012 05:44 PM, Tobie Langel wrote:
 On Jun 27, 2012, at 6:44 AM, Glenn Maynardgl...@zewt.org  wrote:
 Unrelated, screaming-caps on RFC2119 terms (eg. MUST) is jarring
 and unnecessary.  I'd suggest dropping the em.rfc2119 style.
 That's what HTML, DOM4, etc. do, and it's much more readable.
 
 How do you distinguish between 'MUST' and 'must' then? I agree the
 style is jarring, but maybe that can be fixed rather then completely
 removed.
 
 Specifications must not use RFC2119 keywords to mean anything else than the 
 meaning RFC2119 assigns to those keywords.
 
 HTH
 Ms2ger

Wasn't aware. Thanks for the clarification.

--tobie


Re: CfC: publish FPWD of Fullscreen spec; deadline May 24

2012-06-19 Thread Tobie Langel
On 6/20/12 12:05 AM, Sylvain Galineau sylva...@microsoft.com wrote:


[Daniel Glazman:]
 
 
 That's also the reason why I asked to explain requestFullscreen(). It
can
 sound obvious, but it's not. And in fact, we should _never_ introduce a
new
 syntax, API, whatever w/o saying _what it does_ from a functional point
of
 view before explaining how it works.
 
To the extent possible I think specs should document some of the core
use-cases 
and scenarios they are derived from e.g. as an informative intro or
appendix. 
Extra points for covering scenarios that are explicitly out of scope for
the 
current version. This would be especially valuable for new specifications.

I don't think people who don't live in WHATWG/W3C mailing lists and/or
make browsers 
for a living can read a document like this one - or, say, CORS - and hope
to figure 
out what problems they are/aren't trying to solve. (I'm not sure they're
even that
obvious for people who do)

Can't agree more. Unpublished / hard to find use cases makes everyone's
life harder and worsens the perception authors have of spec writers and
implementors. Calling them authors doesn't help, either. :-/

--tobie




Re: Implied Context Parsing (DocumentFragment.innerHTML, or similar) proposal details to be sorted out

2012-06-08 Thread Tobie Langel
On Jun 8, 2012, at 11:03 AM, Rafael Weinstein rafa...@google.com wrote:

 Yehuda,
 
 Can you help clarify here whether jQuery's behavior is intentional
 (i.e. use cases drive the need for executability), or if it's a
 side-effect of the implementation?

I can't speak for jQuery, but in Prototype.js, this behaviour is intentional.

--tobie



[QUOTA] Misleading example in Quota handling in storage API section

2012-06-08 Thread Tobie Langel
Hi,

In section 5 of the Quota Management API (Quota handling in storage
API)[1], the last sentence of the first bullet point reads:

For example, Application Cache may silently discard or fail to cache
data when it is hitting quota limit.

This is actually incorrect, AppCache is atomic and hitting the quota limit
would trigger a cache failure as per step 17.5 of the application cache
download process[2].

If the user agent is not able to store the resource (e.g. because of
quota restrictions),
the user agent may prompt the user or try to resolve the problem in
some other manner
(e.g. automatically pruning content in other caches). If the problem
cannot be resolved,
the user agent must run the cache failure steps.

In turn, this would fire an error event and bust the cache.

Best to pick another example.


--tobie 

---
[1]: 
http://dvcs.w3.org/hg/quota/raw-file/6085f376620a/Overview.html#quota-handl
ing-in-storage-api
[2]: 
http://dev.w3.org/html5/spec/single-page.html#application-cache-download-pr
ocess




Re: Feedback on Quota Management API

2012-06-06 Thread Tobie Langel
On 6/6/12 8:33 AM, Kinuko Yasuda kin...@chromium.org wrote:

Based on the feedbacks I've updated the draft:

http://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html
- Got rid of string enum, instead introduced navigator.persistentStorage
and navigator.temporaryStorage
- Some interface name changes (just for IDL)

  QuotaStorageEnvironment - StorageQuotaEnvironment
  StorageInfo - StorageQuota
  StorageInfoQuotaCallback - StorageQuotaCallback
  StorageInfoUsageCallback - StorageUsageCallback
  StorageInfoErrorCallback - StorageErrorCallback

I'd like to finalize these naming/interface details while we're here.

Thanks for making those changes. This is shaping up quite nicely. I still
think queryUsageAndStorage is quite a mouthful but can't think of anything
more succinct for now.

--tobie




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-06 Thread Tobie Langel
On 6/6/12 2:10 AM, Arthur Barstow art.bars...@nokia.com wrote:

I don't recall the group discussing the UCs and requirements the spec
addresses. Perhaps it would also be useful to step back a bit and try to
get agreement on some high level requirements before proceeding.

Agreed.

--tobie




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-06 Thread Tobie Langel
On 6/6/12 10:27 AM, Scott Wilson scott.bradley.wil...@gmail.com wrote:

Having looked again at this, I think the easiest approach would not be to
publish WebApp Manifest as is, but simply to publish a new draft of the
Widget Interface[1] and do a search/replace on widget with webapp.

Republishing the same spec with only this modification and observing
adoption would be an interesting social experiment in itself. But I
digress.

We can then add a section on JSON serialization as a manifest media type,
and then take each of the proposed model extensions from Mozilla on their
own merit.

That shouldn't prevent us from looking at use cases and requirements.

Mozilla's proposal seems to essentially target applications distributed
through app stores. We'd like to see a solution that also enables
providing meta data to bookmarked apps similar to how meta tags work in
iOS.

--tobie




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-06 Thread Tobie Langel
On 6/6/12 3:35 PM, Marcos Caceres w...@marcosc.com wrote:

On Wednesday, June 6, 2012 at 9:51 AM, Tobie Langel wrote:

 Mozilla's proposal seems to essentially target applications distributed
 through app stores. We'd like to see a solution that also enables
 providing meta data to bookmarked apps similar to how meta tags work in
 iOS.

I've not much experience with the iOS meta tags, so is there anything
missing in W3C Widget's config.xml or in Moz's JSON?

Not in the configuration file itself (what Mozilla calls the Web
Application Manifest), but it is not specified how it is delivered to the
client in that case.

Would be cool if one could just do:

!-- gimme config in accepted format (xml or json) --
meta config=/config

That way, there is no need to repeat meta tags in every page... just
repeat it onceŠ

Absolutely, or:

html manifest=/path/to/config.webapp

and combine appcache and config into a single format. The AppCache
manifest format works beautifully in JSON (and I'm sure it would do
equally well in XML). See how the sample manifest files provided in the
HTML5 spec[1] would look like in JSON: https://gist.github.com/2881982


or doing something like a fav.ico equivalent that is loaded
automagically.

I'd rather we avoided simultaneously adding an extra http request to all
the web pages in the world **and** filling server logs with garbage 404
requests.

--tobie

---
[1]: http://www.w3.org/TR/html5/offline.html#some-sample-manifests




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-06 Thread Tobie Langel
On 6/6/12 5:02 PM, Marcos Caceres w...@marcosc.com wrote:

On Wednesday, June 6, 2012 at 2:58 PM, Tobie Langel wrote:

 Absolutely, or:
  
 html manifest=/path/to/config.webapp
  
 and combine appcache and config into a single format. The AppCache
 manifest format works beautifully in JSON (and I'm sure it would do
 equally well in XML). See how the sample manifest files provided in the
 HTML5 spec[1] would look like in JSON: https://gist.github.com/2881982

yep, that could also workŠ though I wonder if it's too late to be
swapping manifest formats.

The two manifest formats could very well co-existing. Furthermore, since
only the structure of the data differs, the AppCache algorithm wouldn't
need to change.

--tobie




Re: Push API draft uploaded

2012-06-06 Thread Tobie Langel
On 6/6/12 6:05 PM, SULLIVAN, BRYAN L bs3...@att.com wrote:
 Here is the thread for the set of use cases I submitted for this API
during the rechartering:
http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0008.html.
Additional use cases are welcome, and we can capture them and derived
requirements on the Webapps wiki. I created a page for this:
http://www.w3.org/2008/webapps/wiki/Push_API

Thanks for the links, Bryan. Will add use cases.

--tobie




[Process] Publishing use cases and requirements as official docs

2012-06-06 Thread Tobie Langel
Hi,

I recently stumbled upon a number of use case and requirements docs (such
as MediaStream Capture Scenarios[1] or HTML Speech XG[2]) that were
published as officially looking W3C documents (for whatever that means, at
least, it's not a page on a Wiki).

I think that's tremendously useful, especially for authors who can have a
much better understanding of the purpose of a specification that way (and
therefore use it the right way and for the right purpose).

It's also a smart way to get authors involved without corrupting them into
thinking like spec writers or implementors.

What are the WebApps WG's plans with regards to that (if any)?

Thanks,

--tobie

---
[1]: 
http://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/scenarios.html
[2]: 
http://www.w3.org/2005/Incubator/htmlspeech/live/draft-20110203-requirement
s.html





Re: CfC: publish FPWD of Quota Management API; deadline June 13

2012-06-06 Thread Tobie Langel
On 6/6/12 2:01 PM, Arthur Barstow art.bars...@nokia.com wrote:

Having seen no negative responses to the Is the Quota Management API
spec ready for FPWD? thread [1], this is a Call for Consensus (CfC) to
publish a First Public Working Draft (FPWD) of the Quota Management API
using the following ED as the basis of the FPWD:

https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html

This CfC satisfies the group's requirement to record the group's
decision to request advancement.

By publishing this FPWD, the group sends a signal to the community to
begin reviewing the document. The FPWD reflects where the group is on
this specification at the time of publication; it does not necessarily
mean there is consensus on the specification's contents.

Please send all comments regarding this CfC to the public-webapps@w3.org
mail list by June 13. Please note silence will be considered as
agreement with the proposal. If you support this CfC, a positive
response is preferred and encouraged.

-Thanks, AB

[1] 
http://lists.w3.org/Archives/Public/public-webapps/2012AprJun/0940.html

We support this.

--tobie




Re: [Process] Publishing use cases and requirements as official docs

2012-06-06 Thread Tobie Langel
On Jun 6, 2012, at 8:46 PM, Bjoern Hoehrmann derhoe...@gmx.net wrote:

 (Starting a new thread by replying to a mail and then changing the
 subject and quoted text is not a good idea; just start a new mail.)

Guilty as charged. Sorry, won't happen again.

 I recently stumbled upon a number of use case and requirements docs (such
 as MediaStream Capture Scenarios[1] or HTML Speech XG[2]) that were
 published as officially looking W3C documents (for whatever that means, at
 least, it's not a page on a Wiki).
 
 Only documents under http://www.w3.org/TR/ are official publications
 as far as Working Group's Technical Reports go.

Can't WG release notes?

--tobie




Re: [Process] Publishing use cases and requirements as official docs

2012-06-06 Thread Tobie Langel
On Jun 6, 2012, at 10:04 PM, Bjoern Hoehrmann derhoe...@gmx.net wrote:

 * Tobie Langel wrote:
 On Jun 6, 2012, at 8:46 PM, Bjoern Hoehrmann derhoe...@gmx.net wrote:
 Only documents under http://www.w3.org/TR/ are official publications
 as far as Working Group's Technical Reports go.
 
 Can't WG release notes?
 
 Working Groups can publish Working Group Notes as Technical Report, they
 would go under http://www.w3.org/TR/ aswell.

OK, but the process is lighter, no?

--tobie





Re: Push API draft uploaded

2012-06-05 Thread Tobie Langel
On 6/5/12 4:00 PM, Mounir Lamouri mou...@lamouri.fr wrote:

On 05/31/2012 03:28 PM, Tobie Langel wrote:
 I'm probably missing something here, but notifications don't seem to be
 going through a system- / browser-wide notification panel from which the
 user can decide whether or not to navigate to an application. In other
 words, it looks like we're considering server -- app push
notifications,
 rather than server -- user push notifications.
 
 If that's case, how are we planning to handle waking up application A
 without disrupting the experience of the user currently busy using
 application B in the foreground (thinking essentially of mobile here)?
 
 Are we going to wake up application B but run it as a background app? If
 so, where is that behavior defined? Is that akin to a WebWorker or more
of
 a headless window? What's the life-cycle of such an app? Also, how can
 this app alert the user that it has something new for him? Do we also
have
 system level notifications in the work?
 
 If a given notification's sole purpose is to advise the user of some
 information he may or not want to act upon (e.g.: you have new mail),
 what are the benefits of waking up the application (or even spawning a
 worker) to do so? That seems like it would drain the battery of mobile
 devices for little purpose.
 
 Finally, aren't we conflating the notion of background work following a
 remote server or system event with that of push notification to the
user?
 
 An example of background work following a remote server event would be
the
 background update of daily news for a newspaper application. A remote
 server would send an event to the system / browser which itself would
 launch a WebWorker, that worker would perform the necessary io to upload
 the fresh content and save it in a db.

 An example of background work following a system event would be a
 location change event spawning a background worker which itself either
 stored the coordinates in a db or sent them to a remote server, e.g.
for a
 cycling app tracking your rides.
 
 Example of push notifications for the user are things like You've got a
 new message, It's Emma's birthday today, etc. The user can decide to
 act upon them (i.e. follow the provided link) or not, but until he does,
 there's no reason to launch an app or even a worker.
 
 Note that similar notifications would also need to be issued by
background
 workers / windows. E.g. The worker spawned above to upload fresh content
 for the newspaper app would be able to send a notification to the user
 when it's done (e.g. Today's news are  been downloaded.)
 
 Sorry if the above feels a bit like a brain dump. I'm really struggling
to
 understand the scope of this proposal. :-/

Actually, our System Message API [1] seems to answer most of those
questions: an application will be able to specify a worker or a page to
use when handling a message so it will be able to just run stuff in the
background and depending on what happened do something like show a
notification (via Desktop Notifications) or update a DB, or whatever.

[1]
https://groups.google.com/group/mozilla.dev.webapi/browse_thread/thread/a3
c6e4c31d04b663/

Thanks for the link!

While it's possible to display push notifications to the user via this
proposal (push notification spawns a worker which notifies the user via
Desktop Notification), on mobile it's probably a quantifiable waste of
battery life compared to push notifications that are directly aimed at the
user.

For applications built in a more traditional way (with server side
rendering, etc.), it still feels like providing the data in query params
should be investigated before it's dismissed.

Overall, I feel like writing down use cases and requirements would be
something useful to do at this point. What do you think?

--tobie





Re: Feedback on Quota Management API

2012-06-04 Thread Tobie Langel
On 6/1/12 12:07 PM, Kinuko Yasuda kin...@chromium.org wrote:
 Makes sense, ok let's keep it.  Then we will have symmetric four
methods, request and query for each type.

Following up on the conversation on Quota Management API and the recent
changes which were agreed upon, I'm wondering whether we shouldn't also
consider the following: Instead of:

navigator.storageInfo.queryPersistentUsageAndQuota
navigator.storageInfo.queryTemporaryUsageAndQuota
navigator.storageInfo.requestPersistentQuota
navigator.storageInfo.requestTemporaryQuota

what about:

navigator.persistentStorageInfo.queryUsageAndQuota
navigator.persistentStorageInfo.requestQuota

navigator.temporaryStorageInfo.queryUsageAndQuota
navigator.temporaryStorageInfo.requestQuota

i.e. instead of having the `QuotaStorageEnvironment` interface define a
single `storageInfo` attribute off of which all 4 methods hang, what about
having it define two attributes of type `PersistentStorageInfo` and
`TemporaryStorageInfo` respectively, each of which would only have a query
and request method?

Finally, I feel it's slightly misleading to have an interface called
info which enables changes (through `requestQuota`). Wouldn't settings
or similar be more appropriate? As in:

navigator.persistentStorageSettings.queryUsageAndQuota
navigator.persistentStorageSettings.requestQuota

Thoughts?

--tobie




Re: Feedback on Quota Management API

2012-06-04 Thread Tobie Langel
On 6/4/12 11:17 AM, Anne van Kesteren ann...@annevk.nl wrote:

On Mon, Jun 4, 2012 at 11:01 AM, Tobie Langel to...@fb.com wrote:
 Finally, I feel it's slightly misleading to have an interface called
 info which enables changes (through `requestQuota`). Wouldn't
settings
 or similar be more appropriate? As in:

navigator.persistentStorageSettings.queryUsageAndQuota
navigator.persistentStorageSettings.requestQuota

 Thoughts?

That seems way long. navigator.storage would be better I think. Or
even defining the relevant methods directly on navigator.

Agreed. Whether you're targeting persistent or temp storage still needs to
appear somewhere, however.

So it's either:

navigator.persistentStorage.requestQuota

or:

navigator.storage.requestPersistentQuota

or:


navigator.requestPersistent(Storage)Quota

I'd favor the first one.

--tobie






Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-04 Thread Tobie Langel
On 6/2/12 6:54 AM, Fabrice Desre fabr...@mozilla.com wrote:

On 06/01/2012 02:36 PM, Tobie Langel wrote:
 On Jun 1, 2012, at 9:58 PM, Marcos Caceres w...@marcosc.com
 mailto:w...@marcosc.com wrote:

 Sounds good. AFAICT, Moz's proposal doesn't really cover packaging
 either ... Not in the sense of wrapping the app using zip or
 something. More metadata, feature control (potentially relevant to
 requiring certain SysApps API), and lifecycle management.

 Agreed. I'd be curious to see how it's planning to interact with
 AppCache (if at all). Also whether integration with a JSON version of
 AppCache has been considered.

We're working on pre-loading the appcache at install time when the
appcache path is specified in the manifest. See
https://bugzilla.mozilla.org/show_bug.cgi?id=702369 for the b2g support,
and https://bugzilla.mozilla.org/show_bug.cgi?id=753990 for desktop
support.

That sounds nice. How do normal web pages link to their own config file? I
haven't seen that mentioned in the spec draft.

--tobie




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-04 Thread Tobie Langel
On 6/4/12 6:41 PM, Fabrice Desre fabr...@mozilla.com wrote:

Hi Tobie,

On 06/04/2012 03:03 AM, Tobie Langel wrote:
 On 6/2/12 6:54 AM, Fabrice Desré fabr...@mozilla.com wrote:
 We're working on pre-loading the appcache at install time when the
 appcache path is specified in the manifest. See
 https://bugzilla.mozilla.org/show_bug.cgi?id=702369 for the b2g
support,
 and https://bugzilla.mozilla.org/show_bug.cgi?id=753990 for desktop
 support.

 That sounds nice. How do normal web pages link to their own config
file? I
 haven't seen that mentioned in the spec draft.

What do you call the config file here?

The Web Application Manifest. (Sorry for the confusion, the Widget
spec calls roughly the same thing a configuration document.)

--tobie




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-04 Thread Tobie Langel


On 6/4/12 9:16 PM, Fabrice Desre fabr...@mozilla.com wrote:

On 06/04/2012 10:38 AM, Tobie Langel wrote:
 On 6/4/12 6:41 PM, Fabrice Desre fabr...@mozilla.com wrote:

 Hi Tobie,

 On 06/04/2012 03:03 AM, Tobie Langel wrote:
 On 6/2/12 6:54 AM, Fabrice Desré fabr...@mozilla.com wrote:
 We're working on pre-loading the appcache at install time when the
 appcache path is specified in the manifest. See
 https://bugzilla.mozilla.org/show_bug.cgi?id=702369 for the b2g
 support,
 and https://bugzilla.mozilla.org/show_bug.cgi?id=753990 for desktop
 support.

 That sounds nice. How do normal web pages link to their own config
 file? I
 haven't seen that mentioned in the spec draft.

 What do you call the config file here?

The Web Application Manifest. (Sorry for the confusion, the Widget
spec calls roughly the same thing a configuration document.)


It's not linked directly in a link or other tag, but passed as a
parameter to the .install() method.

Right, in the app store model. Surely, you're also planning to support
background installs of apps when visiting the apps URL in conjunction with
AppCache. In this case, how will the Web Application Manifest work? How
will it be referenced by the document? Are you planning on something like:

html webapp_manifest=path/to/config.webapp
manifest=path/to/manifest.appcache

--tobie




Re: Feedback on Quota Management API

2012-06-01 Thread Tobie Langel
On 6/1/12 10:34 AM, Kinuko Yasuda kin...@chromium.org wrote:

If we go along the line we will have four methods on StorageInfo:

queryPersistentUsageAndQuota
queryTemporaryUsageAndQuota
requestPersistentQuota

We could also think of 'requestTemporaryQuota', a variant of
requestQuota, but by the nature of temporary storage UA will not
secure/reserve space for temporary storage and I don't think requesting
quota for temporary storage makes a good sense.  (Objections welcome, we
could also leave it to UA and allowing it to return unsupported error)

The fact that a UA can expire temporary data when it detects it has
limited storage space is orthogonal to the amount of said storage the
author might want to have access to. And given temporary data is capped
the same way persistent data is, there needs to be an equivalent API to
request its augmentation. Your draft spec already caters for the case
where not enough space would be available (successCallback may return a
smaller amount of quota than requested.), so I don't think that's a
concern. It's also much better in terms of API consistency.

--tobie




Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-01 Thread Tobie Langel
On Jun 1, 2012, at 7:50 PM, Scott Wilson scott.bradley.wil...@gmail.com 
wrote:
 I'd be interested in implementing  support for the JSON manifest format in 
 Apache Wookie/Apache Rave, but really want this to be properly harmonized 
 with the Widgets specs rather than a competing incompatible spec.

My feeling exactly.

--tobie


Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-01 Thread Tobie Langel


--tobie

On Jun 1, 2012, at 9:58 PM, Marcos Caceres w...@marcosc.com wrote:

 
 
 On 1 Jun 2012, at 18:18, Adam Barth w...@adambarth.com wrote:
 
 On Fri, Jun 1, 2012 at 6:43 AM, Marcos Caceres w...@marcosc.com wrote:
 On 31 May 2012, at 23:23, Adam Barth w...@adambarth.com wrote:
 Is anyone besides Mozilla interested in implementing this specification?
 
 I think people are just trying to work out what it does and if it
 brings value to particular communities.
 
 Having said that, the only other really big (i.e. in terms of millions of 
 users right now) candidate for implementation is Google as this proposal is 
 supposed to harmonise the Chrome store approach to installable Web apps 
 with Moz's go at entering the same market (and sharing apps across 
 stores/browsers).
 
 Adam, as you are associated with Google, can you find out if Google's 
 chrome store team are interested in moving it forward?
 
 My understanding is that standardizing the package format isn't very
 high on the team's priority list.  They're more interested in
 standardizing the security model and associated APIs, which is why
 we're interested in forming the SysApps working group.
 
 Sounds good. AFAICT, Moz's proposal doesn't really cover packaging either ... 
 Not in the sense of wrapping the app using zip or something. More metadata, 
 feature control (potentially relevant to requiring certain SysApps API), and 
 lifecycle management.
 
 As an example, http://dvcs.w3.org/hg/app-manifest/raw-file/tip/index.html
 has a required_features field, which makes some implicit assumptions
 about the security model.  It seems premature to work on a format for
 declaring this sort of information without having nailed down the
 security model.  
 
 I agree.
 
 If I were running the show, I'd take up this work in
 the SysApps working group after we'd made some progress on the
 security model and at least a handful of APIs.  Then we'll have
 something concrete to describe in the manifest.
 
 Seems reasonable. 
 
 Having said that (and I can check with the team if you'd like a
 definitive answer), I doubt they'd oppose folks working on this topic.
 I just wouldn't expect much feedback from them in the near term.
 
 That would be appreciated. Might save some cycles and help priorities... 
 
 Adam
 
 
 On Wed, May 30, 2012 at 11:36 AM, Arthur Barstow art.bars...@nokia.com 
 wrote:
 Hi All,
 
 Besides the thread below that Anant started a few weeks re the Webapp
 Manifest spec, Marcos also started a few threads on this spec ...
 
 What are people's thoughts on whether or not the Quota Management API spec
 is ready for First Public Working Draft (FPWD)?
 
 A rule of thumb for FPWD is that the ED's scope should cover most of the
 expected functionality although the depth of some functionality may be 
 very
 shallow, and it is OK if the ED has some open bugs/issues.
 
 -Thanks, AB
 
 On 5/12/12 2:02 PM, ext Anant Narayanan wrote:
 
 Hi everyone,
 
 I recently joined the webapps working group and I'd like to introduce
 myself! I work at Mozilla and for the past year or so have been working 
 on
 our Apps initiative [1]. Our goal has been to make it very easy for
 developers to build apps using web technologies that can go above and 
 beyond
 what one might achieve using native SDKs on platforms like iOS and
 Android. We're also trying to make it really easy for users to find and
 acquire these apps, and use them on any device they happen to own 
 regardless
 of platform.
 
 As part of this work we have devised a simple JSON based manifest format
 to describe an installable web app, in addition to a few DOM APIs to 
 install
 and manage these apps. We have a working implementation of the entire 
 system
 in our latest Nightly builds.
 
 The manifest and corresponding APIs are described in an early draft at:
 http://dvcs.w3.org/hg/app-manifest/raw-file/tip/index.html
 
 We'd like to propose using that draft as the basis for a FPWD on this
 topic. I look forward to your feedback!
 
 
 FAQs
 --
 There are a few questions I anticipate in advance, which I will try to
 answer here, but we can definitely go in more depth as necessary on the
 list:
 
 Q. Why not simply reuse the widgets spec [2]?
 
 A. Aside from naming (we're talking about apps, the word widget seems 
 to
 imply an artificial limitation), and replacing XML with JSON; the other
 fundamental difference is that the widget spec describes packaged apps,
 whereas our manifest describes hosted apps.
 
 We think hosted apps have several interesting and unique web-like
 properties that are worth retaining. Hosted apps can be made to work 
 offline
 just as well as packaged apps with AppCache (which is in need of some
 improvement, but can be made to work!). Packaged apps do have their own
 advantages though, which we acknowledge, and are open to extending the 
 spec
 to support both types of apps.
 
 
 Q. Why is the DOM API in the same spec as the manifest?
 
 A. One success condition for us would 

Re: [manifest] Is the Webapp Manifest spec ready for FPWD?

2012-06-01 Thread Tobie Langel
On Jun 1, 2012, at 9:58 PM, Marcos Caceres 
w...@marcosc.commailto:w...@marcosc.com wrote:

Sounds good. AFAICT, Moz's proposal doesn't really cover packaging either ... 
Not in the sense of wrapping the app using zip or something. More metadata, 
feature control (potentially relevant to requiring certain SysApps API), and 
lifecycle management.

Agreed. I'd be curious to see how it's planning to interact with AppCache (if 
at all). Also whether integration with a JSON version of AppCache has been 
considered.

--tobie

P.S. sorry for the blank email I posted minutes earlier. Hit the wrong button.


Re: Push API draft uploaded

2012-05-31 Thread Tobie Langel
On 5/30/12 11:14 AM, Mounir Lamouri mou...@lamouri.fr wrote:

 * I guess the idea of |onmessage| is that the PushService instance will
 get an event when the backend will push a notification to the webapp.
 However, I wonder how you do handle the situation when the application
 is actually not being ran. Or should we wait for it to be launched?
 Anyhow, coupling the URL request and the event handling at the same
 place seems weird.

 bryan Not at all. This is the way that EventSource works for example
(the message handler is overtly associated with the request to a
specific service URL). I'm not sure what you mean by when the
application is actually not being ran... if you mean when the app is
not running, the answer is yes, the app should be started and the
event then delivered to it.
 
 Running a webapp/website then sending an event to it seems a rather hard
 task. This is actually what motivated the System Message Handler API.
 
 bryan I'm not sure how it's hard; the Webapp just arranges for Push
message delivery when it is invoked, and events are delivered to the
object that represents the service arrangement (whether connection-based
or connectionless or whatever). I may be missing your counterpoint.

I wasn't clear I think. If you start an application because of a
particular event, the application has no way to know it has been started
because of the event until the event is actually sent. But the event
will be sent at a point during load (or after) and in the meantime, the
application might show a UI as if it was simply started by the user. So
you might have a weird UI flickering where something will be shown and
very quickly will be changed to something else because of the push
notification coming.

Agreed with Mounir here. While passing an event to a running app makes
sense (and already exists in the form of EventSource) it really doesn't
for apps which are not running. Passing the event data as query params
seems more suitable in that case.

 * If we want want a |wakeup| attribute, this might need to live in the
 manifest as Jose suggested. In general, I wonder if that should be
 something the UA requests. I would understand why the UA would ignore
 |wakeup = true| but I wouldn't understand why it should always follows
 the passed value.

 bryan The wakeup feature might be turned on by the app through an
interface with the user, and used sometimes and others not per the
needs of the app and preferences of the user (app managed). If it's in
the manifest, it's fixed. I don't believe the UA should ignore the
requirements of the app, when the user has given their permission for
its operation as needed (both by browsing/installing the app, and
overtly by approving Push service use).
 
 I'm not sure I understand how the user would give its permission here.
 
 bryan By navigating to the Webapp (implicitly, in the case that the
Webapp had previously been permitted access to Push services by the
user), and by accepting the UA's prompt as to whether this app should be
allowed to receive Push messages the first time the user navigates to it
(explicitly).

So the user doesn't really give its permission to the app to wakeup the
device but to the app to be able to receive push notifications. Then,
the app is the only one deciding if it will wakeup the device or not.
I'm not a big fan of that approach but I don't really have a better idea
for the moment.

I'm probably missing something here, but notifications don't seem to be
going through a system- / browser-wide notification panel from which the
user can decide whether or not to navigate to an application. In other
words, it looks like we're considering server -- app push notifications,
rather than server -- user push notifications.

If that's case, how are we planning to handle waking up application A
without disrupting the experience of the user currently busy using
application B in the foreground (thinking essentially of mobile here)?

Are we going to wake up application B but run it as a background app? If
so, where is that behavior defined? Is that akin to a WebWorker or more of
a headless window? What's the life-cycle of such an app? Also, how can
this app alert the user that it has something new for him? Do we also have
system level notifications in the work?

If a given notification's sole purpose is to advise the user of some
information he may or not want to act upon (e.g.: you have new mail),
what are the benefits of waking up the application (or even spawning a
worker) to do so? That seems like it would drain the battery of mobile
devices for little purpose.

Finally, aren't we conflating the notion of background work following a
remote server or system event with that of push notification to the user?

An example of background work following a remote server event would be the
background update of daily news for a newspaper application. A remote
server would send an event to the system / browser which itself would
launch a WebWorker, that worker 

Re: [admin] Mail List Policy, Usage, Etiquette, etc. Top-posting

2012-05-31 Thread Tobie Langel
On 5/31/12 11:58 PM, SULLIVAN, BRYAN L bs3...@att.com wrote:

bryan How about a practical suggestion for the (probably many) of us
that have to use Microsoft Outlook?

From: http://wiki.whatwg.org/wiki/FAQ#Mailing_List


If you use Outlook or Outlook Express, you can use either Outlook-QuoteFix
[1] or OE-QuoteFix[2]. These plugins fix several of Outlook's problems
with sending properly formatted emails.

--tobie

---
[1]: http://home.in.tum.de/~jain/software/outlook-quotefix
[2]: http://home.in.tum.de/~jain/software/oe-quotefix




Re: [admin] Mail List Policy, Usage, Etiquette, etc. Top-posting

2012-05-30 Thread Tobie Langel


On 5/29/12 6:52 PM, Tab Atkins Jr. jackalm...@gmail.com wrote:

On Tue, May 29, 2012 at 9:28 AM, Jean-Claude Dufourd
jean-claude.dufo...@telecom-paristech.fr wrote:
 On 29/5/12 17:56 , Julian Reschke wrote:

 On 2012-05-29 16:53, Glenn Maynard wrote:

 On Tue, May 29, 2012 at 9:22 AM, Arthur Barstow art.bars...@nokia.com
 mailto:art.bars...@nokia.com wrote:

  * Messages should be encoded usingplain text
 http://en.wikipedia.org/wiki/Plain_text


 No, messages should have a plaintext *version* (MIME alternative).
It's
 common and useful to use HTML messages, especially when posting about
 actual spec text, where being able to use italics and bold is
extremely
 useful.  This is quite a relic; I havn't heard anyone make the emails
 should only be in plain text claim in a decade or so.


 Emails should only be in plain text.

 JCD: It would be easier for me to comply with this rule if I understood
the
 rationale.
 My perception is that this rule is not relevant any more.

 Against this rule, I claim that the readability of replies in text-only
 threads is much worse, unless the replier spends ages paying attention
to
 text formatting by hand which is not acceptable. At least, that was the
case
 the last time I tried.

There are several fairly simple reasons supporting Glenn's point
(Julian's is simple excessive):

You forgot an important one: the archives don't support HTML. A great deal
of information might get lost if you're relying on HTML formatting to
convey your message.

--tobie





Re: Feedback on Quota Management API

2012-05-30 Thread Tobie Langel


On 5/30/12 6:30 PM, Kinuko Yasuda kin...@chromium.org wrote:

Thanks for the feedback!

On Tue, May 29, 2012 at 11:07 PM, Tobie Langel to...@fb.com wrote:

On 5/17/12 11:02 AM, Kinuko Yasuda kin...@chromium.org wrote:

For context for others, I assume they are comments for the draft pushed
at:
https://dvcs.w3.org/hg/quota/Overview.html


I'm super excited to see an API for this is in the works. It's been a much
wanted feature by developers.

Couple of thoughts/questions (sorry for the late feedback, I was on
parental leave):

1. My experience with measuring maximum storage quota in existing
implementations shows that while some implementations share a common quota
across different data stores (e.g. 10 MB for both localStorage and
AppCache on iOS last time I looked), not all do. What's the reasoning
behind enforcing this (is it easier for implementors? Better for
developers?) and is there agreement across implementors that this is the
way forward?

I believe this is for developers and users.  (I don't think this would
make
it easier for implementors)
Today we have multiple API options to store data locally, but most users
wouldn't care which API an app is using.  They might be interested in
how much data is stored by an app or why my disk is getting tighter,
but wouldn't be interested in I'm ok with API X storing B bytes, but
not for API Y.  Similarly I can imagine developers would care about
how much more they can store for their app, but they wouldn't want to
care about multiple quota values for each API.  Overtime they
may want to switch storage APIs, but if the switch requires quota
adjustment across storage that sounds very awkward.

This idea has been discussed several times on this list before, and
in my belief there's some consensus we want to have a single quota
across different storages (some pointers from past discussion: [1][2]).

[1] 
http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0400.html
[2] 
http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0357.html

Makes sense and thanks for the pointers.

2. If the case is that we're going for a binary choice (i.e. persistent
vs. temp data stores) why not create specific methods for each rather than
pass a constant (or string) as first argument: e.g.:

navigator.storageInfo.queryTemporaryUsageAndQuota


and

navigator.storageInfo.queryPersistentUsageAndQuota


That'll avoid having to deal with typos in the first arg, error handling
in that case, etc.

I haven't thought about this before, nor have a strong opinion on this,
but I remember that in the past someone has commented that only two
storage types might not be enough.  I don't think we want more storage
types right now, but keeping it as enum or constant would make it easier
to add more storage types in a future.  What do you think?

I can't think of a storage type (or anything else, for that matter) that
would be neither persistent nor temporary.

Also: http://robert.ocallahan.org/2012/05/canvas-getcontext-mistake.html

--tobie





[IndexedDB] Normative content arguably informative in IndexedDB LC draft

2012-05-30 Thread Tobie Langel
Hi,

Section 6 (Privacy) and 7 (Authorization) of the IndexedDB LC draft[1]
feel very informative, yet they're not marked as such.

Is there ground to keep them as normative content or should we explicitly
mark them as non-normative, remove their usage of the RFC 2119 MAY
keyword, and mark the linked references ([COOKIES]) as informative?

Best,

--tobie

---
[1] http://www.w3.org/TR/2012/WD-IndexedDB-20120524/




Re: Feedback on Quota Management API

2012-05-30 Thread Tobie Langel
On 5/30/12 9:03 PM, Eric U er...@google.com wrote:

On Wed, May 30, 2012 at 11:59 AM, Boris Zbarsky bzbar...@mit.edu wrote:
 On 5/30/12 2:05 PM, Eric Uhrhane wrote:

 How about session, which is guaranteed to go away when the browser
 exits


 Should it go away if the browser crashes (or is killed by an OOM killer
or
 the background process killer on something like Android) and then
restarts
 and restores the session?

 Should it go away if the user has explicitly set the browser to restore
 sessions and then restarts it?

Off the top of my head, I dunno.  I was just giving examples to
explain that I can't think of any other storage types isn't a very
solid argument that there will never be any more.  I'm not actually
proposing that we implement any of these at this time.

Agreed, that's orthogonal.

I was trying to make two points. The first, pedantic, that the union of
persistent and temporary storage was the universe and thus that all future
data stores would fit in either one of those (e.g. Session goes in
temporary, document-local would necessarily have to be one or the other
(or in both), etc.). The second, that avoiding the first parameter would
make the API more readable, more weby, more robust, and still as
extensible (nothing prevents adding a
`navigator.storageInfo.querySessionUsageAndQuota` property).

Also, having read Robert's blog post now, I think he makes some good
points, especially w.r.t. feature detection.

Yeah, that was a timely finding, bumped into it minutes after my first
email.

--tobie




Re: Feedback on Quota Management API

2012-05-29 Thread Tobie Langel


On 5/17/12 11:02 AM, Kinuko Yasuda kin...@chromium.org wrote:

Thanks for the feedback!

For context for others, I assume they are comments for the draft pushed
at:
https://dvcs.w3.org/hg/quota/Overview.html

I'm super excited to see an API for this is in the works. It's been a much
wanted feature by developers.

Couple of thoughts/questions (sorry for the late feedback, I was on
parental leave):

1. My experience with measuring maximum storage quota in existing
implementations shows that while some implementations share a common quota
across different data stores (e.g. 10 MB for both localStorage and
AppCache on iOS last time I looked), not all do. What's the reasoning
behind enforcing this (is it easier for implementors? Better for
developers?) and is there agreement across implementors that this is the
way forward?

2. If the case is that we're going for a binary choice (i.e. persistent
vs. temp data stores) why not create specific methods for each rather than
pass a constant (or string) as first argument: e.g.:

navigator.storageInfo.queryTemporaryUsageAndQuota



and

navigator.storageInfo.queryPersistentUsageAndQuota


That'll avoid having to deal with typos in the first arg, error handling
in that case, etc.

Best,

--tobie




Re: [DOM3 Events/DOM4] re-dispatching trusted events with initEvent

2012-04-24 Thread Tobie Langel
On 4/24/12 9:54 PM, Travis Leithead travis.leith...@microsoft.com
wrote:

Glenn, isTrusted is the indicator that helps the web developer
distinguish between an event fired by the UA, or one fired by JavaScript
(e.g., dispatchEvent).

 
From: Glenn Maynard [mailto:gl...@zewt.org]
 

What's the point of isTrusted, anyway?  You have to trust other scripts
running in the same page anyway.  Does it come into play with
cross-origin iframes or something?

See http://www.w3.org/TR/DOM-Level-3-Events/#events-event-type-isTrusted

--tobie




Re: [DOM3 Events/DOM4] re-dispatching trusted events with initEvent

2012-04-24 Thread Tobie Langel
On 4/24/12 10:00 PM, Glenn Maynard gl...@zewt.org wrote:

On Tue, Apr 24, 2012 at 2:54 PM, Travis Leithead
travis.leith...@microsoft.com wrote:

Glenn, isTrusted is the indicator that helps the web developer
distinguish between an event fired by the UA, or one fired by JavaScript
(e.g., dispatchEvent).

I know what it does; I'm asking what its purpose is.  When is this useful?

Are you asking about the purpose of exposing the property or the purpose
of trusted events?

The latter's obvious: prevent visited content from triggering actions the
UA wants to allow only after a user action. The former I'm not sure.

--tobie




Re: [DOM3 Events/DOM4] re-dispatching trusted events with initEvent

2012-04-24 Thread Tobie Langel
On 4/24/12 11:04 PM, Boris Zbarsky bzbar...@mit.edu wrote:

On 4/24/12 5:02 PM, Boris Zbarsky wrote:
 Oh, and that's before we get into default actions implemented by
 extensions.

And one more thing: extensions _definitely_ want to know whether events
are trusted or not.  This doesn't necessitate a web-exposed API,
obviously; the property could only be visible in extension code.  But it
does necessitate the internal flag.

So is it exposed to web content to fulfill particular use-cases?

--tobie




Re: Draft report for offline apps workshop

2012-04-10 Thread Tobie Langel
On 4/7/12 1:42 PM, Arthur Barstow art.bars...@nokia.com wrote:

I kinda' recall there was a proposal in the HTML WG to move the app cache
functionality to a separate spec. Does anyone know the status of that
proposal?

I don't know what the status is, but we'd be highly supportive of such a
split.

--tobie




Re: publish Candidate Recommendation of Web Workers; deadline April 11

2012-04-04 Thread Tobie Langel
On 4/4/12 5:37 PM, SULLIVAN, BRYAN L bs3...@att.com wrote:

I support the publication as a CR.

+1




Re: publish Candidate Recommendation of HTML5 Web Messaging; deadline April 11

2012-04-04 Thread Tobie Langel
On 4/4/12 5:37 PM, SULLIVAN, BRYAN L bs3...@att.com wrote:

I support the publication as a CR.

+1




Re: Regarding app notification and wake up

2012-03-19 Thread Tobie Langel
I second Bryan's request.

Having apps that need to monitor remote events each spawn a (shared)worker
to do so could drain a phone's battery very quickly.

There needs to be a system-level way to do this.

--tobie

On 3/12/12 11:47 PM, SULLIVAN, BRYAN L bs3...@att.com wrote:

Karl, excellent questions.

Re (1), there are various systems of device addressing in use today,
largely dependent upon the notification delivery system. An assumption to
start with is that barring any optimizations which enable seamless
switching between SSE connections and connectionless delivery (which
requires a delivery agent/client on the device, feasible but still an
optimization - we can table that for now, in this discussion), is that
the webapp coordinates whatever connectionless/shared delivery system is
to be used along with the appropriate addressing scheme and address, with
the webapp server prior to the switch (or in the setup of the original
connection). Without getting too deep in to specific system designs I can
say that this does work and can demo the concept pretty soon (I'm
implementing a demo now).

Re (2), since the webapp creates a specific eventsource object (using SSE
as the model), there is a direct thread back to it from the user agent.
What is needed for the user agent to deliver only the specific events
that the webapp desires, is that there needs to be some filter criteria
that is negotiated with the webapp server (or delivery system) e.g. as
part of the original eventsource object creation. In OMA Push, we have an
Application ID header that is used for this purpose (it can carry any
arbitrary value, and be used by the user agent or a local Push Client to
filter out events other than those desired). Webapps can also use any
arbitrary application-layer data to filter or apply trust to incoming
events, but this is a convenient thing to do by a UA or Push Client and
that's why we included that in the OMA Push design. Other notification
delivery systems probably have similar features. The goal is not however
to reference delivery-system specific features directly in the W3C API,
but to describe how such app addressability is possible in general, and
at most to all generic filter criteria mechanisms to the API (e.g. this
header equals that value, or more generically this token is present with
that value).

Re (3), I think the web authentication system (same-origin policy and
CORS) is strong enough for what is needed here. Beyond that, apps can use
any high-order security for authentication/authorization tokens to be
included in the application data or as headers (in delivery systems that
follow the HTTP header+body model, ala OMA Push).

There's probably a lot in the above statements that need to be unpacked
in more detail. That's why we proposed this for the charter update. We
have been involved in Push-based enabler and service design since
pre-2000, and with that background I think we have a good foundation to
resolve the questions you noted.

Thanks,
Bryan Sullivan

-Original Message-
From: Karl Dubost [mailto:ka...@opera.com]
Sent: Monday, March 12, 2012 2:04 PM
To: SULLIVAN, BRYAN L
Cc: Ian Hickson; Stefan Hakansson LK; public-webapps@w3.org
Subject: Re: Regarding app notification and wake up


Le 9 mars 2012 à 19:43, SULLIVAN, BRYAN L a écrit :
 This is different from the earlier discussion on extending SSE to
connectionless event sources, as there's no assumption the Webapp is
running in this case. If the Webapp *is* running, it's within the scope
of what we have discussed earlier as SSE extensions (and not technically
a wakeup).

If I understood the use case, it means that

1. the device is addressable (except for customers with a subscription to
a Mobile Operator, not sure how we would do that. Any ideas? Maybe on
local network that would be feasible but doesn't answer the use case it
seems.)
2. the software is addressable (more than one software able to process a
specific request. Think about Opera and Firefox on the same device.)
3. that also requires a strong authentication system

I can see the appeal, but I balance it with spam at large scale too.
The UX model of SSE is that the user is still initiating the call.

Related to the initial mail
http://lists.w3.org/Archives/Public/public-webapps/2012JanMar/0008
http://bkaj.net/w3c/eventsource-push.html




-- 
Karl Dubost - http://dev.opera.com/
Developer Relations, Opera Software






Re: CfC Re: Charter addition proposal: screen orientation lock

2012-02-15 Thread Tobie Langel
In the Screen Orientation API draft, I don't see any references to
locking. Is this by design?

It's in the abstract:

The Screen Orientation API's goal is to provide an interface for web
applications to be able to read the screen orientation state, to be
informed when this state changes and to be able to lock the screen
orientation to a specific state.
--http://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html

--tobie




Re: CfC: Proposal to add web packaging / asset compression

2012-02-15 Thread Tobie Langel
I'm not particularly set on one direction to solve this problem. I just
want to get it solved, and if SPDY, along with a much improved
programmatically controllable appCache is the preferred solution, let's
go for it.


I, along with probably plenty of other web developers, am still
inexperienced with SPDY, and thus, maybe we should take this conversation
into a different direction, trying to come up with a backward-compatible
SPDY demo that solves every issue of asset
 delivering and caching. Here's a rough list of things it needs to do:

You should grab a copy of Chris Strom's The SPDY Book
(http://pragprog.com/book/csspdy/the-spdy-book).

Best way I found to get up to speed (pun intended) on SPDY (and I'm
usually not a fan of tech books).

--tobie





Re: Numeric constants vs enumerated strings

2012-02-15 Thread Tobie Langel

On Wed, 15 Feb 2012 14:57:00 +0100, Harald Alvestrand
har...@alvestrand.no wrote:
 *This is a call for help from the WEBRTC working group.
 We are defining a new API
 (http://dev.w3.org/2011/webrtc/editor/webrtc.html) about:blankwhich
 has a number of cases where it needs to use arguments, or expose state
 variables, that can take only a limited set of values.

Unless there are strong ties to certain legacy APIs I would suggest using
 
strings. They are easier for developers to author, easier for developers
to maintain, easier in the future to extend, and have practically no
drawbacks.

I second that. Authors barely ever used the defined constants (for good
reason, some implementations were missing them) preferring to use integers
directly.

Instead of seeing the verbose but descriptive:

if (node.nodeType == Node.ELEMENT_NODE) { ... }

one came across the following more often than not:

if (node.nodeType == 1) { ... }

to which: 

if (node.nodeType ==  element) { ... }

should be preferred.

Constants would only have practical benefits over strings if they were
defined in the global scope, as in:




if (node.nodeType == NODE_ELEMENT_NODE) { ... }

as typos would be caught early on (undeclared variables throw
ReferenceErrors).

--tobie




Re: Enabling a Web app to override auto rotation?

2012-02-10 Thread Tobie Langel
Device-level orientation lock deals with different use-cases than the ones
we are discussing here. It let's the user force the device into either of
portrait or landscape mode whatever the physical orientation of the device
actually is.

The main reason for this need is that orientation of the device is
relative to the Earth's gravitational field and not to the physical
position of the user. That's typically annoying when you want to read
while lying down on your side. If the device's orientation was obtained
relative to the user's face (e.g. by means of a camera doing facial
recognition) the need for a device-level orientation-lock might not even
exist.

Document-level orientation lock is different. It isn't so much about
enabling applications to change orientation as it is about signaling to
the UA that UI only exists in one of portrait or landscape mode.

A good analogy is to think of photos or movies. The device's orientation
(or the dimensions of the screen) on which they are displayed won't
suddenly modify their characteristics. A picture in portrait mode is a
picture in portrait mode. Rotating it sideways won't suddenly turn it
(hah!) into a picture in landscape mode. How the device decides to display
it (cropping it, surrounding is with black bars, asking the user to rotate
the device) is an orthogonal issue.

Of course there are a number of points of friction (e.g. how do you handle
document-level and system-level oreientation-locks conflict, what happens
when you browse through a series of documents which have different
document-level orientation-locks, etc.), but these are best discussed as
part of the WG's work rather than in a preamble to decide whether or not
this is worth adding to the charter.

--tobie

On 2/10/12 6:28 AM, timeless timel...@gmail.com wrote:

Personally I consider this a QoI issue for UAs.

There will be lots of web pages that won't support / use this
auto-rotation suppressor. UAs will need and want to let their users
deal with this.

The BlackBerry PlayBook for instance has an item for it: swipe in from
top right corner, tap the orientation widget, select lock orientation,
tap the application  content area, move on with life.

I'm not saying it's perfect, and I've been planning to write out more
detailed proposals for more advanced things, but sometimes adding a
web-API doesn't really help the user. This isn't a web page problem,
it's a system problem, and the user will benefit from having a
*single* and *consistent* method for addressing it across all
applications, native, web, and web written by other people who decide
to put buttons and widgets in places the user won't expect.

Disclaimer: while my employer isn't endorsing my opinion, I'm happy to
use its products.

On 2/8/12, Tobie Langel to...@fb.com wrote:
 The general use case is any UI that's been designed exclusively for
 portrait or landscape mode because displaying it in the other mode
either
 doesn't make any sense (e.g. most platform games), requires some
artifice
 that the designer wanted to avoid (e.g. to function in landscape mode,
 e-readers rely on the book metaphor), or isn't cost effective (i.e. it
 requires designing two radically different UIs instead of one).

 --tobie

 On 2/8/12 9:16 AM, Marcos Caceres w...@marcosc.com wrote:




On Wednesday, 8 February 2012 at 07:39, Charles Pritchard wrote:

 In case it's needed; use case:

 User is drawing a sketch on their mobile phone and their rotation is
intentional as if they are working with a physical piece of paper.
or a car game where the driving is controlled by how much the device is
rotated (you want the orientation locked, probably to landscape)Š There
are other games, like Rolando [1], that make use of both portrait,
landscape, and a kind of fixed modeŠ where the orientation is fixed
no matter what way you rotate the screen (think of rotating a video
cameraŠ the world in the view finder stays fixed)

[1] http://rolando.ngmoco.com/




-- 
Sent from my mobile device





Re: Enabling a Web app to override auto rotation?

2012-02-10 Thread Tobie Langel
Absolutely. This is currently handled at the application level by the
games themselves, which is ridiculous. If there was a proper way for a
game to specify in what orientation it was supposed to be played, then
conflicts between the game's needs and the device's current orientation
could be handled at system level and be consistent across all applications.

--tobie

On 2/10/12 8:29 AM, Jordan Dobson jordandob...@gmail.com wrote:

One way people do this today already is to use media queries to hide the
UI when it's rotated into an orientation they don't support.
Example:

* http://mrgan.com/pieguy/
* http://cl.ly/E5fw
* http://cl.ly/E56V

Hope this helps if anyone is looking to do anything similar in the near
future.

- Jordan

On Thu, Feb 9, 2012 at 9:28 PM, timeless timel...@gmail.com wrote:


Personally I consider this a QoI issue for UAs.

There will be lots of web pages that won't support / use this
auto-rotation suppressor. UAs will need and want to let their users
deal with this.

The BlackBerry PlayBook for instance has an item for it: swipe in from
top right corner, tap the orientation widget, select lock orientation,
tap the application  content area, move on with life.

I'm not saying it's perfect, and I've been planning to write out more
detailed proposals for more advanced things, but sometimes adding a
web-API doesn't really help the user. This isn't a web page problem,
it's a system problem, and the user will benefit from having a
*single* and *consistent* method for addressing it across all
applications, native, web, and web written by other people who decide
to put buttons and widgets in places the user won't expect.

Disclaimer: while my employer isn't endorsing my opinion, I'm happy to
use its products.

On 2/8/12, Tobie Langel to...@fb.com wrote:
 The general use case is any UI that's been designed exclusively for
 portrait or landscape mode because displaying it in the other mode
either
 doesn't make any sense (e.g. most platform games), requires some
artifice
 that the designer wanted to avoid (e.g. to function in landscape mode,
 e-readers rely on the book metaphor), or isn't cost effective (i.e. it
 requires designing two radically different UIs instead of one).

 --tobie

 On 2/8/12 9:16 AM, Marcos Caceres w...@marcosc.com wrote:




On Wednesday, 8 February 2012 at 07:39, Charles Pritchard wrote:

 In case it's needed; use case:

 User is drawing a sketch on their mobile phone and their rotation is
intentional as if they are working with a physical piece of paper.
or a car game where the driving is controlled by how much the device is
rotated (you want the orientation locked, probably to landscape)Š There
are other games, like Rolando [1], that make use of both portrait,
landscape, and a kind of fixed modeŠ where the orientation is fixed
no matter what way you rotate the screen (think of rotating a video
cameraŠ the world in the view finder stays fixed)

[1] http://rolando.ngmoco.com/






--
Sent from my mobile device







-- 
Jordan Dobson ? Designer / Developer ? 425-444-8014 ? JordanDobson.com
http://JordanDobson.com





Re: Installing web apps

2012-02-09 Thread Tobie Langel


On 2/9/12 1:21 PM, Marcos Caceres w...@marcosc.com wrote:

On Wednesday, February 8, 2012 at 10:33 PM, Adrienne Porter Felt wrote:

   I agree that the current UI is not great. However, I disagree about
everyone clicking through permission grants. I've done two user
studies and found that about ~18% of people look at permissions for a
given installation, and about ~60% look occasionally. We found that most
have no idea what they really mean -- but that is a separate problem
pertaining to the presentation. Also, about 20% of people have in the
past avoided apps that they considered bad because the permissions
alerted them to something that they didn't like.
  
  
  Did you publish this research somewhere? Would be interested to know
your sample size and type, response rate, etc.
 
 It's in submission, but I can put together a tech report if you are
interested. Results are from two studies: self-reported data from 308
online Android users (recruited via Admob), and confirmed by an
observational study of 25 Android users in the bay area (selected from a
large pool of Craigslist applicants so that they match the overall
Android population by gender, age, etc.).

At Facebook, we use a pretty fine-grained permission system for users to
grand third party apps access to their data, rights to post on their
behalf, etc. 

The correlation between the number of permissions requested by the app and
the percentage of users which will avoid using the app altogether is
strong, so much so that we're warning devs against asking for too many
permissions upfront:

There is a strong inverse correlation between the number of permissions
your app requests and the number of users that will allow those
permissions. The greater the number of permissions you ask for, the lower
the number of users that will grant them; so we recommend that you only
request the permissions you absolutely need for your app.
--https://developers.facebook.com/docs/authentication/

Only ask for the permissions you actually need; the more you ask for, the
less likely users will grant them. Users may join your app and
automatically trust their friends, but the first hurdle is trusting your
app when first prompted with the permissions dialog.
--https://developers.facebook.com/socialdesign/personalize/

Instead, we advocate a permissions model which lies somewhere in the
middle of what has been discussed here so far:

There's an initial request of permissions done prior to the app being
first used. If these permissions are granted, they are granted
indefinitely (or until the user revokes them). If they are not, the app
just can't be used. After that, the application has the possibility to ask
extra permissions any number of times. This is typically done following a
user action that the existing permissions won't allow. Permissions granted
that way (and this is key difference with the models discussed so far) are
also granted indefinitely.


Best,

--tobie




  1   2   >