Daringfireball has been linking to a number of opinion pieces about MacHeist lately, and it had me thinking. Opinions on MacHeist seem to fall into two camps: it’s a great deal for customers and a lousy deal for developers OR it’s a great deal for everyone. One obvious camp is unexplored: it’s a lousy deal for everyone except MacHeist.

In my opinion, there are three kinds of software that benefit from MacHeist: (1) stuff that would never have sold very many copies because it’s fundamentally a silly product, (2) stuff that’s actually surprisingly good but doesn’t get as many users as it should either because (i) the userbase doesn’t exist (e.g. not that many people really need it), or (ii) they’ve already bought something that obviates it, and (3) good, fairly successful software that’s about to receive a major upgrade.

Examples of the first kind (basically useless) include most of the stuff in every MacHeist bundle. E.g. iSale, Picturesque, SousChef.

Examples of the second kind (good but unknown or in a saturated market) this time around includes Acorn, Kinemac, Wiretap Studio, Espresso, and arguably World of Goo. (It’s also possible that Acorn and Kinemac are type 3, but I doubt it. Kinemac’s user forums have about ten posts in them, and Acorn seems to have been swamped by Pixelmator — and deservedly so.)

Examples of the third kind not in this bundle would be Cheetah 3D (which was in a bundle last year when the developer was hoping to have version 5 out within six months, although it’s still not out) and Unity Indie (which was in the same bundle just before v2 came out).

I don’t know enough about Phoneview and LittleSnapper to categorize them.

So the value proposition for customers is basically, look at the stuff in the list, figure out which ones you’d actually use and try to guess whether they’re about to receive costly upgrades. Then factor in the value of what you’re getting relative to the bundle price. Most customers probably vastly overestimate the use they’ll get out of the software in the bundle and buy a bunch of stuff that they never end up using. But, they feel good so no major harm done. And maybe they start using a package they’d never have found otherwise, so that’s cool.

The value proposition for developers is basically… am I getting anywhere with this product? If not, this is a win. If so, then do I think I can gain more exposure than I will (potentially) lose in license sales OR can I grab customers and make money off them with upgrades? If so, then this is a win. Otherwise I’m just screwing myself.

It seems to me that developers probably think longer and harder about this value proposition than customers do. At least they probably do now. Back when MacHeist first arrived on the scene, I think that the bundle was essentially a bad deal for (almost) everyone. By now, MacHeist is paying a scaling royalty (I believe) and developers know what the deal is and have made better decisions. So it’s only customers screwing themselves.

Caveat Emptor.

It’s Usable, or it’s Free

I just got a coupon code emailed to me for a product called Pixels 3D. Pixels 3D is a spectacularly capable 3D package for the Mac that’s been around for ages. Its feature list is competitive with almost anything I’ve seen (e.g. dynamic NURBS, caustics, volumetrics, particles, automatic rigging). And it sells for $49. My coupon offers a $20 discount.

So, I went to the website, downloaded a free demo, and reacquainted myself with the program. Let me put it this way, Blender has a more approachable and attractive user interface.

Based on the documentation, Pixels has features Blender can’t match, but I’ll be damned if I could figure out how to use any of them. It’s a very bad sign when Undo doesn’t appear to work. (I assume Undo does work in certain situations; I imagine users would be screaming blue murder if it didn’t.)

Anyway, Blender is free, on balance more capable than Pixels, and easier to use. Cheetah 3D is considerably more expensive ($149), has far fewer features, but is a joy to use. Almost any piece of software these days will have a free and/or open source competitor on one hand, and a fairly inexpensive and usable competitor on the other. The only way to stand out is to offer truly deep functionality (e.g. Photoshop) or outstanding usability relative to depth (e.g. Cheetah 3D). Merely having a lot of features is no longer compelling. (E.g. I wouldn’t pay for a GraphicConverter license today, a program I once considered indispensable but which is ugly and has always had an awful user interface.)

Photoline: The Usability Tipping Point

My proposed Photoline icon

There’s some point at which a program becomes sufficiently functional and usable that it becomes a “go to” application. You can have all the functionality in the world but a crummy user interface (e.g. The GIMP) and no-one will use you if they have access to anything decent. Similarly, you can have an absolutely fabulous interface, but if you don’t have some key, specific feature(s) then, again, no-one will use you (e.g. iMovie ’08).

Of course, needs and tastes vary. I’m sure some people are very happy with The GIMP (I can only assume because they are hardened open source zealots with no taste) or iMovie ’08, but I think that most people will tend to reach a frustration point with a piece of software, and then give up. I’m not sure whether being more experienced or familiar with other software has much effect beyond a certain point, either. While I may know how to use dozens of word-processors, and my demands of word-processors may be greater, I’m also likely to be able to figure out stranger user interfaces and be better at finding work-arounds.

Today on a whim I decided to redesign Photoline’s abominable icon.

Photoline's abominable icon

Photoline’s current icon. Judge for yourself.

I’ve had very nice things to say about Photoline in the past. Of the potential low-priced Photoshop replacements out there it is by far the most functional and stable. Unfortunately, compared to Photoshop CS3 it’s still a sad joke, as we shall see.

I was determined to use Photoline for all the 2d bitmap editing in creating the new icon (and I did) but I encountered enormous frustration along the way. Indeed, the 3d modeling took perhaps half an hour, while messing around trying to produce the screen image was an exercise in frustration.

First, I found an image of a Nikon D3 to use for the computer display. The idea was simply to pull the camera out of the background, stylize it a bit (exaggerate the contrast), remove branding information, rotate it, and then put it against a Mac desktop picture. Simple.

Deep etching (knocking out the background of an image) is one of those things graphic designers do constantly, and Photoline’s magic wand worked reasonably well. If I were doing this seriously (e.g. for someone paying me) I would have used a bezier path to perform the selection (I haven’t tried this in Photoline yet) but I wasn’t, so I didn’t. Photoline did OK selecting the white background, although there was an unsightly fringe, and Photoline doesn’t have Photoshop’s tools for cleaning up the edges of images (e.g. Remove White Matte), but I’m getting ahead of myself…

Note: I went back and verified that Photoline fully supports bezier selections.

Having selected what I didn’t want, I would just invert the selection in Photoshop (command-I, a command etched into any serious Photoshop user’s brain). But not only is this not command-I in Photoline, it turns out to be buried under Tool > Mask > Invert Mask. There’s no Selection menu. Oh, and a Mask and a Selection are very different things. This is just terrible, but easily fixed. There’s no question that Photoline’s menus could use some better naming and organization.

Importing the backdrop was nasty. I couldn’t just drag the document into the window I was working in or drag the layer from one document window to another (or layer palette to window) as I would in Photoshop. (Oddly enough, despite not being very Mac-like, Photoline actually looks much more polished on the Mac than on Windows.) So having opened the file and copy-and-pasted the image into my working document, I overwrote the camera layer. What? After a lot of random fiddling I got it to work, but was never sure how. Whenever you paste something into Photoshop (except for vector objects copied from elsewhere in Photoshop) you get a new layer — a wise decision, I think.

This is the halftone effect I was going for.

This is the halftone effect I had intended to go for, but sadly Photoline doesn’t have that filter.

Stylizing the image turned out to be a royal pain. First, I wanted to use a non-destructive Levels or Curves filter on the camera but I couldn’t figure out how to restrict it to just the Camera layer (and not the background). So I ended up having to use a destructive filter. Oh, how very Photoshop 6. The next thing I had planned to do was turn the camera into a halftone image with gigantic dots, but Photoline doesn’t have that filter. Indeed, Photolines filters are bizarrely organized into two menus and eight submenus. The term “Filter” and “Effect” are used interchangeably despite the fact that Effects are quite clearly intended to refer specifically to what Photoshop calls Layer Styles. Some of Photoline’s “Effects” are just filters, others aren’t. Ugh.

I eventually concluded that there was nothing stylish I could do to the D3 image that didn’t make me puke, and that the D3 is kind of butt ugly anyway, and that DSLRs, being black, don’t make for very interesting photographs.

So I decided to knock together a stylized camera manually, and to use the (to my eye) more attractive D80 as my basis. So I googled a suitable photo, imported it into Illustrator, and quickly produced the graphic image I wanted. I then saved the vector artwork as SVG and tried to import it into Photoline.

Important Note: at this point I do Photoline a grave disservice. Had I not been frustrated at this point I might have tried using Photoline’s vector tools to do what I ended up doing in Illustrator. I went back and tried to do this and found the tools pretty decent (indeed, in some ways superior to Photoshop’s vector tools, although — of course — no match for Illustrator’s).

No dice.

Photoline, which rivals GraphicConverter in terms of supported graphic file formats, and has fairly strong vector tools, apparently can’t load or save SVGs. So back to Illustrator and I saved as PDF (Acrobat 4.x). Photoline opened this, and I could see the image, but I couldn’t select it properly, or scale it (it was tiny), or rotate it. So back to Illustrator again, and I save as PNG at a suitable resolution. Now, I know Photoline can import PNGs, but when I rotate the PNG the quality of the rotated image terrible. I guess I’ve just gotten to taking Photoshop’s incredibly well-implemented bitmap rotation for granted. (And on the Mac you also get Core Image which is equally excellent, but Photoline is cross-platform and doesn’t use Core Image, I guess.)

Important Note: I went back and checked this, and it turns out that Photoline by default rotates a layer as an object (so the pixels aren’t changed, the entire layer is rotated) and uses quick and dirty rendering to show the results. You can right-click on a layer and click “Fix Layer” to burn the results into the bitmap, which produces results equal in quality to Photoshop. So Photoline’s equivalent of Photoshop’s layer transform tool is non-modal and non-destructive. So this is actually a case where Photoline exceeds Photoshop in functionality, and while it may not be obvious to a Photoshop user what’s going on, it’s not like the Photoline’s UI — in this case — is any worse than Photoshop’s, just different.

So, back once more to Illustrator where I pre-rotate the image and export as PNG. And I’m done.

Photoshop CS4? If Photoline were Photoshop, my icon would have turned out this way.

Photoshop CS4? If Photoline were Photoshop, my icon would have looked like this.

Except that all I’d managed to achieve in Photoline is to stick one alpha-channeled image in front of another. This isn’t Rocket Science. Heck, I could have done either in Pixelmator or Acorn (or heck, possibly even the Iris beta). I could probably do it in QuickTime Pro (QuickTime Player is a pretty darn good compositing tool). Still, having gone back over some of my greatest problems with Photoline in this little project, I find that two major issues turn out to Photoline’s advantage. While it may not be able to import SVG, it has excellent internal vector tools, and its apparently poor layer transform tool turns out to be better (modeless and non-destructive until you’re ready) than Photoshop’s.

Lessons Learned

Some of my problems definitely resulted from Photoline’s poorly organized (and named) menus, and some other UI nastiness (e.g. the PDF import is a disaster). Most of the problems either stemmed from unfamiliarity with Photoline’s slightly different (and sometimes better) ways of doing things, and my wanting Photoline to be Photoshop, which it’s not and it’s unfair to expect it to have, for example, a specific cool filter from Photoshop (although, darn it, Core Image provides it too). I think it’s safe to say that if I were as familiar with Photoline as I am with Photoshop I’d probably be very nearly as capable and productive as I am with Photoshop. That said, Photoshop is part of a highly integrated ecosystem and in the end it’s simply a superior tool. But Photoline’s near-instantaneous launches are pretty damn easy to like.

Sexy Software [SFW]

If only the rest of the software world were as competitive and exciting as the 3D software market. Off the top of my head, there are three outstandingly functional free (as in source and beer) 3d programs available (Wings3D, Blender, and PoVRay), and an absolute horde of cheap ones (e.g. Cheetah 3D, Silo 3D, Hash Animation Master).

Furthermore, the big guns have taken to reducing their prices (e.g. Lightwave can be obtained for $495 as a crossgrade from Photoshop, SideFX’s Apprentice HD, which is essentially a non-commercial Houdini, is selling for $99, and Softimage is selling XSI Essentials for $495) or giving away free learner editions (Maya, Houdini).

A large number of independent developers are successfully introducing niche products, such as high-end modelers (modo, Rhino), sculpting tools (zBrush, Mudbox), terrain renderers (Vue 3D), rendering engines, and so forth. And then there’s the interactive 3D tool market, which is also an embarrassment of riches, ranging from Microsoft’s free XNA, to the impressive but expensive Quest 3D, to the astounding Unity 3D, and Blender’s free game engine.

It’s amazing that all this activity is occurring in a consumer space with a relatively tiny number of users while we struggle with a single dominant player in the word-processing market which can’t properly handle something as simple as copying a paragraph from point A to point B without screwing up styles. (Guess what triggered this rant?) Part of the problem is that writing word-processors is not glamorous, but a bigger problem is dealing with legacy documents from the installed base. The problem is that if you want to sell a word-processor that can’t seamlessly deal with Word documents, you might as well give up, and Word documents are infamously opaque and complex.

So far, I’ve only found two word-processors that make more than a half-hearted attempt to import from Word, and they are and Pages. The former is one of those gigantic corporate-backed commercial projects that crashed, burned, played the open source card, and is once again backed by a multi-billion dollar company with an axe to grind. It’s a program written by a committee of committees. The latter is a brilliant, attractive, and highly usable program, albeit infuriatingly incomplete.

Aside: oddly enough, a different example of a gigantic corporate-backed commercial project that crashed, burned, played the open source card, but turned into something wonderful, is NetScape. What saved NetScape was a little project called Camino, which took the good bit of NetScape (the Gecko rendering engine) and wrapped it in a lean interface to make a small, fast, platform-friendly web-browser. (FireFox grew up as the cross-platform version of Camino.) Perhaps what OO.o needs is some maverick developers to rip components of it out and turn them into lean, well-implemented programs with just a subset of OO.o’s kitchen sink functionality.

Excel is even more unchallenged. Apple’s Numbers isn’t a credible replacement (but it’s still only version 1.0) and neither is OO.o’s spreadsheet module. And then there’s that blight on society: PowerPoint.

It astonishes me that even today there isn’t a simple PHP + MySQL tool that does everything Filemaker does, only for free. And by “everything” I mean define forms and tables interactively.) It seems like this would make Ruby on Rails redundant for a large number of applications (it would certainly make the typical “gosh wow” RoR demos look like sad jokes, since you wouldn’t need to type magic command sequences to make the important stuff happen. I can build a blog or guestbook a heck of a lot quicker in FileMaker than anyone can in Ruby, but of course it would be in FileMaker, making it kind of useless. For that matter, if RoR is so great, why isn’t there an RoR-based web IDE available that hides the magic command line stuff? (If there is, please let me know!)

I don’t know if I’ve mentioned this before, but the free / open source / alternative software movement is an economy of sexiness. I.e. since money isn’t the driving factor, what attracts people to work for free on a project is its sexiness. Game development is the ultimate example of this — game development is the geek equivalent of starting your own rock band. (Of course people who think game development is sexy already have social limitations.) 3D stuff is way sexier than word-processors, spreadsheets, presentations, or databases, so there’s a huge number of programmers willing to work for free or cheap on it, while there’s money just lying around waiting to be made addressing the myriad problems with unsexy, boring stuff, like why Word can’t copy and paste text without screwing up the styles every time.

It’s. The. Usability. Stupid.

So you have room for nine icons (almost) on your main screen. Do you (a) use one for a “clock” rather than, say, display the time somewhere in your utterly useless status bar and menu bar? (b) use one icon for a “clock” and another for “date and time” (given you’re already showing the date anyway)? (c) use a third icon for “calendar” because two just wasn’t enough? or (d) add a Windows 98-style gradient bar up the top to waste even more space? If you answered (d) you’re ready to design Open Source UIs and take on Apple in the consumer space.

I saw something pretty funny on Digg yesterday. The link didn’t work (which was a sign in itself) but googling got me this. Here’s the summary: real soon now™ there will be a Linux-based smart phone with 3G network support and a touch screen that does everything the iPhone does, only better, and runs Linux — sorry, GNU/Linux — and is totally, utterly open. So it will be better than the iPhone in every way.

Woohoo! At last I can use something other than my tin-foil hat to communicate with the mothership.

Here’s the problem. Aside from being “open” … pretty much any non crap cell phone does everything the iPhone does … at least to some extent, and is more “open” to third-party development. The iPhone isn’t different and better than those phones the way, say, a current MacBook Pro is better than say an Apple II. It’s better than those phones in the same way that a MacBook Pro (running Mac OS X) is better than a MacBook Pro (running GNU/Linux). When folks suggest Apple has a five year lead on rival cellphone companies, they mean that Apple’s software is five years ahead of rival cellphone software the way Mac OS X is ahead of, say, GNU/Linux. (Since GNU/Linux is actually about five years behind Windows, it’s more like an eight year lead on GNU/Linux.)

And the lead isn’t in features. Every computer is a Turing machine limited by finite RAM. The only fundamental difference in ultimate capabilities between any two computers is their peripherals and data capacity. The difference for users is in usability.

As my father used to say, “Chocolate is good. chicken is good. Chocolate-coated chicken must be excellent.” It works even better when both ingredients suck individually, right? Linux is a usability nightmare. Cellphones are a usability nightmare. But a Linux cellphone is going to rule! Kind of like Kentucky-fried chicken smothered in rancid chocolate.