Re: CR: Web Notifications

http://www.w3.org/TR/2015/CR-notifications-20150519/

>    Return notification, but continue running these steps asynchronouusly [sic].

> When this specification refers to displaying notifications on the "desktop",
> it generally refers to some static display area outside the web page,
> but may take several forms, including:

but -> but that | but it

> It does not specify exactly how a user agent should display these notifications [...]

> This specification does not define exactly how the user agent should display the notification, [....]

You said the same thing twice within two paragraphs.

> In particular, notifications as specified here only can contain text and icon content.

only can -> can only

> in case the underlying notification platform does not provide that capability.

or the user agent chooses not to use the capability... ?

> A notification allows alerting the user outside the context of a web page of an occurrence,

"occurrence" isn't usually used like this. While it's considered
synonymous with "event" or "incident", it isn't typically used on its
own (unlike "event").

I assume you picked it to avoid using "event" (because event is
overused in computers/DOM).

I'd suggest: occurrence -> that something happened

> Developers are encouraged to not convey information through
> an icon, sound, or vibration pattern that is not otherwise accessible to the end user.

While that's a good thing to encourage, it's probably worth explaining
*why*, (insert link to an A11y / WAI document).

> behaviour

W3C is technically en-US, this should be behavior (and ideally
pubrules would complain about it).
Also, you use behaviors (en-US) later in the document:

> Notification objects dispatch events during their lifecycle, which developers can use to generate desired behaviors.


> When *a* notification notification is activated by the user,
...
> for each Notification object representing notification,

Why "for each"? there's only one ("a") at the beginning of the sentence.

I'm pretty sure the answer is
http://www.w3.org/TR/2015/CR-notifications-20150519/#tags-example

Typically an API only talks about a single context consumer, in which
case my suggested change is still correct (there may be two windows
running through the same steps, but each of them see the notification
and each only has a single Notification object).

> queue a task to fire an event named click on the Notification object.

> When the available display space changes on the device such that a new notification can be displayed,

What happens when the display space shrinks?

This can happen because:
1. A removable display (which was primary) is removed
2. Remote control is taken by a smaller system
3. A projectable system shifts its projection (this includes RDP,
Microsoft Continuum, and Sun Ray Sessions)
4. Screen orientation changes from portrait to landscape (or vice versa)

> Once fetching has finished and the image format is supported,

this `and` should be an `if`

> set notification's icon image to the decoded resource.
> (Otherwise notification has no icon image.)

This parenthetical should be some sort of else...

> Display notification on the device (e.g. by calling the appropriate notification platform).

Presumably platform -> platform api

> If the notification platform supports icons, new's icon URL is set
> and has not yet been fetched, fetch it and wait for the resource to be fully downloaded.

"fetched" doesn't seem to have a note about "staleness" (I only
quickly read the If I fetch a resource and it expires in 1 minute, and
then I queue a notification a minute later, has it been "fetched" for
the purposes here?

> If options's lang is a valid BCP 47 language tag, or the empty string,
> set notification's language to options's lang, or set it to the empty string otherwise. [LANG]

.... or ... otherwise -> .... otherwise ...

> If the notification platform supports icons, the user agent may start fetching notification's icon URL at this point, if icon URL is set.

This would read better as:

if icon URL is set and the notification platform supports icons, the
user agent may start fetching notification's icon URL at this point.

> The tag attribute must return the notification's tag and the empty string otherwise.

you use both ".... or ... otherwise" and ".... and ... otherwise", I'd
encourage you to avoid both. (There's probably a pattern for your use
of both, but English doesn't support it.)


http://www.w3.org/TR/2015/CR-notifications-20150519/#tags-example


Say
Instance 1
// Instance notices there is new mail.
x= new Notification("New mail from John Doe",
                 { tag: 'message1' });


Instance 2:
// Slightly later, this instance notices
// there is new mail.
y = new Notification("New mail from John Doe",
{ tag: 'message1' });


Instance 1:
// Slightly later, because it feels like it
x.close()

What happens to y?
Are any events triggered?

Received on Thursday, 4 June 2015 20:38:12 UTC