Nine months ago, I acquired a PowerBook G4, and since then, I’ve began using it more and more. There are surprisingly few applications on Windows that I can’t live without that’s not gotten an equal on Mac OS X, and the dealbreakers for me were EditPad Pro (a very nice text editor), Trillian (the multi-protocol IM client) and Paint Shop Pro (the fully-featured graphics editor that takes under half an hour to start, allows for customization and doesn’t suck).
EditPad Pro, despite being great, was the easiest to find an obvious replacement to. I had already tried (using an old borrowed PowerBook G3) SubEthaEdit, and what SubEthaEdit does is amazing; this is what SubEthaEdit does - it lets you edit a document over the Internet (or the local network) with any number of other people live with colorization. Think “multi-player notepad” meets “multi-player diff” - in Technicolor. Insanely cool, but niche, right? Well, true, but on top of that, it’s an excellent code editor that’s absolutely on par with EditPad Pro (which didn’t even support Unicode). It’s an instant fit.
(But, the crowd says, what about TextMate? Stunning autocompleting and snippet management, but wretched decision to not derive the work from NSTextView. This effectively means that they will have to spend time re-implementing encoding handling and printing and wrapping and I still won’t be able to hold Ctrl, Cmd, press D and move around the mouse getting popups telling me what the word under my pointer means - all of which would have been if not free then nearly free. It doesn’t bother me that they’ll have to do this, it bothers me that I’ll be missing out on features that should otherwise be there had they not had to spend time reimplementing core functionality, and, notably, it bothers me that I’ll still be missing out on the core functionality which will probably be turned into feature bullet points instead of other amazing features as incentives for me to upgrade.
(Update: a reader labels my NSTextView support as ‘propaganda’, perhaps rightfully so. There’s good sides of using your own, and there’s good sides of subclassing NSTextView - I take for granted that people will be able to figure that out. The reader mentioned that NSTextView has historically had bugs, and even points to DB’s The Downward Spiral which details a huge bug (which I haven’t seen, but that’s how bugs work). Another point mentioned is that TextMate’s excellent features are all extrapolated from the choice of not using NSTextView, and that by using NSTextView subclasses, your app’s main component can be held hostage to bugs that cannot be fixed, which is an insanely good point. Finally, the reader mentions, NSTextView doesn’t perform well under load, but neither does TextMate. I have to add personally that the creators of TextMate left a sour taste in my mouth when, around 1.0, they mentioned that they had, more or less on purpose, chosen to implement some preferences as document specific menu items to keep the app simple, which, aside from going against UI conventions (you stick extremely commonly used Preferences in menus and that’s it) and common sense, is much like putting lipstick on a pig (”look - our app is simple because we don’t have preferences”).)
But, the other end of the crowd say, what about BBEdit - it doesn’t suck, right? Well, when Rich Seigel, president of Bare Bones, spews dreck like: “These overnight text editors don’t reflect well on the genre or the platform [..] We are raising the bar, elevating the standard.”, that’s when I lose respect for otherwise fine software developers, and decide that they can take their $49 or $129 or $199 and demand it of people that don’t seem to mind the complete lack of respect for their colleagues, be it in the ‘genre’ or the ‘platform’.)
Adium is a multi-protocol, open source IM client for Mac OS X. It is insanely different from Trillian, but I’ve settled in with Adium. Like Trillian, it has problems with file transferring at times, which does bug me, but not beyond the point that I can’t switch to iChat, transfer the file and be done with it. Adium is written in Objective-C using the Cocoa framework that I’ve come to love, and while I’ve tried to write one-off plugins for Trillian, I admire Adium’s modular construction and see no notable difficulty in being able to write a plugin for that. That’s why I’m happy to announce that I’m now a minor contributor to the Adium project, where I’ll occasionally provide some investigating relief and occasionally think up things on my own to straighten out or extend.
That leaves Paint Shop Pro. Photoshop is mostly a no-go for me personally; its interface doesn’t work with me. I’ve tried the niche players like Pixen - which is good but not really too useful outside of pure pixel pushing - and in the end, until today I’ve been using a special version of GIMP called GIMP.app.
Here’s how it’d work: GIMP would start up under X11. It would take several minutes to start up. Since X11 is a window manager looking like a program, and several programs can thusly be run in it, clicking the X11 icon in the dock wouldn’t bring windows to the front, and neither would Command-Tabbing to it, or clicking GIMP’s icon in the dock. (Clicking X11’s icon or switching to X11 twice would, however, bring the windows to the front.) GIMP being GIMP, it would carry Control-shortcuts instead of Command-shortcuts. X11 being X11, you were required to hold down Command and not Control to simulate a right click. And any of them being any of them, when you would hover a button, or a popup menu, or any other widget, in a window that’s not the current window (which often is the case in GIMP) it would light up, but when you clicked it it would only bring the window to the front, where you’d have to click again - the worst kind of wrong-headed click-through, for what has got to amount to 50%+ of clicks.
Even if GIMP’s interface was otherwise perfect (far from it), and even if it supported OS X color and font pickers (it doesn’t), and even if filters didn’t take eons to go from menu item click to trite dialog where any kind of immediate preview is a rare luxury, I think most people would be far pushed to call this a good state of affairs.
But then, today, it came to me in a dreamdel.icio.us RSS feed detailing links with the tag ‘cocoa’ - Seashore. Seashore is a graphics editor - a Cocoa app that is ‘based on GIMP technology’ and even shares the same file format. Seashore is beautifully put together, looking exactly like a Mac OS X application should these days and weighs in at a svelte 3.4 MB disk image (GIMP.app is a 42.5MB beast). Seashore is a light-weight GIMP done right, and I suggest that you check it out when you get a spare moment. The tools are sparse, the filters mostly unimplemented, and it takes you four to five clicks to finally reach the download page, but if those are the only problems (which it sure looks like) then what we’re left with is a nearly perfect, if only started-on, graphics editor with a top notch user interface and an awesome workhorse pedigree. What a concept.