Growl-ing
I 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
xdays 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...
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.
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.
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.
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.frameworkversusGrowl.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:- 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.
- 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:
- 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.
- 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...
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.
"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.
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.
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.
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.
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.
Comments (38)
Posted by: Jeffrey Flowers at January 5, 2006 03:03 PM
Growl looks very cool. But in looking through the site for Growl, I didn't see any mention of a command line interface, which I feel could be handy for shell scripts.
Is it possible to pass notification to Growl from the command line?
Posted by: drunkenbatman at January 5, 2006 03:08 PM
Growl looks very cool. But in looking through the site for Growl, I didn't see any mention of a command line interface, which I feel could be handy for shell scripts.
You can, it comes with a little CLI app (growlnotify) which you can install, which takes arguments you can then pass from a script. For example, I use something akin to this in many upload scripts:
echo "Files have been uploaded." | growlnotify "Upload Complete"
I think Chris turned me onto the above usage of it after I encountered a problem. This is a weak area of Growl as far as installing it goes, as it hasn't been a major focus or packaged up well and something I've bitched at them enough for it. The last time I tried, the installer script didn't work (.7-ish). It's just a choice to leave it in the "if you know what you're doing you can find it and install it" type deal while they focus on other things, so while you may end up installing it manually, it works and I use it constantly. More documentation on installing and usage is on the growlnotify page.
Posted by: Diggory Laycock at January 5, 2006 03:46 PM
I was under the impression that it was all BSD - no GPL anywhere - I could be wrong though.
Posted by: drunkenbatman at January 5, 2006 03:56 PM
I was under the impression that it was all BSD - no GPL anywhere - I could be wrong though.
You're not -- I apparently just spaced. Clarified and left a note regarding the earlier mistake in the post.
Posted by: Ferdinand Svehla at January 5, 2006 04:09 PM
Drunkenbatman, if I recall correctly, spotlight was announced before Google Desktop was announced or even shipped.
Posted by: Anthony at January 5, 2006 04:29 PM
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.There are notable defficiencies though. It doesn't suck, but it's not so good you don't need to keep other software around to play all the formats it can't handle or rip the scratched CDs it can't read properly.
Posted by: drunkenbatman at January 5, 2006 04:54 PM
Drunkenbatman, if I recall correctly, spotlight was announced before Google Desktop was announced or even shipped.
Apparently it's correction day at DrunkenBlog. You're correct, and I reworded that part. Google Desktop Search shipped in October of 2004, and Spotlight was announced at WWDC 2004, which was at the very end of June I believe. So Spotlight was demoed several months before Google Desktop was on people's machines, but it had been rumored for months and months and months and was about a given.
If you go back in the wayback machine, you'll recall anyone and everyone was talking about Search. Months before WWDC 2004, Microsoft laid out the search capabilities planned for Longhorn (some of which have been changed), and was expected to be releasing an MSN-branded crawler (as in, Microsoft couldn't just drop it into a Windows update) at some point in the year -- I remember seeing videos of them talking about it May. However, your point is taken -- Spotlight was much more of a reaction to what Microsoft was talking about in Longhorn than Google.
Posted by: lookmark at January 5, 2006 05:04 PM
Hmm, there's a point in there somewhere, but it's not quite gelling yet.
Only one of your examples is a really a case of a less-good Apple version ending the life of a better version (Watson):
- Spotlight, as mentioned above, was announced and worked on well before Google announced its desktop search tool. (Could the Spotlight UI be better? Yeah, a *lot* better. But it's version 1.0, give Apple some time to evolve it.)
- Dashboard is most clearly and obviously a copy of Konfabulator, but it's not less-good -- it's actually better (IMO), nicely solving Konfab's UI clutter problems, offering very well-thought out style guide + templates, and providing all of WebKit to work with instead just a custom JS engine.
- Aperture doesn't really fit in with any of the previous examples. It's got a great UI but some deadly performance and conversion problems -- just a flawed 1.0 app released too early. And it won't stop Adobe Bridge development one bit -- it'll only spur it forward.
IOW, I see a trend of Apple releasing software way too early to meet management deadlines ... but, other than the tricky balance of making neat stuff teetering with stomping all over their indy devs (and the particularly shameless case of Sherlock & Watson), that's about it.
BTW, Growl *is* great. And I'll bet dollars to donuts that a notification system is coming up in Leopard.
Posted by: Magnus at January 5, 2006 05:52 PM
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)
Or an SQL engine, or a printing system, or the tons of other free software they have bundled.
Perhaps I agree with you that it's unlikely that Apple will bundle Growl, but why do you think that this type of application is an unlikely one? Too infrastructural? Because of marketing issues?
Posted by: Rui Carmo at January 5, 2006 06:01 PM
Ah, yes... It's been more than a year since I waxed lyrical about how great it would be that something like Growl made it to Gnome (and that they used a standard protocol like SIP, but hey, it's their code).
More on that here:
http://the.taoofmac.com/space/blog/2004-12-01
And you may find these useful if you're working in a mixed environment:
http://the.taoofmac.com/space/Projects/netgrowl.py
(it works with the current version, although I haven't yet updated the version numbers)
Posted by: ssp at January 5, 2006 06:01 PM
Hmm, about ten million words for Growl. I'm not notification obsessed and consider Growl clutter, so I don't use it myself. But Steffen was good enough to implement it into one of our apps on user requests. It seemed to be easy enough to be doable.
About Apple taking this over. Yes, they should do. They had Notification Manager in Mac OS and it started being good enough at some stage. Particularly with notifications being able to go away automatically once they weren't needed anymore. The 'upgrade' to OS X seems to have killed that completely. Sure, a shinier version of that would be nice. But Growl looks like its currently aimed at people who love being bombarded all the time with superfluous messages... and that kind of behaviour should never make it to the general UI.
Posted by: Dave Menendez at January 5, 2006 06:16 PM
There is precedent for Apple absorbing system-level open-source projects. InternetConfig started out as a public domain central repository for internet preferences, and eventually became the Internet control panel (sometime around OS 8, I think). The Internet preference pane in OS X is its descendent.
Posted by: drunkenbatman at January 5, 2006 06:26 PM
Or an SQL engine, or a printing system, or the tons of other free software they have bundled.
Their printing was something they actually went and paid to get re-licensed...
Perhaps I agree with you that it's unlikely that Apple will bundle Growl, but why do you think that this type of application is an unlikely one? Too infrastructural? Because of marketing issues?
I meant this to be covered by this line: "It's not an Apple technology, and even if it were it's not what Apple does unless that's the only option," but it's worth expanding upon. If a platform is the only place you can get something, it's a competitive advantage (usually).
This doesn't apply for something like "nano" or "sed", but rather these are things that are expected to go along with a *nix system. However, we're talking specifically about the GUI layer, which is a different ball of wax.
Whenever a company of a certain size is faced with a decision like this, a technology is almost invariably going to be competing against their capacity to internally develop and maintain it on a timetable that is acceptable.
For something like SQlite, Apple had a few different choices there, but there was no way they were going to be developing an SQL engine from scratch for that role -- it would be insanity. I don't think Growl falls into that category, and neither did something like Watson, where the choices would have been between rolling their own, purchasing it outright, or perhaps licensing it.
Course I could be wrong, but it wasn't what the rumbles said.
Posted by: Alastair Tse at January 5, 2006 06:36 PM
First off, Growl is an amazing piece of the UI puzzle that Apple (or any other OS for that matter) has failed to capitalise on. If only their network protocol was sorted out and standarised so that it could be cross platform, it could be a real killer. Growl and Quicksilver are the coolest features on the mac hands down.
Now, for every app that Apple screws up, there are a bunch that they get right. Apple always finds the middle ground between power and usability. Most of the apps that are developed as grassroots try to incorporate as much power as possible, and when Apple has its take on it, there will always be a small percentage of people screaming and kicking that Apple's solution has been dumbed down.
Safari is a great example of an Apple attempt at providing their take on web browsing, being in between Mac IE and OmniWeb. Now I consider that I'm a power user, but every attempt at me switching to Firefox has only lasted 2 weeks max. I go back to Safari every time because its way of dealing with complexity is just much saner than any other (except OmniWeb).
My money would be that if Apple did a notification system, they would get it right. I wouldn't bank on them exceeding Growl though.
Posted by: Marcus at January 5, 2006 06:38 PM
"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?"
I assume you mean Aperture, but you list no specific grievances whatsoever nor do you mention it is a first release. Tell me one version 1 release without bugs?
Posted by: Adam Rice at January 5, 2006 06:42 PM
I'm an enthusiastic user of Growl, and appreciate the insights. Just to play Devil's Advocate, though, Apple doesn't (historically) always suffer from "re-invented here syndrome" though perhaps there's more of that recently.
- iTunes, of course, was SoundJam bought from C&G and polished up.
- Step further into the misty past and remember Internet Config. This was developed by Stairways Software (I think) and provided essential plumbing--exactly the sort of thing that should be part of the OS. I think Apple got around to officially incorporating it around System 7.6 (?). In fact, the lack of Internet Config in OS X is rather glaring, though there are, of course, independent replacements.
- System 8 (or was it 8.5?) was basically a repackaging of the previous OS with a bunch of stuff that had been shareware that had been bought and brought in-house.
Ideally, I suppose, Apple could "bless" Growl, although that seems unlikely.
I've written in my own blog about the challenge of multi-layered notifications and status reports--Growl is one piece of the puzzle. BTW--Dashboard is what got me started using Konfabulator, which I like better.
Posted by: Anders Hovmöller at January 5, 2006 07:21 PM
I added Growl support in my timer app in way less than 10 minutes. Notably the download of the framework file and figuring out how that works was like 90% of the time for me, seeing as Timer is my first Cocoa app. (Give it a try: http://boxed.killingar.net/proggies/timer.dmg)
Posted by: matthew at January 5, 2006 07:37 PM
If Apple were to bundle Growl or an Apple-esque-Growl youd only get complaints that they were stomping on the little man.
FWIW, I still think both Dashboard and Konfabulator were just evolutions of Desk Accessories, and for my money Apple did it better.
Posted by: at January 5, 2006 10:41 PM
So in case nobody clicks on the url linked, I'm Chris, the Project Lead on Growl. I'd like to address some of the issues brought up in the comments, and will post another comment later tonight/tomorrow to address some of the actual post:
Let's go with the most controversial first:
"If Apple were to bundle Growl or an Apple-esque-Growl youd only get complaints that they were stomping on the little man."
Luckily matthew, this is just not the case. One of the goals of Growl is that it, or a similar implementation of Growl, gets implemented.
If Apple were to do this, we would update the Growl framework so that if the user is on 10.5, the framework will just talk to the system notifications system Apple ships rather than Growl (unless Growl is installed).
We've also been incorporating multiple third party applications as Extras, specifically an RSS/Atom client, the Gmail notification plugin Gmail+Growl and Rawr-Jour. This is because I personally believe that the project will still be relevant with the Extras.
Next, from ssp:
"I'm not notification obsessed and consider Growl clutter, so I don't use it myself. "
That's exactly what one of our main developers said when he heard of Growl a long time ago. Recently he said exactly the opposite. ;)
This really depends on if you go into using Growl with an open mind, or if you instead go in with your mind set that you cannot possibly find any use out of something like Growl.
I only use Growl with very specific things, and mostly things in the background.
Alastair said the following:
"If only their network protocol was sorted out and standarised so that it could be cross platform, it could be a real killer."
Umm.. the networking is sorted. Here we go:
http://growl.info/documentation/developer/protocol
Rui Carmo made some networking scripts, and plenty of others have done the same. We've actually been given permission to ship those with .8.
Anyhow, you can talk to Growl over the network from multiple operating systems.
Finally, something regarding the command line utility:
"Growl looks very cool. But in looking through the site for Growl, I didn't see any mention of a command line interface, which I feel could be handy for shell scripts."
There's some politics with this one. Basically, I want to put it into /opt, and everyone else wants /usr/local/bin. There's also the part about modifying people's paths, and all sorts of stuff. In the end, we might do something like textmate does.
growlnotify should be used like this:
growlnotify -m "foo" -t "bar"
Check growlnotify --help for more options, but basically I'm currently of the opinion that if you are advanced enough to use this, you should be advanced enough to be able to go into the Extras folder, read the README, and then be able to install it and use it. We'll have something later that should make this easier, but this isn't a focus right now.
Posted by: Chris Forsythe at January 5, 2006 11:43 PM
Drunkenbatman, I'm ok with the joke being in IM, but if you put it on your blog it no longer becomes a joke.
Posted by: peelmanG4 at January 6, 2006 12:57 AM
There's some politics with this one. Basically, I want to put it into /opt, and everyone else wants /usr/local/bin. There's also the part about modifying people's paths, and all sorts of stuff. In the end, we might do something like textmate does.growlnotify should be used like this:
growlnotify -m "foo" -t "bar"
Check growlnotify --help for more options, but basically I'm currently of the opinion that if you are advanced enough to use this, you should be advanced enough to be able to go into the Extras folder, read the README, and then be able to install it and use it. We'll have something later that should make this easier, but this isn't a focus right now.
Adding some stuff to the README about being able to PUT the files in /opt woudl be nice. I'm a noob when it comes to this Unix stuff, but i knew enough that changing my PATH wasn't an option. Never would have thought to drop it in /opt/local, growlnotify now works like a top. Hell, just copy and paste that post of yours into the readme would do some much needed good. Maybe most people who want the functionality already knew they could do that. i didn't, and i'm sure there are others like me.
Posted by: Chris Forsythe at January 6, 2006 01:16 AM
/opt is not in most people's path peelmanG4.
Posted by: Mindflayer at January 6, 2006 01:43 AM
Growl rocks. I am with DB - I do a lot of stuff on Windows and Linux (Ubuntu has been a consistent FOTM). It's the little things about OS X that keep me on it, and growl is one of them. (Well, iChat being teh suck in terms of UI, but awesome for newbies to video chat, too - just got my folks an iSight.)
growl CLI is excellent as well - it's beautiful to see a visual notification that a cron job is done, or a task finished, or something popped in a log. One of the reasons I use OS X to manage Linux servers is this level of GUI interaction and beauty.
Posted by: Dale at January 6, 2006 03:06 AM
Sherlock was not a clone of Watson. Sherlock was available in Mac OS 8.5 - years before Watson was available on Mac OS X. Watson simply extended Apple's original Sherlock concept (ie desktop-based internet search with plugins) and added superior performance.
Posted by: Dustin Sacks at January 6, 2006 03:25 AM
mmmmm...... growl... Thank you for letting me get work done without IM taking away my focus.
Lux doesn't support growl (I don't think I've gotten a request for it before), but it does run on Linux. Trade-offs, trade-offs...
Posted by: jo at January 6, 2006 06:05 AM
A ruby-growl package can be found here: http://segment7.net. This way you also have a command-line interface to Growl services! (For those who want to look a bit deeper into Ruby: redhanded.hobix.com.)
Posted by: kila at January 6, 2006 06:27 AM
A Ruby-based RSS newsreader for the console (that may play together with ruby-growl) is www.raggle.org/about/!
Posted by: matthew at January 6, 2006 06:35 AM
Im pleased to hear that. Im personally all for Apple acquiring 3rd party software which has become pretty much universally accepted and integrating it into the OS, or making it themselves.
Sadly, theres often complaints when they do this, Konfabulator and Audion come to immediately mind.
Yes, Im sure Watson came out after Sherlock (which I quite liked personally) with similar shouts of foul play about Apple.
I use Growl, but only on a few things, I find it useful for Adium IM notifications and such.
Keep up the good work.
Posted by: matthew at January 6, 2006 08:03 AM
damn, my blockquote didnt come out. That was a reply to Chris' comment.
Posted by: Chris Post at January 6, 2006 08:43 AM
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.
I'm surprised, you failed to mention Safari RSS. :-)
Posted by: Uli Kusterer at January 6, 2006 09:20 AM
As others noted, iTunes was bought by Apple from one of Audion's competitors (and if you read Audion's story, Apple actually tried to buy that first, but the guys fumbled and so X&G's SoundJam got bought instead).
Similarly, Sherlock was there in 7.5 as a replacement for Finder's seearch, plus meta-websearch-aggregation and then got extended with other search plugins. Watson is called "Watson" exactly *because* it was an extrapolation of the Sherlock idea. It's no surprise that Watson got obsoleted by a newer Sherlock revision just like it isn't surprising that Unsanity's Labels X got obsoleted when Apple added OS 9's labels back into Finder.
Others have also noted that other utilities made it into OS X by being bought. Apart from Internet Config (by Quinn, who took it along to Apple), an important one to note should be Steve Christensen's MenuClock, which is now actually a built-in system feature. Similarly with BeHierarchic (hierarchic Apple menu).
So, IMHO Apple aren't stepping on the little man. Quite the opposite, they frequently bought stuff from small companies they could have developed themselves in half an hour.
Regarding Growl: I used it with Adium, I'm planning to make the Moose support it, and I think it's a nice power-user feature, but I actually hope that Apple will create a version that's not as fully featured (*if* they create one). Apple has managed to spot the important features and not give in to feature craze as much as other companies. Growl just has too many options for average users. And people like us who run their own servers at home aren't the "average user" a Mac is targeted at, and can cope with having to install Growl.
Posted by: James Huston at January 6, 2006 02:09 PM
I find Growl useful for notifications, error messages are problematic.
Apple does have something similar, the Bezel Services framework which Adium tapped into before moving to a Growl only notification system. Its the same bezels you get when hitting the hardware keys on the keyboard. Unfortunately its still a "Private Framework" so its as unlikely to be touched by 3rd party developers as Growl is.
And if Apple didn't use the the Gecko stuff for a web browser there would be no way in hell they'd use it for a widget runtime by buying Konfabulator.
Posted by: Evan Schoenberg at January 8, 2006 10:09 PM
FYI: Adium has never used the Bezel Services framework, James. The bezel-like notifications which were in old versions of Adium were written from scratch to look like Apple's own; a cursory class-dump on BezelServices.framework doesn't appear to reveal anything which could be used even via private APIs.
Posted by: Chris Forsythe at January 10, 2006 02:38 AM
"/opt" would be really great for the darwinports version of the tool, but if you're not using darwinports you won't ever expect to find stuff there. Why not submit a darwinports port in /opt, a /fink port in /sw, and leave /usr/local/bin as the default install location... or even better, ask the user?
So /opt is used for 3rd party tools, and /opt/local/wherever is where dports lives, but /opt is not exclusive to darwinports. Take a look on a default system, /opt is there.
And, as I said, we'll probably do something like textmate does, which is offer a choice.
Also, we ship a big scripts dir, all users need to do is email us their scripts.
Posted by: Peter da Silva at January 16, 2006 06:13 PM
The only things in /opt on my system are darwinports - absolutely zero files outside /opt/local and everything in there is from a port. Can't look at a default system without doing a scratch reinstall... but if it's there it's empty.
If you look in the scripts shipped in /etc, in the default install, a lot of them reference /usr/local. For example, the default MANPATH includes /usr/local but not /opt.
I think /usr/local would be a less surprising choice for a default install prefix.
Posted by: Vinay Venkatesh at April 26, 2006 05:39 AM
Actually if you do a class dump on BezelServices.framework, Bezel Services doesn't provide functionality to throw up your own Bezels/graphics. You can only throw up the Bezels that are predefined in the framework (looks like by an enum of some sort).
Like Evan said, Adium never used BezelServices. Much like the Growl Bezel Notification, it's written from scratch to emulate the effect.
P.S. BezelServices is a Private Framework and as such isn't "blessed" for Developer use anyway.
Posted by: Anm at April 29, 2006 06:56 PM
Can extras receive notifications from Growl? I thought the developer APIs were primarily for sending out new notifications (and browsing the developer docs seems to reinforce this belief). If they can receive notifications, can they also get another update when the notification goes away (either by clicking or the display duration times out).








Cowboy Bebop. Nice. Bad Dog, No Biscuit wins my personal award for best ska riffs from a non-ska band.