Search code examples
flashprocesscontent-management-systemasset-managementdam

What are the best practices for large scale flash production?


I am talking about several thousands of flash animations etc. Naturally there is lot of file management.

How do people manage these kind of assets like DAM, CMS?

Best practices for swfs, images, fonts to keep the size to minimum. Compression scheme?

What about delivery? What kind of servers are needed for this scale?


Solution

  • Your question is quite broad and difficult to answer since we do not know any of the specifics. However, there are a number of tools available to you that could potentially make your live easier depending on what you're trying to do.

    Concerning Flash/Actionscript, there is quite a plethora of tools available to make your live easier, especially in the open source space. E.g. you can have the server generate swf's on the fly depending on what the user is requesting. This way you don't have to pre-generate every swf up-front. Based on data stored in a database you can use a server-side script that will generate an XML document that is then fed to a tool called swfmill. Swfmill is basically a command-line compiler that takes a description of a swf in the form of an XML document as input and produces a swf as output. Swfmill doesn't do script (logic) though, it will however let you embed fonts, bitmaps, vector art etc.

    Then there are MTASC (AS2) and Haxe. Both are command-line compilers that can produce swf files. MTASC is build around ActionScript 2 whereas Haxe is it's own language and very similar to Actionscrip. Again, based on the request to the server you can even generate Actionscript/Haxe on the server, compile it and inject it into a swf created by swfmill to then serve it to the user.

    Use version control and scripted builds. On large systems it's a good idea to have scripted builds. Ideally there is one command that can rebuild the entire system. Try to avoid any manual interactions, it will go wrong during times of pressure. There are software systems that can help you with this like Cruise Control.

    Again, I don't what you're trying to accomplish so I can't be more specific.

    In terms of availability you will have to dive into the world Grid and Cloud Computing. This is a black art that needs its own treatment. As suggested elsewhere, you might want to ask more specific questions on ServerFault. In the meantime however, check out highscalability.com. They have some really interesting articles in their Real Live Architecture section that discusses how Digg, eBay, YouTube and many more websites have been made to scale under high pressure.

    Good luck!