Thursday 5 February 2015

Complexity of entry

It can't escape anyone's notice that while some computer applications are very friendly and inviting from the word go, some are absolutely mindblowingly complex.

Take for example this screengrab from Band-in-a-Box (the 2012 edition).

There are three toolbars on-screen, with a total of 73 visible buttons between them -- and there's a further 11 buttons that are missing due to lack of screen space (screen resolution 1366x768). There's 14 menus in the menu bar, and several dozen clickable bits. All the functionality of the software is laid out in front of you.

But is that a good thing? I think not.

Band-in-a-Box is, first and foremost, an accompaniment generator. The first thing any newbie will want to do is select a music style, plonk in the names of a few chord, and listen to it. Which means that for one thing, you'll be playing Where's Wally trying to find the play button.

The problem with Band-in-a-Box is that it has been gradually improved over the years into a do-everything audio workstation, and it's very powerful, but there is very little separation of concerns, so it throws everything at the user simultaneously, overwhelming and overpowering, and leaving the simplest task actually quite hard to do.

Personally I keep giving up on the software when I can't find out how to do something very basic. When I come back to it I find out one more thing, then hit another roadblock. I installed it the other day, and I found out how to insert repeats... except the repeats didn't actually work. This is basic stuff. Why do I care how many technologies it can interface to if I can't make sections of my music repeat reliably? (A lot of the buttons on screen are specific to MIDI, VSTi or DXi plugins.)

As a beginner, the software should make it easy for me to do beginner tasks, without making the complexity unavailable for when I need it later.

Another class of software that has been vexing me a bit recently is animation software: I want to make a cartoon, but I don't know where to start.

I know what I want to do, but it's hidden from me. Take a look at this trailer for the game the Banner Saga:

Notice how little animation there is, with some scenes relying on camera moves and parallax effects to give any sense of life to the picture... and note how effective it is.

Most of us above a certain age will have memories of kids TV programmes that were essentially readings of illustrated story-books. At first, they used the illustrations from the book, and simply zoomed and panned a camera over them to make them look a bit more lively. Windows Movie Maker will almost do this, but it does panning only, and it's fully automatic as far as I can see, meaning I don't even get to decide what's shown when.

The next step in the evolution of the TV storybook was translating the hand-drawn images into pseudo-3D using cardboard cutouts, and panning and zooming really did start to bring more life to the story.

2D cutouts on a 3D stage offer a heck of a lot of creative potential for very little work, and therefore offer a rewarding introduction into computer animation.

Of course, they're not actually animated, but I don't think that's really a problem, because even though cel animation came to life almost fully formed in the first half of the 20th century, storybook TV (there may be a more accepted formal term for this -- feel free to tell me if you know it!) followed its own evolutionary path that brought it slowly closer to traditional cel animation and also to stop-motion animation.

Perhaps the most unique TV storybook from my own childhood was Paddington Bear:

Notice the blend of 2D monochrome cardboard scenery, 2D sketchily drawn characters with minimal animation, and a fully animated stop-motion puppet as the main character with fully coloured 3D props. And it works -- we all loved it, because it took the least realistic element of the story and made it the most realistic looking. Even though the style was designed for low cost, it was an artistic decision.

This style offers a progressive introduction to animation that would leave the learner open to produce something of value at each and every stage... if the tools supported it. The problem is that 3D layering has been identified as something advanced, and therefore no effort has gone into making it immediately available and understandable to the new user. Instead, developers assume that the first thing the new learner wants to do is make a ball bounce or a stick man walk...

Well, yes... that is the first thing that new users want to do, because they turn up with the expectation of producing something that is recognisably a "cartoon". The problem with this is simple: cartoons are big and expensive and a lot of work. What newbies want is irrelevant, because it's out of their reach -- it is too complex a task. If a new user is to stick at it, they're going to need to get some sort of gratification early on, and that means they need to do something creative, and with an end-product that delivers satisfaction. If I spend an entire day at an animation workshop, I might end up with a character made of bones with a walk cycle, and perhaps 2 or 3 seconds of lipsync. Am I going to upload that to YouTube? Would people watch it? Probably not, so I therefore feel like I've done a lot of technical work, but not achieved anything of value.

Furthermore, even if I slog through and after months and months of practise get to the point where I can produce a 5-minute animated short, I'm still stymied by limited resources in that I only have one voice, and cartoons typically require multiple voice actors.

A one-day workshop on storybook TV techniques, on the other hand, could see me instead leave with a complete short film.

It would start with selecting a story of a few minutes in length. You would make a recording of the story, which would essentially be the entire soundtrack. Then you would start assembling the 2D props you need, either from a clip art library or by drawing them on a computer. Build up the scenes by placing the flat props, then start playing with camera angles. You might even have time left to discuss each other's films and go back and re-edit to make them better, and everyone gets to go home with something they feel proud of.

And then you can focus on minimal animations on day 2.

You could start with environmental features such as waves and weather. Did you notice the amount of snow in the Banner Saga trailer? Quite often it's almost the only thing moving (at 1:05, for example), but because it respects the layering, it enhances the 3D effect while reinforcing our perception of time passing. Snow, rain and fog -- these things could easily be handled procedurally by the animation engine.

Then our characters can start changing their expressions a bit, or we could do that old anime trick of making the facial features wobble backwards and forwards a little to express tension or effort.

Individually, these things may seem insignificant, but because we started with a technique that allowed us to tell a full story, each thing we learn now has very real effects on the quality of our story-telling. Instead of struggling a full semester at a college in order to produce a single solitary short, you'd reach the end of that semester with a DVD or two's worth of video, multiple revisions and recuts of the same thing. You would have learned so much more about the whole process of storytelling, which would more than make up for any specific technical skills that you hadn't learned. But actually, I suspect that you'd actually learn the technical stuff even better, because each time you learned a technique, it would be in context, and with a particular goal in mind. By the time you started trying to animate bones, it would be for a character you already know in a story you know back-to-front. You know what the movement is trying to express, so the whole process is more meaningful.

I could write my own software to do the first few steps of this myself, and I am kind of tempted to have a try, but in the end, I don't really know if it's worth it. Why not? Because this should not be separate software. If it is, then it doesn't really serve as a particularly useful introduction, because everything that you learned to do in my software, you'd have to relearn it in a "proper" animation package.

So it needs to be that fully-featured software packages are designed from the ground up to support beginners by presenting low-complexity options, then gradually increasing the complexity so that the new user progresses effortlessly to a power user.