Life Without Adobe: A Halfway Decent Photoshop Replacement

Turns out that all this time there’s been a pretty sold Photoshop alternative in the shape of Photoline v14 (another piece of German shareware … what is it with these German indie developers?). It’s a cross-platform app and its UI seems a trifle clunky in spots, but it’s very stable and its feature set is certainly in the ballpark (in fact it has some nice features that Photoshop doesn’t have). Price is €59 (about USD 90).

Oh, and Photoline launches in ~1s.

Sorry, but a half-assed image editor with a ton of Core Image filters is no match for a mature image editor with a few well chosen filters (Gaussian Blur, Noise, Clouds, etc.).

Iris

Nolobe (the latest incarnation of Stairways Software, best known for Interarchy, a.k.a. Anarchy, the excellent Mac FTP client) has just taken the wraps off Iris, its entry into the “cheap Core Image-based Photoshop wannabe” arena, where Acorn is currently standing with its foot on the chest of Pixelmator, gladius to its throat, waiting for the crowd to give a signal…

You can get a copy of the free beta here.

So far, color me unimpressed. I can forgive obvious missing features (e.g. Curves) and unimplemented features (e.g. Levels), especially in a beta, but the text tool is like MacPaint (it burns pixels into the current layer) … WTF? I have no clue why Iris requires Leopard.

Iris seems to me to be a graphics program written by a programmer who not only isn’t an artist, but doesn’t know any artists. Ugly tool icons are a very bad sign.

I hope I’m wrong. Competition in this space is a very good thing. Time for me to do more work on Pixel Ninja.

Pixelmator: Another Core Image-based Bitmap Editor

Note: This article was originally written for MacApper, but it looks like I’ve been beaten to the punch, and by John Siracusa no less!

If you haven’t been paying attention, Pixelmator is an attempt by two brothers to write a serious image editor based on Apple’s Core Image functionality and sell it dirt cheap. There’s been some talk of Pixelmator being a serious Photoshop alternative. So, is Pixelmator a Photoshop replacement, and if so for whom? Even if it isn’t, is it a worthwhile program on its own?

Note: Pixelmator can be downloaded and tried out for free, and I recommend you do so rather than taking my word for anything.

Look & Feel

“If you can’t think of anything nice to say, come over here and sit next to me.”
Dorothy Parker

It’s good to know that we’ve developed all this technology to exchange photos of cats.

I want to like Pixelmator. It’s fairly cheap, it looks pretty snazzy (if you like translucent black palettes, and even if you don’t, it has gorgeous icons), and it seems like it has a lot of functionality (lots of palettes and stuff). There’s some enormously cute stuff in its user interface, such as the dynamic “string” which joins filter-settings floaters to their focal points:

It’s so cute (not the cat, the string thingy)! When you drag the dialog it bounces around realistically. But look further and you’ll note that instead of implementing useful stuff (like direct manipulation of angular parameters) they’ve wasted time doing a cool string thingy.

There’s no question that Pixelmator has a bit of sizzle, but is there any steak?

Intended Audience

Photoshop is many things to many people. Originally developed by the Knoll brothers who were then (and still are, I believe) working for ILM, it may have been conceived of as a photo editing program, but for a long time most people didn’t have many decent digital photographs to edit. Photoshop was, and continues to be, the premiere tool for post-processing digital bitmap images of any kind.

To this end, Photoshop has a lot of functionality which no program developed by a couple of guys in a year or two can seriously hope to emulate. The key to competing with Photoshop, then, is to pick a target audience and target its needs carefully.

Digital Photography: I use a Nikon D50 and shoot RAW. Pixelmator won’t open .NEF images. For many digital photographers this essentially makes Pixelmator completely useless.

Assuming you shoot JPEGs or you use some other program to process your RAW images (and Pixelmator can import JPGs from iPhoto very easily), Pixelmator lacks some fairly crucial tools: there’s no straighten tool (although arbitrary rotation is possible) that I could find, and the exposure tool (which is kind of a bad joke for a program that doesn’t read RAW images anyway) is hideously crude. The Levels tool is there but it doesn’t allow you to set numerical values (including gamma). There’s no Curves tool. There’s no red eye tool. So, basically, Pixelmator may be useful as a companion to a program like iPhoto (which has most of these things), but you’ll end up having to go back and forth (and hope your initial conversion from RAW was spot on). So, for digital photographers, Pixelmator is pretty much a joke.

Digital Painting: Aside from offering limited brush customization, Pixelmator has nothing to offer a digital painter, and ArtRage 2.5 is both cheaper ($25) and far more functional.

Graphic Design: Pixelmator has no vector graphics functionality. You can’t build a layer with an editable rectangle in it. Text layers are editable (good) but that’s about it. You can’t perform transforms on them, you have to go in and set font sizes. You can’t draw a rectangle and have text automatically wrap inside it. There are no typographic controls whatsoever. Aside from text, soft shadows aren’t supported, so you’ll be doing those manually. And there are no layer styles. So you’ll be doing them really manually; think back to Photoshop 3.

Video Compositing: You can’t open movies directly, so you’ll need to convert the frames of video into images first, and then back into video afterwards. This is sufficiently horrible that you will give up and use another program. This is a shame, since Pixelmator does put a very good interface on top of most of the Core Image filters. (The programmers seem to have simply avoided implementing the filters they couldn’t wrap a nice interface around.)

Pixelmator also appears to implement some quite sophisticated masking functionality from Photoshop (e.g. you can clip layers to a layer beneath them, a really neat Photoshop function) and you can create layer masks (although it is inconvenient and unintuitive to set them or edit them). This would be icing on the cake if Pixelmator did the basic stuff well, but doing advanced stuff well and doing basic stuff badly or not at all makes this functionality essentially pointless. Anyone sophisticated enough to appreciate sophisticated masking functionality will be offput by lousy selection tools.

Highly Technical Users: people who want precise channel controls, formula-driven filters, etc. — look elsewhere. If you want a good, dirt cheap front end for the Core Image filters, get Acorn. If you can’t afford Photoshop and can stomach The GIMP, well The GIMP is free.

So, all this begs the question. For what audience is Pixelmator intended? For Photographers, it lacks RAW support and the most commonly used Photo editing tools aside from Levels, Crop, and (an astonishingly slow to undo) Rubber Stamp. It would be fairly easy to add most of these (especially once Leopard comes out with robust OS-level support for RAW images), so it’s possible that Pixelmator is really just a public beta of the post-Leopard version. For digital painters, graphic designers, and video compositors it’s basically useless. For highly technical users, such as myself, it’s not even a toy.

Dumb Stuff

Photoshop is much lauded for its excellent user interface (sure, it’s cluttered, but when you have about 5000 distinct functions, there’s no way to avoid this) and sensible, consistent keyboard equivalents. So it’s pretty amazing (given its intended audience) that Pixelmator lacks simple things like:

No Command-L for Levels. In fact Command-L does nothing, and you type Command-Shift-L for Levels. That’s just dumb.

No Command-T for Transform. That brings up the Cocoa Font floater. OK, that’s sort of a standard (of course, it doesn’t fit in with Pixelmator’s “any color so long as it’s black and translucent” interface).

Magic Wand tool doesn’t appear to do anti-aliased selections. There’s no “new layer from selection” functionality, so you make a selection, and then cut/copy and paste it to make a new layer. But the layer won’t be in the right position.

You can’t drag across layers to turn several on or off at once. You need to click each layer’s check box individually. Annoying.

Multiple Layer selection doesn’t work properly. You can’t select two layers and drag them around together.

No Delete to fill selection with Background color, Option-Delete for Foreground Color. Try Command-Option-F for fill, and foreground is your only option (so no background fill and no pattern fill).

But the kicker is: Bad* selection tools. Here’s a simple exercise I do with every bitmap image editor I ever use:

1) Draw a rectangle.
2) Get the marquee selection tool.
3) Carefully place its crosshair in the top left pixel of the rectangle, and drag select down and to the right. See what you got. Repeat for each corner of the rectangle. If your selection doesn’t include the pixel your cursor started on, drag the program to the trash. Or, if it has indispensable functionality (like GraphicConverter) use it for what its good at, but never ever use it to edit images.

* Actually I’d use a much nastier word than “bad” here, but this is a family web site.

Conclusion

Pixelmator is expensive enough ($59) that people will probably think twice before just paying for it. My guess is that it will sell a few licenses to people who are impressed by its sizzle and don’t notice that there’s no steak. As an image editor it is inferior to less hyped programs, such as Acorn ($39.95), and it has no really excellent core functionality which some target audience will find indispensable to fall back on. It doesn’t implement all the Core Image filters, its layer controls are merely adequate, and its painting tools are all flawed (e.g. the rubber stamp is very slow to undo, which is a very common operation when using the rubber stamp).

What I can’t tell you is whether if I’d never used any other bitmap editing program I would think Pixelmator was great. I can’t unplug chunks of my memory and look at Pixelmator with fresh eyes. But I can tell you this: MacPaint 1.0 had better selection tools.

I guess now we wait for Iris to come out.

Aside & Disclaimer: I’ve been using Photoshop since version 1.0 in 1991. Before that, I used Thunderscan, Digital Darkroom, Fullpaint, and Studio/32. Since then I’ve used ColorStudio, Fractal Painter, and pretty much every other bitmap editing tool on the planet. I love Photoshop but kind of hate Adobe.

And for my next trick… let’s beat Blender over the head

Blogs are kind of like Usenet where you get to avoid the flamewar. I tried posting on Blender’s forums about its atrocious UI and quickly gave up since the responses were idiotic, hostile, or despairingly sympathetic. You get the picture.

Having come up with my 11 simple rules of usability, I can now beat Blender over the head in my own private (public … but who’s reading?) venue.

1. Consistency.

Blender isn’t consistent with (a) itself, (b) any other major 3d app, (c) graphics apps in general, or (d) GUI apps in general. Where do I start? Guess what the keyboard shortcut for Undo is? Don’t bother, it’s “U”. Now just imagine trying to convince the genius who came up with that one that it’s a bad idea. (Obviously everyone else needs to change…)

2. Progressive Disclosure

Let’s assume you want to create a new material for your model. Typically you might like to set the material to have a color and a shininess initially, and then maybe add a bitmap instead of a flat color.

Here is the icon toolbar thingy in material mode in blender:

Aside: A slightly edifying story.

A “usability expert” once told me about his “rule of three”. It takes three design iterations until you can “get something right”. He’d apparently confirmed this “rule” by giving students Rorschach ink blots, asking them what they thought they looked like, and telling them to modify the ink blots just enough to make their opinion obvious to anyone else looking at the inkblot, then ask ten people what they thought it was, and if they got disagreement, make changes, etc. until they got ten positives. He said most of the time, three iterations were needed.

I said I could do it first time every time. How? I’d make my changes and add a freaking caption.

Now, having identified the correct pair of icons to click on in order to add a material, you are faced with this:

No shame if you missed this while clicking randomly on icons looking for something that might seem related to adding materials. But let’s assume you figured out that this was your holy grail. Note what you’re shown and not shown.

Heaving found your holy grail and clicked Add New, you’d finally get somewhat closer to the business end…

At least now this looks like it might have something to do with materials or shaders. Note the words “Preview” and “Material” and “Shader” and “Texture” being bandied about with abandon. Yup, this is it. Now — WTF do I do?

3. Forgiveness

In Blender you can create a cube by pressing space (over a viewport, because Blender obeys someone’s idea of X-Windows conventions … yup if you’re going to pick something to be consistent with, make it something hardly anyone knows, likes, or can remember), then navigating the menu that appears: Add > Mesh > Cube.

Now try to Undo that (press “U”, remember? Neat huh how it’s mnemonic. Pity you’re wired for command-Z by thousands of hours of practice because operations you do all the time don’t need to be mnemonic, they need to be efficient … hmm I need to add that as rule 12 … and undo, cut, copy, and paste are all next to the cntrl/apple key for a damn good reason).

Yup … you guessed it. Even if you remember Undo, it doesn’t work for some obscure things, like … I dunno … creating cubes. (In case you think I’m not being sarcastic, pretty much the first thing you do when modeling anything using subdiv modeling is create a cube.)

Oh, if I manually delete the cube in Edit Mode I can undo it (the deletion, not the creation).

Correction: a reader has pointed out that ctrl-z works just fine in Blender, it just isn’t reflected in the menus. And since Undo doesn’t work consistently (e.g. if you create a cube you can’t undo it) you might be forgiven for thinking you didn’t know the correct undo shortcut, look at the menu, and conclude Blender was perverse (which it is, but in a whole new way).

The same reader said the same is true for ctrl-x, ctrl-v etc. This is a stretch! Create a cube, type ctrl-x (and you get the “OK? Erase All” dialog). Now ctrl-v — nothing. Again, in some cases Blender may behave kind of consistently, but this level of consistency is almost worse than none at all. It’s like making a bike with “back pedal” drum brakes, but decorating the handlebars with lever-operated brakes that work 75% of the time.

So I really shouldn’t belabor the “U” for undo thing. Instead I should point out that Blender doesn’t use standard OS file requesters, say, or doesn’t actually have an “Edit” menu to put the dysfunctional clipboard and undo commands in, or — heck — just belabor the fact that undo doesn’t work consistently.

If I manually delete the cube in Object Mode and try to undo the deletion I get a dialog titled “Single User” with four options, none of which (a) make sense, or (b) appear to do anything.

4. Visibility

Go back to item 2 and look at the pictures.

Did I mention that one of the things you’ll need to do is click “Add New” in textures? Then you’ll need to select a different tab (go ahead, try to guess which one) to see the texture you’ve created…

5. Beauty ∧ Simplicity

Look at the icons. QED. This is a freaking artists’ program. Every new version has a beautiful new splash screen.

6. Maximise Generality, Minimise Steps

Go back to item 2.

7. Smart Defaults

Go to items 2 and 4. Imagine that when I create a texture all the obvious features are populated by default. Consider 3D Studio Max which randomly assigns a simple texture to each newly created object (with a random color).

8. User Errors are Crashes

Under this metric, Blender crashes almost constantly. Luckily, undo sometimes does nothing. Most actions that cannot be undone (along with many that can be undone — grrr), however, have nearly invisible confirmation dialogs that appear under the cursor and can accidentally be confirmed.

9. Avoid Preferences

Actually, Blender is less customizable than most high-end 3d programs. The most useful customization is to make the left mouse select things rather than reposition the 3d cursor (something most people will accidentally do all the time and which can be very inconvenient, can’t (as far as I can tell) be done precisely, and can’t be undone.

10. Wizards

Blender actually doesn’t use Wizards per se. While as an exercise in Usability it represents an almost utter failure, at least it doesn’t insult you with wizards that navigate the UI doing things you have no way of doing or fixing yourself.

What Blender does have is some standard scripts, with names like “UV Copy from Active” and “Object Name Editor” that sound like non-graphical wizards offering functionality that ought to be a native part of the program and placed somewhere logically rather than lumped together in the scripts folder.

11. Online Help

Blender has lots of online help and tutorials (thus virtually proving the rule — when Usability fails, document your user interface). Given how terrible it is, Blender has some really good tutorials. You’ll need them — probably more than once.

Please Buy Cheetah3d

Usability and 3d software, from the expensive to the free to the cheap.

Among my various half-assed skills, I can model, texture, and light 3d graphics (or “cg” as it’s now referred to by the cognoscenti). I have a bunch of examples here, but I’ve put one up here (it was my design for QuickMP3’s icon) to brighten up my blog with a picture for a change.

Anyway, I’ve used a lot of 3d software over the years, but I’ve never been a hardcore pro, and I’ve always thought that my stuff didn’t quite cut it, especially where character modeling and animation were concerned.

Back in the heyday of multimedia development, when you needed quite a lot of skill and knowledge to get even quite modest stuff even working on most hardware and people like me could get paid — literally — hundreds of thousands of dollars for a couple of months’ work simply because no-one else could do it that fast, that cheap, or that well, my casual interest in 3d led me to spend quite ridiculous amounts of money on 3d software.

For example, I spent something like AUD $15,000 (~USD $11,000) over a three year period on licenses and upgrades for Strata Studio Pro, ElectricImage Animation System, Form*Z, and 3D Studio Max (along with Character Studio). While these purchases were always “justified” by the work I was paid to do (hey I was earning six figures, I had no dependents, and it was tax deductible), in part, with them, the real reason I kept buying new packages instead of just making do with (say) Strata Studio Pro (relatively cheap at ~$1200) was that I kept thinking if only I had feature X I would be able to do character animation.

Anyway, I’m someone who expects to make major progress in new areas with relatively little effort, and if I don’t I tend to do something else. For example, if I have some fairly major programming project that requires me to learn a new programming language, I tend to expect to get the project substantially working within a few days or pick a new language. (This is not the way to approach character animation.)

Well the good times have gone (oddly enough, roughly coincident with the dot com bust) and I don’t have tens of thousands to waste on software I hardly use, so I started trying to work with very cheap or free software. (Even the upgrade prices of most of the packages I’ve mentioned are high, except for ElectricImage which has other issues.) In any event, all the major vendors give you free demos these days, and I must say that the free demos are not encouraging. (Hint for marketing pros at Autodesk et al: letting people have free demos won’t work if you simply convince them they have no clue how to use your software.)

Here’s my very quick summary of the high end 3d market. This is the stuff of religious wars … I’m not trying to diss your favorite product.

Usability

3D Studio Max wins
Cinema4D pretty good
Maya bad
Lightwave bad and strange
XSI very bad and very strange

Functionality

Maya wins for post production, Max wins for games
Everyone else is a close second (for either)

In general, 3d programs are really complicated. I mean really, really, really complicated. This complexity is used to justify 3d programs having really bad UIs. 3d Studio Max wins because it does some really obvious stuff well:

  • You can draw stuff by clicking on a tool and then dragging in your view. The thing you want to create will appear more-or-less where you expect it to. Insofar as it behaves oddly, you can figure out how to fix it fairly easily.
  • You can move the viewport around fairly easily and intuitively.
  • You can select things by clicking on them.
  • You can modify your selection by clicking on modifier tools.
  • You can “see” most of the things you can do either by clicking tabs or right-clicking. Commands that don’t apply to the current selection will generally be greyed out.
  • Undo works

In usability terms, of the high-end 3d programs, 3D Studio Max is (relatively):

  • Visible
  • Forgiving
  • Explorable

(Sadly, even today, Usability is hardly a well-established discipline — just consider the fact that two of the best known “gurus” in Usability (who work together) have quite different priority lists (Tog’s, Nielsen’s) for usability.)

For what it’s worth, I don’t think much of Nielsen. Two of his ten items are, essentially, online help. If your users are looking for online help you’ve generally failed. Another item: “Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.” is absolutely right for some things and absolutely wrong for a large class of other things (you need to give the user more information when they’re doing less common tasks).

The point is, the best high end commercial 3d software scores about 5/10 on the usability scale.

None of these features conflicts with the complexity of 3d programs, and yet few or none of these things are true of any of 3d Studio Max’s competitors. Unless you work almost daily in most high end 3d programs you have to remember the weird characteristics of each program to use it at all (forget about efficiently).

Since none of the high end packages are terribly compelling usability-wise, there’s a very capable free alternative. Blender. Blender has recently been used to complete a very impressive short film and all the files used to create the film are available for free as well — the idea being that artists have demonstrated that they can do real high end work with Blender and are giving away the techniques they used to do it.

Now, Blender is the third least usable 3d program I’ve ever spent significant time trying to use (the “winner” in this category is Alias PowerAnimator, while second place goes to SoftImage XSI; I’m ignoring programs I essentially bounced off completely). If you go back to the list of virtues of 3D Studio Max:

  • If you figure out how to insert items they appear at fixed size at the position of the 3d cursor and aligned to the current view. You’ve probably moved the 3d cursor by accident by now so you may well not see what you’ve created. You almost never want to align newly created objects to arbitrary views so you’ll want to learn how to strip the rotation from newly created objects…
  • It’s not at all obvious how to navigate the viewport.
  • Clicking (with the left button) repositions the 3d cursor. This is not a useful feature for (I guess) 90% of users.
  • You can modify your selection in some ways by entering edit mode (press tab) and in other ways by leaving it (press tab). Anything that works in both modes behaves differently in the two modes.
  • The good news is that many commands are visible if you have the correct tab selected. The bad news is that there are two levels of tabs, the icons make no sense, and many functions are labelled using hardcore industry insider jargon (e.g. catmull-clarke).
  • Undo only works sometimes.

Hey, but it’s free.

Now I did render the forklift icon (above) using Blender. But I didn’t model it in Blender, and I had to pretty much look up documentation every step of the way. And I doubt I could do it again without going through the documentation again.

Really, the only reason I’ve persevered with Blender is that it’s free. In actual fact, it’s probably the most unusable 3d program I’ve ever used, but XSI is a dog and it’s Windows only and PowerAnimator has been replaced by the far more usable Maya (well, the far more Usable Maya 8.5; Maya 1-3 were horrible too), which I would probably buy if I could justify the expense. Also, Maya is a dog and has draconian licensing. (Blender works very nicely even on low end hardware. It’s also tiny. And did I mention it’s free? So it’s on every computer I ever touch.)

Despite being Open Source, any attempts or requests to improve Blender’s UI are met with outright hostility by the community. The users are invested in the lousy UI which they know and claim to love. The programmers are … well programmers. Either the UI makes sense to them or it doesn’t impinge on their consciousness when test rendering glass balls in HDRI environments assembled with two clicks or loaded from a file made two years ago. The best we can hope for is that the next version will have an absolutely terribly but completely user-customizable interface. This means that once you’ve figured out how to do something and provided you can be bothered you can fix each UI problem for yourself as you discover it and then try to remember what you did.

Usability Rule # … I don’t know … 7: big preference dialogs are not a substitute for decent UI design. (Why? Well for one thing, an importent way to learn to use stuff is to ask people, and people won’t know the answer if everyone is using a differently configured program. Basically every configurable option conflicts with Usability Rule #1: Consistency. This doesn’t mean that every configurable option is bad, but it does mean it comes with a cost, and the benefit had better be worth it.)

So, enter Cheetah3d. At $129 Cheetah3d 4.0 is, in my opinion, for anyone except full-time hardcore 3d artists, the best 3d program on the planet. Now, please note, I haven’t used them all, and I’ve used even fewer of them lately. But, based on my pretty well educated guesses, none of the other software out there has a fighting chance.

It isn’t the best dedicated modeler around (that would be modo or if you don’t want to spend the money perhaps silo) and it isn’t the best renderer around. It doesn’t have every feature you might want (it conspicuously lacks particles, volumetric lights and materials, and motion blur). So what’s so good about it?

  • What it does, it does very very well.
  • It does almost everything you need
  • It has a clean, uncluttered UI
  • It’s fast and light and cheap enough to be on every computer you use*
  • Even I can do character animation with it
  • It’s fully scriptable (via JavaScript but, unfortunately, not AppleScript
  • Its native file format is human-readable XML
  • It has a seamless workflow to Unity 3d

Oh, and it only runs on a Mac.

* As long as it’s a Mac.