Saturday, December 1, 2007

The Scrolling Killer


Not nearly as thrilling as it sounds. In fact, if there could be a greater disconnect between name and content for something as unthrilling as the reality of ActionScript, I have yet to find it. Perhaps the closest analogue is calling New Jersey "The Garden State," or maybe it's someone who advertises as "The Painless Dentist" who actually turns out to work with large construction implements powered by an hydraulic engine.

And what is ActionScript? It's the proprietary language for Flash. Think of HTML crossed with Quantum Theory, in that writing in it is supposed to make things happen in your average web browser, but predictions are chaotic and observing your work often changes the final result.

Well, no, but there are many, many times that you do something exactly right, and when you switch to preview mode, an entirely different outcome displays.

I have promised myself that I will learn how to make my own text scrollbars in Flash. The problem is, this is hard. The reference guide that I have has this to say on the topic: "This is the most complex script in this book." Fine, except that the book is dedicated entirely to ActionScript, and consists of 350 pages of wall-to-wall ActionScripting, with minimal illustrations, a truly joyless slog for a truly soul-crushing activity. Reading this book makes me think that maybe magic was real once, only the tomes that held its secrets were written as densely and charmlessly as this one, and in as convoluted a style, so that nobody could ever get through a chapter to finish a fucking spell and the knowledge was lost to history.

Bear in mind, I can (kind of/sort of) see the point to ActionScripting. Flash is a complex and powerful application, with a lot of functionality, and things of that nature usually have some bits that you have to type, rather than click and drag. Even after 20 years or so, the best HTML authoring engines still require you to go in and futz around with the actual scripting to get things right, and HTML is less complicated than ActionScript by several factors. That's because it has a lot less to do.

But still: the fact that you have to script your own scrollbars is needlessly perverse. We're talking the most fundamental aspect of the computer interface, about the only thing that came over from the DOS environment into PARC graphic interfaces like Windows and Mac. Simple fucking concept: more text? Just scroll down. It's such a fundamental navigation concept that there are always several options of how you want to achieve it. Arrows on the keyboard. Click the mouse on the arrow on the side of the open window. Grab the slider and move it up or down. Click in the empty part of the slider bar and the page flips. Use the little scroll-wheel on the mouse, of you've got. Page up, page down keys.

Etc. My point is that this should be the easiest thing to do in any web-construction tool, the thing that you just click and go, with no thought except what color you want it to be. For Macromedia (now Adobe) to expect you to write your own scrollbar is like Apple selling you a computer with the expectation that you'll be building the mouse yourself. Ludicrous.

I don't know for certain why this is still as difficult as it is to do after nearly a decade of Flash's existence, though I suspect it's the sheer size and power of Flash that leads us to this sad outcome. Flash tries to combine a very sophisticated animation program with full interactive web-functionality, and ends up letting both sides down. Seriously, you don't expect to be able to write JavaScript in Photoshop, so why should your animation program be able to make input fields?

I'm sure Dilbert's pointy-haired boss is behind this one somehow. You can feel the trumping of the engineer's judgement by a dim manager somewhere in the development. When functionality starts to overwhelm the interface, the time has come to make two programs and just make sure there's portability between them. I'm not sure why Macromedia didn't work this out when they designed Flash. They clearly understood the theory, breaking their HTML machine (Dreamweaver) and their web graphics tool (FIreworks) into two separate but closely entwined programs, they made both easier to use. But a thoroughly non-intuitive interface was always Macromedia's downfall.

I haven't seen Flash since Adobe acquired it, but I'm willing to be there's been some movement towards trying to make Flash a more seamless application. Making a Flash Suite instead of the two! two! two! programs in one would be a good start, and trying to do away with some of the more asinine functions that ActionScript is expected to handle should be job one in the new FlashSite, or whatever they call the web building part.

In the meantime, I have to make my arrows in some graphic program, import them into Flash, convert them to buttons, create rollovers, export each one as a move clip, open the movie clip, type in several dozen lines of ActionScript, bring the movie clip into the page I want to have the scrolling text in, make a text field, toggle the text to 'dynamic' mode with a multiline layout,' name the text field, direct the scrollbar to the text field, embed all the fonts, and then preview the thing and watch it completely fail to work at all... and dig back through my work step-by-step to see where I exchanged a plus sign for a minus sign.

All this, just so that people who visit the site I'm building (for a client, not for fun) can do the one thing that they absolutely should be able to do. But it'll all be worth it - becuause those embedded fonts let you control the graphic identity completely. Damn it.

So wake me when the revolution comes. I'll still be down in the FlashDungeon, ActionScripting away.



Anonymous said...

I initially read that as "Painless Dessert" for some strange reason... I like my version better...painless dentist is so, so... well... kind of makes more sense in an abstract way. Oh, and kudos for using the article "an" preceding the letter "H", I'm sure no one understands why that is correct anymore.

Dave Kopperman said...

Still: a painless dessert with hydraulics? Sounds like one mean piece of pastry.