<div dir="ltr">Hi,<br>I'd like to comment on Notifications part of the spec: <a href="http://www.whatwg.org/specs/web-apps/current-work/#notifications">http://www.whatwg.org/specs/web-apps/current-work/#notifications</a><div>
<br>In short, I think those notifications should be more like a "balloon popups" or "toasts" with content rendered by the user agent in HTML form. Currently, they are spec'ed as 3 strings + icon and rendered in the way "system notifications" are rendered on a particular system.<br>
<br></div><div>So instead of:<br>  <script><br>   function callback() { ... }<br>   ...<br>   window.showNotification("You've got mail!", <br>                                       "From: Santa Claus", <br>
                                       "What's in your wishlist?", <br>                                       "http://.../icon.png",<br>                                       callback);<br>   ...<br>
   </script><br>   <br>it would be closer to:<br>  <script><br>   ...<br>   balloon_window = window.open("http://.../mail_notification?id=....", "_notification"); <br>   ...<br>   </script><br>
<br>As a team that worked on Google Talk Labs Edition which is a "web app in a desktop frame", we've implemented balloon notifications for Google Calendar, GMail and Talk chat - example of their look is here: <a href="http://www.google.com/talk/labsedition">http://www.google.com/talk/labsedition</a> . They are rendered as HTML+JS. Doing UX iterations on those convinced us that simple text notifications do not solve majority of use cases.<br>
<br></div><div>The text-based box has following problems:<br>- Not enough formatting capabilities even for simple cases (calendar appointment and mail notification).<br>- No mechanism to update content (as in "upload progress indicator" scenario)<br>
- No way to add interactive features (snooze on calendar appointment)<br><br></div><div>Granted, HTML in notifications means more work to carefully design security/opt-in/opt-out mechanisms, but perhaps no much more so than popups already do. <br>
<br></div><div>What do you think?</div></div>