Best practices in structuring a large Flash project?

I'm building an educational site in Flash. A student works through a series of activities, either watching an animated video or answering a question. You can get a good idea of the basic functionality with this mockup: http://imgur.com/Mi4JyHN.
After a student logs in, the server responds with their current activity and progress. The activity displays, and all student interaction is sent to the server to record (time spent on questions, buttons clicked, correct and incorrect answers, etc). When the student is done with an activity, the server is notified and responds with the next activity to present.
I'm fairly new to flash and would love to hear how people with experience would structure this project. I can think of the following possibilities.
One enormous SWF. All audio files and movie clips are embedded in the SWF and swapped out as necessary. This is not a reasonable option because the size of the resulting SWF would be huge.
Exactly one SWF for each activity. The control buttons and progress bars are obviously shared between each activity, and it seems like a lot of duplication to have them in each compiled SWF. Also, if a button is changed, this requires re-compiling everything, right?
One main SWF that loads others. The main SWF contains the buttons and progress bars and fetches external SWFs from the server to replace the stage area. I don’t know enough Flash to predict how this will go.
Part JavaScript, part Flash. The buttons and progress bars are done in HTML + JavaScript. The page fetches external SWFs from the server to replace the stage area. This is the current system, and the problem is the ugliness/difficulty of managing the communication between JS and AS3.
HTML5. While I would love for this to be a possibility, I don’t feel like it is. Animation is still way easier in Flash and we are still targeting some fairly old browsers. The best part about Flash is the consistency in experience.
Extra questions:
Which options leave us open to publishing to mobile using Adobe AIR?
Which options are best for automated testing / accessibility / version control / general code layout?
Thanks so much for any advice!

For a Flash-based design I would go with option 3.  The general controls and objects common for use with each activity would be in the main file.  Whether or not the main file would be responsible for sending activity data to the server could depend on there being determinable similarities between data collections...  otherwise it might fall on individual activity swfs to interact with the database.  There are too many unknowns in this regard for me to offer much.
If this was going to be a loaded application, such as an AIR app, then option 1 might be more reasonable since you only have to install once for everything to be available.
When it comes to mobile you are likely to hit a snag if you rely on using AIR/Flash to try to deal with a main and activity swfs approach... mainly in the Apple realm...  unless I forgot a lot of what I was involved with some time ago, a loaded swf cannot contain any code when it comes to iStuff.  So you end up having to make the main file contain all of the coding to deal with each activity's processing.  Every interface/interactive element can only exist by name and the main file has to target them and assign listeners and processing and etc....a mess in my view.  That's why having the one huge AIR file is possibly a tad more reasonable.
I have nothing to offer in the HTML5 end of things.  I have not yet journeyed down that path.  Since HTML5 is basically wingless without javascript and CSS, it might come to pass that the current system (option 4) is the way to go.

Similar Messages

  • Best practices code structure for large projects?

    Hi, I come from the Java world where organizing your code is handled conveniently through packages. Is there an equivalent in XCode/Objective C? I'd rather not lump all my observers, entities, controllers, etc in one place under "Classes"...or maybe it doesn't matter...
    If anyone could point me to a document outlining recommended guidelines I'd appreciate it.
    Thanks! Jon

    If you have a small project, you can setup Groups in Xcode to logically organize your files. Those Groups do not necessarily have to correspond to any directory structure. I have all my source files in one directory but organize them into Groups in Xcode.
    If you have a larger project, you can do the same thing, but with code organized into actual directories. Groups can be defined to be relative to a particular directory.
    If really do have a large project, you should organize things the same was as in Java. Your "packages" would just be libraries - either static or dynamic.
    As far as official guidelines go, there really aren't any. It would be best to stick to the Cocoa Model-View-Controller architecture if that is the type of application you are working on. For other software, you can do it however you want, including following something like Sun's guidelines if you want.

  • Best Practice tips for publishing Captivate 8 project?

    Does anyone have any Best Practice Tips for publishing Captivate 8 projects?  Is HTML5/Flash the most universal?
    We will begin testing/training before our LMS is functional. 
    We have no shared network capability or SharePoint type platform.  Project is too large for e-mail even when zipped.
    I am thinking that we will have to use thumb drive/CD along those lines.

    Hi  There , 
    Please  refer to  the  below  links  :-
    Adobe Captivate Help | Preview and publish Responsive projects
    Adobe Captivate Help | Publish projects as HTML5 files
    Adobe Captivate * Publishing Projects
    Regards , 
    Ajit 

  • Best Practice Directory Structure

    I'm new to programming and I'm creating a large application
    that will have a lot of pages and components. As I continue to add
    to the project, I find it harder and harder to easily locate the
    pages and components that I need to work with. To help me with this
    problem, I've decided to add a label to every component with the
    location of where it can be found. Now when I view the application
    and I see a component I want to work with, I know where it is
    located.
    This is problably not the best way to handle the problem, it
    will be a pain to go back and remove or comment out these when I'm
    fininshed with the project, but it wil help now.
    Short of having a better memory :>), is there any best
    practice guidelines I should look into and follow when I create my
    directory structure of files and components that will intuitively
    help me quickly locate a component? What do you use to help you?
    Thanks for your ideas and suggestions

    There are many ways to answer this. If you have a big project
    you might consider using a Flex Library Project for your components
    - think of it as writing a set of components you (or your company)
    might one day sell to others - even if you never have that intent.
    The idea is to make the components as reusable as possible in case
    you need them for the next project. Having them in a separate Flex
    Library project (which creates a .swc file) would make that easier.
    The industry best-practice seems to be to create packages
    that begin with your company's domain name, but in reverse order.
    For example, components I write for Adobe go into a package
    beginning with com.adobe which works out to be the file structure
    com/adobe and then is further divided by the application and then
    its parts (eg, com.adobe.scrapbook.editor). Using your company's
    domain to distinguish your components enables you and others to
    combine components from different places without naming conflicts.
    If you divide your application into logical parts you can
    figure out a good package naming convention that is easier to
    remember. For example, I might put all of the skins for my
    Scrapbook Editor into the com.adobe.scrapbook.editor.skins package.
    I can easily find those files and add to them as necessary.
    Other people follow a similar pattern and there are books on
    the subject, too.

  • Best practice for SWC's in shared projects?

    I'm creating a number of Flex components in Flash for a project where the development responsibilities will be shared between myself and another developer via SVN.
    My question is regarding linking the SWC's in the Flex Build Path. The .swc files are stored in the project src folder (src/components/swc/Tab.swc) It doesn't look like I can use a relative path. When the other developer opens the project on his local workspace, will he have have to relink the SWC's?
    What's the best practice for a scneario like this?

    Um... ok. But, don't you still have to link the swc?
    What I mean is, once I do that (place the swc in the library), I am unable to access that component. Seems as though I'm missing a step.
    Will continue to consult the documentation, but some clarity on this would be appreciated.  Thanks!

  • Best Practices for multiple authors using single project?

    We are having many issues, particularly with moving, renaming, and multiple check out warnings.  We have a single project with many authors and it seems like RH is not designed to work that way. There is an article in the RH devnet-archive in an article entitled "Sharing RoboHelp Project Among Multiple Authors" that says"
    "At first there may be the temptation to let every author work on every file in a project.  This is certainly not a best practice. Regardless of source contraol, it is always best to designate certain authors as owning certain content-related sections, folders, or topics within a project -particulary at the folder level."
    This statement, and our experience seems to indicate that RH is not a true CMS as we had envisioned.  What are the best practices for this scenario to avoid stepping on each others toes and having problems with source control.

    I have moved this to the source control forum for the gurus there to answer.
    Meantime I must admit I read that statement the same way as you first time. However, on rereading I think what the author is saying is not that what you want cannot be done, rather it is best practice to guide authors to work in discrete areas.
    I will leave it to the author or another guru to give you a more complete answer.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • What is the best Practice JCO Connection Settings for DC  Project

    When multiple users are using the system data is missing from Web Dynpro Screens.  This seems to be due to running out of connections to pull data.
    I have a WebDynpro Project based on component development using DC's.  I have one main DC which uses other DC's as Lookup Windows.  All DC's have their Own Apps.  Also inside the main DC screen, the data is populated from multiple function modules.
    There are about 7 lookup DC Apps accessed by the user
    I have created JCO destinations with following settigns
    Max Pool Size 20
    Max Number of Connections 200
    Before I moved to DC project it was regular Web Dynpro Project with one Application and all lookup windows were inside the same Project.  I never had the issue with the same settings.
    Now may be becuase of DC usage and increase in applications I am running out of connections.
    Has any one faced the problem.  Can anyone suggest the best practice of how to size JCO connections.
    It does not make any sense that just with 15-20 concurrent users I am seeing this issue.
    All lookup components are destroyed after its use and is created manually as needed.  What else can I do to manage connections
    Any advise is greatly appreciated.
    Thanks

    Hi Ravi,
    Try to go through this Blog its very helpful.
    [Web Dynpro Best Practices: How to Configure the JCo Destination Settings|http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417600)ID2054522350DB01207252403570931395End?blog=/pub/wlg/1216]
    Hope It will help.
    Regards
    Jeetendra

  • What is the best practices workflow from illustrator to flash in cs 6?

    Hello- question from an illustrator to flash workflow n00b.
    I'm creating a flash experience with animated characters.
    I'm building my art assets in illustrator.
    I've found it relatively easy & straightforward to import assets from illustrator into flash.
    I can conveniently import my layers and symbols from illustrator as separate layers and symbols in flash and manipulate them.
    However, let's say after import I want to change something with an asset using illustrator. For example, I have a character with facial features, including eyes. I want to change the eyes in illustrator and have those changes then be propogated in some way- automagically or manually- in flash.
    What is the right way to do this? Are there best practices for being able to go back and forth between flash and illustrator?
    Thank you!
    ~ sae

    Thanks for the reply Suhas.
    I guess the answer to my question is that there is no good way. In the photoshop/illustrator workflow, I can paste a document from illustrator into photoshop and then double-click it in photoshop to open it back up in illustrator and edit the original. I have seen posts on people doing this between Flash and Illustrator with the now-discontinued Flash Catalyst- a process that was apparently called round-tripping. Ideally, this is the functionality I'd like to have between Flash and Illustrator but I take it from your reply that the answer is 'Does not exist.'
    ~ sae

  • Managing a large Flash project

    I work for a game development studio in London. We are prototyping using Autodesk Scaleform and building our game UI using Flash. We will need to be able to run a large project with a team of 3-4 artists and 10+ programmers. We use Perforce source control system for storage of all code and assets. We need to be able to manage a project with multiple shared resources and multiple people (artists & programmers) working on screens and controls.
    Our problem is as follows:
    We want to be able to create skinned graphical custom components, such as buttons, sliders, checkboxes as well as more complex controls such as tables and game specific elements.
    We want to be able to share graphics assets in a single location and allow multiple artists and coders to work on shared components simultaneously. We need all of this to be stored in a Perforce source control repository.
    For AS3 code this is all fairly straight forward. It works like any other codebase and we have set up FlashBuilder and FlashDevelop projects.
    Now, the options seem to be as follows:
    - Create a flash project or projects. The problem here is that all of the assets are copied into AuthortimeSharedAssts.fla. This means that, because FLA is a binary format, our source control cannot allow more than one person to edit any shared resource at the same time.
    - Set up manual authortime sharing. This will allow work on multiple shared components because individuals can update a small discrete FLA file and this will automatically update a larger shared librar. The problem is that this does not allow sharing of graphics assets, which means that, if an artist updates a graphic, this does not filter down to individual flash files.
    - Use the XFL format. This would allow us to merge files when checking in to source control as they are plain text and it saves out individual assets as separate files, which looks perfect. The problem is that I can't see how to make a project, which entirely uses XFL files (i.e. makes something like AuthortimeSharedAssets.xfl).
    At the moment I can't see any obvious, sensible way of running a large project  in Flash. We cannot be the first to do this sort of thing though.
    Can anyone help or explain how we should do it?

    Just an $0.02 that is probably the hardest solution to implement, you really need a good project manager. You can't expect great results from tossing a bunch of autonomous bodies in motion on shared resources with no human control mechanism. Software can help but your format is ultimately binary, so outside Smart Objects (which haven't worked well in a networked multi-OS environment for me), you're not going to gain the benefits of traditional diff for source code.
    Consider implementing either a project manager or even better, a project manager with decent project management software. It can be as cheap as Copper Project. You're given a hud with tasks and it's up to the Project Manager to assign the tasks so nothing overlaps and collisions are avoided from the start. It's even a large challenge in the binary world for a high quality Project Manager.
    If you really need a garage level setup, you may simply have to employ locking network files that are in use. Anyone trying to use something won't be able to, it will stifle progress but you won't run into overlaps or impossible merges. It's just brute force and inefficient.

  • What is a best practice for managing a large amount of ever-changing hyperlinks?

    I am moving an 80+ page printed catalog online. We need to add hyperlinks to our Learning Management System courses to each reference of a class - there are 100s of them. I'm having difficulty understanding what the best practice is for consistent results when I need to go back and edit (which we will have to do regularly).
    These seem like my options:
    Link the actual text - sometimes when I go back to edit the link I can't find it in InDesign but can see it's there when I open up the PDF in Acrobat
    Draw an invisible box over the text and link it - this seems to work better but seems like an extra step
    Do all of the linking in Acrobat
    Am I missing anything?
    Here is the document in case anyone wants to see it so far. For the links that are in there, I used a combination of adding the links in InDesign then perfecting them using Acrobat (removing additional links or correcting others that I couldn't see in InDesign). This part of the process gives me anxiety each month we have to make edits. Nothing seems consistent. Maybe I'm missing something obvious?

    what exatly needs to be edited, the hyperlink or content or?

  • Storage Server 2012 best practices? Newbie to larger storage systems.

    I have many years managing and planning smaller Windows server environments, however, my non-profit has recently purchased
    two StoreEasy 1630 servers and we would like to set them up using best practices for networking and Windows storage technologies. The main goal is to build an infrastructure so we can provide SMB/CIFS services across our campus network to our 500+ end user
    workstations, taking into account redundancy, backup and room for growth. The following describes our environment and vision. Any thoughts / guidance / white papers / directions would be appreciated.
    Networking
    The server closets all have Cisco 1000T switching equipment. What type of networking is desired/required? Do we
    need switch-hardware based LACP or will the Windows 2012 nic-teaming options be sufficient across the 4 1000T ports on the Storeasy?
    NAS Enclosures
    There are 2 StoreEasy 1630 Windows Storage servers. One in Brooklyn and the other in Manhattan.
    Hard Disk Configuration
    Each of the StoreEasy servers has 14 3TB drives for a total RAW storage capacity of 42TB. By default the StoreEasy
    servers were configured with 2 RAID 6 arrays with 1 hot standby disk in the first bay. One RAID 6 array is made up of disks 2-8 and is presenting two logical drives to the storage server. There is a 99.99GB OS partition and a 13872.32GB NTFS D: drive.The second
    RAID 6 Array resides on Disks 9-14 and is partitioned as one 11177.83 NTFS drive.  
    Storage Pooling
    In our deployment we would like to build in room for growth by implementing storage pooling that can be later
    increased in size when we add additional disk enclosures to the rack. Do we want to create VHDX files on top of the logical NTFS drives? When physical disk enclosures, with disks, are added to the rack and present a logical drive to the OS, would we just create
    additional VHDX files on the expansion enclosures and add them to the storage pool? If we do use VHDX virtual disks, what size virtual hard disks should we make? Is there a max capacity? 64TB? Please let us know what the best approach for storage pooling will
    be for our environment.
    Windows Sharing
    We were thinking that we would create a single Share granting all users within the AD FullOrganization User group
    read/write permission. Then within this share we were thinking of using NTFS permissioning to create subfolders with different permissions for each departmental group and subgroup. Is this the correct approach or do you suggest a different approach?
    DFS
    In order to provide high availability and redundancy we would like to use DFS replication on shared folders to
    mirror storage01, located in our Brooklyn server closet and storage02, located in our Manhattan server closet. Presently there is a 10TB DFS replication limit in Windows 2012. Is this replicaiton limit per share, or total of all files under DFS. We have been
    informed that HP will provide an upgrade to 2012 R2 Storage Server when it becomes available. In the meanwhile, how should we designing our storage and replication strategy around the limits?
    Backup Strategy
    I read that Windows Server backup can only backup disks up to 2TB in size. We were thinking that we would like
    our 2 current StoreEasy servers to backup to each other (to an unreplicated portion of the disk space) nightly until we can purchase a third system for backup. What is the best approach for backup? Should we use Windows Server Backup to be capturing the data
    volumes?
    Should we use a third party backup software?

    Hi,
    Sorry for the delay in reply.
    I'll try to reply each of your questions. However for the first one, you may have a try to post to Network forum for further information, or contact your device provider (HP) to see if there is any recommendation.
    For Storage Pooling:
    From your description you would like to create VHDX on RAID6 disks for increasment. It is fine and as you said it is 64TB limited. See:
    Hyper-V Virtual Hard Disk Format Overview
    http://technet.microsoft.com/en-us/library/hh831446.aspx
    Another possiable solution is using Storage Space - new function in Windows Server 2012. See:
    Storage Spaces Overview
    http://technet.microsoft.com/en-us/library/hh831739.aspx
    It could add hard disks to a storage pool and creating virtual disks from the pool. You can add disks later to this pool and creating new virtual disks if needed. 
    For Windows Sharing
    Generally we will have different sharing folders later. Creating all shares in a root folder sounds good but actually we may not able to accomplish. So it actually depends on actual environment.
    For DFS replication limitation
    I assume the 10TB limitation comes from this link:
    http://blogs.technet.com/b/csstwplatform/archive/2009/10/20/what-is-dfs-maximum-size-limit.aspx
    I contacted DFSR department about the limitation. Actually DFS-R could replicate more data which do not have an exact limitation. As you can see the article is created in 2009. 
    For Backup
    As you said there is a backup limitation (2GB - single backup). So if it cannot meet your requirement you will need to find a third party solution.
    Backup limitation
    http://technet.microsoft.com/en-us/library/cc772523.aspx
    If you have any feedback on our support, please send to [email protected]

  • Best Practices for Backing Up Large (+10TB) Servers?

    As we migrate to OS Lion Server, I need to revisit backup scenarios. I'm interested in researching best practices, which may include Time Machine for incrementals but also needs some sort of off-site possibilities (such as tape and then store somewhere else).
    (In Snow Leopard, we're having real trouble with BRU (unintelligible) and Roxio's retrospect for our DLT tape backups.)
    I would think this would be a great discussion for many to have.

    Mark as answered!

  • Best practices for organizing a large "project" with multiple programmers

    should i put everyone in one application? should everyone get their own applcation? my understanding (limited) is the level of granularity for CVS is the application. sounds to me like multiple developers checking the same application in and out would be a disaster. if every developer has there own application what problems will i have deploying. how do i handle my configuration (navigation) diagram? any thoughts would be appreciated.

    Have a read through these:
    http://download.oracle.com/docs/html/B25947_01/team_productivity.htm#BABBEFFF
    http://brendenanstey.blogspot.com/2006/11/tips-for-using-cvs-with-jdeveloper.html

  • Best practices for working with large placed bitmap images?

    Hey all,
    I need some advice on the best way to approach building these files. I've been working on some banners that are very large: 3 x 7 feet.
    Each banner has a simple vector graphic treatment at the top and bottom (rectangle with a different colored rule on top, and vector logo) and a small amount of text, just a URL and a headline.The headline is type (not converted to outlines) and usually has some other effect applied to it, say a drop shadow or outer glow. Under these graphics is a full bleed image. The placed images need to be 150ppi at actual size, so they're honking big, sometimes up to 2GB. Once the layouts are approved, they have to go to a vendor for output.
    The Illustrator docs are really large, and I've read in other threads how to combat that (PDF compatibility, raster settings). But even still, does anyone have any insight into the best way to deal with these things? The dimensions are large, and then the images are large, and it just makes for lots of looking at the spinning ball of death...
    If it were me, I'd build them in InDe, but the vector graphics need to be edited for each one, and I so don't like to do that in InDe unless forced. To me, it's still ultimately a page layout app, not a drawing app. (Old school here.)
    FYI, our machines are all MBPs with 8G ram and the latest Intel Core 2 Duo chips, 2.66 and 2.8GHz. If we keep the files local (as opposed to working on the server) it should be fairly zippy... No?
    Any advice is appreciated, thanks!

    You can get into memory trouble with very large placed pdf files. Tiffs too.
    This has to do with the preview, which contains much more information than you need for working with.
    On the other hand if you place EPSs and take care not to turn on overprint preview you can get away with huge files.
    If you do turn on overprint preview your machine will slow down a lot and the file may become totally unmanageable.
    Compare this with to InDesign where you can control the quality of the preview. A hi-res preview will slow you down and most often you don't need it anyway.
    I was working (in Illie) the other day on much larger files than you mention – displays for whole walls – and had some considerable trouble until I reverted to the old EPS format. They say it's dying but it ain't dead yet .

  • Best Practice for Creating a New WebHelp Project from an Existing One

    I'm currently working in WebHelp Pro (RH version is 9.0.2.271).
    I have a WebHelp project which currently supports the 2012 version of one of our projects. What I needed to do was to create a separate 2013 project, using the 2012 files as the starting point. I couldn't find a way in RH to create a new project by importing an existing WebHelp project, so I copied the 2012 files to a new directory, opened up the project, and renamed it.
    What prompts this question is that following this exercise, all seemed well, for a time. However, I have recently had to create new topics in the 2012 version. However, when I imported these topics to the 2013 project and compiled, they vanished--although the htm files still appear in the appropriate 2013 file folder (when viewed with Windows Explorer).
    After reading some forum postings, I thought that I might have corrupted my database by improperly creating the new project--but if what I did is the wrong way to go about it, I'm not sure what the correct way is. I will be grateful for any suggestions.

    The easy way to do this is create a copy using Windows Explorer.
    Open the project and go to File > Rename.
    Then you have your 2013 ready made project.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

Maybe you are looking for

  • Adding columns to result list in inbox view of web client

    Hi, I have a requirement to display custom columns in result list of inbox view of web client. I copied the view and controller to custom name space. In BSP_WD_WORKBENCH , for AUIITEM view, there are two context nodes . AUIITEMTREE is one of thena an

  • WiFi issues

    Hi newbie here can anyone help please I have the xperia Z1 and am having an issue with the wifi. It connects to my router fine the first time but afer it disconnects and says saved and secured it won't connect it has full signal, when i touch it and

  • Instance names with Oracle Parrallel Server (OPS)

    Hi. I was "reviewing" an Oracle 8 OPS implementation and I noticed that the instances on both nodes have the same name. In another word, the instance on node 1 is named I1 and the instance on node 2 is named I1. While the system appears to work, duri

  • Don't know the Admin User!!

    Hi everybody ,,, I have a problem which is when I wanna to install a program the computer asks me to type the admin user and password and I don't know both of them .. also my user which I have been using it is a standard user although it's the user w

  • How to open a raw image with two different exposures?

    Hello, I am trying to open a raw image file in Elements with two different exposures so that I can use an adjustment layer to blend the exposures. For the life of me, I cannot figure this out, and the online help is completely useless. I have read ev