Rob Gonda's Blog

Multitouch Screen Using Flash +1 Adobe -1 Microsoft

Adobe Flash is getting more and more popular as the platform to develop multi-touch applications on.

Check out a post at regarding a Summit that will be organized between Natural User Interface and Adobe in 2009 with the main focus on development of multi-touch solutions on Adobe’s Flash platform.

In case you haven’t seen my post on our NUI Group community website regarding that event, please have a look here:

This video was made as a proof of concept of Flash applications running on the tracker of NUI Suite Snowflake.

Spring Actionscript: IoC Framework based on Spring

The extension is written in ActionScript 3 and is targeted at Flex, AIR and Flash developers. The IoC container and its XML dialect is heavily influenced by that of Spring so it should be easy for developers familiar with Spring to get started with it.

Spring ActionScript contains the following features:

* Inversion of Control container - XML driven, based on Spring
* Reflection API - providing a decent API around describeType()
* Cairngorm extensions - configurable Service Locator, extended Front Controller with command factories, Command chaining, …
* PureMVC extensions - bringing Dependency Injection to PureMVC
* several utilities, assertions, etc


They're also working on the following features, all of which are in an experimental phase:
* MVCS support - providing an architectural framework based on Model-View-Controller-Service
* Domain Driven Design utilities - base classes for entities, value objects, enums, repositories and services
* SqlLite database templates
* Aspect Oriented Programming


Flash Player 10 Release Candidate Now Available

A release candidate of Adobe Flash Player 10, code named "Astro" is now available for download on Adobe Labs. Once you download it make sure to visit this page and try the new 3d engine, it's AMAZING!

SWF Object 2.1 Flex Template

SWF Object is an amazing script for wrapping their swf into a HTML page. For those of you using it (and you should), Oleg built a nice SWF Object template now updated for version 2.1 with supports HistoryManager and DeepLinking.

SWFObject 2.1 now available

`You can download SWFObject 2.1 from the SWFObject 2 home or downloads pages.

SWFObject 2.1 addresses the following issues:

  1. Memory leaks in Internet Explorer. There were 2 categories of memory leaks: small ones caused by the library’s structure (use of closures) and use of events, and big leakage that was related to dynamic publishing and Adobe’s External Interface (note: also available in SWFObject 1.5)
  2. Internet Explorer 5.0/5.5 support issues
  3. Script errors in Internet Explorer in case an object element is removed during a visit
  4. Alternative content display issues for Safari 3+ with plug-ins disabled
  5. Removal of isDomLoaded tests from various methods of the public API to enable that dynamically inserted scripts - including bookmarklets - can use these functions
  6. Dynamic publishing could previously fire multiple instances of Adobe Express Install
  7. Fixed dynamic publishing reference issues when using a shared param or attributes JavaScript Object

It contains the following enhancements:

  1. New explicit SWF removal code - especially needed to completely and safely remove a SWF in Internet Explorer - via the new swfobject.removeSWF(idString)
  2. Shortened Flash version strings can be used, so "9.0.0" can now be written as "9"
  3. For dynamic publishing now 0, null, false or {} can be used when no flashvars, parameters or attributes have to be defined (previously you could only use false or {})
  4. Added a filter to the swfobject.getQueryParamValue method to secure the library from XSS attacks (Geoff will publish a more detailed security advisory soon)

ColdBox Beta 2: Flex/AIR Integration comments

When I first read Luis's entry on ColdBox Beta 2: Flex/AIR Integration this is pretty much that immediately went through my head ...

Gotta be honest: at first I didn't buy into it... You have to be careful on separating your logical layers... if ColdBox is a front-controller, why would a Rich Front End talk to it? It should talk to your Service Layer... and your Service Layer doesn't need ColdBox ...

However, after talking to Luis I discovered, what if, what if you make ColdBox become your enhanced service layer manager? What if your ColdBox Handlers become part of your Service Layer API? What do we have? We have a Service Layer with built-in environmental settings, logging, error handling, event interception and chaining, you name it ... Now it all makes sense...

This is good; real good ... perhaps you'll see a full 60 or 90 minutes presentation on this at CFUnited or CF.Objective() 2008.

Keep it up.

Papervision3D 1.5 (AS3) Official Release

Papervision3D 1.5 (AS3) Official Release. This version of the engine has seen a 40%+ increase in speed! The API didn’t change a bit, and they added some new features like culling and InteractiveScene3D with Interactive materials.

Here are some of the significant changes:

  1. Optimized main render loop.
  2. Implemented ‘plugable’ face culler - 1 extra available at this time.
  3. Moved rendering from Face3D to materials, adjusted all current materials to override drawFace3D().
  4. New Materials : BitmapWire, BitmapColor, and CompositeMaterial (add multiple materials to this one single material).
  5. Moved all instances to their respective classes…fixed stars, vertices and DisplayObject3D to do so.
  6. Face normals are implemented.
  7. BitmapFileMaterial bug fixed - if used more than once, bitmap was displayed flat within the model’s body.
  8. Added progress events to BitmapFileMaterial and Collada objects
  9. Integrated InteractiveScene3D to 1.5
  10. Added Interactive materials for use with InteractiveScene3D - makes displayObjects that use an interactive material dispatch mouse events via InteractiveSceneManager.
Download Papervision3D 1.5 or sync up the the source control repo.

Papervision3d Public Beta

Papervision3D moves from private testing to a full public beta. It's very easy to use and to integrate into your Flash 8, Flash CS3 and Flex projects.

It is released under the MIT Open Source license, which means it is absolutely free for any commercial use.

Source code
The project is now hosted in Google Code, where you will find all the downloads, the very latest source code via Subversion, issue tracking and project workspace. Existing users must use this new svn address.

Here is the documentation of the AS3 public classes and methods. It is also included in the source code download, along with examples to get you up and running right away.

If you are not sure, this is the place to begin. Includes many examples, tutorials and tips, plus our Getting Started FAQ with detailed download and installation instructions.

If you have any questions, you can subscribe to our OSFlash mailing list or access it via our Nabble forum.

This reel is a little review of what we have seen so far. The Papervision3D team can’t wait to see what you’ll do with it next. [source]

RIA traffic debugging

Quick note on debugging a Rich Internet Application. As you probably know, RIAs usually don't refresh and communicate to the server in the background. You can't easily see the traffic, so I usually recommend using Firebug for Firefox, Live HTTP Headers, Fiddler, and my recommendation, Service Capture.... Well, there's a new kid on the block ... not so new perhaps, but I just finally tried it and I'm loving it. Charles is another http/amf monitoring application with many more capabilities than service capture ... actually, forget about the capabilities, the fact that I can open it with Firefox with no problems should be enough ... but if that's not enough, you can see the traffic is a structured view instead of sequential, which allows you to see the requests by domain, then folder, then file, and it even groups all the flash remoting calls together ... it's a beautiful thing. In addition it does have more capabilities such as seeing cookies, request / response sizes, mirror responses to disk, analyze cache, bandwidth throttle, spoof dns, and port forwarding. I'm very impressed.

FileReference onComplete is not fired on Mac OS

We are launching tomorrow a project that requires Flash to upload a file to a server, which is usually done through the FireReference class... Strangely, it works everywhere except on a Mac OS. We tested on OSX with Firefox and Safari, getting identical results: the file would upload, but the onComplete call would never get triggered.

The server environment for this particular project was php4 and amfphp for all remoting calls. After reading a couple of blogs, it seems like there's a Flash-side solution by using uploadCompleteData, which only works with ActionScript 3. Our project was developed with ActionScript 2, so I kept looking. Then I found that if php (or any server-side language) returns a space it should work ... nothing yet .... then I found that someone got it to work returning a "1", and indeed, echo "1"; fixed it for all environments... finally working on Windows, IE, FF, Mac, FF, Safari ...

So now you know, if you use the Flash FileReference class, make sure to always return a string so Mac OS knows the file finished uploading.

More Entries

This blog is running version 5.9.003. Contact Blog Owner