Growl-ing

growl iconI don't normally post about software updates regarding various apps, because:

  • There are better places to keep track of that type of thing, even if some of the options are arguably retarded (in a sling-blade way, not the cuddly way).

  • You start doing it for one, then you have to start doing it for everyone.

It's worth mentioning Growl v.7.3 though, because:

  • I said I would (like x days late, but still).

  • It primarily just fixes one bug -- but I gave Chris a lot of hell over this bug in person (not on the site), so good to note that it's fixed.

I've actually got a bit in my head regarding Growl, and other things, that's built up to the point where I want to dump it out...

Memory

I haven't talked about Growl in awhile, but I like to think those who have an interest in these things will have heard of it. If you haven't, Growl is a unified messaging system for OS X. There are very few things that have improved my productivity across the board as Growl has. If I gave out awards, it'd have gold stars by it's name up the wazoo.

Most of what it is and how it works is explained back in an interview we did, so I won't spend a lot of time in it -- however I realized the other day it's been a little over a year since we first did out interview, and if you look at the list of supported apps the little locomotive has come a long way.

Bad dog, no biscuits

I'm not going to spend a lot of time on this, however I mentioned giving the Growl guys some hell over this bug, which basically involved a menu item that was introduced in one version, yet had a bug where it wouldn't survive between restarts, so you'd have to go enable the menu item again. I'd try to turn someone onto it, and they'd say "Cool, but I don't really want stuff always splashing on my screen."

Having to explain that there was a menu item where you could turn Growl off, or just have it log to a file, but that it had a bug so you had to keep enabling it got really old really quick. When it was going on four months since 0.7.2 was released and there hadn't been an update the back of my head was in buzzing annoyance mode.

They were doing all kinds of crazy-hard work towards v0.8, but by just ignoring that bug and the existing release in such a hardcore way was bad juju even if it was understandable. It's an OSS project, so that's entirely their right, and it's no one's right to tell people who are volunteering their free time how they should be spending it. However, you can offer suggestions and give advice when it's asked for, and sometimes you can just get annoyed. I don't recall the specifics as they were pretty late in the evening, but I recall they got pretty acerbic. Chris and I sort of have our regularly-scheduled round-and-rounds that way, often ending with my pointing out I dated his wife first and him saying "Die."

I just didn't think that was the message they wanted to be putting out considering the systemic role Growl plays and the importance of perception. My understanding is that this fix was back-ported towards 0.8, which made me gleeful, as now I can slip back into pushing it instead of having to couch it in an apology.

You make me cool

I haven't really talked about it much on the site, but I'm spending more and more time in Linux versus OS X, primarily Ubuntu and SUSE. It's quickly approaching 40% at this point, and for the most part, every time I drop into it a little knot unwinds in my neck, but I'll dig into that deeper in the future. However, one of the things that I've become aware of is how -- as a highly task-based user who wants it to work and then be pretty -- I rarely find myself missing System-level things from OS X.

There are "good enough" equivalents for most of the things I want to do, and some that are so much better I feel as though I've awoken from a stale dream, and there are real gaps. However, 90% of the gaps for myself aren't within the Desktop but rather in the end-user apps, with the exception of Growl. When I'm in OS X and have to fire up iChat or the official AIM or Yahoo client for some reason, I get all confused because Growl isn't letting me know what's going on.

When I drop into Linux, and Growl is completely gone, it's so much worse.

Sure, plain-jane Gaim is serviceable (although I often miss AdiumX), but not having Growl just gnaws at my brain, because I know I shouldn't be dropping minutes off my productivity every hour when it comes to IM and email and the umpteen scripts I have laying around that call Growl when they're done. I've seen people who have created implementations of it for other platforms, but at this stage it's primarily about pinging back to an OS X box and not full-on GUI love.

I need the full-on GUI love, because the apps I want loving from mostly exist within the GUI realm, and it's truly one of the only systemic things that makes me wish I was using OS X when I'm doing things in Linux. The fact that I'm calling it something System-level when it's done by third parties may throw you, but we'll get to that.

Earth girls are easy

I personally bug a lot of people to consider adding in Growl support to their apps, and part of me can't help but notice that neither MarsEdit nor Lux are on the supported apps list. I don't begrudge them it, however when I go other things while MarsEdit is waiting on the server to see if there is anything linked to trackback to and know there's a solution out there so it could tell it's successfully posted instead of my having to check I have to stop myself from bugging Brent again about my pet feature, because I know he's considering it. I did read on the back of a cocktail napkin that a version of Transmit on the way will have support, though.

I'd guess I have an approximate 50% success rate in seeing the app eventually sport Growl support. This may mean drunkenbatman isn't who you want lobbying for your tech, but after talking to umpteen app developers I've noticed a few things:

  • Many devs who see Growl go "Ooooh, I want to do something like that". They then decide not to use Growl, but rather to be "inspired" by Growl and roll their own.

    This doesn't happen because they have anything against Growl per se, but rather they want it to be more highly tailored to their app, just a general dislike of depending upon external things, or because they'd prefer to be able to tout it as their feature and not just adding Growl support, etc. All valid reasoning, however it's worth noting that none of the devs I've talked to that had reasoning akin to this have gotten around to rolling their own.

    I usually don't prefer to give specifics around general points, but ThinkMac's NewsMac is a good example of this, and I couldn't help but smile when I saw the latest version included Growl support -- considering he and I had gone back and forth via pages of email about him looking at rolling his own forever ago. I actually asked Rory if I could mention it, and got:

    Sure if you like. It's worth noting a lot of the things that I griped about Growl not supporting (e.g. click-throughs and so on) are now supported. I'm still not 100% convinced that it would be able to display the kind of headline notifications I originally planned (doesn't seem geared towards dealing with largish amounts of text), but since I've still not gotten around to implementing that feature it's a moot point :)

  • Developers generally dislike devoting time towards anything that may or may not actually be available, unless they themselves have gotten religion in some way. This is just economics, and it's one of the reasons I got sad when I saw the Xbox 360 would ship in two models -- with and without a hard drive.

  • The story would change greatly if a developer knew Growl would be there, and the story did change slightly when Growl picked up the ability to integrate Growl-WithInstaller.framework versus Growl.framework. Previously, if a developer added support and Growl wasn't installed, it would recognize it and nothing would happen. With the other framework, the code can:

    1. See that Growl isn't installed, and either install it or offer to install it -- messages that have been fired off by the app are simply queued.

    2. If it sees a Growl install, yet sees a newer version exists, it can offer to update it.

    However, this brings with it it's own problems. It works fantastically if you are an application like AdiumX which has decided to standardize on Growl for all of its notification and alert-age. AdiumX is especially well-served here by it's user-base, which is generally geekier than your average Normal or -- perhaps just as frequently -- has been turned onto it by a geek who explains what's going on, and perhaps just as frequently again, the fact that Growl is doing the heavy lifting is out of their head if AdiumX is the only app they have using it.

    However, if you're an arbitrary app author and a user downloads your software, you're trying to sell them. First an foremost you're trying to sell them on the merits of downloading, using and perhaps purchasing your application -- if Growl is a desired feature by the user, it improves the value and helps the sell. If Growl is unknown to the user, a developer can feel as though they're having to sell not only their app but also Growl.

  • Most developers are kind of surprised when they see how easy it is to add Growl support to their application -- however different usage patterns in different apps means a dev may still have to figure out a UI to fully support it. The Growl devs went the extra mile here when it comes to initial support, and it's paid off -- I've heard of devs adding support in around ~10 minutes just by dropping in some of the liberally-licensed sample code.

    However, consider these two separate and hypothetical situations:

    1. You've written an app which transcodes MPEG-2 files to something the iPod Video can play. This is a task that'll take awhile, and when it's done you might bounce the dock if you're retarded, make a noise, or throw up an alert of some sort informing the user that's it's complete.

    2. You've written an email client, and in the case you're sucking in files at regular intervals and sending them at regular intervals.

    In the case of the first, adding Growl support is cake. It's basically just redirecting the messages towards Growl, and the user can specify what messages don't make it through within the Growl preference pane. In the case of the second, adding support for Growl is cake when it comes to error messages, as it's very much the same as the first app.

    If it's an email client, chances are it has some sort of rules-based filtering system, so just adding a Growl trigger as an option for what happens when one of them is matched helps out greatly -- but if your app doesn't have a rules-based filtering system already, you have enough work ahead of you that it's often easy to decide that while Growl is neat, it's not worth the time at this time to deal with it.

    While I think in some cases developers can put the cart before the horse when it comes to this -- as even if it's not full support there are rudimentary things that can still be helpful -- it's a valid issue they've got to contend with.

  • If you happen to have a task that aligns neatly with Growl (As Adium does and did), it's all good -- however awareness is really key here for a developer. When they release an app, or an update to an app, they have to put up those bullet points as to what's new and what's changed.

    Developers cream their pants when it comes to something like Spotlight, because while they may have been using SearchKit before 10.4 and had searching, and the specifics to switch to Spotlight may not actually add much to the app's experience for how it's being used (don't get me wrong -- it brings things to the table in 10.4, just not in all cases), most users have an awareness.

    Even if they user will never search, awareness often equates to value in a user's mind. Best of all is when a user has just upgraded their OS, as there is a golden window of opportunity when many users see bullet points on your app reaffirming the value of the OS they just purchased. You wouldn't believe how many devs get asked about supporting some new OS X feature when it would make very little sense for the app at hand -- although I'm sure someone will start rattling off reasons why text editors and instant messaging clients need a Dashboard widget.

    This is just the game though, and the developers often end up including those things if it isn't insane because in a way they'd be stupid not to -- but I digress, and the main point here is that awareness is everything, and what leads to developers getting asked about support, which generally leads to it being supported.

    Growl is still really in the land of geeks and people who know geeks, but it's slowly improving. I've seen it show up on more general sites like TUAW now, and even more importantly when it comes to Normals, I saw MacWorld did a little write up on them not long ago. While a geek won't be reading MacWorld (it's not an affront to them, it's just how it is), it's hard to equal the exposure to Normals of a magazine given away to new Mac users.

    I mention some of the above to show the strides it's made, largely through word out of mouth, but there's been some "evangelism" and just plain bugging in there too. AdiumX alone gave it ~300,000 users, even if they aren't all aware they're using it.

    However, it's still not at to the point where it's a slam dunk for a lot of developers, but that'd take more talk about market segmentation than my brain wants to go into at the moment -- but suffice to say it's not yet a knock against an app if it doesn't include Growl support for most users. It's slowly creeping closer to critical mass, but due to it's nature on a proprietary platform, it will probably never quite have a catalyst to take it to the next level.

  • Application developers generally have a feature-wishlist a mile long from all sorts of users -- I hate to berate the point, but if you don't ask, they won't know. While you're asking, be aware you may be one of 1,000 people asking for something in the upcoming version, so don't get bent out of shape if 5 people asked for Growl and 1,000 asked for other things, and those other things got priority.

    A common situation they're faced with is a user thinking, "Well, sure, you have all these big things to add, but this one feature would only take an hour of your time," but the variable they are often missing in their equation is that if the app has a decent userbase, there are 1,000 things that would also take an hour that have been asked for earlier or have more people asking for them.

  • Many devs see the promise of Growl and think it's such a non-brainer that they're just waiting for Apple to do it, as if it gains enough traction Apple'll hug it and pet it and claim it as their very own by tacking Extreme™ onto the name.

Applications like Photoshop won't support Growl, for many of the reasons above as well as others -- but the larger reason Growl won't have critical mass is that the largest developer for the platform, Apple, won't ever integrate support for it. It's not an Apple technology, and even if it were it's not what Apple does unless that's the only option. However a growing awareness of something being highly cool on the platform that isn't from them brings with it another problem when it comes to Apple...

Don't wanna be the one to pop your cherry, girl

Here's an interesting dilemma: You're some guy with a website, with much love for project x, to the point where you're perhaps irrationally proud of it. You hear through the grapevine from multiple sources that the OS will be "implementing" most of the functionality the project provides into an upcoming release.

On the one hand, by posting it, the project will basically be Osbourn'ed, as third parties who might be interested in Growl will instead just wait for whatever Apple is doing. Users will continue using it, but in the back of their head will be aware the end is coming. Many of those working on the project might not work on it the same way, and it would probably be much harder to to recruit fresh blood.

On the other hand, it's interesting news that'll affect how people use their computer, if you weren't emotionally attached to the project you'd mention it, and it's hinted that it "may well not be a full implementation" which is not something that can really be course-corrected once it's announced, let alone out there, without the damage being done. If I didn't know I'd want to know. And of course it comes up in the course of conversation with the project involved, where they confirm they heard similar things, and you're both aware by talking about it you could be kicking out the legs from the project they've put a hell of a lot of sweat into.

If the info is real, you'd just be acting as a catalyst as it would all happen anyways, and by getting the info out there perhaps the way it ends up going down gets shaped, but you have to question yourself as to whether each is a rationalization. The easiest solution of all is to just decide the whole thing is making the back of your head feel icky, and just stop pinging around to the people who'd know because in some cases ignorance -- while not bliss -- is less icky.

Give and take
"The easiest way to get Apple to do what you want is to do it yourself."

~anonymous Mac programmer

One of the reasons I pointed to the systemic nature of Growl is that I don't actually have an intrinsic issue with it being pulled into a Desktop, whether it be Mac OS X, Gnome, KDE, or Windows. Quite frankly it's the kind of thing Apple should already be doing to take care of many of the points we went through earlier, and I don't think I've encountered one person who has used Growl and not said, "Apple should be doing this." While it has grown to be a bit of a fuzzy line, some things are just so obviously systemic that they're something the OS should be offering to any app.

To make it clear, another example might be a spell-checker. While again, the line has become fuzzy, any app dealing with text is going to want access to a spell-checker, and while it may suck that you've poured your life into The Greatest Spell Checker Evar™, it's something the OS should really be doing -- and doing well. If the guy did well by you with a great app, you want to buy him a beer, but you don't exactly want to be encouraging people to try to sell a TCP/IP stack at this point.

I erroneously had the Growl daemon as licensed as GPL with bits of code licensed as BSD in this section, but was corrected.
Apple could bundle something like Growl, but Apple doesn't really go for that unless there is a compelling reason for them to do so (such as not having the resources or timetable to implement it themselves, like a web browser engine), and there would be real usability issues with just dropping Growl as-is into an stock OS X system.

Having every app taking whacks at it could present scaling issues judging by what happens when 10 people IM me at once, and there is the issue of people to a new way of working they haven't seen before.

All of these things are areas where Apple, Microsoft, and even the Gnome and KDE Desktops could be bring value to the table, as at the core they'd require design, experimentation and testing to see what works on a broad level which theoretically is why we pay many of these companies for their software. I know I've talked to 6+ people at a decent level within Microsoft and they've all agreed they need something akin to Growl, but I'm not holding my breath, as:

  • Microsoft still has the task-bar on the brain, and you'd be surprised how politics-and-groups-driven a company of any sufficient size gets. Don't for a minute think I'm singling Microsoft out on the latter point, only the former.

  • To really sell it to those around them they'd need to sit them in front of Mac and make them use it for a day.

  • It's a little late in the game when it comes to Windows Vista for anything, and was a few years ago, and Windows Vista SE won't be released until people entering high school this year have earned their bachelor degrees.

Part of me would freak out if Microsoft adopted it first, as it's already embarrassing that Apple hasn't -- I can be a little more forgiving towards the Gnome and KDE guys and such because they don't have a Mac sitting right in front of them to see it for themselves, but bigwigs within Apple don't have that excuse.

The embarrassment should never be that they didn't think of it first, as that would be hubris, aka NIH syndrome, but rather that the technology has been around as long as it has, building the support it has, without them realizing the potential earlier. I know software engineers within Apple were pushing it around internally to get people to look at it fairly early on until it started to get traction.

I'd like to make this crystal for those scanning instead of reading, even if I am in danger of repeating myself: My worry is not that Apple will co-opt Growl, but rather that they will do so badly.

Dropped his wallet, now it's mine

I've tip-toed a bit around whether alert aggregation will be in Mac OS 10.5, as I don't really know, because I stopped pinging around because a good chunk of my brain is afraid to know. I do know it was talked about internally and practically planned as a feature -- it's certainly something many developers grok in a hardcore way inside Apple, but once I heard marketing had their hooks in it I lost all faith. We've seen this over and over in recent history:

  • "OMG, the internet huge. This guy is taking our web services APIs and aggregating them into an app so people can easily see information about their flight and movies and phone numbers from a central place without having to scour the web. OS X is really late, and we should do that! How can we possibly screw this up?"

  • "OMG, it's the year of search! Search is hot, and everyone is hearing about it on the news, and we should do that! How can we possibly screw this up?"

  • "OMG, Microsoft is allowing developers to whip up desktop-apps via a form of XML, and now these other guys are doing it via Javascript? We should do that! Can we possibly screw this up?"

  • "OMG, Adobe is building an entire workflow around their imaging products with this thing called Adobe Bridge. We want them locked into our workflow, so we should do that! How can we possibly screw this up?"

  • "OMG, RSS is being talked about everywhere. We should do that! How can we possibly screw this up?"

They screwed it all the fuck up, and while it may not be something you want to say publicly, you have to be a seriously hardcore zealot not to know deep down there was more hype than bite lately. It doesn't mean Mac OS X is worthless, it just means the emperor is chilly. If you want to really freak out, look at the early demos of where Microsoft was taking Vista's Aero Glass and compare it to where Apple seems to be heading with iTunes 6 and such.

I wasn't privilege to the discussions surrounding it, but I like to think a sentence occurred akin to, "Oh shite, Aero Glass makes Aqua-ish look like a gaudy whore." Don't believe what's bandied about in interviews and PR releases -- Apple is less a design company now and much more of a marketing company, especially when it comes to how they decide where software will go internally.

This doesn't mean that they aren't doing cool things in some areas, but rather what form they take is primarily driven by the marketing department after they've run their competitive analysis and decide what's shiney -- this is not an engineering or design-driven company. Those cool bits happen in the corners when developers think no one is watching, and then they sell marketing on them.

The ideal in a situation like this would be for Apple to take the tech, implement the functionality people desired from the original project, improve what needs improving, add shiney, and by having it within the OS it becomes something everyone can count on. Even if it isn't compatible in terms of protocol with what came before, the needs are met and it's enough to buy the people behind a drink and pat them on the back for a job well done before they hopefully move onto their next thing.

There's dignity there, even if Apple doesn't acknowledge where they grokked the idea from, as others will take care of that in random forum posts for decades to come. There's little dignity in the alternative.

Too good, too bad

What freaked me out the most was when I heard "It may not be a full implementation, but they like the gist." Specifically, things like network support may not be something they're interested in, and this is basically the nightmare scenario, as things like network support are in there because while a normal iChat user may not be using it, others need it, as that is why the feature is there in the first place.

The reasoning behind it isn't very difficult to understand -- just as it's not hard to understand why iChat is such a basic IM client -- but it causes all kinds of problems that just don't need to happen with some extra effort that might now show up on the initial excel graph but pay dividends later.

I still get email about Sherlock and Watson, primarily asking what the hell is going on there. This may confuse some of you, because I'd imagine that most people have forgotten Sherlock is even on their System and the original Apple link is dead now, but there were two basic things that peeved people when it came to the applications:

  • A later version of Sherlock was essentially a clone of Watson, with no nod given.

  • This newer version Sherlock was lesser than Watson in almost every conceivable way. You almost had the impression even the developer of Watson was surprised by this at the time, as he was expecting to be overrun by a company with superior resources and skill, not just sat on.

The developer gave it a go when he saw that Sherlock sucked, as there were people who wanted what Watson had to offer, but there wasn't enough anymore for it to be sustainable.

Things eventually dwindled until the OS X version was discontinued and the product was (for all intents and purposes) sold to Sun Microsystems. I don't get a whole lot of email about the first, but even I'm surprised by the people who ask me to "Look into what is going on with Sherlock, because it sucks, and Watson is gone..." I'm leaving out a more obvious and recent example because I don't want to go into it.

iTunes destroyed a whole group of MP3 players, but there isn't the kind of evil ill will for iTunes that there is around some of the others -- my best guess for much of this is that iTunes didn't suck.

Farewell blues

Things happen, and companies do things they sometimes regret. If it keeps happening, it becomes a behavioral pattern, or MO. Once a behavioral pattern is well established, it's extremely hard to break out of, and doing so usually takes a major shock to the system.

This post isn't entirely about Growl, but it's worth wrapping around back to it -- if the rumbles pan out and Apple does integrate functionality akin to Growl, and does it well, Mac OS X users could be in for a real treat. Our operating systems engender multi-tasking and always-on, yet very few of the innovations put forth by those shipping them actually help you deal with the influx of information that entails. That might surprise you, but I'm serious. After "Alt + Tab" (which was later brought to the Mac as "Command + Tab") it's slim pickings in this problem set.

However, I'd be very, very sad if Apple integrates something akin to Growl which sucks, or at best only cherry-picks the aspect they believe they can rub shiney for a bullet point on an upcoming box, as then we're in for a long slow death of a project that deserves the nod. I've personally grown weary of the often-repeated cycle of measured victories based more upon attrition than merit.

Any which way it goes, to the Growl guys past and present -- Thanks. I'm hooked, and would be hard-pressed to use the platform without ya.

yummy alcohol posted button Posted by drunkenbatman
    January 05, 2006, at 01:54 PM


Comments (38)




Post a comment



Anonymous comments are allowed, but please enter something for a name.

And do endeavor to appear sane.









Remember personal info?