Not only is The Abyss one of James Cameron‘s better movies, but also in some aspects a quite fitting description for software development – you can throw infinite resources into it, but nothing ever comes out. It’s one of those harsh but simple truths. As a result, you miss one thing or the other even in the most thorough testing and it will drive some users up the wall as it did a certain person today. The pertinent questions can be answered easily:
"Adobe, how do you sleep at night ?"
I bet they sleep quite well. Money makes for a cushy pillow and most Adobe employees no doubt earn more in a year than many of us ever will. A little bird from Seattle once told me that Adobe pay 2.5 times that which Microsoft pays (and that is for the most mundane jobs), so if you do a little digging you can do the math for the lower ranks and begin to imagine what a lead engineer like Chris Prosser might earn not to speak of product managers like Steve Forde. And no doubt they get their jobs sweetened with company shares and additional benefits. So yeah, despite some moaning and groaning the company is successfull and everyone is resting comfortably without ever wasting a thought on some things…
"No Adobe employee has ever worked extensively with any of their products."
Some of them do, but perhaps not the ones that should or that you expect. And how deeply someone uses a product, is very much a matter of the work you do. As my own little mess-ups show, even I do sometimes get things wrong, because I’m only using specific parts of After Effects. With regards to development it’s also not always relevant that an engineer working on part A also knows the in and outs of parts B to Z and neither do Beta testers. I certainly don’t – in all my work as a tester covering anything from web backends to complex 3D apps I’ve only ever focused on things I actually use or had a slightly nerdy interest in. On the other hand for that same reason of course I get just as frustrated explaining things 5 times to the wrong engineer who may not get the bigger picture, but that’s just the nature of the thing. When programs are developed by larger teams, you can’t always expect an open ear from your most beloved….
Oddly enough just the same today Todd Kopriva posted a list with waht he claims to be the most common feature requests for our favorite motion graphics/ compositing tool, taking us even deeper into the mysterious and treacherous waters that is software development. So let’s see what we have here (things I don’t care for I’ve simply omitted).
Keyboard Shortcut Editor
Definitely a top priority! It’s amazing that Adobe offer After Effects in multiple languages, yet do not allow users to freely configure shortcuts in such a way that would feel more natural in some cases. That additionally gets extra messy when you are trying to run the program in a language different from your own one and may encounter conflicts with localized shortcuts and just as well it get’s complicated when you are running on notebooks which use redundant assignments on the same keys and do not have soem extra keys.
Grouping Layers in the Timeline Panel
"Now, after trying to communicate this difference on various forums, and asking people to give feedback, it seems pretty clear that most people would be happy with just the relatively simple layer folders feature."
Really? I just hope someone has the good sense of spelling that out when the time comes. Won’t be before long people start screaming about the absence of blending modes or other features per group.
Variable-width Mask Feather
Yeah, sure, but wouldn’t it be more important to get away from the current clunky masking system first? None can go without the other. Imagine how painful it would be to adjust this variable feather, if the selection of the secondary mask paths defining the width would work as awkward as the current method!
Saving Projects backward so that they can be opened by a previous Version of After Effects
Why bother? Now that Adobe is whipping users into more frequent upgrades, why should anyone care? Especially when you are dealing with specific media formats that older versions never supported to begin with the trouble of going back would be much greater than it’s worth. Anyone reasonably involved with offering his services commercially would be mad not using a current version if it contains specific features required to import and export these modern media formats plus of course the various new features you simply get used to and will miss when going back to an old version. Of course when you are stuck on older versions for technical reasons it may be frustrating, but the world doesn’t come to an end. And since my feelings about CS5 and CS5.5 are at best mixed, why should I even care for going back to those versions when possibly CS6 will make good on all the failed promises of its predecessors? And not to put too fine a point to it – many other vendors do it just the same. Once you upgraded, you cannot open the files in older versions and that’s usually okay, too.
Better Handling of Image Sequences
Another one of those things that have been irking me for years, especially the "report showing exactly which frames are missing from an image sequence" would be quite welcome. It can be quite annoying finding damaged files in 3D rendered sequences and there surely are better ways to spend your time than sifting through them frame by frame just so you can re-render the right ones or replace them so your compositionb doesn’t crash.
Scaling: better Algorithms and Ability to choose
"This is in a way related to the CUDA item above, in that the way that Premiere Pro was able to accomplish much higher-quality scaling was by performing scaling on the GPU using CUDA."
That’s only partially true. The lie of omission here is the little word realtime. That may be most critical to an editing app, but I for one can perfectly live with complex algorithms to take a microsecond longer in a compositing system. And then again, nowhere does it say that it has to run on your GPU. 3D programs for years have used complex filter and antialiasing algorithms as plain CPU code and considering that soon you will be able to buy 16 core processors, it is probably safe to say that any such operation will run fast enough there that you will not notice any difference.
After Effects for Linux
That’s one of those ideas that just won’t die even if pretty much the people asking it already know why it won’t happen. Incidentally I just answered a similar question yesterday on the Creative Suites forum and I can only repeat what I said there: In the creative desktop business, Linux is just a tiny number. People who might wanna use it and companies who want to offer software for it will have to overcome several technical issues as well as figure out a lot of legal stuff. Additionally, you need a whole different level of user support due to the unique nature of Linux. Ultimately one simply gets in the way of the other. Nobody invests in porting his software to a system, that only a tiny fraction of potential buyers use at all and otehrs can’t, because it’s over their heads to even configure the operating system. It’s simply a different thing to support 10000 users of a program like Nuke and offer them support for their 8000 Euro package than it is to suport a million users of a 1200 Euro package. The business metrics are completely different.
Bones and Inverse Kinematics within Puppet Effect
I really hate this request, because it is way too limited and doesn’t even begin to get anywhere. Why is it wrong? As someone who has been doing technical visualization in the 3D world, I do use inverse kinematics occasionally, but rarely ever with bones or other deformations. You know, there’s all those robot arms, grippers, cranes and whatever you can think of that are made of rigid components, but all of them mimic a human arm that is many times most easy to animate with IK. Ergo, if I ever were to use such a feature in After Effects, it would probably be based on similar stuff. Also why would anyone want to limit such a feature to just a specific effect where all data being produced again only ends up as layer relative position data and possibly some messy rotation values of the bones which outside this closed system are not much use? As a last item, an intra-layer IK system also does not take care of proper interaction with other layers – the notorious "hand over the apple" for instance or putting on glasses on a face. Therefore, a much, much better request would be to finally give the program a more flexible and versatile constraint system that can take care of everything from keyframable dynamic parenting to targeting to specific constrained motions (hinges and that) and as a combination and culmination of all of them ultimately an IK system that operates on native layer transforms just as it does on effects controls that then could also be a Puppet pin.