- RT @codemastermm: Unity 3D iOS & Android basic are FREE now. Means anyone can download Unity & make a game for Windows, Linux, Mac, iOS, & … 2 hours ago
- I just signed up @tumblr, and at my first login it says "Your account has been terminated" That was fast. Thanks for the warm welcome (not)! 21 hours ago
- @Victorinox I had to use a proxyserver to access http://t.co/whdaf04py8. Not hard, still made an unnecessary hassle. Why the discrimination? 1 day ago
- RT @ADAMATOMIC: AH HA found it: “acquisition is always a failure” http://t.co/2gUOdTyDaQ must-read in light of tumblr’s probable acquisitio… 1 day ago
- RT @kevino: First project I've backed on @Kickstarter — Explory, a mobile storytelling app http://t.co/yLg7c9apJc 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
Archive for the Category: MG
Today, we released the 12th anniversary edition of ASV¹ (ASV 2012/05) and also SWF Revealer 2.08 update.
Thank you all!
Update (2012/05/17): To add some value to this dull post:
In the first days, people sent us their own SWFs to get back the decompiled AS, in order to believe that ASV really worked as advertised. We required people include their name in the SWF so that we know it’s their own work…
Here are the samples we had on our site:
ASV 1.0 with SWF v4
movie2.swf (~6k), by Scott Romack, submitted on May 30, 2000.
movie2.txt (~2k) ASV 1.0 text output.Notable notes: This was the first ever sample we had. “Note the line Duplicate Movie Clip (“motion”, “motion” & x, x + 16384) The value added in Duplicate Movie Clip action is actually in the SWF and ASV 1.0 showed this. Later versions of ASV hides this value in order to make its output more compatible with Flash.“
ASV 2.0 with SWF v4
curvers9-1.txt (~8k) ASV 2.0 text output to Flash 4 syntax
curves9-2.txt (~7k) ASV 2.0 text output to Flash 5 syntaxNotable notes: Also demonstrated ASV 2.0′s ability to convert v4 AS syntax to v5 AS syntax.
ASV 2.0 with SWF v5
analog_clock.swf (~10k), by Marcos Pinto.
aclock.txt (~2k) ASV 2.0 text output.Notable notes: Demonstrated decompilation of the (then new) onClipEvent.
¹Action Script Viewer – the first SWF/Flash decompiler released on May 16, 2000.
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
Yay! 10 years ago today ASV version 1.0, the first decompiler for Flash, was released.
One thing Twitter taught me is that long posts are not always the best, so I will keep this really short.
As @elsassph said: We're getting old
So I haven’t been posting lately.
I was obviously busy, but main reason was (as I have written before) I didn’t want to sound like trying to sell more copies of ASV using my blog, and I didn’t want to post off-topic, but any on topic useful bits of info I could share was un-shareable. What was left was Adobe press release like news, like the recent Flash CS4 10.0.0.2 update, but I decided I didn’t want that long ago.
Of course, I can always post about hot topics of the day, like recent Flex Builder name change to Flash Builder. Well, I hate it and I think it’s wrong. Adobe is exploiting the ‘Flash’ name and I think it will not help the ‘Flash’ brand or the platform. A totally, absolutely wrong move – will cause lots of confusion in the long run* (so I totally disagree with KP on this one). OK I said it, it won’t change anything (other than maybe some people with strong feelings about this will start not having good thoughts about me).
A few months ago I even did an off-topic test blog to see if I can really post at least daily. I saw that I could.
Today is ASV’s 9th anniversary. I had to post, because I realized if I didn’t, some people might get wrong ideas about us, ASV, ASV’s future etc. We are on pre-release for quite some time now, for various reasons, but we are working and alive just as we always have been (We released last pre-release ASV just 16 days ago with improved SWF 10 and AS3 support). Second of all, I call myself ‘ASV Guy’, so this makes this post appropriate. And 9 years is quite a long time for any product.
I don’t know how often I will post here, hopefully my next post will not be exactly this day next year…
* Unless Adobe is getting ready to ‘phase out’ Flash IDE, the authoring tool, which would be a worse (or probably the worst) move and Lee Brimelow says this is not the case.
We will be changing version numbering of our products. Admitted, if we didn’t feel we have to do this, most probably we wouldn’t have cared at all.
For ASV, we started with version 1.0, in 2000. And major versions went like 2, 3, 4… We reserved .5 minor update for a somewhat very significant update and normally minor updates went like .01, .02, .03… Internal releases made us skip minor version numbers released and sometimes we increased the minor version to avoid confusion (People do confuse 5.1 and 5.01).
We synchronized ASV major versions with major Flash versions. ASV 1 supported Flash 4, ASV 2 supported Flash 5, ASV 3 supported Flash 6 (MX)… I personally liked this because it was straight forward and it made things simple. But this was mostly because Flash major versions were synchronized with major Flash player versions (and so SWF versions). After all, you created Flash (SWF files) with Flash (the authoring tool). Why should there be a major player release if there’s no tool to support the new features? Then there was Flex… (Flash was not the only authoring tool that can support a new player anymore).
Frankly, I think we still would be reluctant to change the versioning, if ASV didn’t lag behind. We currently have ASV 6 ‘pre-release’ version. Again, the most important reason it’s called a pre-release is probably because we don’t have the documentation/help yet. Otherwise any release version is also bound to have bugs/issues or some missing features. Current ASV pre-release can even open SWF 10 content (found on the web), displays a warning about the version because it’s not supposed to support SWF version 10. And of course new Flash release is near and skipping version 6 of ASV, because it’s released as pre-release versions, doesn’t sound good.
I never liked other naming/versioning schemes… Windows 95, Office 98, MX, CS3, Flash MX 2004 (version 7 which was released in 2003 BTW)…
One thing was sure, we would never use arbitrary letters or acronyms as the major version designator. Using year or date was surely better and then the date actually meant something. If the software is clearly dated, you don’t need any other version numbers. The developer assigns the numbers anyway and there’s no standard (We did skip ASR versions 3 and 4 to align it with ASV version. Some developers use odd/even minor version numbers for unstable/stable builds, we never did that because we never have unstable builds. Some skip versions 4 and 13 because of superstitious reasons. There’s no standard really).
So, it’s ASV 2008… We ourselves hated the way it sounded first. But make no mistake, it won’t be deceptive like dates on magazines. I never got used to reading a mag dated into the future… So, let months be another number of the version, and the day another. If you have ASV 2008/10 that will mean it’s released in October 2008. In the about box, you will see a verbose version string like 2008/10.14, where 14 will mean the date of release.
We are losing the arbitrary version numbers, version number will be the time stamp. That’s our solution and we believe it’s superior to arbitrary numbering, cuts the confusion and has many other advantages to both the developer and the users.
We always made updates free, and charged for some upgrades. Since our version numbers depended on new release of Flash (and then we needed some time for supporting the new Flash), you never new exactly when there will be a new major version. And because it was not feasible for us to work on many versions, usually what happened was that we stopped working on a previous version and started working on the new version. Bug fixes and improvements even for earlier versions of SWF went into the new version, old version just stayed as it is… We did have a grace period but someone who purchased ASV when a new version released did get longer free upgrades than someone purchased just before the grace period (and received the next version as per our ‘next version upgrade free’ policy). In short, using dates lets us offer things like: ASV with 1 year of free updates, or ASV with 2 years of free updates. There will be no ‘upgrade’ in the normal sense, major version number will change from 2008 to 2009, when 2009 comes…
Is this new? Not really. And most software do need major version numbers to indicate milestone releases. Ours didn’t, we have realized. Our version number (which will be the date) will mean that the software is what we had at that date, nothing more, nothing less.
Do you want to purchase a copy of ASV and see this in action? You’ll have to wait till mid-October…
All the above is quite condensed, I can write a small chapter about this change. Let me finish by saying that we will never inconvenience our current customers, they will get what we have promised at the time of their purchase and maybe some more because we would be cautious (rather than err) about this.
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…
These updates mainly enhance the decompile engine and fix some bugs. (No CS3/AS3 support yet, it will come with 6th versions and ASV 6 is expected to be available by July 16th, 2007).
I will keep this post short. ASV license owners: if you are also using SWF Encrypt 4, please test your protected SWFs with the updated version (and let us know if you find a bug). Thanks.
(We think most probably these will be last 5.x updates for ASV, UAE and ASR. Not that we won’t release updates if a serious bug is found. May 16th is ASV’s 7th anniversary, and I tend to think it would be a nice coincidence to have the final 5.x version released on that day…).