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/

Reply via email to