- RT @flashdevelop: FlashDevelop 4.4.2 is out now: http://t.co/eIp0IIAgYk 11 hours ago
- RT @j0eflash: CS6 may well be the last software suite I buy from @Adobe. Sure as hell not making mo. pay. 4 the "privilege" of using their … 13 hours ago
- @makc3d @PeleusUhley I don't think it is important at all and currently we have no intention of supporting it in ASV. 20 hours ago
- RT @PeleusUhley: Version 0.6.5 of #SWFInvestigator is now available with support for more SWF tags and a few bug fixes. http://t.co/1bzbFf3… 1 day ago
- RT @makc3d: "Classification of math problems as linear and nonlinear is like c-ion of the Universe as bananas and non-bananas" http://t.co/… 1 day ago
Tagsaccessibility Adobe AIR Alchemy Apollo AS3 ASR ASV blogging captionate chromatic dead decompile developer encrypt flash Flash Builder Flash Killer Flash Paper Flash Platform flash specs Flex Flex Builder FLV FLV specs free guitar tuner JSFL Manitu Group multi-core obfuscate online open flash open SWF Player poster premium features silverlight SWF SWF 9 SWF specs tuner UAE vista XAMDF
Tag Archives: SWF
We have been doing some enhancements about how we show information about SymbolClass tags in ASV (and UAE). Usually, I don’t post about technical matters like this because the info might be used by either competitors or SWF obfuscator vendors. We decided this one is sufficiently harmless, so here we go…A SWF file can contain more than one SymbolClass tag in one or more frames. For the sake of simplicity, in this post I will discuss a single SymbolClass tag in a single frame SWF. Also please assume sample symbol tags are ones that can be placed on stage (like a DefineSprite tag – a Movie Clip-, not a DefineBinaryData tag) unless stated otherwise.
As the SWF Specs state, for AS3 SWFs, SymbolClass tag creates associations between symbols in the SWF file and ActionScript 3.0 classes.
Specs further state that if the character ID entry in the SymbolClass tag is zero, then the class is associated with the main timeline of the SWF. So that’s how good ol’ document class is defined.[caption id="attachment_443" align="aligncenter" width="600" caption="Picture of entire text for SymbolClass tag in current SWF specs"][/caption]
Apart from the ‘export’ purposes mentioned in the specs, the association means:
- When you place a symbol, which has an associated class, on stage, in Flash Pro by dragging it from the library (or using a PlaceObject tag in a SWF), its associated class instance is created and run. For example, this is how the class instance that contains frame scripts of a Movie Clip is run.
- When you create a new instance of a class, which has an associated symbol, you can place the symbol on stage using addChild() or as in case of BinaryData symbol (DefineBinaryData tag), a class that subclasses ByteArray must be associated with the symbol and the byte array will be automatically populated with the data after the class is instantiated.
The tag simply contains a list of symbol (character) IDs and associated class names.[caption id="attachment_444" align="aligncenter" width="600" caption="Picture of SymbolClass tag structure in current SWF specs"][/caption]
Here is how ASV currently displays the information:[caption id="attachment_448" align="aligncenter" width="601" caption="AS3 SymbolClasses as displayed in ASV 2012/05"][/caption]
The Good: Normal Case
Normally, the entries in SymbolClass tag list, both character IDs and class names, are unique, and so the association is true both ways: When a symbol is associated with a class (Symbol -> Class), the class is also associated with the symbol (Class -> Symbol), and vice versa.
If the character ID is 0, then the class is the document class (Class -> Main Timeline) [In this case, also Main Timeline/Document is associated with the class but that association is used automatically when main timeline is run/displayed along with the associated document class, in the first frame of a SWF file].
In a simpler world, if you only consider normal usage, for any random entry in the list, you could simply say: ‘If symbol ID is 0, class is doc class, else symbol is associated with class, and class is associated with symbol’.
The Expected: Consequences
What if, after a symbol is associated with a class, a later entry in the list has the same symbol ID to be associated with another class? First one is valid only. A symbol can only be associated with a single class (Symbol -> Class).
What if, after a class is associated with a symbol, a later entry in the list has the same class name to be associated with another symbol? First one is valid only. A class can only be associated with a single symbol (Class -> Symbol).
So a symbol associated with a class does not necessarily mean the same class is associated with the symbol. On top of this, many symbols can be associated with the same class and many classes can be associated with the same symbol.
This is much easier to see with a sample. Assume a SymbolClass tag which has 4 entries:
Entry 1 = Symbol1 : Class1
Symbol1 will be associated with Class1 (Symbol1 -> Class1).
Class1 will be associated with Symbol1 (Class1- > Symbol1)
Entry 2= Symbol1 : Class2
Symbol1 will NOT be associated with Class2, because it is already associated with another class.
Class2 will be associated with Symbol1 (Class2 -> Symbol1)
Entry 3= Symbol2 : Class1
Symbol2 will be associated with Class1 (Symbol2 -> Class1).
Class1 will NOT be associated with Symbol2, because it is already associated with another symbol.
Entry 4= Symbol2 : Class2
Symbol2 will NOT be associated with Class2, because it is already associated with another class.
Class2 will NOT be associated with Symbol2, because it is already associated with another symbol.
This entry has no effect.
Now we have,
- Class1 and Class2 -> Symbol1 (Many classes associated with a symbol).
- Symbol1 and Symbol2 -> Class1 (Many symbols associated with a class).
- Class1->Symbol1 but Symbol1 -> Class2 (Class associated with a symbol, but symbol isn’t).
- Symbol2 -> Class1 but Class1 -> Symbol1 (Symbol associated with a class, but class isn’t).
- An entry that associates Symbol2 with Class2, but has no effect.
Things are not that complicated when you are looking from one side.
From within AS3, some classes have associated symbols. Though rare, the symbol need not be exclusive to the class.
From SWF side, some symbols have associated classes. Though rare, the class need not be exclusive to the symbol.
Actually, it is a lot more simple when you think it like this: To find the associated symbol or class, if you have the symbol ID, search for it and return the first found class. If you have the class name, search for it, return the first found symbol.
Current internal version of ASV places arrow icons to specify the associations:[caption id="attachment_454" align="aligncenter" width="561" caption="Symbol Classes Dialog for ASV 2012/06"][/caption]
The Bad: Missing Parts
What if the tag for the symbol ID specified in an entry is missing in the SWF? This is clearly an error. The symbol will not be associated with the specified class, and certainly the class will not be associated with the missing symbol.
What if the class isn’t defined? Same as above. The class will not be associated with the specified symbol, and certainly the symbol will not be associated with the missing class.
In these cases, a later valid entry for the non-missing symbol ID, or, class name, will create the associations as normal.
We can conclude that if an entry has an error, the entry is ignored.
But we still have the document class entry to consider…
The Unexpected: Symbol X
What if there is no entry for the document class? This is acceptable. The SWF file will run with no doc class.
Normally character IDs start from 1 and there won’t be a symbol with the character ID zero. But what if there is? The class for the symbol ID 0 entry will be associated with the Symbol 0, not the document.
Now this is interesting.
It turns out 0 is not really a magic number, it is just the convenient number for the (normally) non-existing symbol ID. Tests reveal that, until the document class is assigned in the first frame, a missing symbol ID entry will assign the document class (and should not be considered as in-error).
So even determining the document class of a flash file can be tricky. A class assigned to missing character 28 can be the document class, while the class specified in the entry with character ID 0 is associated with a symbol, and the document class can be associated to Symbol 42 at the same time…
On March 28, 2012, Adobe announced and introduced the anxiously awaited Flash Player Premium Features for Gaming, with Flash Player 11.2 and AIR 3.2. Also Roadmap for Flash Runtimes was updated. (BTW, the problem with the road-map is that it’s just some plans, ‘official gossip’ as I call it, it offers no commitment or legally binding promise from Adobe. And it can get updated anytime…).
What has the cat dragged in?
Good news is that using domain memory and (Alchemy introduced and officially documented) fast memory opcodes by themselves is not considered as premium use. Only using both domain memory and Stage 3D is considered as premium. So it seems Adobe listened to the community and did what it could. (‘a fair compromise‘ – Mike Chambers).
Licensing starts on August 1 -we have a grace period and any prior work will get to use the premium features royalty free-, there will be no charges for the first $50K of revenues (but 9% after that). AIR including for mobile applications for iOS and Android, will be royalty free. There’s a FAQ about all this.
Another good thing is that Adobe states ‘no intent‘ for making any existing feature premium in the future (but any new feature may come as premium). In any case, it’s up to the community and individuals to trust Adobe about any intentions…
In summary, it looks as if only big gaming studios, who would use Alchemy to convert their million dollar 3D games to Flash for the Web only (as AIR usage is royalty free), are the target (and $50K entry point will protect small studios). ‘These premium features will allow console developers to deliver unprecedented, AAA console quality games to over a billion computers’ says Tom Nguyen, Sr. Product Manager, Gaming at Adobe.
[in no particular order]
Nicolas Cannasse, creator of MTASC and Haxe, called this the Speed Tax for 3D games: ‘Adobe just made DECENT SPEED a “premium feature”‘.[caption id="attachment_366" align="aligncenter" width="128"] Nicolas Cannasse[/caption]
Joa Ebert, another name who needs no introduction to anyone in the Flash community, in his post titled ‘Collateral Damage‘, announced: ‘I am no longer committed to supporting any Flash related open-source projects‘. A sad development indeed.
[caption id="attachment_367" align="aligncenter" width="408"] Joa Ebert, Flash on the Beach 2009[/caption]Peter Elst, yet another name who should not be unfamiliar to any Flash platform developer, currently a Googler, tweeted: ‘I’m calling it… Flash Player time of death March 28th 2012, you’ll be missed – died at the hands of incompetent surgeons‘.
[caption id="attachment_359" align="aligncenter" width="495"] Tweet from Peter Elst[/caption]
Robert Penner, author of famous easing equations – if you remember them, good old times-, author, former Adobe Flash Team member, tweeted the following: ‘I thought Adobe was supposed to make money by building the best tools and services, not by cutting them & selling the platform. I’m not saying Adobe is wrong to change their Flash platform strategy. But I’d rather they be successful with great tools & free platform.‘.
[caption id="attachment_376" align="aligncenter" width="400"] Robert Penner in Flash CS4 About Box[/caption]Phillip Kerman, writer, teacher, programmer, tweeted: ‘man, can’t sleep… had a nightmare Adobe really did kill Flash. Wait, did I even go to sleep yet?‘.
Omar Gonzalez, Senior Software Architect @ Almer/Blank, tweeted: ‘I don’t think I’ve ever seen a company destroy so much of their own intellectual property in such a short amount of time. #amazing #Adobe‘.[caption id="attachment_358" align="aligncenter" width="480"] .Net magazine covered the story[/caption]
There were also positive reactions, I think mostly because some people thought the $50K is big enough a barrier that will protect them, some are clueless newbies who just heard about Alchemy opcodes and decided they are not affected, some use AIR exclusively and didn’t care about anything else, some sincerely found initial conditions for licensing acceptable, and some, I believe, felt that that to contain the damage, they have to back the decision publicly… And then some, chose to remain silent…
Below are links to some discussions on Google+:
On March 31, Daniel Bunte had a blog post titled How we managed to get Alchemy1 working with FlashPlayer 11.2 Incubator and the secrets of SWF Tag 92. So it seems, Adobe will use a different method for enabling premium features. This is a technical detail, still I find it important to mention here.
Kurt Melander commented on my previous post and said: ‘…speaking from the e-learning development side and as a US DoD defense contractor, the digital signing may be due in large part to the downgrading of flash and Shockwave from the DoD CIO office in terms of risk for mobile code. Shockwave .dcr format is now no longer allowed on military networks and is classified “1x”, flash was downgraded from a “3″ to a “2″, lower numbers meaning higher risk to the network. One of the main reasons for this downgrade is the lack of Flash and Shockwave to recognize or validate digitally signed code.‘
Jethro Villegas, former Engineering Manager and Software Architect for Flash Professional, commented: ‘Digitally authenticated SWF files can be so useful in many ways.‘ I can’t agree more.
So, most probably, digital signatures in SWF files will stay for one reason or another.
Was premium features really necessary?[caption id="attachment_390" align="alignright" width="160"] Thibault Imbert[/caption]
Thibault Imbert, Sr. Product Manager for the Flash Runtime at Adobe, had the following comment at Nicolas’ post:
‘…because games could generate millions of revenue with maybe 200 copies of Flash Builder and Flash Pro sold. Is it a good business? Not really.‘
I also think Mike Chambers‘ (currently Director, Developer Advocacy for web platforms at Adobe) following comment there is important:
‘The model where Adobe invests all of the resources in developing the Flash Player, and then projects such as Haxe and Unity pull developers away from Adobe tooling is one that was not sustainable under the old model. Under the new model, it doesnt matter which tools and technologies you are using to develop Flash content, since revenue is generated based on the runtime and not tooling.‘[caption id="attachment_356" align="aligncenter" width="336"] So-called Alchemy opcodes are officially well-documented.[/caption]
So, it is clear that Adobe needed more money to support Flash Player development. But was the right answer Premium Features? Why wasn’t AIR developers targeted? Why wasn’t right click context menu introduced as a premium feature? Is $50K the optimal amount? Is 9% the optimal percentage? What will the nominal fee for Premium Features Developer Program be (which will be introduced after grace period ends on August 1, 2012)? Will it be be worth all this?…
As I stated in my previous post, IMO SWF format is now a closed format. As someone programming for SWF format since April 1998 and co-author of the first Flash decompiler (since May 2000, which we still update daily) and many SWF related tools, I am qualified to make that statement. Closing SWF format will have ‘dire consequences’. (Our reaction as Manitu Group will be increasing pricing for our commercial applications, as we think premium technologies, require premium tools that cost premium prices).
Some last minute improvements to premium feature set has been a good thing nevertheless, but my personal opinion is that it won’t be sufficient to save the SWF format, hence the Flash platform. But we may have gained some time. And who knows, maybe more…
So, has Flash really died this time with the introduction of premium features as I predicted?
‘I’ve heard of the death of Flash more times than I can count over the years. I think the difference this time is the claims are coming from the people that use it, and the ‘killer’ is the company that makes it. Time will tell I guess.
The quote that sums it up for me is:
“The model where Adobe invests all of the resources in developing the Flash Player, and then projects such as Haxe and Unity pull developers away from Adobe tooling is one that was not sustainable under the old model”
I’m sure that is true, but really it is saying Adobe can’t compete in spite of all the advantages inherent in making the platform. Look at FlashDevelop – made for free by two people (and no doubt some friendly help) and it blows away Adobe coding tools. Not because it is cheaper, because it is better.
So if you can’t compete, sure, business model two, try to wring money out of your platform standard as you slowly choke it to death. The real question though is why can’t they compete? If my money was tied up in there, I’d be asking that question a lot.’
And here is Mike Chambers’ reply: (I won’t be cloning the discussion, this is the last update I’ll have here, read more at its source).[caption id="attachment_389" align="alignright" width="180"] Mike Chambers[/caption]
‘I dont think it is a question of competing. Adobe could put in the resources to build a 3d authoring tool that competes with Unity, but why would it want to? Unity already is awesome, and can target Flash Player.
Why not create a model where Adobe doesn’t have to build every single tool that targets the Flash Player in order to ensure that there are resources to continue to invest in the Flash Player? Why not create a model that better reflects the core value of Flash, which is the reach and richness that the Flash Player provides?‘
Update2: Ray Cutro‘s G+ post titled Speed Tax for Speedy death of Flash Platform is a good read as he mentions certain points which I deliberately avoided, and illustrates sincere disappointment of a passionate developer.
Update3: [July 21, 2012] Tom Nguyen posted the following to the Adobe AIR and Adobe Flash Player Team blog: Update: Premium Features for Flash Player :
“We previously communicated that beginning August 1, new content using the Premium Features for Flash Player would require a commercial license from Adobe, and that we would share more details on how to obtain a license. We will be extending this deadline to give publishers more time to prepare and obtain a license. These Premium Features are designed primarily to enable publishers and commercial game developers to target the Flash Player with games developed using C/C++ (via the Project “Alchemy” compiler) and/or 3rd party tools such as Unity.
We expect to make available a website where you can obtain a license by the end of August, which will be available at adobe.com/go/fpl. And we are extending the free use of the Premium Features for new content publicly released prior to the availability of the licensing website. To obtain a license for grandfathered content that is released prior to the availability of the licensing website, please contact us directly at email@example.com.
To provide publishers with enough time to obtain a license to take advantage of Premium Features, Flash Player will not begin enforcing the license requirements for Premium Features until at least 8 weeks after the availability of the licensing website. Once Flash Player begins enforcing the Premium Features license requirement, unlicensed content requesting use of the Premium Features will continue to run, and will automatically use software rendering (for more information, please review the release notes for the beta release of Flash Player 11.4).”
Update4: [January 30, 2013] Adobe reclassified use of Alchemy fast-mem opcodes with Stage3D as nonpremium! This means currently there are no premium features (but there can be some in the future).
Here is relevant part of the FAQ from Adobe Premium Features for Flash Player page:
What are the XC APIs?
The XC APIs are the combination of domain memory APIs and Stage3D hardware acceleration APIs. These cross-compilation APIs allow a 3rd party ecosystem of game development tools to target Flash Player, including languages such as C/C++ and tools like Unity, as well as the Adobe Flash C++ Compiler (flascc) cross-compiler.
What is the status of the XC APIs?
As of January 2013, the XC APIs are no longer classified as a Premium Feature and access no longer requires a separate license from Adobe, nor royalties. The use of Stage 3D APIs in conjunction with the fast-memory opcodes via the domainMemory API will be available as a standard feature without requiring that content creators enter into a separate license agreement with Adobe. …
Why is Adobe changing the licensing requirements for the XC APIs?
Based on feedback from developers, Adobe has decided to change the licensing terms for the XC APIs and classify these capabilities as a standard feature. …
Current version of Adobe roadmap for the Flash runtimes states:
“As of January 2013, the XC APIs are no longer classified as a Premium Feature and access will no longer require a separate license from Adobe. Thus the use of Stage3D APIs in conjunction with the fast-memory opcodes via the domainMemory API will be available without requiring that content creators enter into a separate license agreement with Adobe. Developers and publishers that have published content using the XC APIs do not need to make any changes to their content to reflect the change of status for the XC APIs, nor submit royalty payments.
At this time, there are currently no APIs or features designated as Premium Features in the Flash runtimes. However, additional Premium Features may be added in the future.”
Also worth noting is that plans for Flash Player “Next” and ActionScript “Next” has changed:
“However, by its nature, this type of architectural innovation is disruptive and generally not backwards-compatible. As Adobe has learned in the past from transitions between generations of virtual machines (from ActionScript 2 to ActionScript 3), this places a high burden on developers who want to take advantage of features and APIs which may only be available via the new runtime, or which may require significant porting of content, frameworks, and libraries. Given this, as well as the growing importance of browser-based virtual machines, Adobe will focus its future Flash Player development on top of the existing Flash Player architecture and virtual machine, and not on a completely new virtual machine and architecture (Flash Player “Next”) as was previously planned. At the same time, Adobe plans to continue its next-generation virtual machine and language work as part of the larger web community doing such work on web-based virtual machines.”
This is consistent with Premium Feature reclassification, as earlier plans were making fast memory opcodes irrelevant:
New ActionScript 3 APIs to access the fast-memory opcodes are no longer being added to the “Dolores” release. The APIs are no longer relevant due to planned improvements for ActionScript execution and APIs in ActionScript “Next”.
Below are a couple of Twitter reactions to the news:
Good news everyone ! Flash Premium Features licensing is no more in effect for XC API’s. - Ralph Hauwert @UnitZeroOne
#wtf now #stage3d + #alchemy are no longer a premium feature. So wht purpse served that move lst year ? #as3 - Patrick Le Clec’h@pleclech
It says a lot about the stewardship of Flash that rolling back a bad idea is seen as the top new feature. - Robin Debreuil @debreuil
The #Flash speed tax is dead. Hope #adobe doesn’t replace it with something worse - Nicolas Cannasse @ncannasse
SWF file format, the format for Flash files, is proprietary. Flash has been criticized for this by many, including late Steven P. Jobs.
But SWF format has been open, since 1998 with the initial release of SWF specifications. And this is what we all said against proprietary format argument.
Openness of SWF format meant that any 3rd party can create SWF files without the need to get permission from Macromedia or use any Macromedia software (now Adobe). Then we saw 3rd party SWF related utilities flourish, from Claus Wahlers‘ JPEG to SWF converter to Swish text effects to animation packages like Toon Boom Studio. (We also made a living around SWF format).
This openness has been a very important ingredient of Flash’ success. Even with open SWF format, Adobe still has the upper hand, because they control the Player³ and hence the new features: 3rd party apps can only use existing features but Adobe software can make use of the latest features.
If some features of the Flash Player is to become premium, this means SWF format is no longer open, just documented (assuming Adobe continues releasing SWF specs).
As we all know, Flash suffered many blows in the last few years and declined. Flash could have become the software on every appliance in the world for ever; thanks to the competence of Adobe suits who couldn’t stand up against S. Jobs of Apple, Flash retreated to gaming world (and DRM infected video delivery)¹.
Now, with Flash Player 11.2, open SWF format is going away.
[Adobe introduced domain memory and some opcodes, that performed faster memory operations, for Alchemy project (C to AS3 conversion). AS3 was not fast enough, so many 3rd party developers made use of these opcodes to create Flash content and more importantly libraries. Flash Pro couldn't make use of the opcodes but Haxe did, our own Azoth did, Joa Ebert's tools did. That was the power of Flash and open SWF! (Soon will be history)].
I’m on no pre-release program so can speak freely (and ignorantly). Adobe decided to make money off -maybe what they saw as a dying platform- Flash by charging for what they call premium features. SWF files created for new 11.2 player won’t be able to use so-called Alchemy opcodes, unless they are signed².
[Old content, created for older players, older SWF versions will still be able to use the opcodes in the name of backward compatibility (But AFAIK, not the libraries/SWCs if they are loaded by a newer version SWF file). So this move is deliberate and has no technical justification - only greed for more money, I would say. Well, this is nothing surprising, Adobe seems to lay off more talent as they make more money...]
What is really pathetic is that they are promoting (demoting) an existing feature to premium. (If a totally new feature was introduced as premium, that would have been easier to digest).
This move will make the SWF format closed… So, a free version of Alchemy 2 is irrelevant here. Any Adobe software that creates SWF files is irrelevant.
“The ability to fully target the flash player has suddenly transformed from being free to being locked-in. That hurts the confidence of many developers (including me) which was already quite down with recent announcements”.
And if this happens (now seems inevitable with Player 11.2 release), I, hereby, predict Flash’s death.
Well, some say Flash is already dead. Release of premium runtime features will only be my personal recognition for the date of death. Flash will not suddenly go away or disappear, for sure. But it will be the point of no return.
With Player 11.2 release, we will welcome a dead Player with Premium features. I will not install it on any of my personal computers I actually use* – I heard web still exists without Flash…
¹ And Flex is abandoned to Apache. (You may say it is now better for Flex, but you see, Flex is now just a footnote. Sad.)
² Signing files against modification, or, as signaling approval are totally different subjects.
³ Adobe also controls the distribution of the player.
* I intend to keep latest 11.1 version and not update, as long as I can. Afterwards my computers will be Flash runtimes free.
In Flash world, even the most obvious and simple word 'Flash' has a dubious meaning. After online and off-line reactions to my recent posts, I have updated my definitions (actually they are not formal or complete definitions, but what you need to really understand when the 'term' is used unless the context strongly suggests another meaning).
Following may seem obvious to some (kudos to them), but it took me some time to come up with this. Hope it helps. Feel free to correct me if I'm wrong.
1 SWF file.
2 Adobe authoring tool for creating Flash Platform content (current version is Flash CS4 Professional)
1 A file that runs on Flash Platform
1 SWF file. Flash.
1 Flash Player. Runs SWF files.
2 Flash Player and related tools by Adobe.
1 Flash Platform. Runs SWF files.
2 Actual file which implements the Flash Platform functionality. Most of the time either the browser plug-in or stand-alone executable version.
Adobe Flash xxx
1 An application by Adobe, which creates Flash Platform related content.
1 Adobe authoring tool for creating Flash Platform content (current version is Flash CS4 Professional)
1 Former Flex Builder. An Eclipse plug-in, by Adobe, for creating Flash Platform content.
- After 'Flex Builder' got renamed as 'Flash Builder', 'Flash Pro' is the least confusing way to refer to the authoring tool which was simply known as 'Flash'.
- Expect a name change to 'Flash Pro' sooner or later, as 'Flash Builder' developers are unhappy how 'Flash Professional' sounds more professional than 'Flash Builder'.
A man applies to court to legally change his name. Judge asks "What's your current name?", man replies "John Shit". Judge says "I see why you want the change. What would you like your new name to be?". Man says "James"…
I admit there was some confusion because "Flex Builder" could actually build more than Flex Framework based work etc. I admit another name be it "Flash Builder" or "XYZ" will help cut this confusion.
But the name "Flash" already means many things to many different people. Confusion around the word "Flash" is probably more deep than any Flex related confusion.
What is Flash? To me it's still the Flash authoring tool. For some it's the Flash Player. For too many people it's 'a SWF file'. Does anyone take 'Flash' as 'Flash Platform'? I don't think more than a few if any, you need to explicitly refer to it as 'Flash Platform'.
So is 'Flash' a 'platform'? Has 'Flash' become a 'platform'? I'd say 'yes' but not in 'words'. Confusion rules. And we are to welcome another member.
There are some catchy words, sometimes software companies use for all their applications, like 'Smart', 'Cute', 'Easy' etc. Then when they release any application they will use the cute name first, as a trade mark, like Smart Editor, Smart DVD Ripper, Smart Doc Shredder… I don't dislike the practice, it's totally fine and we can even do that in the future (if we can find a name not taken). I think this is what 'Flash' is becoming. Not a platform but a cute name, a buzz word you find on (hopefully only) Flash related Adobe applications.
I don't want see the word 'Flash' like this. I want it to refer to the platform.
If you refer to a "SWF file" as "Flash", then the word "Flash" can never mean the platform. This is something I strongly believe. Do you think someone when referring to a "SWF file" as a "Flash file" will ever even unconsciously think he is actually referring to a "Flash Platform file"? Do you ever think of a "GIF platform" when you refer to a GIF file?
'Flash Builder' is a better name than 'Flex Builder' in a sense. But if 'Flash Builder' is building Flash, then Flash is the SWF file, not the platform.
Does anyone remember how Microsoft guidelines urged developers for calling their applications as "XXX for Windows" and not as "Windows XXX"? (I assume they still do). Is it "MS Windows Word" or "MS Word for Windows"? Obviously when Windows was new this made more sense, it was totally normal someone would want to include the name "Windows" in their application name as "Windows XXX"… I hope you get my point.
If 'Flash' was a platform, then the new name should have been 'Builder for Flash', not 'Flash Builder' *.
This would have also caused confusion. Heck, it's still creating confusion if SWF refers to 'Shockwave Flash' or not. Unfortunately, we have to accept that 'some' confusion is here to stay. With correct moves you make it less, with wrong ones you create more.
There are levels of confusion. To the clueless, a guitar (with 6 strings) can look like the same as a bass guitar (with 4 strings) (I have actually seen this happen more than once). You can either call all guitars as 'bass guitars' which will, on the surface look like it has cut the confusion (but will create more in the future). Or you can accept that level of confusion as a fact of life, that cannot be fixed for the clueless at that level (At least you should avoid a move that will create more confusion than it fixes)…
I want to finish with a positive note. It's good that, myself included, now not many people think it's still necessary to avoid the word 'Flash' to make 'Flex, Flex Builder' taken seriously (by people with Java background etc. who may think Flash is 'animation with a skip intro button').
Another positive note: It seems most people, many fellow bloggers I respect, don't agree with me on this one. This means probably I'm wrong and this is a good thing because Adobe won't change the naming policy because I don't agree, Flash Builder name is here to stay. Hopefully, I'm wrong and the name change will be better for the Flash platform.
* I don't think 'Builder for Flash' is a better name, or 'for Flash' use will be better. My point is that you shouldn't use the 'platform' name as a prefix to applications that create content for that platform. If I were to make the decision, probably the next version of Flex Builder would be called 'Adobe RedLight'…
Wow, this was fast.
As for the action model of SWF 10, there were no changes from SWF 9. Considering that SWF 9 action model consisted of the DoABC tag which contained AS3/ABC data, this is hardly surprising. As far as I can see, the PDF that described ABC internals hasn’t been updated yet.
[Update note: Original link to Emmy's post was http://weblogs.macromedia.com/emmy/archives/2008/11/swf_10_spec_available_and_flash_player_alpha_for_64-bit_linux_on_labs.html]
We have just made ASV 6 Alpha1 available to all licensed ASV 5 users. It’s really an alpha release, very incomplete.
Still, we think it will not be totally useless. And with the future alpha and beta versions, we hope our users will help us finding issues (With this alpha1 release, there are so many known issues, we are not really looking for reports from our users).
For example, the AS3 decompile engine integration to ASV is not complete at all (and neither the decompile engine), so you’ll see timeline scripts as classes, where each frame script is a method. Most probably you won’t be able to see those classes in later builds and each frame script will show on its own frame…
… If you have a Flash obfuscator, it’s easy to obfuscate SWF files in SWC files using your current obfuscator. You don’t really need to purchase a separate SWC obfuscator. And if you have a SWC obfuscator…
SWF version 8 specs, which includes FLV specs as usual, were released earlier today.
FLV format is better documented this time and includes data packet format.
Most annoying part for me was Acrobat Reader 6 requirement, as I only have v5 and normally wouldn’t install bloated later versions. Good news is that Adobe has the download for v6.01 and doesn’t force you to download the latest version. Still for Windows it’s a 15.9MB (!) download, probably I’ll install it on a separate machine first to see what baggage it has.
We will be releasing updates to our software as soon as possible after revising them according to the newly released specs.