
@bigspaceship
The wife and I will be in NY Friday through Sunday for a much needed weekend off. While we’re there,
Big Spaceship has agreed to let me stop in and say “Hi”.
If you’re a Lynda.com member, take some time to watch this insightful interview with founder Michael Lebowitz.
Big Spaceship does amazing work, but the thing that really hit me during the video was the way they organize teams - physically in the workspace and organizationally. Everyone is within an arms reach, all essential responsibilities are represented, and if you need privacy just put on your noise canceling headphones. The most productive times we experience around our workplace happen when developers, QA, analysts and managers leave their 4×8 stalls and join forces in a conference room. Unfortunately, this is an emergency procedure instead of a day to day reality. I just want to see it with my own eyes. Even for 30 minutes.
Thank you to Big Spaceship for generously opening your doors to a visitor. I look forward to seeing you tomorrow!
I’ll be leading a 90 min hands on presentation at BFlex ‘09 in Bloomington, IN. Title: Practical Cairngorm for Adobe Flex Applications.
We will cover real world examples of how Cairngorm can make your life (and the life of your teammates) easier. While these concepts can be applied across frameworks, we will be using Cairngorm as the basis for the examples.
Please check out these resources if you’d like to attend but need a crash course in Cairngorm.
- Adobe TV video resources for Cairngorm
- Adobe’s Cairngorm home page
- Cairngorm extensions by Universal Mind (will be used in the presentation).
With a little luck, version 2 of Shotgun 3D will be available in the App Store. Here is a quick preview:
Get the Flash Player to see this player.
Many thanks to all around the world who downloaded version 1. I would love to hear your feedback and feature requests for the updates to come!

And now we wait for approval …
Some new changes since the last blog post & video:
- New UI for the shooting scene. More intuitive controls.
- Added birds & sound effects. Shooting the birds is 2-20 points, clay pigeons are 1-10 points.
- Added an info screen with instructions and tips for racking up points.
- Game recap screen w/ score vs. high score.
- Ability to clear high scores.
Here’s a preview of my first game built in Unity3D for the iPhone. This pretty much killed my weekend, but it was a ton of fun.
Get the Flash Player to see this player.
I’ve always wanted to do something like this - it’s like a dream come true with Unity3D. Before this weekend I had about 10 hours of 3D experience, total. Now that’s tripled, but the real story here is how awesome Unity3D is and how quickly you can pick it up and be productive.
The game above uses the iPhone’s accelerometer to control the shotgun and touch api to control throwing & shooting the clay pigeons. Best scores are stored on the device as expected. Likewise, the user’s preference for easy or hard gameplay is stored and retrieved next time the app is opened.
I’m excited! There are more (complicated) games on my to-do list, so keep an eye on my twitter timeline for updates and new releases. If you’re interested in working together please drop me a line!

Interested in building 3D games?
Blender: Free open source 3D content creation suite.
PhotoShop Extended: For painting 3D textures.
Unity 3D: Multiplatform game development tool.
Video Series: Unity 3D for Flash Developers
http://www.unitytutorials.com/channel/video/2/flash-development
The image above is a render of a clay pigeon. It’s not perfect, nor is it particularly good, but it only took about an hour to model in Blender, paint in PhotoShop, import into Unity 3D and begin launching them from a virtual trap house. This is the most fun I’ve had developing in a long time and I’m looking forward to (finally) getting into the App Store
Integration with Flash & Flex?
Unity’s browser plugin can communicate with JavaScript similar to the ExternalInterface class in Flex, so there’s a possible integration point. Maybe that sounds absurd … doing the 3D game programming in Unity and building the 2D UI in Flex, but it’s possible. I’ll have to try this out; there are of all sorts of cool possibilities.
A question was posted to the 615Flex message board today that distilled to: “When and why should I use Flex Modules instead of just creating a Flex Component?” Ben recommended I post my reply here:
First - What are Flex Modules?
Modlues are pieces of an application that compile into their own .swf files and are loaded, as needed, at runtime. Please read more here:
http://livedocs.adobe.com/flex/3/html/help.html?content=modular_1.html
When should Modules be used?
- When the application has multiple complete chuncks of functionality.
- When it is desirable to only load those chunks if/when the user needs them.
- When chunks of the application should not be delivered to clients without permission (i.e. an Admin module)
Why should Modules be used?
- To reduce the load time of an application. Modules load as needed while compiled-in components increase the size of the containing .swf.
- To improve performance and client side footprint. Modules can be unloaded when not needed or not being viewed.
- To deliver incremental changes to a piece of an application (a Module) without deploying the entire app.
- To potentially share a chunk of functionality across multiple applications. (i.e. you may want to use the same Contact Manager module across two CRM applications.) As nice as this sounds, it can make versioning, change management, QA and development a nightmare as requirements change in one deployment and not the other.
Here are four examples that have been useful to me. Maybe it will help you decide when to use Modules in your application.
- MXML Modules:
When someone says “Flex Modules” this is likely what they are referring to. The .swf that is generated is usually a visual component and is typically loaded with the ModuleLoader MXML tag.
http://livedocs.adobe.com/flex/3/html/help.html?content=modular_3.html
- AS Modules:
ActionScript based modules are AS classes that extend ModuleBase and are compiled into .swf files. These modules are generally non-visual components. A possible use would be to load an implementation of an AS interface into the application based on a user role.
(bottom)http://livedocs.adobe.com/flex/3/html/help.html?content=modular_3.html
- Reusable Modules across Applications:
Proceed at your own risk. Modules can be compiled to be optimized for use in a specific Application, however, you may disable this feature and create a reusable Module for use across Applications.
http://livedocs.adobe.com/flex/3/html/help.html?content=modular_4.html#191026
- Slightly off topic: Sub Applications vs Modules
Flex applications can load other Flex applications as children in a similar way to how Modules are loaded. If this interests you, please read this PDF very carefully:
http://livedocs.adobe.com/flex/3/loading_applications.pdf.
If you had the same question that sparked this post, hopefully this has shed some light and pointed you towards more useful resources. I’m happy to answer any questions about Modular application architecture as well as Sub Application architectures.
I recently picked up a Bamboo pen tablet on Amazon.com for cheap. Clearly I’m no nataliedee, but decided to draw out my daily routine (while in #9).

If you do the math you’ll notice that 15 minutes are MIA - that’s for the snooze button. This has been a completely ridiculous blog post. Thank God for long weekends and Freedom. Happy 4th of July!

This is the session to see if you’re interested in getting started with the Flash Builder 4 beta, now available on http://labs.adobe.com. The presentation will highlight some cool new features of the IDE, and then jump right into the goods. I may include such topics as: The Flash Player 10 Text Engine (which is awesome), Skinning components with FXG, Creating custom components, and the wonderful new syntax for States. If you have a topic you are especially interested in, please send me an email or drop me a line in the comments below!