A follow up to last year's FITC presentation, Jim Corbett was back with version 2 of Flash Internals. As a developer, I've found last year's session and as well as version 2 as one of the highlights of the conference. Beyond getting tips on how to optimize your code based on how the Flash Player works, I find it incredibly fascinating to find out more behind the scenes information on the Flash Player.
Some interesting highlights of the session:
- Adobe are working to make Flash use more of the GPU, but are moving slowly to get it right having learned from mistakes made with the Shockwave player.
- With one of the Flash Player's teams big motos being "don't break the web", there's no plans on ever removing AS1 and AS2 virtual machine. However, if it did have to be done, Jim could see one way it could be approached would be to have the VM as a separate component that people could download. However, he stressed Adobe has no plans in removing the original VM, that's just his reaction to a question an audience member asked.
- Will Flash ever include a proper 3D engine beyond the "postcards in space" (as Jim calls their current perspective 3D)? Perhaps one day, Jim said but it's hard on both their side to make something that works well across the board of devices, plus it's hard to make sure it's something that is easy for Flash developers and designers to work with.
- He went into great detail about how the headless Flash player works with search engines and how Adobe continues to work, especially with Google to improve SEO. He explained how Google have created a Virtual User used to index text data in Flash, skipping through animations and clicking on any buttons available and indexing all text that appears on the stage.
After the session, I approached Jim Corbett with 2 questions, that I've been wondering about for some time. One was what would be the direction of ActionScript now that EMCAScript 4 is dead. He said that Adobe were likely going to do their own thing, reacting to what the community wants while at the same time trying not to drift too far from the ECMAScript standard, since so many developers were familiar with it.
My other big question was about getting a seperate thread for the UI in the Flash Player beyond Pixel Bender. He mentioned that it was not going to happen any time soon, as it would require a completely rewrite of the Flash Player. He pointed out, that this does not mean it will never happen, pointing out when a complete rewrite of the Shockwave player was done, where the new player was created in parallel to maintaining their old player. He said that eventually code gets old and crusty and a complete rewrite is needed, but anything that radical is still very far away from happening, so in the meantime developers that want their own threads in Flash could use Pixel Bender for certain use cases.