06.09.2011
At Satellite Media, Flash often plays a large part in our daily workflow. It's an ingredient we regulary utilise in developing corporate sites, micro-sites, Facebook & web apps, games, standalone installations, and mobile apps. So it's no suprise that we're very excited about Adobe's Flash Player 11 official release. As other agencies, digital studios, and developers around the globe anxiously await this release, with the all new Stage3D API (codenamed 'Molehill'), there is massive buzz about the new creative possibilities this will bring.
With 3D already being supported in Flash Player 10.x, you might wonder what the big deal is all about. In my opinion it's really all about performance, with Stage3D now supporting GPU hardware accelleration. In terms of real-world 3D performance this is what will take Flash Player 11 to a whole new level. It will also open up many new creative possibilities for online gaming, where Flash Player 10 didn't quite cut it (performance wise).
Some of Flash Player 11's most notable new features are:
- Native 64 bit support
- JPEG-XR image format support (better compression and alpha channels)
- H.264/AVC software encoding (better quality for webcam based video)
- Stage3D APIs (low-level GPU-accelerated APIs which enable advanced 2D and 3D capabilities across multiple screens and devices)
- Socket Progress Events to improve management of data transfer, track progress, and provide feedback in apps that send large amounts of data
- New audio compression (G.711) - to integrate real-time voice and telephony capabilities into business apps and integrate with existing phone systems using the G.711 codec
The Flash Player 11 Release Candidate is available here for download.
(For a quick look at what Flash Player 11 can do check out this youtube video then come back to the article)
It's also worth noting that the Stage3D APIs were awarded the Silver Edge Award by Computer Graphics World at the 2011 Game Developers Conference. By using the new Stage3D APIs in Flash Player and Adobe AIR® it will be possible to deliver even more sophisticated 3D experiences across almost every computer and device connected to the Internet.
In addition to the postive vibes being spread regarding this new Flash Player release, there's also lot of negative 'anti-flash' hype being thrown around by many developers and companies who are in favor of pure HTML5 / Javascript & WebGL solutions. The 'death of Flash' debate has been going on for as long as I can remember, yet it still continues to thrive in the web space and now across desktops (AIR apps) and mobile devices. In addition, with the release of IDE Software kits like Adobe's Flash Builder 4.5.1 and Flash Catalyst CS 5.5., I think it's fair to say that developing on the Flash Platform is becoming increasignly more productive and sophisticated.
If you factor in the online Flash community (user groups, forums, open-source libraries, frameworks, and tutorials) then you really start to wonder how it could be possible for Flash to be 'dying' anytime soon. Don't get me wrong, HTML5 & WebGL are really great, as are native languages like ObjectiveC for iOS and Java for the Android platform. It really just depends on your project. At Satellite Media, we'll continue to harness whatever technology best suits our projects, and in many cases that will likely be the Flash Platform.
Adoption rate will also be a factor in which technology we'll choose for a project. For example, WebGL is only supported on the bleeding edge browsers like Chrome, Firefox, Safari and Opera (for Windows). However, with no support on IE, and with Microsoft's current stance that WebGL has major security flaws, developing an app with WebGL that's intended to reach 'everyone' is not a smart choice, in my opinion.
WebGL makes it possible to dump the video memory, including the graphics cache of the browser. Thus, it is possible to retreive, for example, the Facebook pages of the visitor and then access data accordingly. In short, it is a major security concern. Flash Player 11's Stage3D doesn't have this issue. The team at Aerys reported these findings as a part of their participation to the Stage3D private beta ran by Adobe.
It is also possible, through WebGL, to stall the GPU and freeze the machine of the visitor. This is not a problem in Stage3D because the hardware instructions set is limited, and there are no such things as (infinite) loops. Of course one would argue that this is more a technical limitation, but loops aren't that useful when programming the GPU.
When you consider the corporate audience, technologies like Flash will continue to dominate in terms of cross-browser support. It's also important to note that Microsoft will continue to be twice as careful about security issues on Internet Explorer, due to it's widespread corporate use. In addition, the Flash Player 11 will spread quickly upon release, primarily because it's so easy to simply update your player. It's a much more involved task to ask all IE or non WebGL-supported browser users to upgrade their entire browser.
The Flash Player team has gone to great lengths so make the new 64-bit player extremely secure. Stage 3D will run great on mobile devices without compromising security, by only exposing a specific set of GPU features. Adobe has also added restrictions such as limiting the number of calls per frame to mitigate the effects of denial of service attacks. It's even designed its own proprietary shader language that does not allow for loops or functions inside shaders.
There are already many well-known 3D engines available to developers for creating 3D Flash sites, games and applications. Papervision and Away 3D are the oldest and most well-known engines, but there is one in particular that I've been watching closely that is called Minko.
Developed by Aerys (http://aerys.in/),Minko will be officially released soon, as an open-source project. The 3D engine will have all the features of Away3D but with many new features and a more robust implementation.
Here's just a small list of great features that are included in Minko:
- Write custom ActionScript shaders and program the GPU using AS3 code.
- Robust custom Collada/3DS/BSP parsers
- Lighting extension with "in the scene" light objects
- Light objects can respond to 3D transformations, physics, etc...
- Post process effects API
- High level geometry manipulation API to work with vertices and triangles
- General purpose scene graph API with operators overloading, methods calls and chaining
- Extensions system (augmented reality, physics, lighting, post-processing, mouse interactivity…)
These awesome features are free and open source. Aerys will also be offering custom development, support as well as a Profesional SDK with more advanced features like:
- Using their fileformat with 3D data compression and 3D data streaming (to make your 3D content 50 to 80% lighter)
- An artificial intelligence framework
- A robust physics engine
- Advanced (post process) effects
- A scene editor to import, arrange and export content to our optimized format
- A code-less effect editor
So it's worth keeping an eye on Minko.
Sneak Preview:
Download the Flash Player 11 Release Candidate from Adobe (Desktop)
By installing the latest beta Player, you'll be able to view the new Flash creations that utilise Stage3D (Molehill).
Minko 3D Examples:
http://aerys.in/minko-quake-3
http://aerys.in/minko-citroen-ds3
You can also view a huge list of Flash Player 11 (Molehill) demos here:
http://www.leebrimelow.com/?p=2607
More detailed info and examples available @ Adobe Labs:
http://labs.adobe.com/technologies/flashplatformruntimes/features/stage3d.html#video
A video of Minko's DS3 demo:
http://www.youtube.com/watch?v=oUGH9Odnx1s
Exclusive footage from Minko's "Black Sun" game:
http://www.youtube.com/watch?v=eK62s5bxUy4
Live demos on the Aerys blog:
http://blog.aerys.in/2011/09/07/google-globe-ported-to-flash/
http://blog.aerys.in/2011/09/04/gravity-demo/
Video interview made with Adobe, called "The Flash Accent":
http://blog.aerys.in/2011/09/08/minko-in-the-flash-accent-episode-2/
If you simply want to see some show reels of the new 3D possibilities without installing the beta player, here are some good you tube vids:
http://www.youtube.com/watch?v=gpU7aoXfuuU&feature=related
http://www.youtube.com/watch?v=9LAN5GHm5eM&feature=related
http://www.youtube.com/watch?v=Aein6drd_Hk&feature=related
http://www.youtube.com/watch?v=hCXxCD_GYTA&feature=related
Hope you enjoyed this post,
Mike Delucchi
Senior Flash Developer at Satellite Media


