The Struggles of Creating a Truly Occasionally Connected Application

The geeks over at Automata Studios are this week’s guest on Adobe XD’s INSPIRE. Today's post is all about the challenges surrounding creating occasionally connected applications.

Check it out!

Creating Custom Development Tools, Components and JSFL

The geeks over at Automata Studios are this week's guest on Adobe XD's INSPIRE.  Today's post is from Branden, who writes all about the challenges of creating the Skit-Based pranks for the recently released jackassworld pranks application.

Check out the article at INSPIRE!

Automata Studios to Appear As Guests on INSPIRE

Starting next week, Branden and Keenan will be writing guest posts for INSPIRE, a publication from the Adobe Experience Design Team.  Specifically, we will be writing about the recently released jackassworld pranks application that we helped develop.  We will touch on the technical and non-technical challenges of developing the casual social game, as well as our ideas for the social gaming platform.

Be sure to head over to INSPIRE and check out the great content they have, and definitely check it out next week when we'll be featured!

Topics:

  • Communicating between AIR applications and external SWFs
  • Overview of the "fecal dynamics" engine - taking PNGs + sound effects + pixel bender and creating something really gross!
  • The struggles of creating a truly occasionally connected application
  • Using JSFL and custom components to create custom developer tools (we created a custom set of tools for creating the ragdolls used in the skit-based pranks)
  • AIR, Flex, & FacebookConnect: How to authenticate your desktop application with Facebook using FacebookConnect

Jackassworld Pranks Released!

It's Out In The Open!!

For the better part of 10 months, Automata Studios has been working with Adobe's XD Team and MTV's Jackass to develop a casual social game using the Flash platform.  The application is called "jackassworld pranks" and is an AIR application that allows you to send rather juvenile pranks to your friends.  Here's a quote from jackassworld.com:

"...with a flick of your cursor you can toss poo grenades, pee balloons, and bags of puke at your dumb little buddies. You can have Dave England take a dump in the middle of their spreadsheet or Powerpoint presentation, send Party Boy over to bump and grind it out, or let Steve-O unleash an undigested beast—all right on their computer screen. And just wait until you see the fecal dynamics."

The Requirements:

Windows

  • Intel® Pentium® 4 processor or faster
  • Microsoft® Windows® XP with Service Pack 2 (Service Pack 3 recommended) or Windows® Vista Home Premium, Business or Ultimate
  • 1 GB RAM
  • 50 MB of available hard disk space
  • 1024 x 768 display (1280 x 800 recommended)
  • Internet connection required for installation and online services

Mac OS

  • Power PC® G5 or multicore Intel® processor
  • Mac OSX v10.4.11-10.5.4
  • 1 GB RAM
  • 50 MB of available hard disk space
  • 1024 x 768 display (1280 x 800 recommended)
  • Internet connection required for installation and online services

Check out the app here.

In the coming days and weeks, we will post several articles and blurbs about our experience developing the application, as well as the technical challenges we faced (they were numerous).  We'll also be doing a guest spot on Adobe's XD Inspire Blog next week, so check us out over there.

For now, enjoy the app.  It's time for me to take a vacation!

Initializing Components with Inspectable Properties

When you slap the [Inspectable] tag above a getter/setter pair in an ActionScript class you can then go and attach your class to a symbol in Flash (and tell it that the symbol is a component) and WHA-LA! you have a property that's inspectable in the Component Inspector panel.

That's all fine and good. The problem is when you're trying to actually USE that property. The problem is that your component FIRST has it's constructor called and THEN all of the properties that you set in the Component Inspector get set. Whoops.

What you need is some way of making sure that you have some code that runs AFTER all of your properties are set. Well, the easiest way to do this is to tap into the oft-ignored Event.EXIT_FRAME event as I explained in this answer I posted up on StackOverflow.