My favorite text editors for web development

I’ve been neck-deep in web development for the last eight months or so during which I’ve been hopping between three different text editors — Webstorm, Sublime Text 2, and BBEdit 10.5. I thought I’d post some thoughts on what the good and bad aspects of each are.

Webstorm

Webstorm ★★★★★ is the web-flavored version of Jetbrains highly-regarded IDE. Despite, I believe, being written in Java it feels light and while not native its UI is solid. It has lots of nice features including jshint/jslint integration (which could be better) and pretty intelligent auto-complete (which is no mean feat for Javascript projects).

  • Very capable. Cluttered.
  • Doesn’t feel quite as lightweight as Sublime or BBEdit, but it’s very nimble compared to (say) Eclipse.
  • File-browser + Tabs seems wasteful of screen real-estate. I’d rather waste space on tabs than file paths.
  • Ridiculously configurable, which is a mixed blessing.
  • Project-centric to an annoying degree (e.g. you can’t just create a scratch document you don’t plan to save anywhere).
  • jshint/jslint and refactoring suggestions integrated into the editor (UI is very fiddly, but the integration can be very helpful).

Sublime Text 2

Sublime Text 2 ★★★★★ (version 3 is in testing) is flavor of the month in text editor world. Since version 2 came to the Mac it seems to have taken over most of Textmate’s mindshare (and deservedly so, it’s a far better product in most respects than Textmate ever was).

I should note that while I’ve played around with Sublime Text a fair bit, and admire it, I don’t actually use it for anything serious and haven’t actually licensed it (in part it’s because I’m waiting to see if version 3 addresses my few complaints).

  • Side-by-side editors are awesome, and great use of widescreen display.
  • Great tab implementation.
  • Nice modeless search, including multi-file search.
  • Lots of cool features such as multi-select-editing that I don’t use.
  • Minimap is a cute but generally useless gimmick.
  • Go to Anything… is awesome.
  • Ctrl-M to jump to matching braces is awesome.

BBEdit 10.5

BBEdit 10.5 ★★★★★ is the crusty old man of Mac text editing, having started life in the 608×0 era and yet having managed to weather the storm of many rivals to make it to the current day. (I first got BBEdit as a free bundle with Dreamweaver 1.0 which, at the time, couldn’t actually edit text files worth a damn, and instead would “round-trip” HTML source to BBEdit).

  • Popup menus for open files and functions in the current file are incredibly useful, but clunky. I tabs and keyboard-driven alternatives would be better respectively (there is a keyboard alternative to the open file popup, but it doesn’t differentiate between opened and unopened files).
  • Modeless search is cute but lacks features of and integration with regular search (e.g. regexp support).
  • Aging UI. E.g. I don’t understand why the Search and Multi-File Search dialogs aren’t the same dialog.
  • Best Regexp implementation I’ve seen in any editor, including remembering previous searches, ability to save queries, and full documentation.
  • Best Multi-File Search implementation I’ve ever seen in any editor (but it’s driven by modal dialogs and search results windows)
  • Most of the time when I see someone using a cool feature in some other editor (e.g. Sublime’s “Go to Anything…” shortcut) I discover BBEdit also has Open File by Name (which isn’t quite as smart).
  • Double-click to select contents of matching braces is even awesomer.

In the end, despite some quirks of its aging interface, I find BBEdit to be my go-to editor, but I envy the elegance and utility of Sublime’s basic UI and modeless search and Webstorm’s auto-complete (I’d also miss Webstorm’s jshint integration, but we’ve actually built jshint integration into our project documentation and it works even better). As always, I hope the next versions of my favorite editors will address my complaints and add new enviable features.

VTech Malware

I left my laptop idling for a few days (waiting for Crashplan to catch up with backups after a hard disk upgrade). When I got back to it, it was running warm. Some investigation in Activity Monitor found an app called Agent Monitor seemed to be the culprit, and further investigation determined it was associated with VTech software (for their bookreaders) I had installed months ago and which, incidentally, never worked.

Uninstall followed by delete. Problem solved.

Photoshop Alternatives: Acorn 4, Pixelmator 2, Photoline 17.5

Since Adobe seems determined to lose me as a customer, I thought it high time I updated my roundup of credible Photoshop alternatives.

If you’ve been here before, you’ll know that I’m a Mac user (although I do find Microsoft’s Surface Pro to look pretty damn compelling as an artist’s tool) so I’m not really interested in Windows-only software such as Paintshop Pro. If you’re a Windows user, you should definitely consider Paintshop Pro, but I haven’t used it seriously in years and am not qualified to judge it.

Why Photoshop?

If you really need Photoshop, you probably know who you are.

Today, I use Acorn and Pixelmator frequently, and Adobe Photoshop CS5 more occasionally. I’m not doing much artwork professionally, and I don’t really need Photoshop’s capabilities most of the time. That said, Photoshop is incredibly powerful for workflow automation (e.g. both macro capabilities and its scriptability are unmatched).

If you want the best tool for working with layered, high dynamic range images, then you probably want Photoshop. Photoline can, supposedly, do some of this stuff, but it’s pretty dodgy. (That said, Photoshop is also not great in >32bpp modes.)

Similarly, Adobe’s applications are supremely well-integrated. After Effects can import Photoshop layered documents and animate them. Complex Illustrator files can be embedded in Photoshop as “smart objects” and be edited in-situ. In a production environment, these capabilities are simply unbeatable.

If you need this functionality, use Photoshop. It will pay for itself so fast that it’s not even worth discussing. I should note that very few people I’ve met take advantage of Adobe’s incredible scripting support.

Now we’ve gotten that out of the way, let’s look at the crucial differences between these three products. I’m not going to redo my giant comparison table right now, because very little has changed in terms of outright features. Instead, I’ll try to highlight the key differences between Photoshop’s leaner, cheaper rivals.

Photoline's UI is better thought out that Photoshop's but it's also butt ugly.

Photoline’s UI is better thought out that Photoshop’s but it’s also butt ugly.

Photoline ★★★★★ (59 euros) is the most powerful of the three programs, in some cases giving Photoshop a run for its money (e.g. it has recently matched Photoshop’s smart delete and content-aware scaling functionality, and has extensively improved its high dynamic range capabilities, supporting 32-bit floats per channel). The one area where it seriously lags behind Photoshop is scriptability. It also lags Photoshop and its other rivals in terms of both UI refinement (Photoshop CS6′s UI has been dramatically refined over previous versions) and — more importantly — functional refinement.

As an aside, Photoline’s website and icon are so horribly ugly I think most artists would be repelled and never bother even trying it out.

  • Powerful
  • Cross-platform
  • >32bpp support
  • Like Photoshop has destructive filters, non-destructive layer styles and filter layers
  • No scripting support
  • Ugly, ugly, ugly
Acorn's non-destructive chainable filters in action. Note that I can move the zoom blur center around directly, and everything is live-editable.

Acorn’s non-destructive chainable filters in action. Note that I can move the zoom blur center around directly, and everything is live-editable.

Acorn ★★★★★ ($29.99 until the end of May) has, as of v4, consolidated its lead over Pixelmator in terms of functionality and offers scriptability to challenge Photoshop. The most brilliant new feature of Acorn is its complete integration of layer “fx” (similar to Photoshop layer styles) and its Core Image filters. As in Photoshop you can modify layers non-destructively via layer effects, but unlike in Photoshop filter are simply UI candy for applying layer effects — so all filters are non-destructive and chainable. Acorn 4 also adds the ability — first seen in Pixelmator — to directly manipulate geometric inputs (e.g. zoom blur centering) when configuring filters.

And Acorn’s interactive brush-designer makes artists cry with joy.

Acorn lacks Photoshop’s ability to interactively create macros and apply them to batch processes — a powerful feature that many hardcore Photoshop users rely on; indeed there’s an entire industry out there of people trading Photoshop macros. Similarly, Acorn makes no attempt to deal with >32bpp images (beyond supporting Apple’s RAW importer). If you need either of these capabilities, Acorn won’t be enough for you.

  • Improved UI over earlier versions
  • Excellent non-destructive, chainable filters
  • Highly scriptable (JavaScript, Python, Obj-C)
  • No >32bpp support
Pixelmator's UI looks lovely, but it's more pretty than usable.

Pixelmator’s UI looks lovely, but it’s more pretty than usable.

Pixelmator ★★★★★ ($14.99) has the most straightforward UI. That said, while its UI is very attractive, I find it a bit too gimmicky. Forget about the physics-based “ropes” that join filter settings (e.g. zoom blur center) to the respective draggable widgets — that’s both cute and somewhat helpful — the tiny animated pictures with tiny captions for filters are impossible for me at least to make head or tail of. Compared with Acorn, Pixelmator has less powerful filters (and they’re destructive) and no scriptability. Like Acorn, it has no ability to do create macros or do batch processing.

I should also point out that all three of these programs now have fairly robust vector support, but none of them can touch on Photoshop’s tight integration with Illustrator and support for “Smart Objects” (essentially embedded and editable Illustrator documents that are rendered on-the-fly to whatever resolution you set them to). Of the three, Acorn seems to have the most refined vector support and Pixelmator the weakest.

  • Simplest UI
  • Gimmicky filter palette isn’t very usable
  • Filters are destructive
  • No layer styles
  • No scripting
  • No >32bpp support

Photographers

Finally, none of these programs is really suited for serious photographers. Photoline offers non-destructive RAW adjustments, placing it theoretically on par with (say) Lightroom or Aperture, but in practice it does a far inferior job of processing RAW files. Pixelmator imports RAW files, but it doesn’t seem to allow you to make any adjustments on the way in, which defeats the point of RAW-processing. Acorn provides a decent UI for the Apple RAW importer, but it’s still an import process rather than non-destructive editing. I spent quite a while tweaking some photos in Acorn a few blog posts back and was shocked at how easily I could produce far superior results in iPhoto or Aperture with a few clicks.

All three programs lack the ability of iPhoto, Aperture, or ACR to perform distortion-correction and non-destructive edits. It seems like there’s still a huge opportunity here for one of these applications (I strongly doubt it will be Photoline) to provide a seamless non-destructive workflow for Photographers (e.g. supporting “RAW layers” which can be masked and adjusted, but not painted on).

Conclusions

Pixelmator seems to have, at least for the moment, given up on competing on functionality and simply concentrated on making its program simple and attractive and cheap. At $15 it’s really a steal. Acorn, whether at $30, or its regular $50 price, is an amazing deal too. I’d recommend both, but as of Acorn 4, I can’t really think of any reason I’d want to use Pixelmator at all. Either way, you can’t really go wrong.

Photoline — which used to be my favorite Photoshop alternative — is more difficult to gauge. It’s the most expensive of the three, it’s by far the ugliest, but it’s also the most capable. It’s also cross-platform (and last time I checked one license works on both platforms). I’d suggest that unless you need one of the capabilities Photoline has which its rivals lack or you need something to use on both platforms (e.g. if you’re thinking of buying a Surface Pro) you pass on it.

It’s time for a change: Adobe jumps the shark

Grant will get you one month of Adobe Creative Cloud with an annual commitment

Grant will get you one month of Adobe Creative Cloud with an annual commitment

I love Adobe and its products, despite their eccentric UIs, awful installers, and the mystery that is Bridge. The fact is Adobe knows its shit and does it better than anyone else. However, while for many years I considered myself a “power user” of Photoshop and competent enough with Illustrator, the capabilities of Photoshop have long outstripped my needs, and Adobe’s marketing team has done a remarkable job of alienating me with pricing shenanigans.

My first experience with Adobe Software was learning to use Illustrator 88 in a production environment — mainly tracing logos. I was introduced to Barneyscan (the program that became Photoshop) when the multimedia startup I joined acquired a Barneyscan Slide Scanner. We soon discovered that Barneyscan was actually a very capable graphics program that was better for handling 24-bit color images such as scanned photographs than anything else on the market.

Then Fractal Painter and Color Studio came out and, briefly, it was a three horse race. When Photoshop introduced, in quick succession, a better implementation of Painter’s layers and editable text layers, the competition fell by the wayside. Other competitors, e.g. Macromedia’s ill-fated xRes, the amazing Live Picture, and Microsoft’s Expression Studio, came and went.

Despite its many virtues, I couldn’t justify buying my own copy of Photoshop until it started being bundled with scanners. I literally paid $500 for a scanner and didn’t use the scanner in order to get Photoshop 4. Adobe’s upgrade pricing led to my upgrading Photoshop as each new version came out until Adobe got me to upgrade to Creative Suite for not much more than the cost of just upgrading Photoshop, but then made further upgrades horribly expensive (and also made skipping versions very expensive). My last CS purchase was CS4 Web Pro academic (I was working for a University at the time) just after Adobe announced that anyone buying CS4 would receive a free CS5 upgrade.

Over the years, Adobe’s other applications rose and fell in my esteem. I used Premiere for years, and once found After Effects to be an unbeatable combination of power and usability — I haven’t touched either in years, and Apple’s $50 Motion does everything I need. (Indeed, I don’t have any use for Final Cut Pro, either.)

Now Adobe is essentially offering us three options: pay $50/month to get access to all Adobe software, pay $20/month to get access to Photoshop (both require one year commitments, it’s higher if you go month-to-month), or somehow get academic pricing for $20/month to get everything. The plans also come with 100GB of cloud storage (which would cost you $10/month on its own from Dropbox — of course Dropbox’s 100GB is a lot more flexible).

So for me, that means it’s time to kiss Adobe good-bye. (Except for Adobe Ideas of course — I love Adobe Ideas.)

Alternatives to Adobe’s key products

  • Photoshop: Acorn (Mac), Photoline (Mac/Windows), Pixelmator (Mac), Paintshop Pro (Windows), Painter (Mac/Windows)
  • Illustrator: Inkscape (Mac/Windows/Linux), iDraw (Mac), CorelDRAW (Windows), Intaglio (Mac), Lineform (Mac), Artboard (Mac), ZeusDraw (Mac), EasyDraw (Mac)
  • Dreamweaver: a good text editor (e.g. BBEdit (Mac), Sublime Text (Mac/Windows), Vim) or web-centric IDE (e.g. Webstorm (Mac/Windows), Coda(Mac))
  • Fireworks: no direct replacements that I know of, but UI-oriented graphics apps like Sketch (Mac) seem like replacements to me.
  • InDesign: Pages (Mac), TeX or Latex (Mac/Windows/*nix) or even Quark XPress (Mac/Win).
  • After Effects: Motion (Mac), or one of the fire-related products (Inferno, Flame, Flint, Combustion, Smoke, etc.)
  • Edge: haven’t used it, but I’m guessing something like Hype (Mac) or learn to use CSS and jQuery.

Chances are, if you’re a hardcore InDesign or After Effects user, you probably pay Adobe $600/year for the privilege and the new pricing policy doesn’t faze you. The problem you need to worry about is just how badly is Adobe going to hurt itself by its new pricing policy, because I suspect that the new pricing policy will convince a lot of people to live without Adobe for as long as possible, which will turn out to be forever.

Adobe is bucking a big trend — software is getting cheaper and more powerful — and a major perception issues — most people hate recurring expenses. See, I can splurge on a big software purchase because I’m flush with cash or have a big check coming in or some kind of weird justification. I don’t think of a $2000 camera purchase as, say, $55/month based on my using the camera for three years. No, I think of it as “can I afford a $2000 camera?” If you tried to sell me a camera that was just as good as my $2000 camera for $55/month with a one year commitment, I’d probably laugh at you. Do I need to pay as much for my camera as I do for cable internet? No way!

I strongly suspect this move by Adobe will be catastrophic. At this point in their old marketing cycle they’d be offering free upgrades to any new buyers of CS6 — instead they will at most be getting a few $50/month subscriptions. Next, they’d be offering time-windowed discounts on the new suite once it shipped. That’s not going to happen. So at best they get slightly more money than they’d have gotten with their old model, only spread out over twelve months. How likely does anyone think this is? I suspect they’ll instead get less money spread over a longer period. And they run the very significant risk of simply losing customers the way, say, Netflix did with its Quickster fiasco. My CS works fine, I’ll think about the Adobe cellphone plan when I need to. The difference here is that, as far as I can tell, time isn’t on Adobe’s side the way it, arguably, was with Netflix. Streaming video on demand is the way of the future, so Netflix (and Hulu) can probably afford to stumble. Adobe is the king of print media and web worst practices — it probably can’t afford too many mistakes.

AirServer, Clarify, Fantastical, Pathfinder 6

airserver

I noticed a Macheist bundle in my inbox three hours before the deal expired, and that Path Finder was in the list of apps. Since I’ve often toyed with switching to Path Finder I gave it a quick look (since the bundle cost was far cheaper than Path Finder alone). The first thing that attracted my attention was AirServer. This is an app that bridges a gaping hole in Apple’s hub — using your Mac as an AirPlay target. E.g. it makes using a $600 Mac Mini as a “media hub” significantly more painful than a $99 AppleTV puck. While this is obviously functionality Mac OS X should have out of the box, for $15 it fills a real need — and it works beautifully.

Clarify in action

Clarify in action

Clarify is another interesting program. The basic idea is to replace screensharing with illustrated tutorials by providing an integrated tool for writing, capturing screenshots, and annotating images (including blurring out stuff you don’t want to share). It’s a well-intentioned product, and it definitely has the right collection of features, but the UI is a little clumsy (e.g. despite providing a global menu, it offers no keyboard shortcut for snapping screenshots, doesn’t provide a “capture window” mode as far as I can tell; it’s easy to accidentally add text balloons to images by accident) and annoyingly inflexible (e.g. there’s no way I can find of adding two images side-by-side — before and after, say — to a single instruction, or of having multiple steps under one heading).

If I were creating such a program I’d try to combine screen-sharing with the functionality they’re providing — in other words, allow the user to video capture the whole process, then facilitate the snapping and markup of still images. As it is, I think (despite the best intentions) creating a tutorial with Clarify is more work than using — say — Screenflow. (And if video compression time is an issue, IShowU has that issue solved.)

I used to use Comic Life for creating short tutorials, but this involved using some other tool (I use command-shift-4 usually) for screen capture; on the whole I’d say Comic Life is still superior to Clarify despite not being intended for this task. Unfortunately, this applies to the old Comic Life — the current version is, I think, too narrowly focused on its intended purpose.

Fantastical lives in the menubar, has an elegant UI, and integrates appointments and reminders.

Fantastical lives in the menubar, has an elegant UI, and integrates appointments and reminders.

Fantastical is a well-regard (I believe) replacement for the app formerly known as iCal, and now widely (and correctly) ridiculed for its stupidly skeumorphic UI. Call me cynical, but I can only assume that it was bundled because there’s a new version on the way. The method for quickly generating appointments is beautiful (almost as good as the Newton). My main issue with it so far is that it doesn’t seem to replace Calendar completely.

Which brings us back to Path Finder.

A partially customized Path Finder window. You can hide the "info" panels (and Path Finder also has its own version of Finder's info palette).

A partially customized Path Finder window. You can hide the “info” panels (and Path Finder also has its own version of Finder’s info palette). I’ve got side-by-side file browsers, each of which can be tabbed. It’s actually pretty awesome.

For the uninitiated, Path Finder is an attempt to create a better Finder with tabbed browser windows, better command-line integration, and then add some kind of insane kitchen-sink list of features.

My original complaints about Path Finder have, in part, been addressed. I loved its column views (but I don’t use column views much) and I loved its tabbed windows (for which we continue to wait in vain for Apple to provide). Unfortunately, I listed some major annoyances issues with Path Finder 4 (it’s up to 6).

  • It also provides a whole bunch of hopelessly disorganized and marginally useful clutter.
  • It provides multiple redundant views of everything.
  • It can replace Finder (kind of) but the developers don’t really believe it so it does dumb things like reveal selected items in Finder windows rather than its own Windows.

The first problem has gotten, if anything worse, at least by default. To give but one egregious example — by default you can deploy up to three different “drawers” (you may not know or remember what a “drawer” in Mac OS X is, since it’s a UI dead-end Apple itself has pretty much abandoned). But you can turn off a whole bunch of its clutter.

In terms of functional clutter, by default, Path Finder uses its own replacements for TextEdit, Preview, and Terminal. I’m sure there are various ways in which the developers think they can improve on Apple’s apps, but it simply makes me shudder. Their Terminal and Preview replacements just annoy me. That said, there’s a damn good reason why they exist — which I’ll get to.

My final gripe (I’ll get back to the middle point) has been dealt with. Pathfinder now offers fine-grained options for inter-operating with Finder. By default, it simply supplements Finder, and lets Finder continue to do its thing. You can also configure it to kill Finder when it launches and relaunch it on exit. It can hide Finder’s desktop, and it can take Finder’s place for “reveal in Finder” functionality.

But the second issue — multiple redundant views of everything — is either something I now get or it’s been validated by Path Finder simply having added so much damn functionality. The fact that Path Finder has its own (crummy) Preview and Terminal replacements is offset by the fact that these — and many other — useful tools can simply be folded into panes in its windows.

Among the tools you can insert into the “info” panes are a terminal, process view, git and svn utilities, a permissions editor, hex editor, and an image rating/tagging tool. And of course you can simply hide these panes when not using them. Unfortunately, all of these various tools are kind of half-assed — useful in a pinch, but unpolished and unworthy of the overall application.

Pathfinder mostly decluttered

Pathfinder mostly decluttered — you can’t re-arrange the sidebar (I’d like to move DEVICES to the bottom somewhere) although you can show/hide items and create, name, save, and quickly switch between multiple sidebar configurations.

So, I’m pretty happy with the latest Path Finder, but unfortunately there’s still a big — huge! — problem. It doesn’t play well with Default Folder, which is simply the most useful utility application on the Mac, and has been since the mid-90s (when its competitors, such as Boomerang, fell by the wayside). Leaving this issue aside — and I wouldn’t be surprised if it leads to my giving up on Path Finder in the long run — Path Finder 6 is a very powerful and attractive application.

And, as for the latest MacHeist bundle — I got AirServer for $10, donated some money to the Nature Conservancy, and gave some worthy developers a bit of extra publicity. So I’d call it a win all-round.