Using MDM Zinc 3.0 for the Mustard Seed Challenge
In a Nutshell
We used MDM Zinc 3.0 to smooth out the rough edges of deploying a desktop Flash application. Zinc is a tool that allows you to build Flash and Flex desktop applications for Windows, Mac and Linux.
Background
The final project in our second Engineering Design & Communication course (ENGG 253 to those at the U of C) was to design a solution for the Mustard Seed (a theistic charity in Alberta that focuses on helping the local homeless population) that helps to address specific needs of the Mustard Seed guests. Our lab was assigned an area of focus surrounding social cues - our aim was to help improve the social skills and awareness of the end users. I figured with my experience with Flash and ActionScript we could have an edge on the other labs. I advised the lab that we exploit this and use Flash and the idea was accepted.
One of the main requirements for this project was that the final solution, if software, must be able to run on Windows XP. Now obviously we could just export to a projector from Flash and hand that over to the client. However, in terms of overall experience, this was not sufficient. With Flash projectors alone, we would have input issues and overall aesthetic inconveniences that would detract from the quality of the product and may have cost the lab marks.
Flash Projectors: Gross on Mac OS and the menu shows on both Windows and Mac OS.
We decided to build a game consisting of multiple levels, each with its own mini-game, input had to work without problems. So that mouse motion and keyboard events were always being tracked, it was clear that the application needed to be given the full attention of the OS and the user which basically means using full-screen mode. For security reasons (phishing attacks I believe), Adobe disables keyboard input whilst in full screen mode. This made a problem for us in being able to meet our interactive requirements.
Another requirement was that the application be easy to use and not distracting for end users with low computer literacy. Having the Flash projector menu displaying constantly was a distraction as it has nothing to do with the application we built. It had to go.
I Zinc We Have A Solution!
While working at Parcom, we built a small snow conditions desktop application for Travel Alberta. While preparing for the project I discovered Zinc which packages SWFs and provides access to various OS features through ActionScript code libraries. It also did not require the installation of a separate runtime (e.g. Adobe AIR) which helped us meet another requirement which was that the application is simple to deploy for the IT staff at the Mustard Seed.

The problem we faced with Zinc was that we had strict spending limits for this project which ruled it out. However, I figured since we're doing work for a charitable cause and doing so also in the name of learning that maybe I could appeal to MDM and see if they'd offer us a temporary license with which to build the final application. Well not only did they reply to my request very quickly but they granted our lab a full Windows license for Zinc 3.0 (huge props to MDM for this - the whole lab was impressed).
Using Zinc
While Zinc has a vast array of useful features, we really only needed a small set for our purposes. Getting our application to the point where it is full screen, looking good and meeting our requirements was very easy.
The window settings we used for Job Hunter.
A real life saver was the "Clip Movie at Border" toggle. Some of the levels were built by students who had never worked in flash and often had objects trailing off-screen without masking. Our game was designed for a baseline screen resolution of 1024 x 768. At higher resolutions when running in full screen these orphaned "offstage" objects become an eyesore. By simply flipping this setting on we saved a bunch of time having to go and mask levels.
Having a custom icon made for a nice aesthetic touch.
Using their code library was a very smooth experience as well. MDM provides an SWC that you can link against to provide access to all the libraries they offer. When we moved to Zinc we had to change some of the path references for the videos we were using. This wasn't a big deal as Zinc provides a set of application level variables one of which being the path of the application:
function InterviewSimulation(videoPathPrefix:String, questions:Array) { _videoPathPrefix = mdm.Application.path + videoPathPrefix; // etc... }
The final application running in 1920x1200.
The final product went over extremely well. The director of the Mustard Seed was "extremely impressed" with our application and our instructors selected it to demonstrate at an upcoming engineering education conference they will be attending.
Comments
- From Paul
- Date Monday June 28, 2010 at 3:29 PM
Hey Bryan. Our app seemed to work just fine in full screen on Windows 7. Our target was only Windows XP but we tested it on both. I had tried the app out in OSX but, since it wasn't a requirement, not much time was spent testing it. Have you checked with MDM about this? It may be a known issue with a fix.
Did you run into any issues of zinc not playing full-screen in Windows 7? Also, I'm seeing that it causes a mac OSX error when we close our app. Thanks for posting this great article. Your product looks really sharp.