December 03, 2007

Growl site redesign

For about a year now we've wanted the Growl site to be redone. )Probably longer than that actually, but I'm positive that at least for a year we've wanted it). The problem with a project like Growl is that you can't just commission someone to work on your design, since you can't pay them, but at the same time you want to get a high standard of quality out there.

Luckily we finally hit upon the right timing for a great guy, Dan Deming-Henes. He's come up with an awesome design that so far everyone loves. I'm posting here to get some feedback about the design itself, so make a comment if you love it, you hate it, or whatever.

Just for comparison, I'm posting two screenshots:

The old one

The new one

Posted by Chris Forsythe at 05:50 PM | Comments (7) | TrackBack

September 10, 2007

Music Video in Growl 1.1.

So with the release of Growl 1.1, there's kinda this problem with Music Video. It can take a full second to get onto/off screen, rather than .3 seconds. We never noticed this in testing, but it's turned into something that people are going back to .7.6 for.

As such, we're going to put out 1.1.1 sooner than expected. This thread on the group explains the problem in detail.

Evan just fixed the problem today. We're going to put a release of 1.1.1 out after we can test it. This will also include some localization fixes, and a fix for installing on a non-English system.

Posted by Chris Forsythe at 04:52 PM | Comments (0)

September 09, 2007

Growl Global Positioning System

So with Growl 1.1 the single biggest feature took about 2 years to make. I made a point of making sure this was in the changelog, the knowledge that it took 2 years is something that should either make users proud that we worked on it for so long to perfect it, or scared that we did, or just go "wtf". This guy certainly did the wtf (on tuaw and on macupdate). Gruber also did a wtf at the name.

So I guess I should explain what it does. Actually, it's pretty geeky. In 0.7.6 we had Growl just firing notifications. However, you couldn't tell it where to put notifications (except for bezel). Plus, notifications from different styles would overlap each other, so say if you had Adium and Cyberduck notifying you with different styles at the same time, one would post on top of the other. From a usability perspective.. well, there was no usability.

The really neat bit is how we resolved that. Growl now not only knows where a notification is, but it also understands that there are sections of the screen. So each of the options to select to display to is a section Growl knows about. It knows how to reserve a section of the screen for usage by one notification, and if another notification of a different size needs to be displayed, it knows if it has room, reserves it based on some logic, and then displays it.

Plus! We made it so that if one row filled up, it would go over to the side and start a new row, rather than continuing down the row and into emptyness. This would be really bad if you got a lot of sticky notifications at once (notifications that stay on screen until clicked) that appeared down in the unseeable/unclickable area below the viewable area of the screen. People who setup GrowlMail or something else to watch their email, and then get 400 notifications, know what I'm talking about here. It's a real memory issue, usability issue, and damn well sucked.

Plus! This system also is how we were able to allow users to specify different sections of the window to show off different displays. So say if I wanted Adium in the bottom left, and Cyberduck in the top right, I can do that. Scale that out to 30 apps, and it works pretty well.

So ya, that's what this does. Neat huh? It took so long to make due to the fact that it was pretty complicated, and also due to the fact that everyone who works on Growl does so in their free time. It was however unacceptable to release any kind of a 1.x release without something like this in it.

Posted by Chris Forsythe at 01:04 PM | Comments (18)

September 08, 2007

Growl 1.1 is out

Growl 1.1 is out. It's been more than 2 years since we've released a major revision of Growl.

Specifically, this release is .8, .9, 1.0 and 1.1 all bundled into a single release. I hope everyone likes it.

Posted by Chris Forsythe at 04:18 PM | Comments (0)

January 27, 2007

In response to the comments on the lifehacker post about Growl

So Growl was featured on LifeHacker today. I would generally post a response to anything that seems to be a question in a blog. However, lifehacker is super lame. They require that you be invited to comment. I have no intention of asking everyone I know on the internet for an invite, so I'm just going to post my responses here.

The article in question

The responses:

@tomfrost - QuickSilver will not download artwork from amazon if there is artwork missing from the id3 tag

@rusharound - You were more than likely using a display that utilized webkit, which causes much higher resource usage than otherwise. If you use smoke/bubbles/brushed/bezel you will not be using a webkit display. Music Video has a known leak we are trying to track down for 1.1

@everyone who wants a windows port - I've humored this for years. I no longer care to. If someone wants to do it, that'd be great. Snarl is probably your best bet though.

Posted by Chris Forsythe at 12:01 AM | Comments (0)

June 07, 2006

Interviewed at Cocoaradio for Growl

As the second part of the 2 part interview, I was interviewed regarding Growl. Check it out.

Posted by Chris Forsythe at 11:00 PM | Comments (0)

May 10, 2006

A call to arms

Growl documentation sucks. It completely and totally sucks. Except where it doesn't, but that's a rarity.

So what is there to do about it? I have 2 options:

1) Give up on it. - Not acceptable.

2) Ask for more help.


So here's what is needed. Documentation needs to be reviewed, updated, and made less confusing. The GrowlMail documentation, for instance, documents an extremely old way of installing GrowlMail, and then how to compile it. The user doesn't care about compiling, just how to install it.

So if you'd like to help, please post in the comments here with valid contact information. I'll get back to you.

Posted by Chris Forsythe at 09:30 PM | Comments (2)

May 05, 2006

Growl+Camino would be a cool thing

So the only thing really holding me back from using Camino is the lack of support for Growl. And it's so close!

http://forums.mozillazine.org/viewtopic.php?t=318212 is a post from someone hacking something together. If you think you'd like Camino to support Growl in some way, please go post.

Posted by Chris Forsythe at 12:01 PM | Comments (1)

March 02, 2006

New Growl Extras, part 2

So as I said in my first post about the new Growl Extras, we are including applications/plugins previously considered "third party". The first one I talked about was Feed, an RSS/ATOM news reader. There is also Rawr-Jour, which can detect Rendezvous services broadcasting to your local machine, and notify you of that/give you some power with it.

The new Extra I want to talk about today though is called Gmail+Growl. Gmail+Growl isn't really an application itself, but more along the lines of a plugin of sorts for the official Gmail notifier for OS X. As far as I know Gmail+Growl is the only plugin featured on the Google blog for this application, which says a lot about it.

Gmail+Growl fits into the more traditional role of what a Growl Extra does. GrowlTunes/GrowlMail/GrowlSafari, etc all work with existing applications to bring a better experience to the end user that likes their notifications, and I think Gmail+Growl also does this pretty well.

Here is an example of what it looks like in action:

The envelope looking icon with the (1) next to it in blue is the interface for the Gmail notifier that Google ships. The notification is what Gmail+Growl does. It can look addresses up in the system Address Book, and you can do a lot of other really neat things with it. Overall it's a great add on, and a great addition to the Extras.

I'll be doing my next article on Rawr-Jour. Cheers.

Posted by Chris Forsythe at 06:30 AM | Comments (0)

February 15, 2006

New Growl Extras, part 1

So lately I keep hearing rumors that Apple is making a Growl clone of some kind (I wish someone at apple could just email me and confirm/deny it, that'd make things easier).

So with that in mind, we're starting to branch out our development efforts some, so that the Growl Project may remain somewhat relevant after Apple does this. If Apple ships a Growl clone, we can assume that GrowlTunes and GrowlMail are most certainly going to be pointless, but who knows what else they will add, ya know?

Anyhow, so what I've been doing is contacting developers of BSD licensed projects, to see if they would like to work with us. So far 3 applications have done this. First Rawr-Jour, then Feed, and finally Gmail+Growl. All great apps. The benefit to the Growl Project is that we get a semi to fully completed application immediately, and the developer gets the full resources of the Growl Project. Seems like a fair trade to me.

So without further ado, here is the first of a 3 part series in which I will be showing off some screenshots of the new Extras. Here is Feed (because it's alphabetically first!):

Please not that it's not done, but the idea is to have a minimal client. We don't want to remake NetNewsWire or any of the other clients though, this is pretty minimal.

Posted by Chris Forsythe at 03:25 PM | Comments (0)

January 24, 2006

Growl Universal Binary release

So I released Growl .7.4 last night. It's our first universal binary release, and should work on those fancy new intel macs.

And now, a preview of .8:

some image, get a good browser already

Posted by Chris Forsythe at 04:49 PM | Comments (2)

January 14, 2006

Growl Universal Binary Beta 1

So now that the ia-32 macs are here, Growl needs to become Universal Binary. I kinda want an intel mac, I kinda don't, but I'm happy with my current iBook that Apple so generously gave to me last year.

Anyhow, back to the Universal Binary stuffs. For those not familiar with it, basically this is making a binary that will work on 2 cpu architectures, i386 and ppc. You can make one to work on ppc64 as well, but that's pointless for Growl.

Most of the process of making the ub was easy. I even made a nice text file I used a few times

Steps to making Universal Binary Nirvana on an existing project

1) Launch Xcode

2) Get info on the main project

3) Go to build tab

4) Ensure it is on the All Configurations drop down selection for Configurations, and Collection is set to All Settings

5) Search for Architectures, edit this setting, and select both PPC and Intel

6) Try to build in Deployment or Release. Leave the inspector window for the main project open.

7) You will see a new error for Undefined symbols. This is because you are not linking to the 10.4u framework.

8) SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk needs to be put in.

9) If you plan to support or even just not crash on 10.2, you need to set all of these things:

ARCHS = ppc i386
SEPARATE_STRIP = YES
GCC_VERSION_i386 = 4.0
GCC_VERSION_ppc = 3.3
MACOSX_DEPLOYMENT_TARGET_i386 = 10.4
MACOSX_DEPLOYMENT_TARGET_ppc = 10.2
SDKROOT_i386 = /Developer/SDKs/MacOSX10.4u.sdk
SDKROOT_ppc = /Developer/SDKs/MacOSX10.2.8.sdk
SDKROOT_ppc = /Developer/SDKs/MacOSX10.3.9.sdk

The only settings you do not need to add is ARCHS and SEPARATE_STRIP

This worked for most apps. It actually unconvered a problem in GrowlTunes, which was really easy to fix once I found the right docs.

Anyhow, here's the beta. If you have a chance, give it a shot, it should work. It's even built with xcode 2.2.1 and my shiny new 1 gb ram schtick!

Posted by Chris Forsythe at 03:19 AM | Comments (0)

December 01, 2005

Interviewed

I was interviewed by Victor over at MacNN

Here is a link to that podcast.

Posted by Chris Forsythe at 10:07 PM | Comments (0)

October 23, 2005

Future of Growl?

So with 10.5 I keep hearing rumors that Apple is going to do a Watson or a Konfabulator, and either snatch up Growl or reimplement Growl. I figure I need to address these issues, and I should go ahead and do it now:

1) Growl is BSD licensed, meaning that Apple is very much allowed to snag all the Growl code and use it for their own. Even if they don't implement Growl, they could reuse stuff we've made and thus not have to recreate it.

2) With Watson, I believe the guy making Watson was offered a job at Apple to work on Sherlock, and he declined. He also sold it to Sun, probably for a sizeable amount.

Whereas with Konfab, Arlo made a huge hissy about it, in an very good attempt at gaining media recognition right before releasing a windows version. It worked well, and he sold to Yahoo.

3) All I ever wanted is for something like Growl to be in OS X/Windows/X Desktop systems for Linux and *BSD. I really just want to use it, I don't care who implements it.

So, with all that said. Should Apple take Growl or reimplement it, so long as they implement the features I need, I would be glad they did it. Growl would still be viable on 10.3/10.4. We could make the frameworks talk to the in system notification system on 10.5 as a convenience for applications, so they don't have to worry about it on 10.5 and it's already implemented in their app.

I'd prefer if they grabbed Growl entirely and just used it. We could use some Apple gui polish, and a full time dev on the project.

In either case, if Apple grabs it, I'd be pretty happy, and if they implement something similar, I'd be pretty happy.

So where does that leave the Growl Project? Why, at the Extras/Scripts of course. The Growl Extras have just added 2 third party applications, Rawr-Jour and Feed to the Growl Extras, and I might look for a few others down the road.

This means these applications get the benefits of the Growl development system, and the Growl Project gets some new Extras. It works out to be a decent deal all around.

Posted by Chris Forsythe at 08:38 PM | Comments (0)

August 01, 2005

What I've been up to

So in the last couple of months, I haven't posted much. This has more to do with the fact that the server was changed (and I did not backup my database because I wanted to sorta start new) than anything else.

So with this in mind, this post is going to be long.

Growl

Growl is doing really well. We have had about 40,000 downloads of .7 now, so this gives a form of validation. I'll be pushing beta 5 out tomorrow, and hopefully .7.1 next week sometime.

Growl .8 is going to take a while. A lot of stuff is being refactored, so that in the long run Growl should hopefully be easier to code on. This is being done, and hopefully Growl .8 will be out by Christmas.


Chatkit

So in the long run, Adium, Fire, and Proteus (the 3 main chat clients on os x) are all reimplementing the same things over and over. If you add it up, we all probably fix the same problem different ways with over 100 man hours wasted a year.

My thoughts on this for a while had been that we could all work together on some things. My previous entries regarding emoticon standards (which I gave up on) show this to some extent. For about 3 months, Adam and I have been discussing this indirectly. We ended up naming the idea Chatkit, then getting ideas going on it, involving people from multiple projects. We just started the project last week actually, and so far it's been slow going but fun. I'll talk about this more later though.

Coal

About 3 weeks ago I started thinking of something new as well. Every time I was talking with someone over im for a one week period, I would continually need to open up log files/search something on google/find something on amazon/use spotlight.

Then I remembered dashboard (later became beagle), and thought we could use a splash of something like it on os x. jfro is going to investigate this further, and has a working way to get at the data we'd need to get to. The general idea is that this is data mining, hence the name Coal. If it doesn't work out, we can still have a nice gui to do spotlight+internet all at one time. That in itself would be convenient.

Adium

I've been working less and less on Adium. My initial goals were only known by the two team leads. Overall though, the idea is to help the project in the eventual case where developers drop out of wanting to work on it. Keeping people interested has been my thought process on a lot of it, and so far it's worked out pretty well. My need to work directly with developers in order for this goal to be achieved is pretty much gone now, so folks are probably seeing me less and less.

Myko Games

So apparently I started something called Myko Games inadvertently. Basically the idea is to have a game system that works with multiple clients on os x, in order to allow mac users to play games such as chess and tic-tac-toe. Long time Adium users might remember tic-tac-toe, which this evolved from (somewhat). Here is the real story though:

Skyler (otherwise known as freakman) decided he wanted to have an easter egg inside of Adium. Skyler finally landed on wanting to put a 10 mb movie file hidden inside the "About Adium" dialogue.

Yes, I said that. He wanted to put a 10 megabyte file in Adium. And he wanted it to only be activated when people went to the About panel, and only for some weird key combination. Guess what we said..

Anyhow, in order to keep him interested in it, I suggested that he put games into Adium instead. Eventually we landed on the idea that other clients would like to have this too, and hence IMGames started. Unfortunately the name IMGames is taken, so Myko was chosen (lord if I know what it means). And so, apparently I helped to start Myko Games and save Adium from the 10 movie monster.

Randomness

Oh, and to address this blog entry by Peter and why I revived my posting grounds. I was not worried. Rather, at the time I just was not going to use something that the folks who do jep wrangling did not recommend implementing. Also, dragging up one of my posts from last year wasn't such a great idea either. But since it's been brought up, the initial work I've done will probably make its way into Chatkit, in a much simpler format than described in that jep.

Posted by Chris Forsythe at 06:57 PM | Comments (0)