Call to action: Help GFW become great

13 views
Skip to first unread message

briandunnington

unread,
Apr 29, 2009, 11:36:01 AM4/29/09
to growl for windows
first off, i just wanted to say thanks to everyone that has provided
feedback so far. whether is is by finding bugs or suggesting
improvements or writing code, i think GFW is really progressing nicely
and it wouldnt have happened without others help.

now i am asking for some more help - if you like GFW and want to see
it take off, i am asking for you to get involved through any of the
following methods. it doesnt matter if you are a developer or not,
there are plenty of ways you can help out.

if you are a developer, you can:

- create a plugin
see http://blog.growlforwindows.com/2009/04/supported-apps-wishlist.html
for the list of apps that people have requested the most. or, just
choose your favorite app and create a plugin. there are already
libraries available for .NET, Javascript, Flash, Perl, Ruby, Java, and
SQL to help you out. if you do create a plugin, post up here and let
me know about it so i can feature it on the GFW website.

- create a Growl/GNTP library in your favorite language
if you dont want to create a specific plugin, how about creating a
Growl/GNTP library in your favorite language? several libraries
already exist, but there are a lot more that would be great to have: C/
C++, Python, Erlang - you name it. the full GNTP spec is available at
http://www.growlforwindows.com/gfw/help/gntp.aspx, or grab the source
for one of the existing libraries and take a peek at what others have
done.

- create a custom display
GFW ships with a few built-in displays, and there are a few more
available for download on the GFW site, but there are lots of tastes
out there and i would like to build up a much larger library of
displays. even if you arent feeling artsy, you can build displays to
perform other actions as well (forward notifications to email, post to
twitter, etc) - the sky is the limit really.

- integrate GFW into your applications
if your application needs to notify users of things going on - why
reinvent the wheel? integrating with GFW is easy. as a bonus - if your
app is web-based or cross-platform, you will gain Growl/Mac support in
the process since they are moving to a GNTP-based system as well. if
you build in Growl support, post up here with a link to your
application and i will include it in a new listing of all applications
that support GFW.


if you are not a developer, you can still help:

- write about GFW on your blog/facebook/twitter/etc
the more people that know about GFW, the more people that will
(hopefully) try it out. the more people that try it out, the more
feedback i can get to help improve the application. also, the more
people that are using GFW, the more attractive it is to application
developers to build in native support. anything you want to write
about is great: what you like, what you hate, what you would like to
see added or improved upon. even posting some links back to the site
will help people find the software. and dont forget about your offline
world as well - tell your friends and co-workers about GFW to help
spread the word.

- contact the makers of your favorite apps and ask them to add Growl/
GNTP support
other developers and i can keep creating plugins to bridge the gap
between applications and GFW, but it is always better when an
application supports GFW natively. it is a better experience for the
end user, and it is one less moving part in the system. Growl for Mac
is moving to a GNTP-based system as well, so application authors that
are creating cross-platform apps can gain both Mac and PC support with
one library.

thanks again for all of the support and for helping to make GFW the
best it can be.

RoryOK

unread,
Apr 29, 2009, 11:56:42 AM4/29/09
to growl for windows
I don't know if i'm quite up to writing a plugin, but I'd love to
write some displays - how do I go about doing that?

On Apr 29, 4:36 pm, briandunnington <briandunning...@gmail.com> wrote:
> first off, i just wanted to say thanks to everyone that has provided
> feedback so far. whether is is by finding bugs or suggesting
> improvements or writing code, i think GFW is really progressing nicely
> and it wouldnt have happened without others help.
>
> now i am asking for some more help - if you like GFW and want to see
> it take off, i am asking for you to get involved through any of the
> following methods. it doesnt matter if you are a developer or not,
> there are plenty of ways you can help out.
>
> if you are a developer, you can:
>
> - create a plugin
> seehttp://blog.growlforwindows.com/2009/04/supported-apps-wishlist.html
> for the list of apps that people have requested the most. or, just
> choose your favorite app and create a plugin. there are already
> libraries available for .NET, Javascript, Flash, Perl, Ruby, Java, and
> SQL to help you out. if you do create a plugin, post up here and let
> me know about it so i can feature it on the GFW website.
>
> - create a Growl/GNTP library in your favorite language
> if you dont want to create a specific plugin, how about creating a
> Growl/GNTP library in your favorite language? several libraries
> already exist, but there are a lot more that would be great to have: C/
> C++, Python, Erlang - you name it. the full GNTP spec is available athttp://www.growlforwindows.com/gfw/help/gntp.aspx, or grab the source

briandunnington

unread,
Apr 29, 2009, 11:59:28 AM4/29/09
to growl for windows
here are some links to get you started:

General Info (very sparse)
http://www.growlforwindows.com/gfw/developers.aspx#displays

Display SDK - includes documentation and full working source code for
both visual and non-visual displays
http://www.growlforwindows.com/gfw/d.ashx?f=Growl%20for%20Windows%20-%20Display%20SDK.zip

RoryOK

unread,
Apr 29, 2009, 12:14:35 PM4/29/09
to growl for windows
cool, ok my next question is, would it be possible to create a display
which itself has several sub styles, maybe in an easier to program
format like xml or html or something?

The display dll itself would call subfolders from within its own
folder, each of which would have to have a html/xml layout file,
settings, and any css or images contained within.

As you can probably tell from this question, my programming skills
suck. I got about as far as opening Visual Studio and creating a new
Form inheriting from Sample Window, then I couldn't figure out what to
do next...

On Apr 29, 4:59 pm, briandunnington <briandunning...@gmail.com> wrote:
> here are some links to get you started:
>
> General Info (very sparse)http://www.growlforwindows.com/gfw/developers.aspx#displays
>
> Display SDK - includes documentation and full working source code for
> both visual and non-visual displayshttp://www.growlforwindows.com/gfw/d.ashx?f=Growl%20for%20Windows%20-...

RoryOK

unread,
Apr 29, 2009, 12:33:57 PM4/29/09
to growl for windows
Actually since I wrote that I managed to tweak the sample just enough
to make it my own - I removed the image, set a background image and
changed the font to white.

woohoo!

of course it doesn't look up to much (my display I mean!). It would
still be nice to have a little DLL that could just read config info
from an XML or INI file, so I could just tell it something like:

display_area = top,right
font_face = "Verdana"
font_color = rgb(204,204,204) /* or maybe #cccccc? */
background = "images/my_display.png"
background_opacity = 155
fade_in_time = 2000 /* milliseconds */
fade_out_time = 4000 /* milliseconds */

given how easy it is to write a Display DLL to do this, I imagine it
couldn't be much harder to write one that takes the params from an
external file. In this way, non-programmers could write their own
displays using only a text editor and a paint program. It need not
even handle subfolders - the user could simply copy the dll to each
folder using it.

This brings me to another question.

Since the Growl.DisplayStyle.dll & Growl.CoreLibrary.dll are used by
every plugin, couldn't they just be in the main app folder? do we need
duplicates in every display folder?

Brian Dunnington

unread,
Apr 29, 2009, 12:35:25 PM4/29/09
to growl-fo...@googlegroups.com
yes, that type of display would be possible. (in the old 1.2.*
versions of GFW, there was a WebKit-based display engine as well so
you could write displays in html, but it was a big headache with
getting it installed vs. various Safari versions and using it from c#
was sketchy at best, so it was dropped).

that said, you (or someone) could create a display with a WebBrowser
control in it that then pointed at some local html/css/images for the
display. that would be the most flexible way of creating new styles,
but there are some extra considerations to sort out:

1. making sure the notification resizes itself properly to its
contents. normally, a WebBrowser control will simply scroll the
document if it is too long, but in this case, you would want to know
the size (given a fixed width or whatever) and then expand the
container appropriately
2. making sure notification 'clicks' dont conflict with html 'clicks'.
if you put a link or any javascript actions in the display, how do
they interact with the default behavior of clicking a notification to
perform a callback, etc

somebody else on here (JayKul i think) asked about creating a similar
type of display, but using WPF/XAML to provide xml-based 'skins'. i
created a very rudimentary implementation to show that it was
possible, but never got any farther.

i am sure that having html/css based displays would allow a lot more
people to create displays - i just need to figure out some of the
details mentioned above. if anybody else wants to take a crack at it -
that would be great, otherwise i will see what i can come up with (but
i cant promise when i will be able to get to it).

Brian Dunnington

unread,
Apr 29, 2009, 12:41:24 PM4/29/09
to growl-fo...@googlegroups.com
glad to hear you created your first display!

perhaps your idea of an xml/ini-driven display is more doable than a
full-blown html-based display. html would give more flexibility, but
config-driven would be easier to implement properly (i think). i will
give it some thought while i go out for a paddle this morning.

regarding the duplicate Growl.DisplayStyle.dll and
Growl.CoreLibrary.dll files - they *are* included in the main app
(because it implements some custom displays of its own for the missed
notifications, etc), but there are some other architectural reasons
why they are still required by each display (if you care: each display
is loaded into its own AppDomain, which is like a seperate
app-within-an-app. this allows the displays to have their own .config
file and reference lots of other assemblies that the main application
need not know about. it also helps protect the main app in case one of
the displays crashes. as such, each display is essentially
self-contained.) i know it seems a little strange, but i have found it
to be the most robust solution.

Michael Keppler

unread,
Apr 29, 2009, 1:34:52 PM4/29/09
to growl-fo...@googlegroups.com
I updated the Ohloh profile of Growl for Windows as that's a really nice
metrics and ranking system for open source projects and their
developers: http://www.ohloh.net/p/growl-for-windows

Brian, you may want to grab your contributor profile there, to have
something you can brag about. :)

Everybody else with an Ohloh account may just click the "I use it"
button to show their support.

Ciao, Michael

Brian Dunnington

unread,
Apr 29, 2009, 2:50:03 PM4/29/09
to growl-fo...@googlegroups.com
great! thanks for doing that. i set myself up as a contributer on
there, and i also said that 'I use it' =)

Joel "Jaykul" Bennett

unread,
Apr 29, 2009, 11:40:51 PM4/29/09
to growl-fo...@googlegroups.com
I'll try to make a loose-xaml one this weekend ... way more powerful
than any HTML stuff. I'm gonna be offline a lot so I'll have a little
time to write some odd projects ... maybe make something to run
PowerShell script too, that could be fun ;-)
--
Joel

david

unread,
Apr 30, 2009, 4:43:48 PM4/30/09
to growl for windows
Has the use of tools such as SWIG (I think it stands for Simplified
Wrapper Interface Gerenator) been considered. (http://www.swig.org/,
http://www.swig.org/compat.html, http://www.swig.org/doc.html)

It's a develop-once/implement everywhere (metaphorically speaking)
package. Recent versions run on and target [UL]inux, Windows and OS-X/
Darwin. A SWIG interface description, ala IDL, automatically generates
a growing list of bindings for a wide range of procedural, functional,
native/interpreted (scripting) languages/platforms. It's is likely
that any/all Growl bindings discussed are included.

There maybe "gotchas" limiting or negating it's usefulness as part of
a Growl development toolkit. I've been away from it for a long time
and just learning about Growl. If it is applicable, SWIG would add a
lot of leverage to development and maintenance efforts.

IMO a discussion of multi-language, multi-platform and multi-
application/purpose issues/requirements would be a good thing
independent of implementation.

On Apr 29, 11:36 am, briandunnington <briandunning...@gmail.com>
wrote:
> first off, i just wanted to say thanks to everyone that has provided
> feedback so far. whether is is by finding bugs or suggesting
> improvements or writing code, i think GFW is really progressing nicely
> and it wouldnt have happened without others help.
>
> now i am asking for some more help - if you like GFW and want to see
> it take off, i am asking for you to get involved through any of the
> following methods. it doesnt matter if you are a developer or not,
> there are plenty of ways you can help out.
>
> if you are a developer, you can:
>
> - create a plugin
> seehttp://blog.growlforwindows.com/2009/04/supported-apps-wishlist.html
> for the list of apps that people have requested the most. or, just
> choose your favorite app and create a plugin. there are already
> libraries available for .NET, Javascript, Flash, Perl, Ruby, Java, and
> SQL to help you out. if you do create a plugin, post up here and let
> me know about it so i can feature it on the GFW website.
>
> - create a Growl/GNTP library in your favorite language
> if you dont want to create a specific plugin, how about creating a
> Growl/GNTP library in your favorite language? several libraries
> already exist, but there are a lot more that would be great to have: C/
> C++, Python, Erlang - you name it. the full GNTP spec is available athttp://www.growlforwindows.com/gfw/help/gntp.aspx, or grab the source

david

unread,
Apr 30, 2009, 5:31:45 PM4/30/09
to growl for windows
Would links/shortcuts work instead of having copies of the same file/
dll. It maybe outdated in a terabyte disk world, but in the olden days
copies could complicate maintenance, possibly create some havoc.

On Apr 29, 12:41 pm, Brian Dunnington <briandunning...@gmail.com>
wrote:

Drew Peterson

unread,
May 5, 2009, 4:04:07 PM5/5/09
to growl for windows
I submitted GFW as a suggestion to Lifehacker this morning and they
ran a story: http://lifehacker.com/5241111/growl-for-windows-adds-mac+style-notifications

Maybe I'll get lucky and find free time to do some development too.
Keep up the good work everyone.

Brian Dunnington

unread,
May 5, 2009, 4:11:19 PM5/5/09
to growl-fo...@googlegroups.com
Nice!

looks like a nice write-up. and it is good to read the comments people
have to get some feedback as well. i did notice a lot more people
posting to the 'Supported Apps Wishlist' today, so maybe they are
being funneled in from Lifehacker.
Reply all
Reply to author
Forward
0 new messages