[3D Rendering Tutorial]
Flash MX and Flash usability
Tom Arah looks at the history and future of Flash and its usability.
According to Macromedia and over a million Flash developers the big advantage of the Flash SWF format is that it enables the creation of "magnetic" content that attracts visitors, keeps them longer and keeps them loyal.
According to Flash's many critics the format may be magnetic, but it's set to repel. The most stinging attack was Jakob Neilsen's uncompromising 2000 article "Flash: 99% Bad" which should be required reading for any Flash author (www.useit.com/alertbox/20001029.html). The piece highlights three main problems: "it makes bad design more likely, it breaks with the Web's fundamental interaction style, and it consumes resources that would be better spent enhancing a site's core value."
The first criticism, that it "encourages design abuse", is an important one and everyone will have come across examples where the use of Flash is gratuitous and unhelpful. Recently, for example, I was amazed to discover that Corel had introduced an irritating Flash intro that has to be navigated before you can access its main site - a practice I thought had died out with the dinosaurs. Essentially though, bad Flash design is just bad design and the fault here lies with the author and not the technology. If you stick to the two major principles of less-is-more and user-focused-enabling, you won't go far wrong. Try and imagine what your sternest critic, say Jakob Nielsen, would make of your work and adapt it accordingly.
Corel's unnecessary site intro is just one example of Flash usage hindering usability.
Nielsen's other two major criticisms are more intrinsic and potentially more damning. To begin with, "the fact that Flash is not standard HTML creates a host of nasty usability issues" such as the lack of support for the browser's Back button (though of course you could implement your own Flash-based version). Even worse is the way that Flash "consumes resources that would be better spent enhancing the website's core value", and in particular its content. As Nielsen says, Flash content is "typically superficial" and "tends to be created once and then left alone". In other words Flash's style inherently comes at the expense of usability and of content.
It's a damning indictment, and enraged Flash fans have ridden to the format's defence (a typical example being the book "Flash: 99% Good"). But where's the truth? Is Flash the way forward for the Web as Macromedia would have us believe or is it a "usability disease" that needs to be eradicated from the existing HTML system? When put in these stark terms it looks as if there is little hope for finding common ground; however a look back at history helps unravel the issues and reveals the ways in which we can move forward.
The Web was built on Tim Berners-Lee's work on HTML (HyperText Markup Language) - and it still is. The beautiful simplicity of an open, text-based markup language that is interpreted and displayed by the browser means that anyone and everyone can produce a Web page. At the same time the format's hypertext nature, helped out by search engine indexing, connects these pages together to create the World Wide Web and provides the mechanism to enable users to drill their own path through to the information that they are seeking. HTML's page-based system works brilliantly to gets users to the information they want, so why mess with a winning formula?
Jakob Nielsen's own www.useit.com site is a typical example of the strengths - and weaknesses - of core HTML-based design and usability.
The immediate problem is that HTML by its very nature is only concerned with text. More to the point it's only concerned with the text's content and leaves its very limited formatting (see last month's article) to the browser. That was fine for the Web's original purpose of making scientific papers available online, but when the Web began to offer so much more, some way to add graphical and design-based interest, impact and assistance became essential. GIF and JPEG support grafted on via the <img> tag was a first step, but their download-heavy bitmap nature was a serious limitation. This is where the Flash format's vector nature delivers its first big advantage. By defining shapes mathematically rather than through pixels Flash could provide design-rich pages with graphics and any layout and typeface while keeping file size small and download time short.
As the Corel site's Flash intro puts it, "a visual idea is more powerful than a verbal idea" and designers were quick to appreciate the design potential of a web vector format. What really gave Flash the edge though is the fact that it is a frame-based format. By encapsulating your vector-based objects as symbols all the SWF needs is new symbol co-ordinates and property settings for each frame and it can produce highly-efficient, eye-catching streaming animations. Effectively SWF "movies" were the nearest thing to TV-style video that could be delivered over a slow modem line, especially when audio support was added, and it was this move from static text to dynamic multimedia that really gave Flash its impact.
Flash's movie-based strengths were the secret of its initial success and shouldn't be forgotten.
Flash had another trick up its sleeve - interactivity. To control how the movie ran Flash added basic stop, play and goto commands that could be activated by special button symbols that responded to the end user's mouse. Using these you could build up navigable page-based presentations very different to the original serial movie format. With the loadMovie command's ability to load new sections of content into the currently running movie the sophistication of possible Flash work increased dramatically and without requiring HTML's awkward page refreshes and blank screens. With the getURL command the Flash movie could also call up HTML web pages and integrate with existing content. The end result was that Flash was able to deliver the most engaging content on the Web.
With its binary format enabling the delivery of text, vector, bitmap, animation, audio and interactivity suddenly Flash was everywhere from the banner ad and rollover bar through to the embedded presentation and all-singing-all-dancing mini-site. What's more, the combination of Flash's many advantages removed its worst drawback. Because Flash content was everywhere, the Flash player needed to view it became the most widely distributed Web software. There were - and still are - users without the player who needed to be catered for, but the unmatched support - these days Macromedia claims 98% penetration - meant that Flash SWF had became a web standard second only to HTML.
Macromedia's response, beginning with Flash 4 and especially with Flash 5, was to completely remodel Flash's scripting engine. In place of the existing handful of commands came an entirely new object-oriented and advanced programming language, ActionScript. The theory seemed to be that, as Flash already excelled at handling all forms of media, all that was needed was advanced programmatic control over them to enable the Flash developer to produce anything they could conceive of, from an online game to a fully-functioning e-commerce site. Thanks to ActionScript, Flash had yet another new role this time as a Java replacement delivering "Flash applications" over the Web. In this brave new world, HTML was little more than an outdated relic and the "thin-client" browser's main function was as host of the "rich-client" Flash player and its myriad applications. The new ActionScripted Flash was ready to replace HTML.
With the introduction of ActionScript Flash 5's focus was on application building.
Certainly ActionScript was a big advance and some of the work built with it is amazing, but I have to admit that I wasn't completely convinced by Macromedia's vision of the all-encompassing Flash application. Partly this was a natural response as I'm a designer not a programmer. Rather more importantly, ActionScript's strong client-side emphasis seemed much better suited for creating widgets and games than for producing industrial-strength e-commerce sites. While I appreciated Flash's many strengths I didn't buy into the idea that it was ready to become a total solution. To my mind Flash was the ideal design-rich complement to HTML but certainly not its replacement.
My key problem with the all-encompassing Flash application was fundamental - Flash just wasn't great at handling new content. Essentially I agreed with Jakob Nielsen that Flash content was "typically superficial" and "tends to be created once and then left alone". However this wasn't because Flash designers are easily bored, lose interest and keen to show off in pastures new. It comes down to the inherently design-intensive nature of Flash authoring. Even the simplest task of adding a new page, or rather screen, involves manually setting up frames and actions and links and adding and formatting your text is seriously laborious. Ultimately each Flash project is indeed a self-contained application, and it's just not practical to rewrite a Flash project every time new information has to be accommodated.
The comparison to the speed and ease with which any amount of text can be added to an HTML page and then the site organically updated is clear and with a data-driven site the difference is even more stark. Ultimately the Web is all about dealing with relevant information but, because of its standalone, inflexible, design-intensive nature, Flash just wasn't the right choice for up-to-the-minute data handling. Attractive packaging might be one thing, but it's hollow if the contents are stale. While a Flash application might be perfect for producing a promo for a band or album, for example, it just couldn't scale up to handle an ongoing record company site.
The long-term potential of XML and SVG is so vast that I for one couldn't see how Flash could possibly compete. But that was before Flash MX. MX is a revelation. This is most immediately apparent in the revamped application, but the real difference is in Flash as a platform. To begin with, in addition to its existing support for text, bitmaps, vectors, animations and audio, Flash MX adds support for short-form streamed video to complete the full house of multimedia options and to really live up to its movie potential.
Crucially MX also tackles the major usability issues that Nielsen highlighted. To begin with, by setting up named labels on your page-based frames and setting an option when publishing, MX enables the browser's Back button to take you back through the pages you visited in the Flash movie just as it does with HTML pages. It also means that users can bookmark pages within the movie. At the same time new APIs and the Accessibility palette enable authors to control features such as keyboard shortcuts, tab order and what descriptions are presented to screen reader software. With the accessibility.isActive method you can present customized content for the visually impaired when a screen reader is present.
Even better is Flash MX's conversion to the use of components. One of Nielsen's criticisms of Flash in the past was that it introduced nonstandard GUI controls - "how many scrollbar designs do we need?" Now MX ships with seven standard components - CheckBox, ComboBox, ListBox, PushButton, RadioButton, ScrollBar and ScrollPane - that can simply be dragged onto a design. These GUI elements along with the existing dynamic text field (onto which you can simply drop a ScrollBar component) represent good common and consistent building blocks and there are further options available from the Macromedia site. These built-in components will be all that most users need, but there's also room for customization so that they needn't come to act as a straitjacket to creativity and designers can still produce a totally branded concept.
Flash MX's components put a new emphasis on consistent interface building.
These usability enhancements are major advances and ones which Nielsen acknowledges and welcomes (as his own) in a recent update to his original article: "Flash: Now Improved". The real advances in MX though are behind-the-scenes. Once again Flash's ActionScript has been transformed and this time the focus is all on content handling. To begin with, it's through dedicated ActionScript methods that the new components are controlled at runtime, for example, to populate a dropdown menu. Even more significant is the way that ActionScript's text handling has been completely overhauled in MX with the introduction of new TextField and TextFormat objects complete with over 50 methods and properties. More advanced ActionScript has also been added for parsing XML along with a 20-fold increase in processing speed. And graphics and sound haven't been forgotten with methods for loading JPEGs and MP3s on the fly.
Such programmatic control is certainly not as simple or organic as managing content in HTML but does mean that, with more effort at design time, you can set up systems for automatically handling content at runtime. Essentially you can use Flash to create an interface or front end into which you can drop external content on-the-fly. In other words, you can at last break out of Flash's authoring bottleneck and use Flash's design-rich environment to deliver up-to-date content. Fresh content and fresh style together at last!
It's a big step forward but MX takes things much further. So far one of the other great strengths of Flash that we haven't highlighted is the way that it provides its streaming multimedia delivery natively with no special server software. With MX however, Flash also offers the ability to leverage the server. The first way it offers this is through the Flash MX Communications Server (FlashCom) which uses the dedicated RTMP (Real-Time Messaging Protocol) to open up persistent channels between the Flash player, the server and other players to enable the delivery of long format video, chat, messaging and video conferencing.
Even more significant is what Macromedia calls Flash Remoting. This is another server solution (available natively in ColdFusion MX and Macromedia JRun) that allows the Flash designer to treat components and web services on the server as if they were local ActionScript objects with no need for XML-style parsing. It also lets the Flash player exchange data with the server using the specially created binary AMF (Action Message Format). And crucially, this super-efficient data exchange doesn't require a page request with its blank screen and multi-second wait. The result is that user interaction can be handled instantly as it happens and the server can feed the Flash application, ie any section of the current screen, with fresh database content or even live data such as newsfeeds and stocks and share prices.
Say you're booking a cinema ticket. As you click on the graphical calendar for the days and times you are interested in, information on the appropriate film can be seamlessly downloaded from a database to appear in one panel, a short video trailer can appear in another and a live view of the current available seating in another. Click on the seat that you want and the information panel can instantly load a purchase panel with ActionScript intelligence built in (no waiting seconds only to be told that you haven't filled in your phone number). Click OK and the transaction can be dealt with instantly and the live seating information updated. If you really wanted to (and are running FlashCom) you could even offer another panel to enable live chat between site visitors or with a member of staff.
A Flash Remoting based order system can replace many pages of HTML.
Flash MX certainly isn't perfect (please Macromedia sort out anti-aliasing on small text sizes) and to make the most of it you're going to need serious programming and server resources. And, with such requirements, it's never going to be a serious replacement for handling the vast bulk of the Web's primarily text-based information pages. In the right hands however, Flash MX can be a revelation. And what it shows is that while the Web's fundamentally page-based nature has served, and will continue to serve, us well that doesn't actually mean that it's the be-all and end-all in usability.
By enabling rich content and usability handling alongside the existing rich design strengths, MX unleashes Flash's full potential. At its best Flash MX really does live up to Macromedia's earlier over-ambitious claims - it really is the difference between laboriously working your way through a collection of loosely linked pages and interacting with an instantly responsive application. Even Jakob Nielsen would have to approve.
Hopefully you've found the information you were looking for. For further information please click here.
For free trials and special offers please click the following recommended links:
For further information on the following design applications and subjects please click on the links below:
[3D], [3ds max], [Adobe], [Acrobat], [Cinema 4D], [Corel], [CorelDRAW], [Creative Suite], [Digital Image], [Dreamweaver], [Director], [Fireworks], [Flash], [FreeHand], [FrameMaker], [FrontPage], [GoLive], [Graphic Design], [HTML/CSS], [Illustrator], [InDesign], [Macromedia], [Macromedia Studio], [Microsoft], [NetObjects Fusion], [PageMaker], [Paint Shop Pro], [Painter], [Photo Editing], [PhotoImpact], [Photoshop], [Photoshop Elements], [Publisher], [QuarkXPress], [Web Design]
To continue your search on the designer-info.com site and beyond please use the Google and Amazon search boxes below:
|designer-info.com: independent, informed, intelligent, incisive, in-depth...|
All the work on the site (over 250 reviews, over 100 articles and tutorials) has been written by me, Tom Arah It's also me who maintains the site, answers your emails etc. The site is very popular and from your feedback I know it's a useful resource - but it takes a lot to keep it up.
You can help keep the site running, independent and free by Bookmarking the site (if you don't you might never find it again), telling others about it and by coming back (new content is added every month). Even better you can make a donation eg $5 the typical cost of just one issue of a print magazine or buy anything via Amazon.com or Amazon.co.uk (now or next time you feel like shopping) using these links or the designer-info.com shop - it's a great way of quickly finding the best buys, it costs you nothing and I gain a small but much-appreciated commission.
Thanks very much, Tom Arah
[DTP/Publishing] [Vector Drawing] [Bitmap/Photo] [Web] [3D]
[Articles/Tutorials] [Reviews/Archive] [Shop] [Home/What's New]