SWF and AMF3 specifications update by Thibault Imbert

SWF Format

We are really happy to announce that we just updated the SWF (SWF19) and AMF3 specs with the latest information. I promised this to you guys a long time ago, this will give you the latest details if you are working with both formats. Some things were either missing inaccurate in both specs, so we fixed that. The AMF3 specification had some types missing like Vector and Dictionary that we introduced in Flash Player 10.

The SWF specification had some undocumented things like a new tag for Telemetry (Adobe Scout) and some other miscellaneous attributes that we now fully document.

You can find both specs at the following url:

http://www.adobe.com/devnet/swf.html

Comments (42)

  1. Max Oizo wrote::

    What about Tag type = 92? Why is it not included in the specification?

    Wednesday, January 30, 2013 at 1:12 am #
  2. HB wrote::

    I found the player runtime roadmap update more interesting.

    So Next has been dropped? What is going to happen with some expected language improvements like generics? (even if they maybe weren’t going to happen). Also, for some of us having some AS Next meant that the whole 2013 and part of 2014 was already secured for Flash, but now we only see data up to the end of the first half of 2013.

    No past announcement regarding the Flash platform scared nor worried me, but this one does… just my humble view of things.

    Could you share any insight on this subject?

    Wednesday, January 30, 2013 at 2:18 am #
  3. Lee wrote::

    “Adobe AIR is available and supported for Windows 8 Desktop on x86-based computers. Adobe currently has no plans to support Adobe AIR for Windows 8 Modern UI applications.” – do i understand this correctly? There will be no AIR for mobile devices using Windows 8?

    Wednesday, January 30, 2013 at 2:32 am #
  4. americancuervo wrote::

    Hi Thibault,

    Love the work that you do, keep it up!

    A little of topic here– but:
    “Adobe currently has no plans to support Adobe AIR for Windows 8 Modern UI applications.”

    Is it true???

    Wednesday, January 30, 2013 at 8:19 am #
  5. thierry wrote::

    Is that a joke ? no Win8 & no more NEXT ?
    Does it mean that future Flash development will be ended this year ? Does it mean Flash is REALLY dead ?
    pfffffff

    Wednesday, January 30, 2013 at 10:38 am #
  6. Varnius wrote::

    I hope dropping Next doesn`t mean that all that we get will be minor updates and some small performance improvements. As it is now we have that nice Stage3D GPU acceleration support for rendering but poor performance while running AS and that can become (if not already is) a serious bottleneck for simulating CPU intensive calculations like physics. Sure, we have flascc but I think it is more suitable for porting code.

    Wednesday, January 30, 2013 at 12:49 pm #
  7. Paul wrote::

    So looking at new roadmap adobe will invest even less in flash/air :(
    They are preparing to just shut it down in few years :(

    Wednesday, January 30, 2013 at 1:26 pm #
  8. Sergey wrote::

    I am very disappointed in the new roadmap. Flash Player “Next” and ActionScript “Next” are canceled and I dont understand what we will get instead. Now the roadmap looks like no serious updates planned.

    Wednesday, January 30, 2013 at 2:21 pm #
  9. anon wrote::

    Sigh….Please be straightforward and let us know whether this is a sign of dis-investing in the future of Flash?…It’s getting quite tiring reading between the lines about the future of Flash….what about your own recommendation of Stage3D being the future of apps in Flash…does that stop now….is this the end ?

    Wednesday, January 30, 2013 at 3:24 pm #
  10. Pintade Désapointée wrote::

    Quel incroyable aveuglement de la part d’Adobe. Air se présente comme une solution fantastique pour déployer un contenu de partout, cela a regonflé le moral de tous les devs AS3…mais en lisant cette roadmap on ne peut que douter de l’avenir de cette technologie…pas de nouvel AS, pas de nouvelle VM, pas de Win 8 mobile…pas d’ambition !

    Wednesday, January 30, 2013 at 3:43 pm #
  11. Patrocle wrote::

    Yeah, tired of defending flash/air if even Adobe doesn’t believe in it anymore !
    So sad, and Angry : You had a wonderful tool, way more advanced than others, and you let it go ?
    When in 2 years HTML5 will be down according to Gartner Hype Cycle, where “Next” will be ?
    Com’on ! pull yourself together, a SteveJ is not that genius. You can.

    Wednesday, January 30, 2013 at 4:10 pm #
  12. yodea wrote::

    No AS next ? Serge fridman wrote :

    Currently, Stage3D is only designed for the Games use-case. Most games are economical with their use of textures. And typically, load the textures at the start. So they can benefit from ATF compression.

    User Interfaces, on the other hand, require a lot of texture surfaces. Textures are generated on-the-fly. And sometimes we want to manage texture memory usage by uploading and dispose of textures on-the-fly. If the UI is changing or scrolling rapidly, then the speed of texture update will dictate how quickly and smoothly the UI experience can change or scroll.

    Stage3D isn’t very good at UIs, because it can’t upload textures quickly enough. It’s not very good at rendering components that are elastically-sized depending on screen-size and orientation. And Stage3D isn’t good at rendering freely-styled text.

    Stage3D has been bolted onto the side of AS3. It only has low-level primitive APIs, and it’s mostly good at moving bitmap textures around.

    The Display List has mature and sophisticated APIs that are good at vector graphics, and freely-styled text.

    It would be great if there was a fast way to accomplish bitmaps, vector graphics, and text – all rendered in Stage3D. Maybe I just need fast graphics and text APIs that “draw” onto a BitmapData, or directly to a Texture. We wouldn’t need the display-list if there was a pure Stage3D way to accomplish that. (I’d settle for handling mouse collision-detection myself if it wasn’t provided).

    Apart from better Stage3D graphics, I want a smaller captive runtime for mobile AIR apps. Attaching only the libraries that you’ve used. This is another feature I was expecting in AS”next”. Now, I’m hoping that Adobe will introduce it in AS3.

    What if the compiler could optionally just leave out the Display-List libraries if we’re not using them? What if the root class of a Stage3D app doesn’t need to extend Sprite anymore?

    I hope that Adobe are already planning to take some of the AS”next” ideas, that were originally destined for AS”next”, and incorporate them into AS3 instead. If they can fix some of the Stage3D limitations, then why not make AS3 execution faster? Possibly a stricter compile mode, that restricts you to using a sub-set of AS3 in a strongly-typed fashion, but results in faster object code. And faster floating point types.

    AS3, AIR, and Flash have the potential to be great for cross-platform development across mobile devices, desktop, and browser. We’re 99% there. I just hope Adobe are committed enough to put in that extra 1%.

    Wednesday, January 30, 2013 at 4:24 pm #
  13. nacron wrote::

    Hey Thibault,

    it is a bit confusing to see the Windows 8 Modern Statement for air … because you state on the site for air 3.6 this:

    Is AIR 3.6 supported on Windows 8 Modern?
    No, We are actively working on support for AIR on Windows 8 Modern and Windows RT. Adobe expects support for Windows 8 Modern/Windows RT to be available in the first half of 2013.

    http://labs.adobe.com/technologies/flashruntimes/air/ (under product details)

    could you clarify this please and remove one of the statements.

    Dropping the Windows 8 Modern compatibility would be a really big hit to the Air platform. I accept that flash player on mobile is dead. But ignoring the presumably third large tablet platform is … hm not pleasant to put it mildly.

    Wednesday, January 30, 2013 at 4:25 pm #
  14. guk wrote::

    Is this the end of flash??? This looks so sad.

    Wednesday, January 30, 2013 at 4:36 pm #
  15. HB wrote::

    If I knew some people would behave as children I’d have stayed quiet. I prefer to treat these things by mail, but I didn’t know where to write.

    I’m sure Adobe gets more income from AIR in iPhone than on Android, and I wonder how much of the VM is transformed into native code in those cases, but surely a complete new VM wouldn’t be very profitable in that case (not a complete excuse for losing it anyway), and surely iPhone would benefit from getting generics, better OOP support, etc. Also, of the 5-8mb an empty IPA has, I guess a lot of it is from the classic display list.

    At any rate, we should wait for some more info, which I think we deserve getting.

    Wednesday, January 30, 2013 at 5:19 pm #
  16. Polaco wrote::

    Normally when a project reaches it’s end I am always asked to finish completing the project documentation. I hope this is not the case :(

    Wednesday, January 30, 2013 at 7:46 pm #
  17. TG wrote::

    The Flash roadmap has now gone from, “…we are also modernizing the Flash runtime’s code base in order to ensure that the Flash runtimes meet the needs of developers over the next five to 10 years” to “Adobe is planning an additional Flash Player release in the first half of 2013.” It’s astounding to see how much FUD Adobe’s management has unwittingly spread about its own product since November of 2011.

    Wednesday, January 30, 2013 at 9:05 pm #
  18. Tronster wrote::

    I appreciate all the comments coming through, both good and bad. I respect that level of transparency. I’m sorry so many people are upset about the future road map but the end of Flash began awhile ago, when Adobe said it had no plans of updating the Flash IDE to support Retina (unlike the other creative suite of products.)

    At the very least, there are still a few years left with it; still a fantastic platform for iOS targeting via FlashBuilder. (Still create in FlashDevelop, but FlashBuilder makes deployment crazy-easy.)

    Wednesday, January 30, 2013 at 9:33 pm #
  19. Szymon Brych wrote::

    From what I understood, there will be no new AVM for a while, however some changes to the language may be introduced. A pity nevertheless.

    Wednesday, January 30, 2013 at 9:42 pm #
  20. AirIsForApps wrote::

    If only Adobe could consider Air like Apache does…
    http://flex.apache.org/about-features.html

    Wednesday, January 30, 2013 at 11:49 pm #
  21. Thibault Imbert wrote::

    Hi guys,

    I understand the disappointment. But when we started the initiative of creating a new version of ActionScript and new VM we quickly realized how disruptive this would be for the entire ecosystem.

    The tools, the libraries , everything would have to be migrated and we remember how long it took people to transition from AS2 to AS3. We talked to customers and the feedback was, yes, sound exciting, but if we have to rewrite all our projects, migrate people to this new language and change our workflow (which would have been disruptive for a while), it would have been tempting to just move to another solution or people would have just stayed on AS3.

    Right now with Stage3D on mobile, we made it possible to develop games with Flash Player and AIR, Scout is a first class profiler for ActionScript developers, Starling, Away3D and Feathers are powering these games and we would have had to migrate all that. This would have been too disruptive today to do that, so we decided to stop investing in ASNext.

    On Windows 8, Flash is supported in non metro mode, but yes not in the Metro (Modern UI mode). This may change in the future, but we have no plans supporting it for now.

    Thibault

    Thursday, January 31, 2013 at 6:48 am #
  22. Polaco wrote::

    Well I suppose that we can still expect performance improvements in flash player and ActionScript 3 enhancements (maybe AS 3.1, 3.2), can’t we?
    I mean taking for example Java, going from version 1.4 to 1.5 and so forth didn’t meant to make it backwards compatible so many code enhancements are syntax sugar made by the compiler and new features keeping backwards compatibility and JVM improved to support new features and make it perform better.

    Thursday, January 31, 2013 at 8:49 am #
  23. Szymon Brych wrote::

    @Thibault

    Decided to stop investing in ASNext? This sounds even more disappointing as impression was made that this is only postponed thing. And well, I kinda hoped that after 1~2yrs when your most recent projects enter their mature form you will examine again option of creating new AVM (or rather accelerate ongoing, long-term R&D process concerning this thing). In my opinion AS devs are quite different now than they used to be when AS3 was introduced and I wouldn’t expect changes to be so significant for them in terms of language. I also don’t think that going forward is a thing that would discourage anyone. I believe quite opposite – it would give impression that you are really dedicated, create whole world of new possibilities for devs and if you maintained reasonable level of support for as3 tooling in this ‘transition’ period I guess no one should complain.

    Thursday, January 31, 2013 at 9:28 am #
  24. I remember the first time when my boss told that Flash is dead and we should switch to HTML5 and I said no flash isn’t dead and i showed the roadmap before the update, i wonder what he’ll say now after seeing the new updates :/, Adobe should make it clear to us about Flash runtime because our carrier depend on this platform milions of developers.

    Thursday, January 31, 2013 at 10:48 am #
  25. HB wrote::

    I’m with Szymon on this.

    Also, IMHO, on a big company, if some project, in an area where you already have some experience, is realized to be not worth it a whole year (or more) later of working on it, it means some people managing it should be out (doesn’t matter how up in the chain that people are). Plus, why is it not a good idea for Flash but it is for web development? I have some ideas, but prefer to shut up heh.

    And we still need answers on what is going to happen on the second half of this year and the whole 2014.

    Well, I’m glad we at least can talk about it freely and get some feedback.

    Thursday, January 31, 2013 at 10:51 am #
  26. adrian281990@yahoo.c wrote::

    I really hope adobe changes their mind and continue to release Flash next as previously plan. We are need a breath of fresh air.

    Thursday, January 31, 2013 at 11:01 am #
  27. HB wrote::

    About Starling, Away3D and Feathers… I bet several developers out there would push the needed modifications to make the projects compatible with AS Next.

    And regarding all the people complaining about Windows 8 modern UI… I’m with Adobe on this one, not that I wouldn’t love to see support for it, but if that people worked on some AS or ABC to CLR/WRT converter, I bet Adobe would be willing to support the project, add native extensions support, etc.

    Thursday, January 31, 2013 at 11:57 am #
  28. HB wrote::

    A blog entry to take into account:

    http://madskool.wordpress.com/2013/01/30/adobes-cut-price-roadmap-and-mc3dnext/

    Thursday, January 31, 2013 at 1:36 pm #
  29. Martin wrote::

    What a dissapoint , again … Adobe You broke our carriers …

    Thursday, January 31, 2013 at 2:23 pm #
  30. Martin wrote::

    Please tell us clearly What is Your plans about Air on mobile and flash

    Thursday, January 31, 2013 at 2:36 pm #
  31. raph wrote::

    The modern UI is really a big mess on a PC, where Adobe is quite well positioned with AIR. On Windows 8, most of the usage will remain on the legacy mode for some time. Windows is struggling to make editors, not only adobe, switch their applications to be integrated in the modern UI. I think we’re better off the modern UI when using a PC, we should not consider that any PC laptop sold for now must feature a tactile screen. A foldable laptop is not made to be used with a tactile screen, the screen is too far ! and mounted on a axis that is not made to support pressing on it, don’t get me started on the screen cleaning… On a tablet it seems OK because we hold it in our hands.
    The decision to not go on this way for the moment is quite fair.
    About a new disruptive version of AS :
    I prefer having continuous performance improvements, new API added progressively, than to have to learn all over again, the transition AS2=>AS3 costed me some time already, just to hope to have a better solution. The state of the AS3 today is quite good and i’m happy with it.
    Windows on ARM shouldn’t be a target considering that it’s not a success at all (400K sold) where android is literally exploding (75% on the market today) and adobe has to work on optimizing the runtime as much as possible, as well as a good compatibility with all the hardware configs.
    IOS, for what it cost and with the darker perspective in comparison with android, shouldn’t be a priority (quid of the cost of the AOC). I would have preferred the same cost invested in away3d, starling and others, compatible with FP, AIR on android/PC/MACOS, which is more realistic. Adobe has stopped consolidating the areas they are good at, instead they have diluted they efforts, like FP for android, that they stopped too late after letting the community work on it and prepare their application.
    Stage3D alone is useless to most of the AS3 dev, if it’s not shipped with a complete library to easily handle 3d content. 2d performance possibilities won’t be used as well if starling doesn’t make progress fast. Stage3d is still new and we can hope continuous performance improvements.
    This is where adobe can make a difference today.

    Thursday, January 31, 2013 at 3:31 pm #
  32. zuzzu wrote::

    It’s not a smart decision imho. You have decided to focus Flash on gaming, but that requires better performance.

    Performance of VM is not as bad at the moment as people tend to say, if you know how to work with it, but still it should be far better if you target gaming.

    I was happy like a child when I’ve read about true primitive types coming in ASNext. And the idea of types like float3 etc. known from shader languages was epic. Potential of optimizations in VM would be endless on modern CPUs.

    ASNext doesn’t necessary has to ruin backward compatibility. You can just support mixing of ActionScript 3 with well.. ActionScript 4? For example – you can support pure AS4 projects based on the new VM and AS3+AS4 projects which would be compiled to the old VM’s opcodes. Old projects would stay on the old VM with the ability to use modern libraries written in AS4 and new projects would use new VM. Everybody would be satisfied.

    Just think about it. It is the best thing in which you can invest right now. Flash has a cool feature set and we don’t necessarily need more of them at the moment. Future of the platform is driven by it’s developers and just read above what they want. They want that new VM.

    Thursday, January 31, 2013 at 5:23 pm #
  33. zuzzu wrote::

    Anyway I still love you guys. I don’t like HTML5 and WebGL. You would have to frustrate me far more to push me there.

    Thursday, January 31, 2013 at 5:29 pm #
  34. Pedro Fernandez wrote::

    The problem is that the impression left by the last movements of Adobe (since November 2011 and more clearly with the new roadmap) is a significant reduction of resources devoted to the flash platform, to devote many more resources on the web / browsers area.

    That the current plan is to release just two versions of Flash Player / AIR, without any evolution (as3/avm speed + support new platforms) only proves the lack of a real future for the platform. It is as if Adobe were waiting to see what happens during the year…

    That’s what your clients/developers are seeing in Adobe’s plans. No real, long-term future.

    After the news November 2011 many developers moved to other development environments. With this latest news it is normal that many more also leave the platform, leaving less and less technology developers and letting it die slowly.

    There are only two ways to end a technology so widespread and so productive:

    1) The main company (Adobe) leaves the technology gradually (less resources) and spreads to other markets/technologies.

    2) Developers that work with the platform to create applications stop using it because of point 1 (or because there is another one really better and extended in the market).

    In this case, the second point would not occur if the first one does not happen.

    The reality is that both the industry and Adobe are forcing developers to change a solid and estabilished multimedia technology because of global interests. And these interests are not necessarily the most optimal solution for everyone.

    Thursday, January 31, 2013 at 6:22 pm #
  35. Jake wrote::

    Thibault, the most disturbing thing about these changes aren’t that ASNext is killed, but that the roadmap no longer forecasts 5-10 years out. It really makes Flash looks like it’s dead-ended, even as it starts to take off for games and mobile development via AIR, starling, feathers, etc. That perception is incredibly important as organizations and agencies decided where to invest. This change makes the Flash platform look a lot riskier at a time when I felt we were gaining momentum and a foothold in the market again.

    As an aside, I also don’t think that ASNext (as it has been described) would be anything near the change that going from AS2 to AS3 was. Shame on the “customers” that complained about that IMO. Other platforms (e.g. HTML/JS) are way more in flux. I have seen the proposed changes for ASNext as incremental and necessary to AS3 for the goals of the platform and the performance needs of game/mobile developers.

    Thursday, January 31, 2013 at 8:17 pm #
  36. Jake wrote::

    ..and last but not least, if I were you guys, I would think long and hard about what’s best for the platform (new VM or not) and get a long-term strategy back in the roadmap ASAP.

    Thursday, January 31, 2013 at 8:21 pm #
  37. Fabio wrote::

    After 6 years developing with Flash I’m now a happy Unity3D game developer, the best overall game engine available … If you guys want to give it a try: http://www.unity3d.com

    Friday, February 1, 2013 at 12:53 am #
  38. Polaco wrote::

    I wonder why that need to make the new version of FlashPlayer so disruptive? why can’t be taken a Java like approach where legacy software is still supported? @Thibault I wonder if you could be more precise about what this cancellation means, there still will be major upgrades and performance improvements on FlashPlayer AVM and AS3 language revisions or it means all FlashPlayer AVM improvements and updates efforts has been halted? As presented by Adobe this way of releasing the cancellation news sounds very pessimistic.
    thanks you

    Friday, February 1, 2013 at 7:04 am #
  39. Pedro Fernandez wrote::

    As Polaco said, the needs to evolve Flash Platform technology are more “speed” than any other thing.

    You dont have to create a new Actionscript language to make the execution faster.

    You can create a new AVM or enhance the actual one without changing the language.

    So this clarification in the roadmap is just a way to “escape” from the matter.

    Friday, February 1, 2013 at 9:48 am #
  40. zuzzu wrote::

    Regarding Unity, just look at this test:

    http://blog.wonderwhy-er.com/unity-3d-vs-flash-vs-c-scripting-performance/

    That’s the performance for gaming.

    Friday, February 1, 2013 at 12:54 pm #
  41. Frank wrote::

    Wow, once again this.
    What I hate the most is the way of how Adobe communicates. What kind of noob is in charge of this? How exactly should the devs take it? …and the worst is that we never but NEVER get a straight answer, even you, Thibault, answer only what you feel like answering, avoiding the difficult answers. Sad!

    I personally don’t need AS”Next”. We need better performing AVM and new API’s. The current AVM’s speed hasn’t been improved at all, or maybe just a bit. People saying it is not an issue and that it is sufficient probably haven’t tried to code something cpu intensive. Most of our stuff is currently coded in HTML5/JS, it simply blows FP out of the water. 400%+ faster, same code, optimized as it can be. Nobody is going to use Flash/AIR for fancy buttons anymore but there may be still need for it in RIA, mobile and desktop. But for that it needs to perform MUCH better.

    And for godsake, add finally an API to FP to work with large files! Why you can’t just add FileStream as in AIR? Ah…

    Saturday, February 2, 2013 at 5:59 am #
  42. Pedro Fernandez wrote::

    I dont think this have anything to do with the way Adobe communicates. They are saying (clearly) that the resources from now on for “Flash Platform” technologies are being reduced. There is no other way to announce this.

    Simply put, for “multimedia/interactive”, at long-term, Adobe prefers browser based technologies. See’s more money in it. There are many more people developing for it (html/css/javascript)…

    I think what was pretended by Adobe, was to evolve technology (Flash Player/AIR) enough to continue using it for a few years more. At this point (within a few years) it is assumed that “another” technology will be sufficiently stable and strong enough to switch to it (Let’s hope so …)

    I also think that Adobe really had in mind to create the new AVM (or AIR for Windows 8 Metro, or whatever…) but have not found an effective way to finance Flash Platform development costs. They now prefer to cut development gradually to focus almost entirely on HTML5 and related browser technologies.

    This time even the technology evangelists dont give much hope or speak extensively about great improvements.
    (with all due respect to them – Thibault and the rest – as they really have no blame for the economic decisions of the company)

    Reality is harsh, but it is so…

    Saturday, February 2, 2013 at 3:09 pm #

Trackback/Pingback (1)

  1. SWF and AMF3 Specifications Updated | ASVGuy::SWFBlog on Wednesday, January 30, 2013 at 1:47 pm

    [...] announced by Thibault Imbert updated SWF and AMF specs are available for download [...]