It’s 2009 and no browser vendor supports notifications for Webapps. The revolution begins today.
Let me first explain in Simple English: (1) Install Yip, (2) Go to Meebo.com and (3) When you receive an IM, you’ll see a notification on your screen like the one in the screenshot below. Works for Filttr.com and a whole host of other sites too.
Now for the explanation that geeks prefer – Yip is a Firefox extension that ports the Fluid and Prism notification APIs over to Firefox so you can receive Growl notifications from web applications. (Update: with Yip 0.2, if you’re on Windows, you can get Snarl or Growl for Windows or plain old Firefox notifications and if you use Linux, you can get libnotify/notify-OSD notifications. Read more about this here).
The great thing about Yip is that we don’t have to be stuck in a chicken-and-egg situation. Many websites have already implemented notifications (despite the fact that no major browser has added support for it!). Some support Fluid, some support Prism and some do both. So, you can immediately start using Yip.
If you log into Meebo and you have Yip installed, the next time your friends sends you an IM, you should see a notification (obviously, Meebo should not be your focused window/tab at that point).
Apologies to my Chinese readers. I merely take screenshots and post them without reflecting on their contents.
Another cool website is Filttr which is a Twitter app that supports notifications for replies and direct messages.
A number of other Webapps also support notifications. And there are a whole slew of Greasemonkey userscripts to enable notifications for Facebook, Gmail, FriendFeed, Github, etc.
Yet another standard?
As pointed out earlier — NO, the goal of Yip is not to create a standard for notifications but to support all the existing kinds of notifications. Currently, Yip only supports Fluid and Prism which cover the large majority (100%?) of currently implemented notifications. When Gears/Chrome starts supporting notifications (which might never happen because I don’t see anyone working on the proposal), Google will no doubt add notifications to all its web apps. Then, I’ll add support for the Gears Notification API to Yip too. If you know any other API, let me know in the comments and I’ll support it.
The API
Fluid
If you want to support notifications on your website, Fluid’s API is great. The function takes a single jQuery-style argument:
window.fluid.showGrowlNotification({
title: "title",
description: "description",
onclick: callbackFunc,
icon: URL string
});
All arguments are optional. Note that Fluid/Growl also supports the priority, sticky and identifier properties which are not yet supported by Yip.
Prism
Yip also supports the Prism API. Unfortunately, this API does not support even an onclick callback so I recommend that you use window.fluid instead. But since both Prism and Yip run on XULRunner, I’ll probably add a patch to Prism soon. Here, all arguments must be specified:
window.platform.showNotification(
title,
text/description,
icon
);
Extensions
If you’re another extension, you want to use use Yip,
var yip = Components.classes['@foyrek.com/yip;1']
.createInstance(Components.interfaces.nsIYip);
yip.showGrowlNotification({...});
Code
Now, go try it! Load up a HTML page and just add some javascript code like
fluid.showGrowlNotification({title:"Yippie!", description:"Just testing Yip! It's awesome", icon: "http://www.google.com/favicon.ico"});
The code for Yip itself can be found on Github. Do whatever you want with it (it’s MIT licensed).
A bit of technical history
The challenge in this extension is to define a global property on every window object of every tab. This took me forever (6 months, to be precise) to figure out because it’s a tough question to phrase and because not many people want to do this. But, eventually, I did (I’ll write a bit more about how this is done in the next post). I have to thank a bunch of people on IRC for this including mfinkle, zpao, Unfocused, Mook and dolske.
Part 2
In line with my philosophy of releasing things at every useful step, I have released Yip pretty early. But be sure that there will be no sophomore slump here. Part 2 of this project is way way more exciting. But you’ll have to wait for it. Watch this project on Github in the meantime!
And because I like LOLPuppies better than LOLCats
I used to have a puppy. It died.
Photo credit to jaysonmaceo on Flickr






This is great, and all, but can you configure which sites you want notifications from? Honestly, I’d rather have a plugin like this on a case-by-case basis. I think it’d be a better experience for an individual site to have it’s alerts as a jetpack plugin so you had to opt-in to their messaging.
I agree you that you should be able to opt-out of certain websites (Fluid supports this and it’s definitely something that I’ll implement in the future).
But, I don’t quite agree that notifications should only be supported via plugins (then, websites would have to release separate and possibly different plugins for each browser, etc.). *Notifications need to be a part of the Web*. Websites need to be able to access the Notification API directly just like window.alert (I’m not suggesting that notifications are just replacements for alerts; they mostly definitely are not). I guess an option to turn off all notifications by default and then, ask the user to opt-in individually is a possibility. I’d argue that even this is drastic and unnecessary. Allowing notifications has no security or other implications.
That makes sense.
I guess what I’d really like to see is opt-in growl on the very top of the window..
“ActiveStudios.com would like to send you notifications. [Allow] [Ignore] [Block]”
The same kind of notification I would get if I was installing a plugin or Firefox was asking for my geo location.
Ha! Exactly what I had in mind.
I’d also have another setting that lets the user decide whether to have such notifications. So, if you’re concerned that websites will spam you, you could white-list sites with this mechanism and on the other hand, if you think the majority of webpages will behave, you black-list sites instead.
Sounds great. Call me a convert.
Awesome work, just tested with Filttr and it works just great (without any modification). The only one I can think of is to rename the section to Yip & Fluid
Btw, we @Filttr did revamp support for Fluid, just click the fluid settings on the home page to view all the options; notifications are friendlier as well.
My only request: support the “sticky” parameter?
I’m using the nsIAlertsService, a component built into Firefox, and it doesn’t have support for “sticky”. At some point, I might rewrite it myself but for the time being, that’s why the “sticky” parameter is not available.
Who designed the cute dog logo for you?
Creative Commons.
I attributed it on the extension page (the one you get after you install the extension) but forgot to do it here.
http://www.dapino-colada.nl/?p=568
BrowserPlus Notfiy service
http://browserplus.yahoo.com/developer/services/
This seems like a really good idea! I just wanted to point out that Ubuntu has an excellent growl-esque notification system as well called notify-osd. One neat difference is that you can click right through the notifications so they can never get in the way of your work flow. There is already an extension called FirefoxNotify (https://addons.mozilla.org/en-US/firefox/addon/9622) which sends firefox notifications to the Linux notification library, so these could be a great combo!
Excellent work!
WordPress have implemented similar (but more basic) growl-like notifications in-browser for their P2 theme.
I guess they should look at supporting this instead?
I guess the only advantage I could see here to writing a Jetpack plugin would be that you wouldn’t have to be browsing that particular page in order to receive the notification.
https://wiki.ubuntu.com/NotifyOSD
Abi,
Yip seems pretty cool. If you’d like a domain to host project information, I’d be happy to give you some subdomains on my personal domain, yipyip.com.
Pingback: Yip, a notification system for the web - Mozilla Links
Pingback: Introducing Yip: A Unified Notification System for the Web « abi’s blog « Netcrema - creme de la social news via digg + delicious + stumpleupon + reddit
Ah, so this is what you’ve been working on! Me like. A lot.
As a side note, you should be serving the .xpi with a MIME type of application/x-xpinstall
Is there anyway I can use this to get all kinds of Firefox notifications + Twitterfox Updates? (I was looking for something like this yesterday but didn’t find
)
@saari I didn’t realise that BrowserPlus support notifications. Cool! I’ll support it soon. Do any Yahoo! websites make use of the BrowserPlus notifications? It would be awesome if del.icio.us or Yahoo! Mail did.
@Blair Changed the MIME type.
@Daniel Thanks a bunch for that generous offer!
I’m not sure what Fluid and Prism do, but it would be great if the icon URL could be relative, rather than absolute.
I develop web apps that are usually installed in a customer’s intranet, so the hostname and path changes from installation to installation. Being able to point to an icon relative to the page’s URL would save me having to calculate the location in script.
Hey there,
Very cool idea — great that you leveraged Fluid’s API rather than coming up with a new one (we support both Fluid & Prism’s notifications, but default to Fluid).
Mike K
UX Design @ Meebo
Pingback: Top Posts « WordPress.com
Pingback: Mash123 » Yip Adds Notifications to Web Applications
“If you know any other API, let me know in the comments and I’ll support it.”
how about Growl for Windows? the Growl/GNTP Firefox extension allows something similar (allows Greasemonkey scripts and page scripts to send notifications) and the user can control the notifications from a single place – just like on the Mac.
currently, the API is based on the GNTP spec that the Growl (Mac) guys are working for their future releases, so supporting it now will get Windows and Mac support with one API. and since there is already a Firefox extension that handles the actual sending, it would be easy to wrap with the Fluid/Prism-compatible interface.
http://groups.google.com/group/growl-for-windows/browse_thread/thread/ea7cd82177f98a9a
https://addons.mozilla.org/en-US/firefox/addon/11611
I use meebo a lot.
and this is a pretty nice tool thanks, also) can you make it work for meebo chatrooms too? :]
There’s something called Growl For Windows, and it would be great if these two applications could work together (http://growlforwindows.com/gfw/)
+1
++1 (or is that just +1? or 1++?)
Coming real soon…
This extension is fantastic!
Any chance of future versions integrating with Snarl (Windows) and/or libnotify (Ubuntu)?
Pingback: Firefox Extension: Add Notifications to Web Applications with Yip | Kabatology ~ Open Source, Linux
Another vote for integration with the new Ubuntu Growl-like notification system.
the link for the slew of Greasemonkey userscripts .. does that work in firefox+Xp .. fluid is OSX only right?
Pingback: Yip, un sistema de notificaciones integradas para las aplicaciones web
@Mike Krieger Meebo is awesome. Rock on. How about more granular preferences for the notifications?
@Andy & HeartBurnKid, the Ubuntu guys seem pretty excited about Yip. So, I’m hoping to get notify-osd integration with Yip. Do submit a patch if you can.
[1] https://lists.launchpad.net/ayatana/msg00223.html
@Mohamed Yes, Fluid is OS X only. But Yip ports the Fluid API to Firefox so those userscripts will work on Windows, Ubuntu and every other platform where Firefox runs. Try it one of the scripts out!
@Christo, Gregory and roryok Yes! I’d love to add support for Growl for Windows. I’ll try to look at it soon but i have finite time. Yip is open source and contribute it if you can.
@brian dunnington Growl for Windows sounds great. Thanks for the links.
Pingback: Dario Salvelli’s Blog » Blog Archive » Feedmastering #146
Pingback: Yip: sistema de notificación para la web « Mozilla Links en español
Pingback: TweetTabs: a web-based twitter search and trend client from the makers of Tweetmeme – The Next Web
Pingback: Dev Blog AF83 » Blog Archive » Veille technologique : Navigateurs, Bibliothèques, Ruby, Javascript, Langages, Android, Autres
Hi,
I’m not sure what I’m doing wrong. I created a greasemonkey script with the following:
(function(){
fluid.showGrowlNotification({title:”Yippie!”});
})();
This yields errors in the Error Console that say “Illegal value.” If I just put the fluid.showGrowlNotification command in the Code text field, it produces the Firefox notifications just fine.
I am running Firefox on Windows XP.
Sorry if this is not the proper place to ask about this. I didn’t know where else to ask.
I’m getting the same Illegal Error in GreaseMonkey scripts. I’ve tried playing with the extensions.ini/extensions.cache to change the order they are loaded in and that doesn’t change anything. If it’s part of the original HTML code it works fine (so Meebo notifcations work), but GreaseMonkey scripts do not.
Use ‘unsafeWindow.fluid’ instead of ‘window.fluid’ in greasemonkey scripts.
I figured this out by studying this script:
http://userscripts.org/scripts/review/55617
Works in FF on linux (Gnome) anyway
Hope this helps,
Chris
This seems to steal focus from the Fever newsreader web app – http://www.feedafever.com/. If you have this extension installed none of the keyboard shortcuts work.
Pingback: TweetMeme Blog » TweetTabs Update
Pingback: Growler — Let Safari Talk • Geekaholic
Pingback: Notifications for the Web • Geekaholic
Pingback: Filttr Blog • Desktop Notifications
Pingback: meeblog » Blog Archive » visual IM notifications on Mac OS X
I wish there’s one for Maxthon
Pingback: Yip: Growl Notifications for Firefox | Ocell.blog
This is great – thank you very much. You mention notify-osd; would you consider looking at KDE’s notification system as well, for those of us not using GNOME? Cheers!
I can confirm this works with Meebo and Seamonkey 2.0a3, too.
Hey Abi! I was reading the latest Meeblog entry–saw “Abi”, was surprised to know that it’s the Abi I know (though I shouldn’t have been surprised, right
) Good job.
Another vote for NotifyOSD — since it implements the *first* notifications standard!
(Ok, ok, so it’s a pretty close call…)
Haha, thanks Fiona.
@cappy It should work on any xulrunner application but did you have to modify the install.rdf file? I believe I restricted it to only Firefox (by mistake). Will change that. Seems like it would be very useful for Songbird + thesixtyone[1] when thesixtyone starts using browser notifications.
[1] http://www.thesixtyone.com
@Earle Does KDE’s notification system use libnotify? If it does, it should be easy to integrate. I’ll have to check it out.
@George Yep, NotifyOSD is great. I’m almost done with Yip 0.2 which adds support for NotifyOSD, Growl for Windows and Snarl. I’ll be releasing it as soon as my flu goes away….
Works like a charm, with one exception. I have a 2 screen setup and when firefox is on the second screen, the popup still is on the first one. Any chance of this being a small & quick fix? =)
Pingback: Firefox Addons I use and recommend | Robert Penz Blog
Anyone able to get this working with Gmail chat notifications? It doesn’t seem to be working with the script found here: http://userscripts.org/scripts/show/42217
Pingback: Browser Notifications with Yip
Pingback: Yip, ein einheitliches Benachrichtigungssystem für das Web | Linux und Ich
First, thanks for the great plugin. It works great with Growl for Windows. I have one problem though. It seems that the plug in doesn’t handle 2 byte languages (e.g. Korean, Chinese, Japanese) properly. Words in those languages display fine on Windows, but they get messed up on Growl for Windows. Would you add unicode support for those languages? Thanks!
Pingback: Socialize je site – deel 2 - :: Creatov.nl ::
Ok.. So ive had an utter nightmare getting Prism Notifications to be ported to firefox. So.. the only way to achieve this is to manually download the yip.xpi file, edit the install file and change the required program to use prism, and the prism min and max versions.
Open the pre-converted prism application / drag the newly changed xpi file into the add-ons windows and bobs your uncle;
Snarl notifications in prism thanks to a “hacked” version of yip
yipee!
@Greg B You should submit a patch to Prism for that. I think I opened a ticket on that but never submitted the patch.
Merci pour tous ces conseil avisé qui vont bien m’aider dans ma démarche et qui vont m’évité de faire des erreurs que je n’aurais pas vue suite et surtout seul.
it’s very pity. YIP 2.0 is not compatible with firefox 3.6
Arthur, you should fix it! It’s all open source.
Have you fixed it yet then?
Nope, not yet. I’ll get around to it.
I changed maxVersion from 3.6a1pre to 3.6, just to get this back on my computer. Seems to work fine for Meebo. What else needs to be done to do this properly?
Download the updated .xpi here: http://github.com/sobelk/Yip/downloads .
I did the same thing (switched 3.6a1pre to just 3.6) and i am now using growl and yip to get notifications for facebook chat, meebo, lala, and pandora.
Easy fix with some great results! Nearly all my apps, web and not, have notifications. Thank you Yip
Thanks, I’ll up the version and put it on AMO soon.
http://github.com/downloads/raneksi/Yip/yip.xpi 3.6.2+
I made maxVersion in the manifest match all minor versions of 3.6.
Hi folks
Is it possible, and if so, how, to have this fancy black and slightly rounded notification (as shown above http://farm4.static.flickr.com/3400/3611270604_77b7c9d2a4_o.png) instead of that boring grey box that pops up at my computer?
Thanks and regards
I solved it myself
Installing Growl was all I needed…
Comment by yao siew Lian — March 9, 2010 @ 8:03 PM | Reply
2.Ven. Phra Piya Thammo,
Rumah Pangsa
Blk A-7-9- Jln Padang Tembak,
11400 Pulau Pinang,
Malaysia
Dear Devotees,
Before I commence of my letter-writing toward. All of you, I would like to inform all of you that I am not satisfy with the lawyer, Dato YIP KUM FOOK due to his bad inspirit impressions because he sent an inspector to come to our Buddhist Temple to arrest me without any good reason, moreover, the lawyer, YIP KUM FOOK is not satisfy with Chief monk.
When the Chief monk had me to go to his Temple already and he went away and left me alone to take care until Chief monk come back to the Temple first and he also told me not to leave the Temple if any committees or the chairman want to chase me out, you don’t leave the Temple at all understand? Then I said, alright? To the chief monk! On the second Day, YIP KUM FOOK came to our Temple and talk to me. He tired to make some inquiry from me and he asked me, where I come from? I told him that I came from Penang.
Then, I told to the lawyer (YIP KUM FOOK) that the chief monk came to Penang and fetch me and invited me to accompany him to go to his temple in K.L. I am not aware that YIP KUM FOOK is not in a good terms with the chief monk, chief monk already in this way, YIP KUM FOOK try to create trouble with me unnecessary. That is why, the lawyer want to chase me out of the Temple. Then I asked the lawyer, why you want to chase me out of the temple? Moreover, the Temple is not belonging to you, UNDERSATAND? Then, I asked him, who are you? I don’t know you at all, you have no right to chase me or control me at all, UNDERSTAND? You are just like a layman only. Do you know the regulations that any the chairman or committee cannot control the monks and the Nuns at all, also UNDERSTAND?
I scolded him like that. Then the lawyer (YIP KUM FOOK) is not satisfy with me and he told me that he will called the police to come to the Temple and arrest me. I told him to go ahead and called the police to come and arrest me. I won’t run away, I said to him like that. I have done nothing wrong toward you, why you want to arrest me? He said, he doesn’t like me to stay here. I asked him, why? Again. After this he got very angry with me, then he phoned up to the police and the police came to the Temple and told me to leave the Temple.
I told to the inspector of the again, 1 am sorry, I won’t leave the Temple because the chief monk had instructed me not to leave the Temple without his consent, UNDERSTAND? Then the inspector told me to leave, again. I told him I cannot leave the Temple because the Chief Monk hasn’t come back yet. This time, the inspector got very angry with me and he took out his handcuff and try to threaten me, then I immediately show off my hands for him to lock me up but he scare, then again, the inspector told me leave the Temple again but I still don’t want to leave the Temple.
Then I phoned up to the chief monk again and I told him that the inspector insisted want to arrest me, you better come back to settle the case for me. After this incident, Chief Monk came back to the Temple and take me to go to another temple and stay their. That’s all about this incidents! Last of all, I would like to inform all of you, that no committees or the chairman can control all the monks and Nuns at all also UNDERSTAND? “They are higher than the King,” also! So how can the laymen, the committees and the chairman to control them: – EVEN THE KING ALSO RESPECTED THE MONKS AND NUNS. Why the chairman doesn’t respect the monks and nuns? They will carry the sins later on, UNDERSTAND?
Yours in Dhamma
Ven. Phra Piya Thammo
Penang, Malaysia
Tel: 04-48272710
Cool i’m gonna try this out thanks!
Any plans for updates for Yip? Seems to be what I’m looking for (we are using Meebo at our library to answer students’ chat questions but sometimes chats are missed due to Meebo’s ineffectual notifications) but is not compatible with Firefox 3.6.10
Thanks!
Lori
Best Software Downloads and Reviews. the most comprehensive source for free-to-trysoftware downloads on the WebBEST 4 DOWNLOADS
Best Software Downloads and Reviews. the most comprehensive source for free-to-trysoftware downloads on the WebBEST 4 DOWNLOADS
nice info ..
very informative ..
Right now it looks like Drupal is the preferred blogging platform available right now. (from what I’ve read) Is that what you are using on your blog?
This is just the kind of detail I was seeking. I wish I’d discovered your blog sooner.
thanks for the download!
I have an interest in this topic and enjoyed reading your view on it.
Amateur Telefonsex
great post brother
Then, I told to the lawyer (YIP KUM FOOK) that the chief monk came to Penang and fetch me and invited me to accompany him to go to his temple in K.L. I am not aware that YIP KUM FOOK is not in a good terms with the chief monk, chief monk already in this way, YIP KUM FOOK try to create trouble with me unnecessary. That is why, the lawyer want to chase me out of the Temple. Then I asked the lawyer, why you want to chase me out of the temple? Moreover, the Temple is not belonging to you, UNDERSATAND? Then, I asked him, who are you? I don’t know you at all, you have no right to chase me or control me at all, UNDERSTAND? You are just like a layman only. Do you know the regulations that any the chairman or committee cannot control the monks and the Nuns at all, also UNDERSTAND?
I scolded him like that. Then the lawyer (YIP KUM FOOK) is not satisfy with me and he told me that he will called the police to come to the Temple and arrest me. I told him to go ahead and called the police to come and arrest me. I won’t run away, I said to him like that. I have done nothing wrong toward you, why you want to arrest me? He said, he doesn’t like me to stay here. I asked him, why? Again. After this he got very angry with me, then he phoned up to the police and the police came to the Temple and told me to leave the Temple.
regard,
http://imammudin.staff.umy.ac.id/
bullshit
yeah.. i do aggre
I have been searching for everything like this for a while currently. Look forward to checking out your some of your posts again. Look forward to checking out your some of your posts again!
You should really moderate the commentary on this website
I really wanted to present this specific article, “Introducing Yip: A Unified Notification System for the Web | abi’s blog” together with my own friends on fb. I personallyjust desired to distributed your terrific publishing! Thx, Desiree