I have been thinking a bit on Desktop Notifications [1]. After reviewing the
Web Notification specification [2], I would like to propose the following
changes:
1) Factor out the permission api into a new interface and/or spec. The ability
to test for a permission without bring up a UI would improve the UX of device
access. I could imagine implementing this feature for use with Geolocation as
well as notifications. For example:
interface Permissions {
// permission values
const unsigned long PERMISSION_ALLOWED = 0;
const unsigned long PERMISSION_UNKNOWN = 1;
const unsigned long PERMISSION_DENIED = 2;
void checkPermission(in DOMString type, in Function callback);
}
Then we could do something like:
navigator.permissions.checkPermission("desktop-notification", function(value)
{});
or
navigator.permissions.checkPermission("geolocation", function(value) {});
2) Add language to the spec to indicate that the DOMStrings used
|createNotification| are not to include any mark up. Basically,
implementations are going to hand off notifications to system-level services.
For example, on the Mac, GROWL does not handle any mark up... their API just
takes plain strings. I'd like to see the API reflect this reality. Something
like "the |title| and |body| arguments are to be treated as plain text"... or
some such language.
3) Move Web notifications to a version 2 of the specification. For the most
basic use cases, this API isn't required and a web developer could use the more
base API to simulate this. Furthermore, as I mentioned above, many
system-level notification services know nothing about rendering html.
I hope that this is helpful,
Doug Turner
Mozilla Corp
[1] http://dougt.org/wordpress/2010/06/desktop-notifications/
[2] http://dev.w3.org/2006/webapi/WebNotifications/publish/