Topic: Growl!

I would like to be able to display growl notifications from my macs on my Chumby!

Re: Growl!

does growl just notify you of things happenin in applications? for say song changes and such?

thats a cool idea. although it would be nicer for a windows version aswell.

need upload space for the forums or a chumby blog? right here then
http://www.nophus.com/useru
username is chumby
password is chumby

Re: Growl!

Growl is simply the underlying notification system, it is up to third party devs to include growl support in their apps. There are plugins for several of the built-in applications. For instance, iTunes, Apple Mail, and Safari. It supports sending/recieving notifications over a network.

Growl is just one of those things that I miss when I have to use a PC. I don't know of any similar service for windows.

Re: Growl!

if growl is written into apple applications, why does it need a seperate app? or is it just there for you to do what you wish, and the seperate app turns all the jibberish output into something readable?

need upload space for the forums or a chumby blog? right here then
http://www.nophus.com/useru
username is chumby
password is chumby

Re: Growl!

Let me try to re-explain more clearly, as my last post was indeed confusing.

Growl is a 3rd party notification framework. Many 3rd party applications support the framework. As long as Growl is installed and enabled in the 3rd party app, notifications will be sent (see crappy diagram)

App -> Growl -> output

There are a number of configurable output options, ie to the screen, to a log file, across a network. More than one output can be active at once; you can have notifications logged, displayed on the screen, and sent across the network. There are several sub-options for each, most notably, the configuration of the on screen notifications.

Getting back to your question, growl support is NOT built-in to the standard apple applications, which is why the plugins are required. In each app that I mentioned, the plugin simply monitors that app, and forwards appropriate info to growl.

Growl relies on the graphics handling built in to os x, and is probably not possible to port, in its current form, to anything else.

For more info, and a much better description, check out http://growl.info/
and http://growl.info/documentation/growl-h … t-work.php in particular.

Re: Growl!

If you're familiar with Linux at all, Growl is kinda like DBus; DBus allows applications to share information with each-other (it's a simple IPC system).

Only Growl is a one-way system. Applications communicate with Growl information that the user should be notified about (and pops up a little window). AFAIK, Growl doesn't talk back.

One of my earliest thoughts about Chumby was having a system like this for any OS, where Chumby could be the remote reporter ("you've got mail", "this friend Instant Messaged you", "your downloads have completed", etc). However, replicating Growl in a cross-platform nature has completely boggled me and so I left that idea for different ones.

It would be interesting to see a Growl-notifier widget; re-write a Growl-server-like application to receive system-wide events, and write them to an XML file in an HTTP server hosted by the growl-server-like-app. Have a Chumby-flash Widget check the address every certain number of minutes, and after it checks out the file, have the Growl server clear that XML file (essentially starting over on the notifications). Then just have Chumby display them, one by one, until there are none left and Chumby can cycle on to the next widget. Now, just get Growl to work on Windows and Linux (through DBus of course) and you're in business.

Re: Growl!

Displaying messages that are being broadcast over a network is a LOT different than porting the entire growl application.

A growl plugin could update a file on a webserver that was then re-downloaded to the chumby, but growl already supports forwarding messages over a network. Why re-invent the wheel? Why not simply allow the chumby to receive info from the local network?

I don't have a Chumby to test any of this on, mind you, but I can't see why it would be that difficult.

Re: Growl!

I think the problem is Flash, actually; without actually writing an honest-to-goodness program to translate the forwarding messages to something Flash can interface with, the whole thing's not going to work. The way it's going to work best for the Flash is if it's an XML file somewhere it can read, like on a web server. TinyHTTPd + a growl forwarding client and you've got your simplest implementation (but of course, it only works with Macs).

I'm not saying that you can't write the software and run it on the Chumby hardware, but one of the ideas of Chumby is that all of the "applications" are just flash Widgets it can grab from the Internet. Writing software is intended to happen through Flash. Going outside of that "breaks" the Chumby model of being a novel Flash device.

Re: Growl!

I'll do some more research into how growl works, but it does seem that it's somewhat a "push" type notification system - it will initiate notification messages, and somebody has to be out there actively listening for them.

As mentioned, Flash's built-in networking is pretty much limited to initiating its own fetches, typically for XML over HTTP.

However, Flash Lite has the notion of "extended events", whereby one can create handlers in Flash for events that are generated externally - this was done by Macromedia to handle things like incoming calls, etc for mobile devices.

I'll see if there's some way to exploit that mechanism for situations like this one.

Re: Growl!

i think it would be neat to write an application framework, that could be easily ported to other devices, such as xbox, dvd players, routers, etc. so you could say grab song title information, wi-fi status, etc. something like "universal growl". id love to have a chumby that was the center of my home, that could control my xbox (which wouldnt be too hard considering it has a web interface), tell me how my downloads were doing, whos currently online on MSN, things like that.

need upload space for the forums or a chumby blog? right here then
http://www.nophus.com/useru
username is chumby
password is chumby

Re: Growl!

All good suggestions chedabob...

Not knowing a lot about software, but would some of these things be possible with RSS?
If I can, I would like to use chumby for notifications of updates to my wikis etc. I think someone agreed elsewhere that this will be possible. Just wondering if the RSS stuff could be creatively used to do other things too...

Re: Growl!

awalton wrote:

I'm not saying that you can't write the software and run it on the Chumby hardware, but one of the ideas of Chumby is that all of the "applications" are just flash Widgets it can grab from the Internet. Writing software is intended to happen through Flash. Going outside of that "breaks" the Chumby model of being a novel Flash device.

The notification sent by growl could be captured by a program on the Chumby and stored as a text file. I think it may be possible to have a flash app, downloaded from and configured on the Chumby site, that displays the contents of the file, and displays the appropriate message.

I don't have any experience with the FlashLite, but ActionScript can interact with files. I do realize that this still requires installing software on the Chumby, but I think that the people who're familiar with growl would be willing to to go the 'extra' mile. I know I would.

Re: Growl!

BM5k wrote:

I don't have any experience with the FlashLite, but ActionScript can interact with files. I do realize that this still requires installing software on the Chumby, but I think that the people who're familiar with growl would be willing to to go the 'extra' mile. I know I would.

While Actionscript does indeed support a "file://" protocol handler, it doesn't allow them for Flash movies coming from the Internet for security reasons.

Otherwise, you could create a Flash movie that reads arbitrary files from the hard disk and uploads the contents to some remote site.

14 (edited by BM5k 2006-10-12 19:37:16)

Re: Growl!

Duane wrote:

it doesn't allow them for Flash movies coming from the Internet for security reasons.

Damn

Re: Growl!

Growl's not all that helpful either. I only have one Mac in the house, so sadly I can't test out the computer-to-computer feature (and thusly I can't get a log of what's being sent across the network and reverse engineer it).  Looking in the source, it's deeply rooted into Cocoa, which I am not all that familiar with and it would take time for me to go through and figure out what's going on. If someone else wants to provide me with network dumps from Growl-to-growl communications or wants to describe how Growl's inter-computer networking protocol works, it'd be very helpful.

However, the back half of the Growl-to-Chumby chain is the easier part to complete, and something I'm already scripting up in python (just for rapid development; I'll write a somewhat more "formal protocol" for it so anyone can implement it in any language they choose for any OS they choose later). It basically will be able to create an RSS feed of events, which means it'll be readily usable by the existing Chumby RSS reader. The only problem I'm already thinking about trying to get around is authenticating that its a Chumby (or otherwise authorized viewer), and not Joe Hacker who discovered your feed via a port scanner (this isn't a problem as long as people use firewalls, but with thousands of Open WAPs named Linksys...) I'm not exactly sure how Flash can do authentication (other than the obvious dumping a GET command like ?pwd=chumbie on the end of RSS feed and having my python script not respond unless that flag's there, which isn't great, but it's better than nothing and randomizable).

Oh, I should also note about the cross-platformability about this: Right now, as currently implemented, Growl is heavily anchored to OS X (as in, all of its functionalities except its encryption engine are implemented directly in Cocoa), so Growl isn't going cross-platform. It just can't happen. However, Growl-to-Growl may some day go from Growl-to-Galago (http://www.galago-project.org/ ). Porting Galago to Chumby, however, probably will be a daunting task, as it's dependent on D-Bus. Now if Windows only had this kind of framework...

Re: Growl!

The problem here really is that there is no standard network-based event notification standard to base anything on, and trying to establish yet-another-ad-hoc-protocol isn't very appealing.

There's actually a reason for this - it's a very hard problem to define in the first place, let alone implement.

For instance, what's an event?  As a client, how do I know what events are available, and from where?  How do I sign up for requests, and how do I stop them?  As a server, how do I know who wants events, and what information does any given client need to know in order to act on the event?  What kinds of latencies are reasonable?  How do events get routed through complicated networks?  How does one define event classes to be globally unique?  How do I know how any given client is going to respond, and when?  How do I preserve enough information about an event to handle a possible forthcoming response?  Who sets priorities?  How do events get filtered?

Re: Growl!

what if we wrote our own thing? base it on RSS? cos a lot of applications can write their status to the web (e.g. winamp), so you could run a small server on your pc, that had php, convert it to an rss feed, then get the chumby to grab it. its a botched way, but at least it works, and it shouldnt be too hard to intergrate into other things (id love to see what status my router was in, the status of bittorrent downloads, status of my xbox media center).

need upload space for the forums or a chumby blog? right here then
http://www.nophus.com/useru
username is chumby
password is chumby

Re: Growl!

Or you could use SOAP, which is basically IPC for the Web.

And Duane's very much write. It's a hard to define problem and there are a lot of existing solutions. So it doesn't make sense to add your own to the pool unless it can offer a true improvement over something that already exists.  That's why the best way to do this is to modify an existing tool (Growl, Galago).

And that still leaves you with a huge gaping hole: Windows.

Re: Growl!

This is what I was trying to achieve with the chumby XML-RPC protocol I was toying with some time ago.

The easiest (and most reliable) way to achieve this is by having an (internet) hosted service which client side plugins can call. This also means that you can galavant around with yonder chumby and still have your notifications follow you. Having it hosted also means you don't have to deal with NAT traversal, VPNs, anything like that - the average end user does NOT want to have to deal with that kinda... well, crap!

Duane is right - there is no standard notification protocol (apart from SOAP, which kinda is what we're looking for) that we can base it on. Sure, a constantly refreshing RSS is a solution, but it's hardly elegant. Keeping a HTTP connection open and streaming data to the client is another possible solution, however inelegant that may be.

Discuss?

20 (edited by Warpling 2006-10-25 05:15:44)

Re: Growl!

Anything like growl would be excellent. and something like the linux version that was talked of... As for the programing side thats beyond my capabilities. pictures of what I think is being talked of, below...
http://www.nophus.com/useru/users/chumby/chumby_growl.png
I'll make some visuals for non music alerts also, and better ones later when I don't have so much work. I envision it fading in and then fading out, obviously the backround would probably be a widget, or maybe this could be the widget. Maybe the squeeze triggers could change songs?

~Ryan~

Re: Growl!

Very gentle reminder...please provide a link to an image hosted elsewhere rather than uploading them in your posts...Thank you!

Re: Growl!

There is a Windows variant of Growl that I read about on Lifehacker, called Snarl.  But I don't know how well it works, as I run Ubuntu and Mac OS.

Growl rocks so hard.  I <3