4
votes

We are a research group from the University of Zaragoza (Spain). We are developing educational games for children with special needs, (in particular, with)social and cognitive disabilities. We develop our games with Adobe Flash CS5, so we are enough handy with Action Script language.

The emerged problem is related with the security sandboxes in Flash.

At the moment, we are designing a new educative application where image and sound resources come from the Internet, using web services through a “loader.load(new URLRequest(name))” command. We are using the adequate crossdomain file, and it is working fine when published on the web.

HOWEVER, now we are thinking on developing a desktop educative application, where educators will configure the game, and keep their work in a local system file. This is where problems arise. As the Flash player sandboxes limits us to “only network”, or “only local file system” use, we are not able to access the Internet and to generate local files at the same time.

We are not trying to make a flash virus, we are only trying to make an application for educators, where resources came from the Internet but the application requires access to local file system in order to let educators to save and to load their work in their disk.

Reading the Adobe doc, we found the different flash player sandboxes: http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e3f.html

It seems that there is a sandbox which enables us to both access internet and local files: "Security.LOCAL_TRUSTED—The SWF file is a local file and has been trusted by the user, using either the Settings Manager or a Flash Player trust configuration file. The SWF file can both read from local data sources and communicate with the Internet."

And it seems that Local_trusted SWF files are set by the final user or by installer programs. As we intend to publish the application on the web, and educators will download the application, the installer programs seems a nice option, but we are not able to find info about SWF installer programs.

On the other hand, we know about the Adobe Air solution. We understand that AIR is a substitute to Flash Player. It seems adequate as it will expand our application to other environments like android IOS (tablets, mobiles, …).

The question is: using AIR, would we gain network and local access in our SWF application? And what about the final user? Would he/she be able to download the SWF from our web, and any kind of AIR player and executing our application in an easy way on the device? Finally, what do you think is the best solution for the kind of application we are aiming to? (keeping in mind that we want to keep developing in AS3)

2

2 Answers

0
votes

That has to be the most comprehensive question I have read for a while. Well you've done your research, those are sadly your only two options. And yes, using an AIR application you will be able to get assets from the web.

If I was creating a desktop application using AS3 , AIR would definitely be my first choice to build it on.

0
votes

The "network only" refers to you being able to access the user's file system from the code. You can still use "network only" and have the administrator upload files into the Flash Player using the FileReference class and prompting them to choose a file with the familiar os popup.