21 Feb 2008

Gaia Flash Framework

I just read a blog post and watched a screencast about a new Flash framework called Gaia and I like most of what I saw.

For one thing, it uses SWFObject and SWFAddress and thus forces developers to use good practices when embedding their Flash applications (via progressive enhancement) and makes sure that applications support deep linking (thereby visibly disproving a popular myth that just refuses to die).

Flex Builder and the Flash IDE can learn a lot from Gaia when it comes to supporting good practices. Both Flex Builder and the Flash IDE should use SWFObject and SWFAddress and it baffles me why they do not to this day.

Their site states that the Gaia framework is available in both AS2 and AS3. I did see some timeline code (AS2) in the screencast that made me cringe a little but I haven't had a chance to play with it myself (give a guy a break, it's almost midnight!) I assume that the AS3 version uses the document class and code behind.

From what I've seen, Gaia looks like a very pragmatic front-end framework for Flash developers. I plan on looking at it in more depth when I get a moment and I suggest that you do the same.

Creative Commons LicenseThe A practical new Flash framework? article by Aral Balkan, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial 2.0 UK: England License.

Add Your Comment

Spam Protection by WP-SpamFree

A practical new Flash framework?

  1. Looks very interesting.
    It really makes me want to go back and consider creating flash websites again.

    Thanks Aral for finding this!

    Ptah Dunbar
  2. That does, indeed, looks impressive. I had a play around with it and it looks like it could drastically reduce development time for small sites or microsites where ’shite doesn’t fly everywhere’ :)

    It seems the timeline stuff can be bypassed. I hope, like Rails, it won’t disappoint later on.

    Nicolas
  3. “I hope, like Rails, it won’t disappoint later on.”

    It’s all about Merb baby!

    meekish
  4. Gaia has been around for some time now, its the AS 3.0 release that is new.

    Tink
  5. Funnily enough I too just found about gaia and i have been playing around with it for the last few days.
    It took just an hour or two of reading the material and testing to produce a setup site – but once done it is very easy to change and use for further projects
    I also found it very quick to set up the xml file and scaffold everything for starting a new project.
    I am quite impressed – i have created a test site of about a dozen pages – with only a couple of mcs as backgrounds – written no code yet (except for 1/2 lines) – and the whole output structure comes it at under 153000 bytes.
    The files do use document classes.
    All in all a nice setup – this is something I will certainly be pursuing.

    alex silver
  6. I’m a purist at heart, which is why I like my minimal asset FlashDevelop projects with near 100% class based. However, one would be a total muppet to overlook the uses for this tool. For micro-sites, you could quite easily turn a few days work into a day (providing the client didn’t hold back on info/feedback/changes as they’re always known to do), and you could still charge the same ;-)

    Great find, Aral!

    Lee McColl Sylvester
  7. Aral,
    I’m all for swfObject and swfAddress, however, Adobe says that aren’t currently pushing swfAddres is that it opens some kind of security hole. I’m not completely sure what that is, but they say it allows someone to get to previous ‘hidden’ swf files and therefore would be able to go and decompile them. Just what I heard.

    Andrew
  8. That allegation by Adobe sounds preposterous to me. Firebug can see every single swf that a site loads, as can Fiddler and any other “sniffer” tool. Even SoThink SWF Decompiler has a tool that will grab and download any swf on any site you go to.

    SWF is an open format, and the browser downloads all swfs on the web to your hard drive. Unless you encrypt your swfs, your source code is wide open.

    I haven’t seen the code they’re using for Flex’s browser history and deeplinking, but I’m willing to wager it works very similar to SWFAddress. There’s really only one way to skin this cat across all browsers.

    Steven Sacks
  9. “Both Flex Builder and the Flash IDE should use SWFObject and SWFAddress and it baffles me why they do not to this day.”

    With Michael Williams from Adobe now on the SWFObject team working on SWFObject 2.0, I think the plan is to include it in Flash CS4, Dreamwearver CS4 and a future version of Flex Builder. Maybe it will be include in Flex Builder 3, but since SWFObject 2.0 still isn’t finalized and the release of Flex 3 around the corner, we may have to wait for Flex Builder 4 for it to be included.

    Matthew Fabb
  10. I think its preposterous as well. I’m in a training class with this dude who contracts for Adobe and that’s what he said. I don’t agree with it. Personally I use both in all my flash/flex development

    Andrew
  11. I think simply just using SWFObject is stretching the concept of ‘progressive enhancement’ – unless the content is also available in plain-old-HTML before being ‘enhanced’ with the Flash version?

    Tom H
  12. Hi Tom,

    The way SWFObject works, you have a DIV with HTML content that is replaced with the SWF if JavaScript is on and you have the required Flash version. In my book, that’s progressive enhancement :)

    Of course, you still have to place the content the HTML DIV but at least it points you in the right direction. So perhaps I should have been more verbose and stated that it “promotes and facilitates the use of progressive enhancement”. Compare this to the regularly generated code from Flex Builder or Flash where there is no such intent.

    Aral
  13. @Andrew: There is no such thing as a “hidden SWF file”. Anything you put in a SWF should be considered public (think of it no differently than anything you put in the HTML of a web page.) That you have to go through a decompilation stage does not make it any safer as the tools for decompiling SWF files are widely available. And, in any case, security through obscurity is not security.

    I’d love to hear what the actual explanation of this is but it sounds to me like misinformation.

    Aral
  14. What the **** is the point of this product? And why are there so many brainless people in the world that think it clever to reinvent the wheel and try and create an entire web site, including page navigation, all within a SWF???!!!?????

    Flash is eye-candy and as such it is a hideous nightmare as far as accessibility is concerned. So what if it looks pretty? Try telling that to some poor sod who is blind and using a screen reader to “view” a website!

    If only the W3C wasn’t such a slow-moving bureaucratic monster, HTML v5 might have been released five years ago and we could all have been saved from the insanity of products like this!

    David Arno
  15. Harsh, David Arno. I really don’t believe your comment has anything to do with supporting accessibility, or you would have taken a moment to back up your blanket statement with some facts or suggestions. Instead it is another tired grasp at an old misconception. Flash can be accessible (moreso than any other rich media), it is up to the developer to employ accessible features. The same can be said of HTML.

    Timbot
  16. “promotes and facilitates the use of progressive enhancement” – That’s the one :)

    I think what David is saying (correct me if I’m wrong), is that this framework is geared towards throwing up quick websites that don’t necessarily take advantage of what Flash can do over HTML. In which case you should just use HTML and get all the accessible goodness that comes for free (if you know what you’re doing).

    I looked into the framework a while back and didn’t see any mention of accessibility, you might be able to make the output of this framework accessible – however I doubt it is out of the box (I shall investigate further).

    Tom H
  17. Personally, I see different uses of this product. For one, who says it needs to be a website? Secondly, Flash is becoming ever more usable for desktop applications (ie AIR / SWHX), and thirdly, what’s wrong with RIA’s built entirely in Flash? For the most part, it can prove immensely more usable, and actually be smaller in file sizes, if done correctly. There are probably a million more answers as to “why” one should use all Flash that I’m not going to argue.

    As for accessibility, it depends on how you build your Flash site and how the user is to interact with it. As I’ve said before on this blog, my wife is blind and so uses screenreader software (she doesn’t even have a monitor), yet with some well built Flash sites, she has no problems navigating them.

    Lee McColl Sylvester
  18. Lee McColl Sylvester
  19. Actually, that might be a bad example. I only just googled that, not realizing it was 3.5 years old ;-)

    Lee McColl Sylvester
  20. Seems a good way to create a prototype for a website in Flash.

    Christine Furst
  21. @Timbot

    Flash can be made accessible; I’d not argue with that. As http://www.jkrowling.com/ demonstrates for example, one can – with a small army of accessibility experts and many hundreds of hours of testing by people with sight and hearing problems – produce an accessible flash-based web site.

    The point is though, it really does take a lot of time and effort to achieve accessible flash-based sites though. How many clients request and pay for this? How many flash-based developers – especially those that would use a framework like this to knock out a flash-based website as quickly as possible bother?

    HTML on the other hand is trivially easy to make accessible – both in coding and testing.

    David Arno
  22. Are you suggesting that we stop making paintings or sculptures because blind people can’t see them? Should we stop making music because deaf people can’t hear it? Should we stop taking photographs, or filming video? Just because somebody is unable to appreciate a particular art form because of a disability doesn’t mean that we should do away with the art.

    Flash sites definitely fall under the “art” category. It sounds like you are saying that art should not be used to convey information because some people can’t interpret that information due to a disability.

    Not to sound callous, but people who can’t see are not the target market of automobile manufacturers and movie makers. Not that all Flash sites are for those two industries, but Flash is artistic and disabled people are less able to appreciate it, but it doesn’t mean that it should be done away with or that it has no place on the internet, as you suggest.

    If you don’t appreciate art, that’s certainly your right, but it’s not realistic to expect others to stop creating it because of that.

    Steven Sacks
  23. I’d dissagree slightly with the Movie Makers comment (cus they do target blind people too), but otherwise, I agree with your sentiment to an extent. I think Flash has a place, regardless of whether all people can see it, but I also think some people use it wrongly, especially when disabled people should, but can’t, see a Flash website. You can take this argument further, and say it’s prejudice to make a website that people who are Flash Player Challenged (do not have the plugin) cannot see!

    Besides, if done right, even blind people can make use of an all Flash website.

    Lee McColl Sylvester
  24. If this is some roundabout way of suggesting I add some kind of accessibility scaffolding to my framework (you wouldn’t be hijacking a thread to serve your own unrelated agenda, would you? That’s like Internettiquette 101 bad behavior), then the best place to post your ideas is in the feature request forum at

    http://www.gaiaflashframework.com/forum

    Thanks! :)

    Steven Sacks
  25. Well, actually, I don’t think I will ;-) I think your framework does what it’s supposed to do very well, and to extend something beyond it’s purpose is often to render it unusable. I feel that should someone wish to make a Gaia built application work to accessibility requirements, they should implement their own “on top of” the Gaia framework.

    Of course, you could always build a seperate scaffold for use with Gaia ;-) or at least, provide the hooks to make a Gaia built app accessible, at the least.

    That’s what I “think” at least. I could be talking out of my posterior, here.

    Lee

    Lee McColl Sylvester
  26. I have zero experience with accessibility in Flash, so I would have to defer to those with more knowledge than I about the potential for accessibility scaffolding. Technically, my comment was directed at the original hijacker, David Arno. ;)

    I hate bloat, and continually try and find ways to optimize my framework and reduce the amount of code while maintaining maintainability, heh. If I was to add accessibility, and I’m not sure I will, it would be an option and not normally compiled with the framework.

    Steven Sacks
  27. That’s exactly how I see it. The Gaia framework (excuse me in advance for defining it) is surely there to aid in structuring a Flash built application with best practices built in. Thus, to apply accessibility is to impinge on the developer who is using the framework. You might as well throw in some sound loops and GUI controls if you’re gonna be handling their accessibility needs, too.

    Besides, much of Flash accessibility occurs within the various MovieClips and TextFields that make up the application. Only the developer can set up the order for tabbing, for instance.

    That’s how I see it ;-)

    Lee

    Lee McColl Sylvester
  28. @Steven Sacks = Regarding your comment “people who can’t see are not the target market of automobile manufacturers”:

    For car manufacturers to assume they have a right to determine the accessibility level based on whom they are targeting is arrogant in the extreme. It also falls foul of English law. The positive affect of that law can be clearly seen by comparing ford.com with ford.co.uk. Since I run Firefox with the excellent flashblocker plugin installed, all I see at the first site is a blank page with a big f if the middle. I can therefore safely walk away knowing I’ve avoided a slow, style-over-substance, monstrosity. The latter though is a proper web-page based web site full of useful, stylishly presented info that is both filled with good flash and fully accessible.

    David Arno
  29. Further to the above, I then enabled flash on ford.com to see what they had done that justified making it a purely flash-based site. And the answer was, nothing. All they have done is re-invent the wheel (rather ironic for Ford) and create a fairly bog-standard “website” within flash, rather than using HTML. And they have an annoying and distracting repeating animation on the font “page”. Does no-one that does these flash-only sites bother to learn the basic rules of web design?

    David Arno
  30. I don’t think Aral’s blog is the right venue for a debate on whether Flash is or isn’t a beneficial technology. Fact is, he is a Flasher, as are most of the people who read his blog. We all agree that it is a good technology because we all make a living making with Flash. You’re asking us to give up our chosen career paths on the blog of one of the foremost Flashers in the world. Sisyphus does not envy you.

    Steven Sacks
  31. Flash is a beneficial technology; when used right. I too write flash code. I am not asking people to give up using flash, nor their chosen career paths.

    Whether this is the right place to debate the merits of certain (mis)uses of flash, is for Aral to decide. One thing is very clear though: no forum is ever the right place to construct and attack strawmen as you do.

    David Arno
  32. If you’re going to pull out the logical fallacy card, then look at your own first comment.

    Your entire first comment was nothing but logical fallacies. Your ad hominem “so many brainless people in the world”, and your poisoning the well “Flash is eye-candy” and “hideous nightmare”. How about your appeal to pity with “tell that to some poor sod”? I could go on, but what’s the point? We’re arguing about the argument and not the issue.

    As a counterpoint to your original post, and in the spirit of keeping this discussion positive and on-topic, I would like to point out that Gaia makes developing Flash sites so much easier and quicker, that by using Gaia, you will have a lot more time to make sites accessible. Hence, Gaia is a potential boon for blind people on the web. Short of doing away with Flash, which isn’t going to happen, would you not agree that having more time to put towards making your Flash sites more accessible is a good thing, and therefore you should be embracing tools that help you in your goal, as opposed to looking for opportunities to denounce Flash as a platform altogether?

    Steven Sacks
  33. Further, I’d like to point out that I support the idea of including some kind of accessibility scaffolding into Gaia. I’ll be the first to point out that I don’t know anything about accessibility in Flash, or the difficulty in its implementation.

    If your goal is to make accessibility in Flash easier to achieve, I invite you to bring the discussion to the Gaia Feature Request forum, where you can explain in detail the challenges involved in making Flash sites accessible, where the pain points are, and together we can all try to come up with a way to make accessibility in Flash less painful.

    If your goal is to argue that Flash shouldn’t be used, then I’m afraid I can’t help you towards that goal. The best I can do is hear your concerns, which I do, and try to find a way to meet the needs of those whose needs are not being met. There has to be a way to simplify accessibility in Flash, and I’m definitely open to making Gaia more robust by adding such a valuable feature. You appear to be an expert on the subject, so your input is probably the best way to make this happen.

    Steven Sacks
  34. [...] Visto en Inglés: aralbalkan.com [...]

    blog.2grafic.com » Blog Archive » GAIA - Un framework en Flash
  35. This was a great discussion about what appears to be a very useful framework for *certain* types of Flash projects. It is unfortunate that the thread was hijacked by somebody who missed that point.

    The topic of accessibility is certainly important, and merits discussion…but it is definitely off-topic.

    I have started developing with GAIA on a client project here at work. I chose it because the typical Flash workflow can be very cumbersome. I think that speaks to David Arno’s original point that Flash is harder to work with than HTML (although cross-browser CSS gives me cold sweats sometimes). I find it ironic that GAIA is intended to be a solution to Arno’s original complaint. If you know somebody with a disability, you probably understand his verve however.

    Accessible Flash makes me cringe a bit. I had to do some of that for a big client and it held up well until we started iterating through new releases. We would suggest to many clients that they create an HTML alternative page, so that folks with disabilities (and Mr. Arno) get redirected to more suitable content. I know its a cop-out when you consider that we could be developing Flash for the broader audience, but when there are budgets and deadlines involved…I think thats a win-win. Would I like to see accessiblity added to GAIA? Sure. But I do not think it should be a priority.

    Brian Busche
  36. if you are worried about accessibility, i would suggest using xml content and spiting out html pages using the same xml (parsed with php/asp etc) for browsers that won’t see flash (eg screen readers) and also give users the option to view this accessible version from a menu below the flash.

    this will also benefit your SEO as google etc will also see the accessible pages and hence index the content

    jmp909
  37. Hey Aral-

    On a similar track, Id highly recommend taking a look at the X2O Framework (www.x2oframework.com). It’s not exactly like Gaia because its more geared toward database-driven Flex and Flash CS4 apps, and solves the problem of database-Flex/Flash integration as opposed to Flash architecture.

    X2O is a web-based data modeling platform for Flex (and Flash CS4) apps that generates the server-side infrastructure (database, server-side, web services) as well as generated AS3 value objects in a SWC file. You dont have to do any rpc or remoting integration. It handles all the backend integration for you and you get strongly-typed AS3 objects in your SWC. It also has nice features like file uploading and email object (all the server infrastructure is already set up).

    Instead of having to build all the tedious database/server-side backend that comes with a db-driven Flex app, it lets you focus on Flex programming. You have all your data management built automatically. Its a much cleaner and higher-level solution than something like direct PHP/MySQL or SQL/.NET to Flex setupsince theres no need to work in another language.

    Ka Wai Cheung
  38. Thanks, I’ll check it out! :)

    Aral
  39. define flash5.0 frame work

    madhumitha