Here's the mini spec of what we're working on. Eventually it might want a UI, but we wanted to avoid that for now. Obviously, this would need to be generalized a bit to make sense in Growl proper.
When Growl starts it will check for a file in your home directory call .notifyio that contains a URL. This is a listen URL for
notify.io -- it will hold an open connection to this (reconnecting if disconnected) and listen for JSON objects. The objects will contain notifications params (essentially text, title, icon, link, sticky) and when received, they're displayed with Growl. A python equivalent of this as a standalone client is here:
http://github.com/progrium/notify-io/blob/master/api/client.py
Thats pretty much it! It allows for Growl to accept network notifications from behind the firewall, in this case from a service made to broker notifications, but it could easily be any Comet-style stream of notifications. On this list we talked about streaming in a GNTP format, and maybe that would be more proper for Growl proper ... I just find JSON more pragmatic for the moment. Perhaps both can be supported in the client, as I was planning on streaming both from
notify.io ...
Thoughts?
-jeff