I'm happy to report the Apache Flex incubator proposal vote has concluded today and it has unanimously been accepted as a podling! There were a total of 23 votes of which 10 were binding (by Incubator PMC members). It was nice to see there were no 0 or -1 votes at all so think any initial doubts in the discussion period have been able to get addressed to everyone's satisfaction. The next step is getting the infrastructure set up for the project and then ultimately getting the initial code submitted. It is important to realize that now the hard work actually just starts and I look forward to seeing Flex move to an open development model and the community actively getting involved.


The vote on the Apache Flex incubator proposal is now open and in 72 hours we will know the result. The vote on adding the additional mentors to the Apache Incubator PMC has not concluded but they have provisionally been added to the proposal. In the unlikely event Dave Fisher and/or Anne Kathrine Petterøe are not accepted there are still at least two confirmed initial mentors on the project.

You can follow along on the mailinglist and show your support with a +1 (though your vote will only be binding if you are a PMC member). There is already quite a bit of activity on the thread and it is extremely likely we will have the go-ahead this Friday for the Apache Flex podling.

Exciting times!


The vote on the Apache Flex incubator proposal has not yet started but should only be a matter of days away - currently a few additional candidate mentors for the project (Dave Fisher and Anne Kathrine Petterøe) need to be elected to the Incubator Project Management Committee. Once that has happened it should be plain sailing to get it going. With a bit of luck we will have the process wrapped up in the first week of 2012 - what better way to start the new year!

In the meanwhile, if you were anything like me and the Apache way of doing things isn't quite obvious there are a couple of videos from the Flex Summit that are well worth watching. Roy Fielding - one of the original founding members of Apache, and well known for his work on HTTP and REST - who now works for Adobe explains the process, what it means for technology to become an Apache project and how you can make it thrive.

There's also a great episode of "The Flex Podcast" you can listen to with Jon Campos, Michael Labriola, and Jesse Warden as guests talking about their take-aways from the Flex Summit and the future of the technology.

I've been running a poll on my blog for a little over a week now and am encouraged to see the sentiment around Apache Flex is largely positive and more of a "wait and see" than an immediate negative outlook on what is happening.

If you are active on Twitter you can follow @ApacheFlex (not sure who runs this account) which aggregates a lot of articles and tweets about Flex and the Apache Software Foundation or follow the discussion using the #ApacheFlex hashtag.
As you can see there are plenty of ways to keep up to date with what is happening and encourage everyone to do so and get involved in whatever way they can. Its important to realize that the community can now actively shape the future of Flex and it is an open process where contributions from anywhere are encouraged and on an equal footing.
Happy holidays to you all!


The discussion about the Apache Flex proposal is now in full swing on the Apache Software Foundation Incubator mailinglist. I have to say its been great getting some outside perspective and it seems to generally be very positive and constructive. If you haven't followed along, here are some of the discussion points that got raised:

  • There was a point made about individual contributors versus company representation when the proposal talks about Adobe having minority representation. This was subsequently addressed in the wording of the proposal.

  • There is an interest in getting a list compiled of third party dependencies, their licenses and possible open source alternatives. Part of this will be addressed by Adobe lawyers and the findings will get shared as they become available.

  • The Flex trademark is planned to get donated to the project, there were some concerns about the request to let existing groups using this trademark continue to do so and how that would work under the general ASF trademark guidelines. This is something that would get addressed before the project can graduate from its incubator status.

  • Concerns about Flash Player and AIR runtime dependency and its proprietary nature. This has been largely addressed and the Apache Flex incubator would be free to decide how it proceeds with this and if it wants to target another export format. There is a keen interest in FalconJS and it was reiterated that there is every intention to propose this at some point as either a separate incubator or subproject.

  • There was a question about Adobe commercial Flex support. This could be partly driven by some poor wording in my reporting of the Flex Summit discussions. Alex Harui addressed this in saying "Adobe is not currently planning to offer support for Flex released from Apache, but that could change."

Definitely some valid questions there and a good understanding of what the obstacles might be as well as clear opportunities. One of the quotes that stood out for me was by Greg Stein: "Let's not strive for a perfect contribution from Adobe, and miss an opportunity for an excellent contribution.". I agree there might be areas where we don't have a 100% ideal situation but there is time and scope to get that addressed within the incubation period.

Bertrand Delacretaz - one of the project sponsors - issued a call for additional mentors (given the size of the codebase and large number of initial committers). These need to be existing Incubator PMC members and can register their interest on the mailinglist.

If I understand correctly how the whole process works, after the proposal is fine tuned and the discussion dies down a vote will be called on whether to admit Apache Flex as an incubator project. I look forward to seeing how this develops.

4 CommentsPost a comment

I'm happy to see things are moving along nicely - earlier today the Flex incubator proposal was submitted to the Apache Software Foundation. http://wiki.apache.org/incubator/FlexProposal

There now is a discussion period followed by a vote on whether to accept the project. The voting procedure takes three days after which we will hopefully have some good news and initial source code can get committed.

If you want to follow along with the discussion, subscribe to the incubator mailinglist by sending an email to general-subscribe at incubator dot apache dot org.

Looking forward to seeing what the future brings!


"Challenges that bring great opportunities" is how I'd summarize what I've seen of the Flex summit so far. Adobe has invited some key Flex community members and enterprise partners to discuss the open source strategy around Flex and shed light on its commitment to the Flash Platform runtimes.
Here is some of the more interesting news that came out of the discussions:

  • Adobe has legal clearance to submit Flex to the Apache Software Foundation, the incubation proposal will be submitted in the coming weeks

  • Adobe will not be offering any commercial support contracts for Flex 4.6 and higher, though will honor existing contracts and continue offering support for the foreseeable future.
  • Flash Builder is continuing to be developed, the next version will not have Design View
  • Flash Catalyst is being discontinued
  • Adobe is investigating HTML5 but doesn't have a framework in the pipeline that would allow migrating enterprise Flex functionality.
  • Danny Winokur acknowledges Adobe's communication blunder and resulting trust deficit
  • Adobe wants to continue to innovate with the Flash Platform, gaming and premium video are features that will drive it - but will not be limited to just those areas.
  • There is a firm commitment to AIR on Android, iOS and BlackBerry PlayBook.
  • Discussion with Microsoft is ongoing about AIR application support in Windows 8 Metro.
  • Falcon compiler is under development, current timeline is early second half 2012 for AS3 support, late 2012 for MXML. Based on the discussions at the summit, there is a keen interest to get Falcon contributed as open source and have the community help work on it.
  • Falcon JS is a research project and Adobe seems very reluctant in making any promises that this will turn into a viable product to cross compile real world applications to HTML/CSS/SVG/JS.

If the news about Flex going open source came at any other time, I believe just about everyone in the community would be jumping for joy. The fact that it was announced in the wake of a general sense that Adobe is starting to abandon its Flash Platform technology is what made it problematic. That said, there are certainly valid concerns - especially for the enterprise market that makes huge long term investments and Adobe wil have a tough time reclaiming trust with them.

I was skeptical about what this summit was supposed to achieve but have to say the open discussion has been great and Adobe is clearly looking to find ways to recover from the horrible communication disaster of this last month.

I'd like to thank those attending, Mike Labriola and Leif Wells in particular for being so vocal in representing community frustrations and getting Adobe to acknowledge them.

There's more news coming out today (here is a live stream and you can ask questions through twitter using the #flexsummit hashtag), I might follow up on developments in a later blog post. In the meanwhile there are recordings available that you can watch of yesterdays discussions.
- Discussion, Q&A with Danny Winokur - Flash Platform and Flex updates - Falcon and Falcon JS

9 CommentsPost a comment

I've been meaning to attend gotoAndSki for several years now, but it never seemed to work out - until now. If you don't know about this unique event you should definitely check it out! In summer it takes place in Norway, in winter in Switzerland.

This coming January 2012 I'll join a fantastic lineup of speakers (Mario Klingemann, Mihai Corlan, Bhakti Pingale, Michael Plank, Steven Peeters, Dominic Graefen, Hugo Fernandes, Eugene Zatepyakin) in the beautiful town of Stechelberg. Its a relatively small scale conference, giving you excellent opportunity for networking and general "geeking out".

During the day you can get out and see the Swiss Alps, ski or do other fun activities. The evening is conference time with several sessions over a period of three days.
My session is called "Simple P2P with Flash & Flex for the common mortal" and I'll be showing the latest developments of the CocoonP2P framework. I'll show how to set up device discovery, messaging, file sharing, video streaming (and hopefully some other cool surprises) between various devices *all without a server*.

The goal is to make it so easy your grandmother could do it - and I think we've pretty much accomplished that.
I hope to see you there, if you want to make it out - be sure to grab your ticket now - its without a doubt the best conference deal around (not to mention it includes accommodation and all your meals).


I realize I haven't been blogging a lot about what I've been up to in the last few months so thought I'd better get a post out and share some of those things with you.

Cocoon P2P

The open source Cocoon P2P library has been released and got Dirk Eismann on board as a contributor after speaking at FFK11 in April. With his help we were able to take it from more of a proof of concept to a solid solution for doing local IP multicast with the Flash Player (no server required).

We have great support for device discovery, messaging and object-replication. Reworking the video streaming and fixing some bugs on the accelerometer support is still on my todo list for the very near future.

HTML5 Solutions

I've had the pleasure to work on a book called "HTML5 Solutions: Essential Techniques for HTML5 Developers" with fellow authors Marco Casario, Charles Brown, Nathalie Wormser and Cyril Hanquez.

My contribution to the book is on using the Geolocation API - which, if you haven't already tried it - is one of the most exciting features that is starting to become widely available with HTML5.

It turned out - in my humble opinion - to be a very good publication and should be shipping soon. I can't wait to get hold of my author copies and hear reader feedback when it hits the stores.

Mobile Development with Flash video training

Together with Joseph Labrecque I've recorded a video training title for Peachpit called "Mobile Development with Adobe Flash Professional CS5.5 and Flash Builder 4.5: Learn by Video" that is now available for pre-order.

We cover developing for Google Android and Apple iOS with Adobe AIR, ActionScript and the Flex framework from the very start of setting up your application, to using various APIs, debugging and finally submitting it to the marketplace and app store.

I had a great time recording this title in Graz, Austria with the nice folks at video2brain.

Mobile application development

I've been playing around with different mobile platforms - releasing a couple of applications for Window Phone 7, Google Android and Apple iOS as well as the BlackBerry PlayBook.

VAT validator on WP7 and Android

A while back I was giving the opportunity to do some development on Windows Phone 7 and have to admit it was a very nice experience and a solid development platform. Most of all the app submission and approval process was incredible, consistently taking only 2 days and getting detailed feedback on any problems they find - the best I've seen on any curated marketplace so far.

I decided to port the VAT validator app I had built some years back for iPhone in Objective-C in C#/Silverlight and did the same on Android through the Adobe AIR runtime. Also took the opportunity to test ad integration on mobile and made paid and free ad-supported versions to compare how well they do. I hope to share some statistics soon on how that goes and what model is most suitable for developers that do utility apps.

Sanskrit Clock iPad app

I thought it was high time to explore native development on Apple iOS again and see what the app store experience is like since I last tried it in 2008. Approval time has certainly improved and in less than a week after submitted, my Sanskrit Clock iPad app made it on the store.

Not sure how many people are interested in an app like this (aside from the handful of geeky Sanskrit enthusiasts like myself) but it includes optional romanized transliteration of the numerals, a couple of different color themes and a setting to disable the screen lock so you can use it as a clock on your desk or nightstand.

TWiT Live for PlayBook

TWiT Live is my second PlayBook app that lets you watch the live stream of Leo Laporte's TWiT network shows. I plan to add support for play/pause, volume control and switching between high and low quality streams some time soon.

It doesn't look like things are slowing down for me any time soon, end of next week I'm moving to London to start my new job at Google as a Rich Media Flash Developer. If I manage to find the time I'll be delving deeper into native Android development to do some experiments with widget development and other fun stuff.

Onwards and upwards!


It took me a long time to finally get round to it, but have updated the TWiT Live Desktop AIR application and released it as version 2.2. I've also gone ahead and made it open source under an MIT license, so feel free to check out the code and I'm open to having contributors to the project. For those that haven't tried it yet, TWiT Live Desktop lets you watch a live video stream of Leo Laporte's TWiT network shows as well as interact in the IRC chatroom and check out the twitter and other feeds.

A lot of people were having problems with the "black screen of death" in the previous version. Those issues luckily seem to be resolved and you now have the option of switching between the various video streams or even go for an audio-only version (just right-click for those options). You also have a feature to take image captures of the video stream.

Some minor improvements include saving your last video feed, window size and position when you relaunch the application. You can also double click the video to toggle between full screen and normal mode.

Since its an AIR application this runs on Windows, Mac and Linux -- if there is enough interest we can port it to support Android devices as well.

The old uservoice page will be faded out and I recommend people to use the issues page on the Google Code project to file any bugs or feature requests.

Note: the application loads in the default video players from the various streaming services and renders them in the background. This means the controls are not accessible to you. I'm working on having custom controls for the application that work across the different video streams.

I have plans for a 2.5 update in the next month and a 3.0 later on that will include the following features:

  • Controls for changing video feed, image capture etc.
  • Twitter stream widget
  • Volume control and mute button support
  • Production schedule interface (with timezone support)

There is built-in support to "check for updates" so when you have the application installed new version will get pushed to you as they become available.

[airbadge]TWiT Live Desktop,http://twitlivedesktop.googlecode.com/svn/trunk/releases/TWiTLiveDesktop_2_2.air, 2.2,http://www.peterelst.com/blog/wp-content/uploads/2010/09/twit-badge.jpg[/airbadge]

Thanks for everyone's patience waiting for this update, and Leo and the TWiT team for their support. Enjoy the application and look forward to hearing from users on how to improve it further!


Last night I started writing a plugin to easily embed the Flash Media Playback video component on WordPress blogs and its now ready for you all to use! Flash Media Playback is a free media player based on the Open Source Media Framework and hosted by Adobe so its ideal for bloggers to use. You don't need to install the video player yourself and can very easily just point to a video file, set up some optional configuration settings and you're done.

Thanks to some very helpful beta testers I've got an update ready and a stable release is hosted on the WordPress Plugin Directory.

Using the plugin couldn't be simpler, in a post you just use the following syntax:

[FMP] path to your video file [/FMP]

The path to the video file is the only required argument, in which case the video will be shown with the default width and height you set up in the plugin options page.

Optional arguments include: width, height, poster, autohide, controlbar, playbutton, autoplay, loop,...


[FMP width="320" height="240" controlbar="none" autoplay="true"] http://mydomain.com/video.mp4 [/FMP]

On the plugin options page you can set up whether or not to embed SWFObject 2.2, the text to be displayed if Flash Player isn't installed and the default width and height for the video if not specified.

Using SWFObject ensures cleaner embed code than the raw object / embed tags generated with the Flash Media Playback Configurator.

I plan to support setting up more default values in the plugin options page (controlbar style, autoplay,...) in a next release as well as possibly some of the more advanced features supported.

[update] version 0.8 now adds support for HTML5 video fallback (useful for iPhone, iPad) and default values for all optional arguments.
You can download the component here or install it through your WordPress admin interface. I look forward to seeing people use it on their blogs. Websites developed using WordPress will run both on Windows hosting and Linux hosting

7 CommentsPost a comment

This morning I read an interesting blog post by John Dowdell highlighting some things that bothered me in the last week or so (and talked about on twitter). We've been seeing some sensationalist headlines on tech blogs like "Open Source JavaScript to Replace Flash?" without seemingly any understanding of the (all be it incredibly cool) project in question.

Gordon is Javascript code that parses SWF files, loops through the frames and outputs SVG that can be played back in modern browsers without the need for the Flash Player plugin -- that means it works on browsers like the one on the iPhone. A fantastic proof of concept and it works really well considering the amount of heavy lifting it needs to do.

The problem here is, this is not a Javascript based Flash runtime as it gets advertised. Its parsing an SWF file and outputting SVG graphics. If you look at the list of supported SWF tags you'll notice these are all SWF version 1 and 2 -- meaning very basic functionality. Search for some tutorials on Flash 1 or 2 if you can still find them and see what that limits you to.

Not to diminish this great project, at this time its practically only useful for very simple banners or animations without any sound or user interaction. It is also - understandably so - heavy on the CPU. Now you get the kicker with uninformed comments like this:

"While the open source Gordon is available to all, it still doesn't solve one of Flash's biggest problems. These SWF files still hog the CPU. One demo, a simple vector graphic of a tiger, throws my desktop browser up to around 100% CPU usage"

To be very clear: it is *not* running the SWF file -- its parsing it, converting it using Javascript and outputting SVG. Running that same SWF file on a native Flash Player, even on a smartphone would be a fraction of that in terms of CPU usage.

Then you get people saying projects like this highlight how the Flash Player has become obsolete and its proprietary format is harming the "open web". Somebody hasn't been paying attention since 1998. The SWF format is open and freely available (as are many other formats and protocols used in the Flash Player), that is in fact what makes projects like Gordon possible without resorting to reverse engineering.

There is literally nothing stopping anyone from developing an open source Flash Player, Adobe's implementation isn't fully open source mostly due to some technologies it licenses and can't release (video codecs and text rendering). Saying the Flash Player is a black box or its future is in jeopardy because of its proprietary format is just factually wrong.

I do hope to see more people take up the challenge and start developing code that plays back SWF content, we can only benefit from that.

7 CommentsPost a comment

This last week or two we've seen a lot of heated debate around the future of ActionScript and the Flash Player. Its nice to see this kind of excitement and passion for the technology -- yet I can't help but feel we're experiencing a form of 'continental drift' here. I've seen ActionScript grow up from its humble beginnings with just a handful of frame actions to supporting prototypes, object-oriented syntactical sugar to where we now have a full fledged object-oriented programming model.

That is a good thing, right?

Yes and no. While I wouldn't have dreamed it some time back when I was advocating object-oriented code as the one-stop solution to all your problems, I'm starting to feel we're losing out on a lot that made ActionScript so appealing.

This is something Aral Balkan has been saying for the last year or two and I initially considered blasphemous. Is a focus on how to do things 'properly' holding us back getting things done? I believe so.

Is there anything now - excluding improvements to Flash Player performance - that could not have been done with ActionScript 1.0? Very little, though admittedly it now takes a lot less effort.
Experience matters

Thinking back to the old Macromedia slogan "Experience matters" -- who's experience are we talking about here? Is the visitor to your site, the person using your application going to be in awe for how well you structured your code or what design patterns are implemented? Hell no.

I see a lot of people talking about features like generics, method overloading, private constructors etc. All great features that I would love to see included some time. Improving the language is one thing but it shouldn't impede on what actually matters, the user.

Innovation in the Flash Platform is primarily driven by creativity rather than the feature set of the tools you are given.

I was reminded of this thinking back to some old workarounds in the Flash 4/5 days. More recently, people could have simply said Flash Player can't do 3D, you can't dynamically generate sound -- guess what, Papervision3D and Hobnox Audiotool happened and pushed the envelope.

Rethinking the model

Is chasing after features in other object-oriented languages a sustainable solution or should we look at a different approach?

In my opinion rethinking the Flash Player to be more decoupled from ActionScript and enable anything to run on top would be the way to go. There is no such thing as a one-size-fits-all solution especially if you consider going beyond just web and desktop to mobile and devices. This would make perfect sense in the context of the Open Screen Project and a unified platform.

Going language agnostic is obviously no small feat but with Alchemy and LLVM the idea of a dynamic language runtime is certainly not unfeasible. This also opens up opportunities for a formal plugin architecture allowing you to 'decorate' the Flash Player with additional functionality.

Thinking further outside of the box having the ability to run code in interpreted mode rather than necessarily having to compile SWF binaries would significantly open up the developer landscape and capitalize on Adobe's investment in ECMAScript 4.

With that scenario in mind I would like to see Adobe focus primarily on the following core areas for the Flash Player: performance, multi-threading, hardware acceleration, compiler optimization.


I think the current focus on object-oriented orthodoxy in the community and evolving the language is not necessarily the right approach.

Moving further away from at least the option of dynamically typed languages and simple constructs, we now celebrate having something like navigateToURL(new URLRequest("http://www.peterelst.com")); over getURL("http://www.peterelst.com");.

The Flex framework was an interesting move in this respect, but what do you see -- people starting to feel the need to use additional frameworks on top of that. Adding abstraction layer on top of abstraction layer. It is as if we strive for complexity to validate our work as developers.

I'm definitely not one to promote doing away with object-oriented code but I question the motives for evolving it to imitate other languages, what it would fundamentally solve and what role it would play in evolving the Flash Platform. Maybe its worth a rethink.

"Make everything as simple as possible, but not simpler" - Albert Einstein


50 CommentsPost a comment

I was happy to see this video by Dave McAllister, Open Standards Evangelist at Adobe, talking about Adobe's take on open initiatives and how that involves community.
There are some common misconceptions about Adobe being very concerned with keeping their core technologies closed and proprietary while, more so than many other leading technology companies, the opposite is true. Even more so in the last few years.

(via Serge Jespers)

5 CommentsPost a comment

I'm very happy to see Ryan Stewart from Adobe taking my concerns on board with regards to Flash content SEO and launching the "Flex SEO Contest". Its not been particularly fun being the whiney guy continuously talking about issues with SWF indexing. At the very least we'll get people to actively start experimenting with SEO for Flex applications, see what works and learn some best practices. Make sure to get involved!

More about the contest here: http://blog.digitalbackcountry.com/?p=1478

2 CommentsPost a comment

I did a talk last night on "The Evolution of the Flash Platform" at Skills Matter as part of the London Web Week. Had a nice group of people turn up from various backgrounds and all seemed very interested in seeing the direction Flash is heading in.

Tried to cover as much ground as possible within limited time talking about Flash, Flex, AIR, Flash Lite, Flash Media Server, ECMAScript / ActionScript, Adobe and open source.

Also discussed a few common misconceptions related to Flash content and SEO, deep linking and browser button support. Then moved on to showing several of the sneak peeks from earlier conferences -- Flash "Next", Pacifica, Thermo, etc.

Slideshare.net is having some problems with the Flash Player 10 beta, if you can't see the slides above you'll find them at the following URL:



5 CommentsPost a comment

Some more good news coming from Adobe with them contributing a new virtual machine to the open source Tamarin project. This new VM - internally called QVM - known to the outside world as Tamarin-Tracing essentially brings the power of AVM2 (ActionScript 3.0/ECMAScript 4) to mobile devices. It wouldn't be a stretch of the imagination to see this as a first step into bringing AS3 Flash content and eventually Flex/MXML to mobile and devices. Exciting times ahead, given the current restrictions of a technology like Flash Lite I hope for widespread adoption of this new engine.

Read more http://www.onflex.org/ted/2007/12/meet-qvm-new-tamarin-vm-contributed-to.php http://www.jamesward.org/wordpress/2007/12/18/qvm-mozillas-new-mobile-vm-for-ecmascript-4/ http://hg.mozilla.org/tamarin-tracing


We all heard the rumors that something big was coming. Last night Shantanu dressed up as Santa and left the following goodies on labs for us to play with:

Flex Builder 3 beta 3 The long awaited beta 3 has been made available, one step closer to a release -- be sure to check it out!


Adobe AIR beta 3 Along with Flex Builder 3 a new beta for Adobe AIR is now out with some interesting changes and additions.


AMF3 specs AMF, the Action Message Format, is a binary format used in Flash Remoting to communicate native ActionScript objects between a back-end and your applications.

They've now released the specification for AMF3, the latest version which is used in Flex, and have committed to work with the community to get implementations for every major server platform.


BlazeDS This is huge news, Adobe is open sourcing (under LGPL v3) the messaging services that are part of Livecycle Data Services, along with the AMF3 spec and they've wrapped it in a Java server.

What this now means is that we can build multi-user real-time data-driven applications (wow, say that ten times), with data push and conflict handling. You've probably all seen the LCDS demo's and I for one am really excited there is no longer a barrier of entry to start using it in projects. http://labs.adobe.com/technologies/blazeds/

Thanks guys, great job in getting it all out!


The Papervision3D sesion with Carlos Ulloa is up next, still half an hour to go but better go grab a seat as I'm sure its going to be packed.

13:32:02 GMT-0400 - Carlos takes the stage and starts talking about next generation web experiences -- going beyond technical limitations

13:34:04 GMT-0400 - make every user's experience unique -- realtime image synthesis, allows user to be in control. Video game industry has been the driving force for this, they are responsible for a lot of innovation.

13:36:31 GMT-0400 - Realtime (active, responsive) vs pre-rendered (passive, unresponsive). Flash Player standard for interactivity on the web, with FP9 (AS3, multi-threading, optimized rendering, full screen). Open Source Flash community -- developers developing for developers.

13:38:18 GMT-0400 - Papervision3D aims to be powerful and easy to learn -- it has high performance and is designed for Flash, its flexible and extendable. Avoid math in the API, have 2D asset handling.

13:39:52 GMT-0400 - COLLADA is a scene format, its compatible with most 3D packages (3DS Max, Maya, Blender). You do need a 3D package, workflow is: 3D -> 2D -> PV3D

13:42:10 GMT-0400 - Timeline: started in November 2005, private beta on December 1st 2006 (14 classes), July 7th 2007 a public beta was released (200 classes).

13:43:55 GMT-0400 - Team: Carlos Ulloa (creator and project lead), John Grden (release manager), Ralph Hauwert (engine coder), Tim Knip (research & development). Committers: Andy Zupko (materials, component), De'Angelo Richardson (interactivity, sound), Richardo Cabello (R&D, demo's, source code)

13:45:12 GMT-0400 - Statistics: 2500 people on the mailinglist, 7 FWA's, 200.000 component downloads, 500.000 blog hits, 1.000.000 site hits.

13:47:59 GMT-0400 - Future plans for version 2.0: tweening, morphing, skinned skeleton, precise materials, flat & phong shading, bump & environment mapping, interactivity with object & texture level mouse events, 3D sound.

13:54:09 GMT-0400 - Going from 2D to 3D options: transitions (2D -> 3D -> 2D), navigation (clicking on 3D objects), exploration (everything is 3D), customization (allow user customization of 3D environment, texture etc.)

13:57:11 GMT-0400 - Transitions: moving the camera from one plane to another (Sony, BBC iPlayer), 3D object move in front of 2D as a way to transition.

14:01:01 GMT-0400 - Navigation: first PV3D site, evax.es - planes and camera movement, 2007 new year calendar PV3D example. navigating inside a glass of Guinness, Mercedes Benz (blurring, object navigation)

14:04:27 GMT-0400 - Exploration: complex objects (formula 1 car), shark example (camera in center of cube, by clicking there is a camera rotation), space ship (moving, camera changing position and angle)

14:06:18 GMT-0400 - Customization: 3D face (remapping, morphing)

14:07:31 GMT-0400 - What's next: toys (just play without complex interactions)

14:08:11 GMT-0400 - Charactes: skinned skeletons (traditional and motion captured animation), ASCOLLADA by Tim Knip very advanced work

14:13:37 GMT-0400 - Inspiration: 3D games, demo scene, motion graphics (camera work), film & TV, look around you

2 CommentsPost a comment

Having had Ralph over to our user group last Thursday was a real inspiration to get experimenting with Papervision3D again. Last night I decided to try out John Grdn's new PV3D components for the Flash IDE -- I was stunned. Its been ages since I last played around with the API but its ridiculously quick and easy to get a Collada model loaded in and apply your custom materials. Just a couple of lines of code and you get it animating. Thought I'd share my little experiment here, if you've got a couple of minutes to spare during a coffee break be sure to give it a try.


1. Download and install PV3DComponents_v1.0.mxp from the following URL: http://www.rockonflash.com/blog/?p=54

2. Launch Flash CS3 and create a blank FLA

3. Drag an instance of the Collada Scene component from the components panel to the stage, resize it to fit the stage and give it the instance name "scene3D"

4. Download cube.dae (created by Alessandro Crugnola for this experiment)

5. Go to Window > Other Panels > PV3D Panel

6. In the PV3D Panel point to your working folder and specify cube.dae you just downloaded as its Collada source file

7. In the model tab of the PV3D Panel set up the zoom and rotation of the 3D object


Notice the live preview in the component on stage. Now, lets add a material to this cube --


8. Import an image file into you'd like to use as a material, set up its linkage ID in the Library panel to "cubeSkin"

9. In the Parameters panel click on Materials list and set it up to read as the screenshot below:

Papervision3D component material dialog


The materialName property refers to the name of the material as specified in the Collada file, in this case its "CubeMaterial". Interesting to know if you're not sure what material names where used in a specific file you can just open it with your favourite text editor and look for the library_materials node -- Collada files are XML based so easily readable.

The materialLinkageID property is set to the Linkage ID we gave that bitmap image that was imported i.e. "cubeSkin"


10. Add a new layer to your timeline and add the following code (if you feel dirty doing this, simply create an AS3 class and set it as the document class for the FLA).


import flash.events.Event;    function rotateCube(evt:Event):void {   scene3D.collada.rotationX += 1;   scene3D.collada.rotationY += 1;   scene3D.collada.rotationZ += 1; }    addEventListener(Event.ENTER_FRAME, rotateCube);

Pretty easy, right? It just increments the x, y and z rotation of the 3D object by 1 every frame. Now save this FLA in your working folder and run Control > Test Movie which should give you a result something like this:


Download the source files

31 CommentsPost a comment

Its incredible what the Papervision3D guys have been doing -- pushing ActionScript to the limits in creating a powerful 3D engine for Flash that we could only have dreamed of. Another example of how the community drives the evolution of the Flash platform. Although their API was easy enough for any developer to get started with, John Grden has now announced a component set for the Flash authoring environment that actually shows you the rendering at design time. You basically just browse to a Collada file, set up your scene and camera rotation, zoom, focus and you're all set.

The component even allows you to assign new materials (bitmap or movie clip). Unfortunately that doesn't give you a live preview because the library items are not accessible for the component, but they've handled that nicely by just applying a color fill so you can see what material you've used.

Read John Grden's blog post for more information on the Papervision3D components and be sure to check out the video below!