Forgot your password?
typodupeerror
Programming Books Media Book Reviews IT Technology

Actionscript: The Definitive Guide 76

Posted by timothy
from the make-it-work-in-lynx dept.
Reader Brian Donovan contributed the review below of O'Reilly & Associates' ActionScript: The Definitive Guide, which he says is a "must have" for anyone working on Web animation with Flash. Offered under the condition that you please not make your site utterly dependent on Flash, of course;)

ActionScript : The Definitive Guide
author Colin Moock
pages 672
publisher O'Reilly & Associates
rating 9
reviewer Brian Donovan
ISBN 1565928520
summary Complete and authoritative. Check the author's site book site (http://www.moock.org/asdg) for sample chapters and code.

What it is, why you'd want it

Actionscript, the programming language that's been supported in the Flash player and authoring environment since Flash version 4, is exhaustively described in a new title in the Definitive Guide series from O'Reilly. Written by widely-recognized web developer Colin Moock (http://www.moock.org) and edited by Bruce Epstein (author of Director in a Nutshell and Lingo in a Nutshell), the book lives up to the hype.

Moock divided Actionscript: the Definitive Guide (A: tDG) into 3 sections. "Actionscript Fundamentals" covers the language itself (variables, the Actionscript datatypes, how to declare and use functions, etc) in a way that's accessible to newbies without boring everyone else. "Applied Actionscript" is shorter and has a more conversational tone, explaining how to externalize your code, the ins-and-outs of making smart clips, using text fields as form fields in your movies, and debugging. The "Language Reference" is basically the Actionscript Dictionary from the Flash 5 Actionscript Reference Guide (ARG, pronounced "arrgghhh," similar to the noise that one inevitably makes when forced to refer to same) on steroids. In fact, it would almost be worth the full price of the complete book all by itself. Code is sprinkled liberally throughout. Included are four appendices (resource urls, a keycodes reference, Flash 4/Flash 5 backwards compatibility advice, and a table listing the differences between Actionscript and Javascript/ECMA-262).

What I liked

Although some constructs present in both Javascript and Actionscript (like the arguments object) that managed to go completely unmentioned in the ARG are discussed, the "Actionscript Fundamentals" section is not a retread of the basics of the ECMA standard. There's a whole chapter on events and event-handling in Flash, including a comprehensive treatment of movie clip events. The chapter on OOP in Actionscript is the first real discussion of object-oriented Actionscript programming that I've seen outside of a few posts to a Flash programming mailing list. The detailed coverage of the stacking order of movies and movie clip instances is priceless -- Figure 13-4, "The complete Flash Player movie clip stack" is the clearest visual representation of movie and movie clip instance stacking available.

In the "Applied Actionscript" part of A: tDG, I got the most mileage from the discussion of the different methods of pulling code out of movies and making it more reusable (import from file, #include, shared libraries, and smart clips). Most of that material was already available in separate tech notes at the Macromedia web site (and, to a lesser extent, in the ARG), but it's great to see it brought together in book form.

When I got to the "Actionscript Language Reference," I did a quick page count. It weighed in at 50 pages lighter than the "Actionscript Dictionary" in the ARG, but manages to be more complete and more useful. This could be due to the fact that the pages in A: tDG are covered with text while the "Actionscript Dictionary" pages sport oversized inner margins and whitespace galore. Code is plentiful here, since the entry for practically every Actionscript object or class includes an example script fragment that is generally longer and more useful than the corresponding snippet (when one even exists) in the ARG. Where it's warranted, bug information is included, identifying specific problems with the implementation of the specific Actionscript element in the Flash 5 Player (pinpointing differences in behavior between builds when differences exist) and suggesting workarounds where possible -- the sort of feature that saves coders mountains of frustration of the "it's 4am and I'm tired?why isn't this working?!" variety.

The bottom line

I would have liked to have seen more space devoted to optimization/performance (somehow, code optimization got lumped in with file size considerations in the "The Bandwidth Profiler" section in Chapter 9: "Debugging"), but if it sounds as though I'm nitpicking here, it's because I am. For anyone working with Flash who is interested in taking off the training wheels and developing in "expert mode," this book is a must-have."


You can purchase this book at Fatbrain.

This discussion has been archived. No new comments can be posted.

Actionscript: The Definitive Guide

Comments Filter:
  • by Anonymous Coward
    I thought the web designer should have the last word to say in what concerns the display of the contents. And shouldn't that - again - be for the designer to impose ?

    The designer has the choice to design whatever he wants to. The reader/customer has the choice of complaining and not coming back. Which one has the upper hand depends on the line of business. If you post insider stock tips in Flash5 format, people will come back no matter how awful the UI. If you are trying to sell a product, you will lose customers.

  • by Anonymous Coward on Sunday May 27, 2001 @05:38AM (#195567)
    The Flash format (SWF) [openswf.org] IS an open standard.
  • SWF (the flash format) is an open standard. The reason there is no good Free Software implementation of an authorship tool is that nobody has written one. There's some Perl scripts floating around that can generate Flash animations, and some attempts at apps to author real ones, but Macromedia's tools are still the best, by far. That's not a fault of closed standards, but merely Macromedia outdoing the open-source competition.
  • Chances are the people who make the Flash content don't know the slightest bit of programming, or just get by copying and pasting code. It doesn't help that all those getMovie and getVariable requests are asynchronous and you end up with this empty movie loaded to the eyeball with code to check for the arrival of your data and movies.

    It's asking a utter novice to jump straight to multi-threaded programming (albeit a much simpler version, but still). Made worse by the fact that most of the who make Flash aren't and never will be programmer material. And the entire user interface of the software is about as clunky as it can get - especially the ActionScript editor.

    I certainly wouldn't mind a bit less reliance on playing Where's Waldo with the mouse hunting for the right floating window and be given an AutoCAD style text input box to enter commands. But somehow I don't see that happening.
  • Not my website, my provider's (FYI)

    --

  • I can see where all your hate comes from, but Flash is all the love HTML could never give me..

    It's all about the cross browser.. It's a non-stop nightmare in HTML(DOM, Javascript, etc, etc), but it's all one love in Flash.. If your platform doesn't support it, you're not in a desirable demographic anyway (you jaded linux nerd you)..

    If there was a way, I'd probably do sites in raw postscript..
  • Actually flash is an open standard. We used the spec to write our own runtime, which powers all the 2d graphics for Kinetica (front end, and game HUD), one of the few PS2 titles at E3 to maintain a constant 60fps (the flash runtime uses less than 5% of a frame). Plus it allows us to use third party design tools, a significant win in tool development time.

    Sure there's some terribly implemented Flash sites. Sturgeons Law states that 90% of everything sucks.
  • by HRbnjR (12398)

    That's what i'm trying to say, SVG is here NOW! Just because it hasn't yet been ratified as an official standard doesn't mean it isn't a very well implemented and useable tool, today. In fact, the on thing the W3C is waiting for before ratification is implementation experience.

    Tools? Here! [w3.org]. Adobe Illustrator, CorelDraw, Jasc WebDraw, KIllustrator, Gnome's Nautilus/Gill/Dia, and the list goes on and on!

    You are right though, when people think of animated web sites, they do think of Flash. I think with time, SVG will change that. SVG is more web-centric, having been desiged around DOM scripting and CSS support is the clincher. If any technology is cool enough to fight the uphill battle againsed Flash, SVG is it. There are even Flash to SVG converters already (see link above).

    I am using SVG today, and I am happy with it. Before writing it off, take a day to play around with it and Adobe's plugin (by far the best and most complete implementation /so/far/).

  • by HRbnjR (12398)
    SVG - Scalable Vector Graphics.
    Graphics in XML, and is a standard from the W3C (or will be soon :-).
    http://www.w3.org/Graphics/SVG/Overview.htm8 [w3.org]

    If you haven't played with SVG, I highly recommend taking a look. Not only does it make it easy to author graphics in a text editor, but you can generate them with XSLT, or even better, programatically in code. Besides the powerfull integrated animation features, they expose a DOM so you can script them with Javascript (or eventually in Mozilla with Python, Perl, etc). Let's not forget the main feature, that they are scalable...so they can scale from a handheld screen size, up to a 2025 model 8000x6000 resolution monitor - allowing you to author truly device independent sites. Oh, and like any good web technology they are accessible too, and the text can be extracted from the graphics for text only dispay (you can even copy and paste right off the screen). Another great thing is that you style them with the same CSS style sheets you do your web site, so you can change the colors and styling of your graphics along with your HTML. Oh, and don't forget you can create SVG font files too!

    I will also plug Adobe, who if you are running Windows or Mac (not Linux :-(, have released version 2 of their fantastic SVG viewer [adobe.com], which has brilliant conformance for such an emerging standard.
    Anyhow, forget Flash, check out SVG!

  • Sorry, but your Flash phone book is less useful than a simple alphabetical list of names in HTML. A user cannot scan the names or search for someone's first name only. What if you don't know what department someone works in? In your design, the person must manually open, visually scan (no Find In Page searches allowed here!), and close each job department! What if a user doesn't have Flash installed?
  • > Flash is so commonly misused that it's easy to assume it's an entirely worthless technology.

    I was delighted to see that I had Flash after my most recent upgrade of my home Linux system.

    Delighted for a few days. I disabled it within a week.

    Not to dispute your point; if I went to a site for the purpose of watching the animations, then sure, I'd turn it back on. But for most sites it's just another of the many annoyances that are pushing actual content off the Web.

    --
  • The file format is open; You do not have to use a proprietary viewer, but if you want to rewrite one _solely_ for the purpose of it being free, that is the essence of dogmatism..
  • woop woop..back up..
    i didnt say there _weren't_ other reasons, i didn't say i wouldn't like to see one, and i didn't say there was anything wrong with dogmatism..
    all i said was that _if_ the only reason you're writing it is so that it will be free, realize that you aren't doing anything helpful, merely being dogmatic.
    it works fine for me, so i have no need to write one. if im on bsd, i use lynx and could give a shit about flash, and when im on windows, it works great in mozilla.
  • For all of you flash designers; STOP! you're pissing the hell out of me and many other users actually.

    I've only done one (small) flash job, but what do you do if the client *insists* on Flash? Tell them to take their money elsewhere (especially when you can charge a premium for doing it, because clients expect to pay more than they do for a properly designed HTML site)?

    As a user, I hate Flash sites (and most Flash animations) myself, but as a developer I'm willing to hold my nose for the money :)

    BTW, I wish I'd been able to get this book when doing that Flash job. All the books on Flash at the bookstores seemed pretty bad, and very little stuff on ActionScript -- I'm not in the US, and it would have taken longer to get the book than I had to do the job. The sample chapters on his website certainly helped me :)
  • Who on their right mind would try to program a shopping cart frontend using flash?

    Not me. However...

    There's no way to pull the descriptions or the prices from the server (this is important if you're dealing with pricing changes)

    Doesn't Generator handle things like this?

    there's no on-the-fly loading of images (meaning a 5 minute pre-loader for people on dial in connections)

    Ditto. Also, can't you put group different images in external .swfs and loadMovie() them in? Clunky, but hey, I didn't design it :)
  • 2.)Flash is unnecessary. For you, maybe. Don't forget that Flash is taking over a lot of territory from Java applets rather than HTML. Which would you rather have?

    Java applets. No weirdass plugin required.

    The authoring tool is not free in any sense, but the players are, and the file format is open.

    The players aren't Free. I can't go to Macromedia and get myself some Flash player source.

    --

  • Ok, forgetting for just a moment the outrageous assumption that Flash in any way can be a replacement for Java... I can't even tell what physics has to do with all this, and 'navigate my web-site with a parametric EQ' doesn't even parse as physics.

    In fact, I'll just rebut your response to the second criticism of flash. You miss the point that those areas where Flash might possibly be stealing ground from Java are exactly in those areas where Java has been found to be inappropriate. Cute animations and framing techniques add zero value to the content of a site. Content is presumably what brings the eyeballs there in the first place. And cute animations and framing techniques are what Flash is used for, they don't add anything to a site except for hey-cool. If you want to make a real UI you'll have put a severe limit on extensibility if you turn to Flash.

    Hey-Cool will interest your viewer for about 2 seconds, thereafter it is an encumbrance.

    Flash is replacing Java for unnecessary applications (nice thing for Java)

    As for OOP discussions in the book (the only on-topic part of your post, the rest was just bad advocacy) I thought the reviewer made the point that the book was rare in that it /did/ talk about OO metaphors in the language. I can't really tell what the model is though, does it use interface inheritance?

    mefus
    --
    um, er... eh -- *click*
  • Well so does Ruby [http] on the server, and a whole lot more. I think that Flash is too proprietary to make it as yet another language paradigm.

    On the client, Flash is superfluous fluff, yet another tab to click on at Bugtraq without any real gains.

    mefus
    --
    um, er... eh -- *click*
  • Meaning, I could present content without having to reload the darn page every time I query

    If it's used in that way, yes. But there's still the problem that the format is only machine-readable. That's a big problem.

    - Scott
    --
    Scott Stevenson
    WildTofu [wildtofu.com]
  • I'm not looking for the most flashy web site. I'm looking for the web site that loads fastest, gives me the information I want, and lets me click the Exit button without flashing a million things in my face.

    "Dave, your interest in art is irrational."

    You probably don't like books with pictures, either. :)

    Believe it or not, there are people that like sites that look nice (gasp!) and want more than raw text. If we were computers, we wouldn't care -- but since we're human, we can appreciate art, entertainment and creativity. Especially when we're crawling through some really boring material.

    Now granted, there are times when the site design is so out of control that it actually hampers your ability to get to what you need. But surely there is a happy medium between russian submarine and parade float.

    Personally, I don't use much Flash, largely because the format forces me to use applications I don't particularly like, and makes dynamic content generation either difficult or expensive. However, the extremist viewpoint that websites are just about information, and that design is irrevalent is really wearing thin. If that was the case, I think it would have been gopher that caught on, not HTML.

    - Scott
    --
    Scott Stevenson
    WildTofu [wildtofu.com]
  • as other people have pointed out, you're wrong. and, uh, flash was originally designed to replace animated gifs. it does this very well. you know, you should check out some place like www.linkdup.com or maybe www.praystation.com and THEN tell me flash isn't Really Neat(tm). :)
  • by darylp (41915)

    and is a standard from the W3C (or will be soon :-).

    And therein lies the problem. Flash is here NOW! And it's what people are using. Where are the fancy point-and-drool SVG creation tools?

    Whenever people think of 'fancy animations' in websites, they think of Flash. It's got the marketshare, and the plugin comes pre-installed on most of the major browsers.

    I agree that SVG is going to be A. Good. Thing., but it's already fighting an uphill battle! The integration of Flash with XML means that we can create dynamic data-driven sites now, without waiting for the SVG standard to be ratified.

  • Veddermatic, I'm not trying to have a dig at you or your flash skills. I must say, thats a pretty flash example! ; ) However, I'm just wondering what a company of 50 people needs something like this for? I supported a stock exchange backup site of around 100 developers and IT admin staff, and practically everyone knew the name, location and sexuality for that matter of everyone else. You most likely knew, off the top of your head, the extension of the person you wanted to dial and if you did'nt a quick query of a printed phonelist, the intranet or reception would quickly remind you. 100 people can get downright friendly, 50 is small. Your flash phonelist looks awesome, and I am pretty impressed if you really did get this from idea to current state in one day, complete with floor plan design, etc and database linking. Do you like your day job? You could do this stuff for hollywood, they love showing hyper-powerfull systems that render information in slow, smooth movements designed for the dumb audiences to accept what they're seeing as what hollywood has already tought them about super computer interfaces.
  • Nitpick: that's Kaffe [kaffe.org], actually, with just a single 'e'. So your "(sic)" thing is probably not correct. BTW, if it's not obvious, "Kaffe" is coffee in Swedish (and probably at least one more Scandinavian or Nordic language). "Kaffee", on the other hand, is coffee in German...
  • For me, one of the biggest issues is lack of security in the client. It's too easy to download a SWF file with WGET, and decompile it to see what the programmer intended. Of course it's possible to use HTTPS to secure the session, but there seems to be a serious lack of a crypto API or even hooks to allow one to easily be written.

    Some sites are really only possible with Flash, for example my company developed a game for Cornetto Soft [cornettosoft.at] (it's in German, but you don't need it to play the game) which accesses a database on the server side. Such games are incredibly difficult to develop with DHTML. We tested this with Netscape and IE, and I can confirm it works with Linux too. We even made a pure HTML version for those who use Lynx!
    --
    Paul Gillingwater

  • Interesting link.
  • Flash animations only frustrate end users. Sure, it's not fair to judge a technology by its misuses, but it's difficult to avoid thinking of all those awful Flash based sites [pepsichart.co.uk] 'designed' by people who can't be bothered to learn html. But my main problem with Flash is that there's no Free Software implementation which means it can't be bundled with Debian. The Web is all about open standards, and we shouldn't really be allowing proprietary systems like this to make it big.
  • Java is an open standard. Sure there are open Java implementations like Kaffee (sic) but none of them are worth their weight in salt (and electrons are light)! In a similar vein, no matter how free and easy it is to create Flash animations, if you have to use a proprietary viewer to view them, then there is indeed no free implementation.
  • Chances are the people who make the Flash content don't know the slightest bit of programming

    Umm... Isn't that the point of this new book? =) I know the flash designers at my work are excited about it, because they WANT to be able to do all the nifty programming stuff, but they don't know how too (I've looked at the manuals and the flash books they have already, and they suck at explaining how to use actionscript -- I hope this book is better). Any mildly intelligent person can learn how to progam well. Just takes effort (and ideally a good teacher/book/friend to help you over the rough bits).
  • by fhwang (90412) on Sunday May 27, 2001 @08:03AM (#195595) Homepage
    Yes, almost all the Flash out there is worthless, time-wasting eye candy. (The best argument of this is Jakob Nielsen's Alertbox column "Flash: 99% bad" [useit.com].) There's a lot of untapped use, though.

    I have a friend who does a lot of hardcore Flash work. (He's apparently enough of an expert that some folks asked him to narrate an instructional video on the subject.) He's convinced that Flash can do what client-side Java was once pushed for: Highly specialized UIs for specialized goals, using more fine-grained control than you can get through HTML.

    I would be unconvinced, except I had seen something he had done: It was a site that let users design their own Nokia cellphone faceplate. It was a basic painting program using a faceplate-shaped painting surface, and then you could save your design and order it. The Flash app was integrated with an industrial painting machine, which would actually spray out a copy of your faceplate, and then you'd get it in the mail in a few weeks.

    Flash is so commonly misused that it's easy to assume it's an entirely worthless technology. But in the right hands, it seems like it can be very useful.

  • [hackernetwork.com]
    Kung Fu Fighting in Flash

  • That was a very cool demo. It kind of makes you wonder if Flash can be a total replacement for Java. It seems as though this is more than a "animation" tool, but also has a full programming language that can allow you to do anything.

    Is this a correct assessment of Flash's capabilities?

    And for it to be truly open, there would have to be more than third party file generators like the Perl modules that you refer to. There would also have to be 3rd party client/plugin implementations available. If you're in anyway constrained to Macromedia, then it's not open. Are there any non-Macromedia made plugins/players?

    But, the next question: What's the difference between Flash and Shockwave? Macromedia seems to do a very poor job of explaining the difference. It seems like there's multiple products (and multiple plugins) using the same name.

    I remember downloading the Shockwave plugin in order to view a certain site and found that I was still unable to do so. I had to go back to Macromedia's download page and get yet another plugin to get the site to work.

  • it is possible to write open source player coz swf format is open...

    there is a great project with really good mailing list which provides c library with wrappers for using the libraries for c++, python, perl, php or ruby... so you are able to generate swf (aka flash) files from and as a open source projects...

    you can find everything on:
    http://www.opaque.net/ming or
    http://sourceforge.net/projects/ming/
    ..i tried it and it is perfect...

    there is also another project on:
    http://www.the-labs.com/PerlFlash
    an interface of libswf.a (which was written by Paul Haeberli) for Perl called Perl Flash (Flash.pm)... i tried that one long time ago and it worked, but prefer python to perl so i quit it ;))

    i almost forgot... olivier debon did GPL flash library which comes with three freely redistributable tools (just for linux):
    netscape plug in
    stand alone player which can play movies on root window so its suitable for screensavers
    KDE screen saver tool
    you can find it on:
    http://www.swift-tools.com/Flash/

    you can still hate bad flash sites but check if there are done by open sourced tools just in case to protect you of contradictions in your mind which sometimes could trigger some real bad psychosis ;)
  • by wevah (102835)

    Yes, SVG is here now, and because it is XML, it is easy to edit on the fly (which is good).

    However, AFAIK you cannot integrate it with sound, and when I was experimenting with the Adobe Illustrator SVG export, I found even the compressed SVG files (SVGZ) to be around 4 times the size of an SWF of the same image.

  • I don't have the flash plugin installed on my computer - I just don't ever want to watch that crap. If a site can't be bothered making it's self work/look o.k. without flash then I'm not interested. Yet I can often see the IBM codernaut ads you refer to. Either they're serving me a more static version because I don't have flash, or you're mistaken in thinking that the ads are done in flash. So which is it?
  • Yes, I know, hence my comment about /. serving me more static content seeing I don't have flash.
  • There is a lot of control of printing (from the designer's standpoint) in Flash - on the other hand, I expect most designers couldn't care less, since they're busily animated 30-second long commercials. Again, yuck... but that's not Flash's fault.

    With Flash and good design technique - and where doesn't good design technique come into play? - you can easily specify what should be printed, and how. If necessary, you can just abstract the text from the screen display and reformat it (hidden) for print. When a user prints something, then that user will get something that looks good and is usable on paper. Flash doesn't supply designers with quite as much hand-holding as many /.'ers seem to think it does - in its own little system, you still need to use good design / architecture practice. Just like anything else.

  • There's no way to pull the descriptions or the prices from the server

    Wrong. Not only the Generator option, but the simple fact that Flash can read in a stream of XML just as well as any other client. Same for any kind of flat file. In fact, the very guy that wrote the book reviewed above has a Flash client and Java server setup available for download that demonstrates simple chat using XMLsockets. Wonder what else you could do with that?

    there's no on-the-fly loading of images

    Wrong again. Just load the shell, then get what else you need as you need it. Load movie ring a bell?

    there's no real support

    If you're coding a shopping cart in Flash, you shouldn't need any. But if you do... : here's some [macromedia.com]. Don't worry, that link is good. Check out the other support options if that's not enough for you.

    hmmmm....

  • There are about ten good Flash sites on the web. All the others suck.

    Mondo Mini Shows [mondominishows.com] uses Flash well as an entertainment medium. But fighting your way through all the banner ads, popups, Flash menus, and other crap before you get to the shows makes you realize how awful Flash navigation is. Yes, it's really cool that you can have a scrolling menu that scrolls while you're clicking on it, but it's only cool the first time.

  • it's right here [swift-tools.com] on swift-tools.com (SWF-->SWiFt). For the link wary that's http://www.swift-tools.com/Flash/ . The site has all sorts of other cool SWF-based tools too (like an analog of Generator that doesn't cost 20 bajillion dollars per CPU, I think it's free if you display the little link button, US$100 otherwise).
    --
    News for geeks in Austin: www.geekaustin.org [geekaustin.org]
  • Too things. First you missed a great opportunity to bash the 'Mystery Meat' Navigation that a lot of flash designers think is acceptable (good god man, a button that brings up a 3d icon and no text label as to where it goes or what it does is Just Plain Dumb®). Second, after reading Phillip G's most excellent works people should go read; Well those should be a good start. I couldn't verify the links (my ISP's DNS is borked and the only pages I could pull this morning are slash and cnn) Sorry if they don't work but I am sure you can read them in google's cache if the sites are down.

  • The core problem with Flash is one that Macromedia cannot fight, even with all of their recent usability gimmicks... People prefer familiar interfaces - ones that operate according to their expectations. Those expectations are based on how billions of pre-existing web pages already function.

    Flash allows designers to create unique interfaces. Flash designers create what they want, not what people want. People do not want to learn a new interface and new functioning conventions with every site they visit. Flash is doomed unless its implementers conform to some basic communal standards.

  • *sigh*

    GUess what... this was designed for an intranet (meaning a limited audience) of a comany of ~50 people, where we all know who works where (meaning you know what dept to click on), and I *know* that everyone has Flash 5 (meaning there are no issues with the plugin.)

    So all of your bitching is rather useless. If you'd like I could add a search field in about 30 seconds, but then again, I don't have to because the system does what it was designed for... not for YOUR needs, not for a huge 10,000+ companies needs, but for the specific instance it was designed for..

    The point was not to say "ooh, this is the best way in the world to show phone extensions" it was to show that Flash is more than a way to annoy people with intors to webistes taht don;t need one.

    If you don't see that, then you missed the whole point of my post, and I'm sorry I was not clearer.

  • Thx. I don't think Flash is a replacement for Java by any means.. they both have their place, and as I am a graphic designer who can program, not a programmer who can draw, I will leave that determination to someone better suited for it. =)

    There are non-macromedia player, one was link to in another post, I think it's made by switfTools.

    Shockwave != Flash. Shockwave was the orignal name for the Director plugin, but now is sort of an umbrella term for both Flash and Director content served over the web. It is possible you DLed the Director plugin when you were trying to see Flash or the other way around, but there is a DL that installs both at the same time.

    HTH

  • Click on the link in my above post. Bookmark that page. Any questions?? =)
  • by veddermatic (143964) on Sunday May 27, 2001 @06:03AM (#195611) Homepage
    HUh?

    The Flash file format is open.... go write some perl that can generate Flash files and go nuts bundling... oh wait, someone already did write open source perl that can generate Flash files.

    I have seen some really bad ugly animated GIFs. We should not use the GIF98a format EVER, since you can make ugly, useless things with it. Heck, I've people use the BLINK tag and design really ugly HTML pages... we should get rid of that too!

    Yes, Flash makes it easy for any idiot to make really bad, annoying sites. Then again, FrontPage, Dreamweaver, and GoLive do the same for HTML.

    Good Flash can be an expressive design media, bring animation to the Web (try doing an animated cartoon with sound in GIF89a =) and with Flash 5, can lead to very powerful web-based apps that interact with live data form a variety of sources... check this thing I did for the intranet of my last job:

    http://www.eskimospy.com/contentPages/phone.html [eskimospy.com]

    It's Flash that pulls XML data from the company database (tho this "public" version uses a flat file with fake data) and generates this on the fly, telling you who's in the office with the colored desks and where people sit... this whole thing took me less than one day to design and code, and was live less than 12 hours after I thought of the idea. Sure, You could do it in Java (but in less than 12 hours?) or DHTML (with 4 code-bases and 11209771207 hours of testing in every browser on every OS to make sure it works) but this was easy to make, and even the Linux crew in the programming dept. are happily using it today.

    Is Flash over-used and usually poorly done? Yes. Should Flash be blamed for people not having a clue how to use it? Nope. Don't shoot the tool, shoot the people who use it when they shouldn't be.

    Have a nice day.

    PS: This is a site I love that I think expresses your frustration perfectly: Skip Intro [skipintro.com]

  • I've been writing web applications with Flash for many months now, and I have yet to own any book on the subject. While I've seen many offerings explaining the fundamentals of animation and designed to get a newbie started, very few touch on scripting, let alone complex OO-scripting. So my guide to this point has been the Flash "Actionscript Dictionary" which comes with the application and is available at Macromedia's site along with a glorious number of technotes. After all, what more do you need to use a programming language other than its API and a description of that API? And, since Actionscript is simply an implementation of the ECMA-262 standard, a search on google for OO programming examples in javascript will give excellent examples that can be used in Flash.

    So despite this, why is this the book I've been waiting for, the one that I would recommend to anyone considering the more complex side of Flash programming? It's mostly technique. Making code and objects reusable and elegant in Flash is _not_ an easy task. A book that specifically deals with this subject AND OO scripting is far, far more than any other book has touched on. Plus, the coverage of "the complete Flash Player movie clip stack"? That is indeed priceless. That alone is probably reason enough for me to get the book. I have _never_ seen a Macromedia technote on the Flash player stack.

    So that's why this will likely be the first Flash book I'll own. For an interview with the author, Colin Moock [moock.org], Flashkit [flashkit.com] (which is an excellent resource site) has one in their message boards. [flashkit.com] (Honestly though, it doesn't say a whole lot that this review doesn't, although it does mention the O'Reilly cover animal choice [amazon.com]. It's.. well.. let's just say that O'Reilly must be running out of animals).
  • by duvel (173522) on Sunday May 27, 2001 @06:08AM (#195613) Homepage
    Although Flash is undoubtedly an interesting implementation to get an end-user solution for not-too-static websites, I'd really appreciate it if all how-to's of this kind of technology would spend the half of their pages in explaining

    why this shouldn't be used too much

    that forcing a surfer through an entry-tunnel to access a website is Bad Practice (tm)

    and that most sites are actually being visited for their content, rather than their flashy look (no pun intended)

    A very interesting point of view on this subject can be found in Phillip Greenspun's Guide to web publishing [arsdigita.com]. Phillip even practices what he preaches on photo.net [photo.net].

  • You CAN bookmark particular pages within a Flash site if you design it properly using Frames and carefully targeted SWF files within those frames.

    And I suppose you've never used tables for layout rather than tabular data before?

    Think before you type or at least do some research.
    ---------------------------
  • I'm not looking for the most flashy web site. I'm looking for the web site that loads fastest, gives me the information I want, and lets me click the Exit button without flashing a million things in my face.

    Who are you? Jakob Nielsen? Or just some random luddite?
    ---------------------------
  • I'm speaking as a flash user, I'm no flash designer. I haven't seen any flash website where I can bookmark a particular page. I guess designers aren't interested in taking those extra steps to make their webpages easy to bookmark.
  • not to mention that you can't bookmark a particular page in a Flash based website. Flash is really awful and I don't have the patience to wait for it to load.
    Some companies have their whole website in Flash, I just can't understand that. How do they expect to generate any revenue by frustrating users?
    For all of you flash designers; STOP! you're pissing the hell out of me and many other users actually.
  • I find it amusing that the trolls on Slashdot are so incompetent at using the technology ./ trumpets that it took them this long to figure out how to use CGI.

    Congrats, guys, you're clearly of superior intelligence.

  • And with that out of the way:

    If you do any Flash development at all, this book is wonderful. I know that O'Reilly can put out either good or bad stuff, depending on what the subject matter is. So I was hesitant about this book, but the preview chapter on O'Reilly's site looked good.

    I told my officemate, the other scripting guy who had already told me to start learning ActionScript for Flash 5, that this book existed. He ordered it online not long after. I borrowed it to look at while I was doing a little coding practice/toy-building of my own.

    I was trying to figure out why I was importing XML data and it wasn't parsing the correct number of nodes; Macromedia's shipping ActionScript book wasn't that useful. I opened O'Reilly's, looked for the XML object, and before it even got to the methods and properties I was treated to a short introduction of how to use the XML object, through a short function that would take any XML it was given and parse out the whitespace. Turned out that was my problem all along; ActionScript was reading the linebreaks as empty text nodes.

    The book not only gave me two functions to solve this problem, it told me which one was faster, why, what built-in ActionScript method would do the job, why that method wasn't documented, and how I could detect whether that method would be available to my end-users.

    All that, and I only cracked the book for two pages worth of help. I can't wait to read the rest of it.

  • Hmm... I'm trying to think about how you'd make an HTML web page that updated dynamically, using XML, with a floorplan done in 3/4 view, which updates the current location of everyone in the building on-the-fly. Oh, that's right; YOU CAN'T DO IT IN HTML.

    I'd say that as an overall cross-platform, web-accessible application-building toolkit, Flash excels. Of course, that's not what most half-assed web designers do with it, (can you say 30-second commercials? yuck.) but I personally think you're just blowing smoke out your ass, and looking for something to complain about in this poor guy's well-written Flash app.

    The HTML 4.0 spec is far too limiting for most innovative weblications to be implented, so instead of writing cross-platform apps in HTML, which I'm sure neo-Luddites such as yourself would prefer, people like Shawn Fanning write Napster in Visual Studio instead, and lock people in to using WIndows (until the Open Source community figures out the protocol and reverse-engineers it, only to find out that they are too late, and RIAA got there first.) As has been pointed out, Flash is an open standard, it's cross-platform, it is (relatively) quick to download, and it's not vaporware. (Where is SVG? Oh, yeah, right over by the 1996-era HTML 3.2 spec. Wake me when it gets here.)

    Besides, those who can't do, criticize.

  • Best Flash detection script available is made by the author of the book reviewed here. The "moock flash player inspector" can be downloaded from his site [moock.org].

    - roxeteer

  • Even though a couple of days back I read that Flash was no longer doing so well in the market, today the net is rife with many articles claiming flash to be the next hot thing [cnet.com] as it becomes associated with the TV.
  • lots of developers use "sniffers" to see what you've got and then offer you a version based on that - also you can use flash to make an animation but just output it as an ani gif/html/apple movie... etc. etc.

  • Granted, there are some well-designed / entertaining Flash sites out there (Balthazar Studios comes to mind...I was blown away when I saw their page, and would post the URI if I remembered it), but most Flash designed pages are extremely annoying to navigate. Every time I visit a Flash site, I'm promoted to download Macromedia something or other, even though I already have it, and it runs fine. Then, it takes ages to load, and when it does, it usually is so full of motion and color that it's tough to figure out what to click.

    The only acceptable meathods for making web pages are (in my opinion) HTML 4.01/Strict, ASP, and ones that are slightly more static then Flash sites, but can still be customized well enough to be interesting to the end user.

    I'm not looking for the most flashy web site. I'm looking for the web site that loads fastest, gives me the information I want, and lets me click the Exit button without flashing a million things in my face.

  • that's why SVG will emerge as the new standard :)

    ----------
    www.shockthemonkey.org [shockthemonkey.org]
  • Java has a real GUI toolkit that behaves in ways people expect of GUI toolkits.

    I agree that Flash does lack here, and the problem is that people are writing their own interfaces. Macromedia has already included prebuilt pull-down menus and checkboxes that behave specific to platform. Hopefully they'll bundle a whole toolkit next time.

    Art At Home [artathome.org]

  • In fact, I'll just rebut your response to the second criticism of flash. You miss the point that those areas where Flash might possibly be stealing ground from Java are exactly in those areas where Java has been found to be inappropriate. Cute animations and framing techniques add zero value to the content of a site. Content is presumably what brings the eyeballs there in the first place.
    Flash is more than cute animations and framing techniques. Since it now supports XML transfers and sockets, database driven content is now possible. It's "stealing ground" from java because it's easier on CPU resources and has a smaller file size than an equivalent applet.

    Art At Home [artathome.org]
  • Well so does Ruby on the server, and a whole lot more. I think that Flash is too proprietary to make it as yet another language paradigm.

    Misunderstanding alert...
    What I meant was that the Flash client can communicate with server middleware without reloading, making things like stock tickers possible. If you wanted, you could use Ruby to communicate with Flash. I don't much about Ruby, but it seems suitable. Most people use Perl, Java Servlets, PHP, Cold Fusion, or ASP. The actual communication with the client is fairly simple, so I think the decision is mostly based on what you're already using for everything else. As far as language paradigms go, ActionScript isn't new, it's pretty much identical to ECMAScript (Javascript).

    I can't even tell what physics has to do with all this...

    It was just a reference to what web design sites call "flash experiments", where actionscript is used to create motion effects like bouncing balls, explosions, pseudo-3d space, etc. A lot of actionscript sites and books focus on this type of stuff, which isn't very experimental if you've ever programmed in any other graphics environment.

    As for OOP discussions in the book (the only on-topic part of your post, the rest was just bad advocacy) I thought the reviewer made the point that the book was rare in that it /did/ talk about OO metaphors in the language. I can't really tell what the model is though, does it use interface inheritance?
    I think it uses a combination of implementation and interface inheritance (class inheritance?). If methods are defined in the "prototype" property of the superclass, then Flash will use the superclass method unless it's overided in the subclass, but you don't have to override all of the superclass methods. Flash also supports encapsulation, via "SmartClips". None of this is earth shattering, but what is cool is that the authoring tool allows you to manipulate objects graphically or programmatically. Flash stuff looks good because you can draw something by hand, and then manipulate it's attributes and instances in ActionScript.

    ActionScript obviously isn't suitable for everything, which is when you pass the task back to the server middleware. However, this has to be balanced with bandwidth considerations. It may be more convenient to manipulate the given data on the server, but is it worth the overhead of passing the data back and forth? What I would like to see in a Flash book are case studies of data driven Flash apps. Flash can be pretty cool for data visualization over the web. Another good thing Flash does is what-you-see-is-not-what-you-print, allowing your data to presented in both a screen- and print-appropriate manner. I'd like to see some (Flash specific) strategies of splitting business logic between the client and server.

    Art At Home [artathome.org]

  • It's too bad discussion of OOP is so limited in this book, I was looking forward to it. I've found flash to be a very interesting to program in. I really enjoy being able to create objects by drawing and/or coding in the same environment. It's often overlooked that Flash has some pretty advanced OOP stuff going on, like inheritance built right into the interface.

    Unfortunately, Flash books rarely discuss such things. Most of them are devoted to making UI thingys or physics algorithms. Worst case, you've got UI thingys and physics together (navigate my website with a parametric EQ!).

    Flash does have some great effects, my favorite is that it gets new types of people programming. It's too bad that /. readers will keep their no doubt keep their blinders on. On Slashdot, there seems to be three main gripes about Flash:

    1.)Flash websites are badly designed.
    It's true, Flash sites are often badly designed. The thing is, they're often trying to accomplish fairly complex goals. A DHTML site trying the same type of thing is bound to be at least as bad, if not worse.

    2.)Flash is unnecessary.
    For you, maybe. Don't forget that Flash is taking over a lot of territory from Java applets rather than HTML. Which would you rather have?

    3.)Flash is not Free
    The authoring tool is not free in any sense, but the players are, and the file format is open. People are doing some really cool things with SWFs on the server side, like JGenerator [flashgap.com] or Flash2XML [tivano.de]. While I agree it's unlikely that the authoring tool will ever be open source, there may one day be a linux version, since there will certainly be a MacOS X version. Anyway, I'm not convinced that Open Source could create products that compete with Adobe or Macromedia. It's possible, but it hasn't happened yet (I like the GIMP too, but it's no PhotoShop), especially when it comes to publishing.

    Art At Home [artathome.org]

  • Widespread use of flash and macromedia and whatever it's technically called now bugs me, for two reasons. First of all, far too many people are using flash to revert their web pages back to 1995, where a webpage wasn't a webpage unless their was a java applet of wavy water reflecting the sky. The only difference now is that people try to make their wavy water applets themselves, and invariably fail horribly.

    There are some exceptions. Those IBM codernaut ads which can be seen occasionally on slashdot are flash, and they work pretty well. Also the mercury ads on Salon [salon.com] most of the time. But those are made by highly paid ad executives and their lackeys. Everyone else sees those ads, thinks hmm, maybe i could make a five minute flash intro to my page which doesn't say anything, ey? Anyway, I know everyone else has already mentioned this, but I haven't, and this seemed like a good opportunity to get it out.
  • It's name is ming: http://opaque.net/ming [opaque.net] Ming - an SWF output library and PHP module Ming is a c library for generating SWF ("Flash") format movies, plus a set of wrappers for using the library from c++ and popular scripting languages like PHP, Python, and Ruby. It's multi-platform and it runs very nice on Linux. So now the Linux guys can write SWF movies without the flash authoring program. Enjoy. I'm also running a forum to support it here [f256.com].
  • Flash animations are what the business owners want. I know HTML, and being the broke college guy that I am, I've had to create a few flash-based webpages that I abhore, that the business owners and such actually like.

    Flash, when used right can create wonderful webpages, cool games, and other applications for the web. It can integrate that into one file (which takes forever to load on a dial-in connection), and present a look of continuity to the user. When flash is used wrong, you get shotty webpages (at best) that frustrate the user. You get nasty-grams in your email box from users who don't have a flash-compatiable browser (can we say lynx)? You also get the numerous requests from the person who you're doing the webpage for to spruce it up.

    What does this all mean? Flash is a cool tool that Macromedia sells a little bit of and that people crack the rest of. It's for those 'gee, whiz' sites that you want to impress future clients with once it looks ok, but is horrible beyond anything but simple forms. Who on their right mind would try to program a shopping cart frontend using flash? There's no way to pull the descriptions or the prices from the server (this is important if you're dealing with pricing changes), there's no on-the-fly loading of images (meaning a 5 minute pre-loader for people on dial in connections), and there's no real support (if you screw up lasso or another shopping cart, there are mailing lists that can give you help or support).

    All of these make Flash a tool, and you've got to decide if that tool is right for your website.

    ----
    Ian
    ONU's Finest Computer Sciences Geek
  • There are lots of reasons for wanting an open source viewer besides dogma. For example, the Macromedia-supplied viewer crashes under Konqueror, and it doesn't run at all on some open source operating systems. Sorry, but a "free binary" just doesn't cut it.

    Sun at least makes the Java sources available, if under a somewhat annoying license. And there are third party implementations of Java.

  • The kinds of things people have written in Java as applets are a PDF viewere, a TIFF image viewer, 360 degree surround image viewers, optimal travel routing, MPEG and video decoders, interactive graph layout and visualization, and lots of other compute intensive stuff. It works. It often works so well that you don't even notice it. Java has grown up and is a fast, full-featured programming language (if you are still running JDK 1.1 in your browser, upgrade to 1.3). Flash has an easy-to-use but slow, limited scripting language that you can use to produce great animations and replace web forms, but do little else with.
  • by janpod66 (323734) on Sunday May 27, 2001 @06:27AM (#195635)
    Don't forget that Flash is taking over a lot of territory from Java applets rather than HTML. Which would you rather have?

    Java, without question. Java has a real GUI toolkit that behaves in ways people expect of GUI toolkits. Flash is all about looks, but usability of user interfaces written in Flash leaves a lot to be desired. From a programming point of view, I also prefer Java: it's not as easy as Flash programming, but ultimately, it's more powerful and you can do a lot more in Java.

    But, yes, Macromedia very much would like to take over the applet space with their product. And by providing something that looks spiffy and is easy to get started with, they may well succeed, no matter how many corners they cut.

  • by janpod66 (323734) on Sunday May 27, 2001 @06:20AM (#195636)
    with Flash 5, can lead to very powerful web-based apps that interact with live data form a variety of sources... check this thing I did for the intranet of my last job:

    Let's see, when I go to that site, it says "Loading and parsing XML... please be patient." and then it just sits there. There is no error message and now way of figuring out what's wrong.

    When I open it in IE5, I do indeed get some kind of nifty looking display, something that would look swell on a set for StarTrek or The Matrix. Trouble is, it isn't very useful. It ignores my font preferences, so fonts are way too small for my display. The scrollbars don't look like scrollbars. The whole thing doesn't resize. I can't print it. And instead of responding instantly when I click somewhere, it animates. Let's not even talk about accessibility for people with disabilities. In fact, I have seen a number of sites that attempt to use Flash as some kind of "responsive" and "interactive" UI, and they all share the same problems.

    So, thanks for the example: you have provided an excellent example of why Flash is a bad standard to use for writing web-based applications. You presumably invested a lot of time in building this thing, but while it looks nice, what you wrote ends up being considerable less useful and less user friendly than straight HTML and images.

  • I agree with those who opine that much Flash content sucks so bad, that Vincent Flanders has created an entire category for it (e.g. MMN).

    What seems to be missed is that Flash could be used to replace dynamic content, not just replacements for DuHTML, but for database driven content, albiet through DBI&Perl or PHP&MySQL.

    Meaning, I could present content without having to reload the darn page every time I query ... problem is, most actionscript developers I know don't think along these lines.
  • Note that in the previous post, an almost-flame about not using the technology unless you understand it, his italics didn't work. Instead we see "<i>", etc.

    I'm not sure why, but I am sure it's amusing.

    --MarkusQ

  • Oh yeah. Flash is a tool just like those big fluffy buttons on clowns suits are tools.
  • Hi, I found a useful example of Flash that I think is well thought out, and won't frustrate an end-user. This example allows you to build your own messenger bag. You get to choose colors and accessories, and I found it to be quite cool. It's at http://www.timbuk2.com . Click on "Build Your Own." The site is a wonderful mix of e-commerce and high end design.
  • I've composed interfaces using flash since it was FutureSplash. I agree that much of the flash sites out there are (A) crap, (B) too complicated or (C) just not worth doing in flash.

    However the biggest thing that I liked about this latest release was the XML socket object in actionscript. This opens things up for useful apps even though there's no security unless you use HTTPS.

    Also another angle what flash is good for it wireless devices. Flash has always had a good small file size for mostly-vector-based movies and now it has this sockets capability and there are plugins out there for the PocketPC.

    I think it could really turn out some cool stuff in that arena.

    w3rd

Thufir's a Harkonnen now.

Working...