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.

Google and the <video> tag

Though H.264 plays an important role in video, as our goal is to enable open innovation, support for the codec will be removed and our resources directed towards completely open codec technologies.

From HTML Video Codec Support in Chrome

Well that sucks.

Gruber asks a few “simple questions” here. Aside from the question of hypocrisy w.r.t. Flash bundling, I think his points are more than neutralized by these ten questions:

You are a proponent of Apple using its influence to diminish the importance of Flash for the web. Yet, when Google makes similar moves to rid the web of a similarly closed and patented, albeit different type of technology, you do not support them. Why is Apple promoting an open web a good thing, but Google promoting an open web a bad thing?

I think that if Google pulled Flash support from Chrome there would be no question that Google were on the side of the angels (although it would still be a dumb thing to do), but since there’s no hint of this it seems purely like a cynical move to hurt Apple’s anti-Flash campaign which will damage HTML5 <video> adoption. I think you can make the argument that HTML5 <video> adoption with H264 as the defacto standard codec is a Bad Thing.

Anyway it’s a bigger mess now than it was before Google decided to do this. Ultimately it will come down to “what will let the most people see the most porn using the most devices?”

Postscript: “standards”

One of the arguments made in favor of WebM/VP8 is that it can be part of the W3C standard, unlike H264, because it’s not encumbered by license fees. The problem here is that WebM/VP8 almost certainly is encumbered (as was GIF in earlier days), it just hasn’t been sued yet because no-one uses it. But this is beside the point — the CSS font-family property supports any font, and almost all the fonts that anyone cares about are encumbered (i.e. subject to royalties, copyright, and so on). Just as CSS font-family can specify a non-free non-open-source font, there’s no reason why a video tag can’t point to an arbitrarily encoded video.

To put it another way:

There’s no conflict between the HTML specification being open and royalty-free and H264 video playback being supported in HTML5 video tags as long as the codec doesn’t need to be implemented by the browser. Just as a slab of text with font-family “Verdana” won’t necessarily display on every browser correctly (if the font is not installed) it would follow that not every video will play back in every browser.

As a practical matter, it would be nice if serving a page with video were as simple an affair as possible. E.g. figuring out which video to serve didn’t involve sniffing the browser, operating system, and so forth; better yet, if one video format worked everywhere. As a practical matter right now H264 is the best candidate. VP8/WebM will never be the best candidate because by the time there’s a critical mass of hardware support out there it will be obsolete. This is a stupid, stupid fight.

And yet one more thing:

It’s interesting that the companies still in favor of h264 (Apple, Microsoft) are precisely those companies who do not implement the codec in the browser. Apple and Microsoft both implement h264 as a plugin architecture at OS level rather than a plugin at browser level (a much worse thing — see this excellent piece that daringfireball brought to my attention).

Is a it a font or an image file format?

The flipside of my argument that H264 should be considered analogous to a font is that, generally speaking, text is still legible when presented in the wrong font. By that argument H264 is more like an image format (JPG, PNG, etc.). If we accept this argument — which I’d say is the most h264-hostile stance (within reason) to take with respect to video codecs — then consider that most browsers simply let you display pretty much any image that’s convenient inside an <img> tag (sometimes badly, as per Internet Explorer’s notorious mishandling of PNG files over the years), generally by using the underlying OS’s APIs for handling images, which is exactly what I’d suggest the idealistic and pragmatic approach for video ought to be.

Would it be great if there were one codec out there that worked everywhere that web developers could target? Sure. But that doesn’t mean not supporting video codecs that happen to be around anyway, just as I can click on a PSD or TIFF in Safari and see it in the browser.

Ultimately, Google’s stance would have web browsers simply refuse to play back content with non-standards-based content (unless it’s Flash). What kind of “principled” or “non-evil” position is that? Again, if Google were to drop Flash support and make the argument that HTML5 is “the platform”, then it could make some kind of argument about consistency, but that’s not it. Google is making Flash part of “the platform” but not H264.

Go Adobe. Go Flash.

I’ve been visiting the Adobe Store quite a bit lately, and it has inspired me to make this video.

Corrections & Notes:

  • I’m using ClickToFlash (for Safari) and not FlashBlock which is the Firefox equivalent.
  • The store is implemented in Flash, much of the rest of Adobe’s site is not.
  • None of this stuff works any better on the 3.06 GHz Core 2 Duo Dell I’m sitting next to (with the exception of mouse scrolling, which is supported by Adobe’s scroll widget).

Meanwhile, back at Adobe Labs

Prezi exposes Flash's rotten core
Prezi exposes Flash’s rotten core

A colleague recently showed off a slide presentation created using Prezi.com, a Flash-based slideshow program. (The home page of this site is atrocious, which is not a good sign, but I think the idea is actually better than you might guess from the home page.) The basic idea of Prezi is really simple and neat — instead of slides you simply build a giant poster and each slide is simply a subview of this giant poster. The thing that struck me about this is that:

  1. It’s very clever and simple,
  2. I don’t think it will be useful for most presenters who have enough trouble putting together interesting slides as things are, and
  3. It doesn’t work very well (basically, the second slideshow I tried out was a speaker’s package for TED presenters (not that I am or ever will be one) and the frame rate dropped to something like 2fps while performing a simple transition in a small rectangle on my screen — on my late model Dell desktop).

And the reason it doesn’t work very well is Flash.

To be fair, the slideshow that first annoyed me was heavy with bitmaps, so I tried out some really simple slideshows and discovered that it is fully capable of choking on a pretty much empty page (my guess is Flash is really bad at culling — which is a technical term meaning “figuring out what isn’t visible and not wasting time on it”) and surprisingly bad at rendering text (quite a few “prezis” seem to have text so badly misrendered as to be illegible).

The problem with Flash isn’t that it’s not optimized for Macs.

The problem with Flash is that it’s just not very good.

Would all this work better in HTML5? Not without a lot of clever programming. And producing something like Prezi in HTML5 would be a lot more work than doing so in Flash. The problem is that Flash is a “mature” product — it’s been through four scripting languages, multiple virtual machines, and over 10 versions of the IDE (I can’t remember what version FutureSplash Animator was at when it was acquired by Macromedia). Normally, maturity means that a product will have all this deep functionality, but Flash’s utility basically boils down to “it makes it easy to create custom video players”.

If you want a really tragic example, go to Adobe’s online store (yeah, it’s one of those sites that requires you to tell it where you are rather than automatically guessing and letting you override it if it guesses wrong). For some reason, Adobe has chosen to implement its store entirely in Flash instead of, say, HTML. As a result, it looks a lot like a web page but everything works much worse. For example, on Macs mouse-scrolling isn’t supported. On Windows it’s supported but it’s jerky and annoying (versus smooth-as-silk for most web pages of similar complexity in any browser on the same hardware). But hey, it’s only been 15 years and 10 (.1) versions — we’ll get to it.

Basically, if you’re using Flash to display thumbnails, captions, and a few UI widgets it works OK.

Thanks to bad press from Steve Jobs, Adobe suddenly got the performance religion with Flash Player 10.1, which it’s now touting all over the place, but the sad thing is that Flash still doesn’t do anything smart when simply drawing stuff on the screen — and that’s its core functionality — it also implements a whole library of UI widgets that don’t work properly, and it has an IDE which has an absolutely infuriating UI* and still screws up common tasks like importing graphics (from both Illustrator and Photoshop).

That said, Photoshop CS5 looks like being totally awesome.

* e.g. some panels won’t dock as tabs to other panels but need to be on their own, the code view of an external ActionScript file doesn’t go in Action panel where internal code goes so if you want your code in nice large panels you need to constantly futz with the UI, the online help is now on Adobe’s website which by default does not search through Flash’s ActionScript documentation and also, by default, shows links to random outside websites rather than Adobe’s official documentation (you’re pretty much better off using Google to find docs or online help for Adobe products these days).

Adobe CS4 UI Clusterf**k Cont’d

I'm guessing that Adobe pays more for UI designers on Photoshop than Pixelmator's gross revenues -- obviously, they're earning their money.

I’m guessing that Adobe pays more for UI designers working on Photoshop than Pixelmator’s gross revenues — obviously, they’re earning their money. Neven Mrgan posted a very amusing list of different ways Adobe fails to implement slider controls in Adobe Photoshop CS4 (amendment: he missed at least one — the lamentable layer opacity slider), followed by a blog post discussing hilarious attempts to defend this crap. Here’s a link to someone attempting to blame Final Cut Pro for doing the same thing (including an accurate rebuttal).

Right now, Adobe’s CS4 apps look about as amateurish as a typical RealBasic app — this isn’t to denigrate RealBasic — but most RealBasic apps are written by one guy with no designer, QA department, testing, and customers who are grateful if the program does more-or-less what it’s supposed to do and doesn’t format their hard disk.

The truly sad thing about Adobe’s applications is that (a) they’re written for artists and designers, and (b) Adobe doesn’t just toss apps together more-or-less adhering to platform UI standards, it goes out of its way to think about UI design, develops its own internal standards and frameworks — and then produces incredibly clunky interfaces.

Convergent Evolution & OOP

I’ve seen UI nightmares like this before: in Smalltalk. Because Smalltalk has been around so long there are enormously complex class libraries built on top of it, and in many cases these libraries branch out and then overlap — just as mammals, reptiles, and birds all evolved from a common ancestor, but when mammals, birds, and reptiles evolve to occupy a particular ecological niche — e.g. insectivore — you find convergent evolution — e.g. long snouts and sticky tongues, so did Smalltalk’s class libraries grow multiple overlapping instances of similar controls derived from different ancestors. So while an ant may think that nature is being stupidly inconsistent (why don’t all sticky tongues smell the same?), form follows function where it has to, ancestry dictates “cosmetic” differences.

(This turns out to be an argument neither for nor against “intelligent design” since — presumably — Adobe’s software is “intelligently designed”, but it does seem to imply that if God designed the Animal Kingdom, then God is more like a bureaucratic Fortune 500 company than an omniscient super-being.)

By the mid 90’s SmallTalk’s UI class libraries — at least the ones I saw being used in the Finance sector — were pretty appalling. You might find that there were ten different slider controls (clarification: actually slider controls were way beyond Smalltalk’s GUI at this point, so I should use — say — “buttons” as an example) found in ten different branches of your class hierarchy, and three were color, six monochrome, one greyscale, two could have a value field, three might be skinnable (but one could only use 16 color graphics), one was anti-aliased, three could have check marks, four could have keyboard shortcuts, one wasn’t focusable, and so on. Several different versions might — and often with good reason — appear in a single dialog box. Adobe’s apps seem to have exactly the same symptoms.

Ugly but Functional

While nothing can justify ridiculous cosmetic inconsistencies, at their core Adobe’s apps are still incredibly functional, and consistency across versions has ensured that even Adobe’s more peculiar UI design decisions have been so indelibly burned into our muscle memory that it seems perfectly natural that dragging a selection moves the marquee and not the selected pixels by default, or that to quickly set the color of a text layer you click on it and hit option-delete.

Perhaps the problem for Adobe is that — if they were to fix the “obvious” flaws in their UIs, it’s not clear where it would end, and how many more people it would piss off.