After Effects needs to be rewritten from the ground up. It’s slow, buggy and the UI is years behind other products in Creative Suite. Adobe has taken advantage of the fact that they are the dominant player in the motion graphics market and effectively have no competitors. They keep pushing forward building on 20 years of legacy code ignoring many long withstanding bugs and core improvements that could have slowly made their way in. Here’s a wish list of improvements and features that I would warmly welcome in a new After Effects.
- It’s almost entirely used in the browser.
- Almost all libraries and toolkits available for it are for browsers.
- It doesn’t (out of the box) provide higher level concepts like OOP.
- Doesn’t encourage After Effects scripters to write re-usable libraries or toolkits.
After Effects needs a language thats more friendly to its developers and allow them to do more with less.
Project/Composition level scripting
Right now you have two choices of automation in After Effects.
- An external script that runs once.
- In individual layer properties that are executed frame by frame.
Almost everyday I feel the need of the ability to manipulate and generate elements from a global perspective on a frame by frame basis. Having to open up each individual property that has code I want to change is a serious productivity drag. I want all of the code in one place. Not chaotically scattered through a composition.
Say you have a composition that decorates some text with various layers and effects and you need to now use that composition dozens of times throughout your project with different text. So you duplicate it however many times you need and place it where needed. Now, you want to change the leading of the text in each one. Currently your only option is to individually open up each composition and make the same change over and over again.
Here’s the problem explained a different way.
If something like a Flash Symbol was introduced. You could make a template composition. And provide and way to change whats inside of it on a per-instance basis after its been duplicated.
Another idea is to be able to select which layers are to be rendered from inside an instanced composition. That way you could have a master composition with all possible instances of a “template” and then be able to control on a per instance basis whats shown.
Folders in the timeline.
This has been asked for over and over again for years. Pre-comping is usually a bad idea and the less of it the better. I just don’t like losing context in the main composition to do something trivial like apply a mask to a selection of layers in the timeline. A nodal interface would be the best solution to this particular problem but I know that Adobe would never implement it, so I won’t argue that point. Here’s an idea I came up with pretty quickly, so it certainly could be improved.
More useful and consistent info panel
Dragging a layer in the timeline shows changes as:
Dragging a keyframe only shows this:
Why is the delta only shown for a layer? Both cases should show it.
And why is it limited to 3 lines of output?
Built-in opacity, blend mode and masks for all effects
Sometimes I find myself duplicating an effect onto a new layer with a mask or a different blend mode just to be able to achieve this functionality. Why can’t Adobe just add something like a composite section to each effect by default?
Multiple projects open at the same time
How many times have you just needed to copy and paste something from one project to a different one? Take a hint from Cinema 4d on this one.
Ability to separate dimensions on all 2d/3d properties
Why can only a layer’s position property be separated? Why can’t we separate things like point of interest (which is of the same exact type of property as position, ThreeD_SPATIAL ), orientation, or any other 2d/3d property?
Ability to move layers in the timeline without moving its keyframes
You’ll notice that as you select keyframes of a layer, it also selects the parent layer of the keyframes. Many times I’ve need the ability to move just the and then just the keyframes on another layer.
Useful expression function are not available to scripts
You can’t use expression functions in a script. It makes sense why loopOut wouldn’t be available, but why isn’t toWorld or fromComp?
Native move keyframe scripting function
It’s a difficult and very, very slow process to move keyframes via scripting. Right now you have to copy the keyframe data which is embedded in it’s parent property (which in itself is complicated enough). Then delete the keyframe. Now make a new keyframe with the new time you want and use the copied data earlier to recreate it. This can be tricky too, because the method used to create keyframes depends on a supplied keyframe index value, which isn’t easy to find out before the keyframe has already been made. Far, far too complicated for such a simple common task. And about 100 times slower than doing the exact same operation manually in the timeline.
Modify path points with expressions
This would be very useful for making animated graphs within a shape layer for instance.
More configuration options
An option to turn off Global Performance Cache. A lot of the time I find myself purging cache because GPC doesn’t always update old frames.
An option to turn off expression dialog warnings. Sometimes you’re writing an expression and you need to do something else before you finish it. For instance, twirling down another layer’s property so you can pick whip it. If you move out of a uncompleted or invalid expression textarea you get this annoying dialog every single time.
Consistency with camera layers and expression control “effects”
You can’t add expression controls to camera layers. This would be useful for tidying up camera rigs that require an extra null layer to stuff expression controls on. It also strikes me odd that the expression controls are in the Effects & Presets pane in the first place. How can it be considered an effect?
This entire post wouldn’t exist if there was a central place to see all current suggestions submitted to Adobe. I might be able to understand why they wouldn’t want this if they had fierce competition with another program, but since they are the only player in the game when it comes to motion graphics, it doesn’t make much sense.
Adobe should make the suggestion form more of a community effort where people can see what other people have already suggested and vote up the best ideas. For example, say someone has this brilliant idea everyone would love and want more than any other feature. But using the current form, only that person and the person reading the incoming suggestions at Adobe would know about it. And then when they tally up how many requests each suggestion they’ve received has, this particular idea would come in with only one request and probably appear undesirable by the AE community as whole and most likely not be high on the implementation list. A forum with a voting system (like this) would solve this issue and should not take long to implement either.
So the reason why I’m posting these ideas on my blog is to hopefully get more people aware of possible features that they might not have considered themselves. Since what the current system seems to honor is quantity.
You can find the current suggestion form here.
Add Incremental Save For Crash File Name
Give an option to increment the current file name during a crash instead of appending “_1″ to the end. You end up with a lot of this:
And I just end up renaming them incrementally anyways.
Expose more properties to be modified by expressions
For instance, it would be nice to access things like the number of characters and lines for text layers. It’s currently very random what’s exposed.
Smaller, but worth noting
Make Grow Bounds work on all types of layers. Like RGS Grow Bounds.
Make Set Matte more robust. Currently it only works if layers are 2d and the same size ratio. There should be an option to apply its mask based on what the active or a selected camera sees.
Layer like features for masks, ala visibility toggle and in and out points. Instead of having to drag the entire mask off screen when its not needed anymore.
Effect inputs have a max value of 32767. The rest of AE allows you values up to 1.1000000e+200. Input values should be consistent across AE.
To relatively change keyframe values in the timeline without using the value dialog, you have to have the scrubber directly one one of the keyframes your trying to change. Add a modifier key to do the same thing no matter where the scrubber is at.
The project panel doesn’t expand columns to show the length of long values. Mainly file path.