

Flash CS5 will export to HTML5 Canvas - terrellm
http://www.9to5mac.com/Flash-html5-canvas-35409730

======
lsb
HTML and Javascript are object code at last.

As far as I can tell, people use Flash because the development tools are
fantastic, not because they're married to the SWF output. This seems like the
best of both worlds.

~~~
mcav
I wouldn't describe the flash IDE as _fantastic_. The only reason it's
passable is because it's really the only game in town. It's slow, its UI could
use a lot of cleanup, and its code editor is particularly slow and lacking
features (as compared to XCode or Visual Studio).

I think people use Flash because it's the best (major) browser-targeted tool
that handles animation design decently.

~~~
aaronblohowiak
the IDE isn't fantastic, but Flex is actually one of the nicer UI frameworks.
This could get really interesting for developing "thick" clients.

~~~
camwest
Flex definitely won't output to FXG. FXG is simply a declarative graphics
specification. Don't expect ActionScript to port over to JavaScript reliably
using this tool.

------
alttab
With this as an (awesome) reality, I can see Adobe Flash CS5 merely being an
authoring tool for web animations and interactions. The end technology is
largely irrelevant as long as most devices (mobile or otherwise) can access
it.

Adobe as an IDE only in the future?

~~~
daleharvey
exactly, this is what adobe (macromedia) should have done 10 years ago.
Instead of trying to lock everyone to the swf format, become the best
publishing tools for web content.

better late than never.

~~~
zyb09
Except this wasn't possible until very recently?

~~~
daleharvey
it would have been possible 10 years ago if swf was an open format and not a
closed plugin.

~~~
wmf
Even if SWF was open, I doubt browsers would have implemented it since SWF
doesn't really fit the spirit of the Web.

------
briansmith
Wouldn't SVG be a much more natural target for Flash than <canvas> is? What is
the benefit of <canvas> over SVG?

It seems like it would be easier to do effective hardware acceleration for SVG
than it would be to do the same for <canvas>.

~~~
briansmith
I found the answer in
[http://opensource.adobe.com/wiki/display/flexsdk/FXG+1.0+Spe...](http://opensource.adobe.com/wiki/display/flexsdk/FXG+1.0+Specification).
The HTML5 Canvas support is just a Javascript-based interpreter for these FXG
files, as you can see when they zoom in on the source code in the video.:

"When initial work on an XML-based graphics interchange format began, the
natural first thought was to use SVG. However, there are key differences
between SVG and Flash Player's graphics capabilities. These include core
differences in SVG and Flash's rendering model with regards to filters,
transforms and text. Additionally, the interchange format needed to be able to
support future Flash Player features, which would not necessarily map to SVG
features. As such, the decision was made to go with a new interchange format,
FXG, instead of having a non-standard implementation of SVG. FXG does borrow
from SVG whenever possible.

"It is important to note that this specification follows much of the SVG
specification format organization as well as copying related concept prose.
The SVG specification is available at <http://www.w3.org/TR/SVG/.>

------
melling
This is great. Now maybe if people can get as upset about Microsoft not better
supporting HTML5, in particular the canvas tag.

[http://www.webmonkey.com/2010/03/internet-
explorer-9-shows-u...](http://www.webmonkey.com/2010/03/internet-
explorer-9-shows-up-faster-but-still-lacking/)

IE9 is a big improvement for Microsoft. However, if they included more support
for HTML5, developers could get "all their wood behind one arrow."

~~~
briansmith
Why do you need <canvas>, if you have a high-performance SVG implementation?

~~~
bd
Different use cases. It's like why there is a need for both Illustrator and
Photoshop.

SVG is great for vector graphics but for fast bitmap-based graphics you need
<canvas>.

You _do not want_ to handle bitmaps where each pixel is an object.

~~~
Sephr
Flash isn't bitmap-based though. SVG is more like Flash in so many more ways
that would make the implementation easier and better (scalability, for
example).

~~~
bd
Flash can do both vector and bitmap graphics (which is BTW _much_ faster than
current canvas implementations, even in fast browsers like Chrome [1]).

Adobe used canvas probably because you can redo vector graphics with a decent
performance in canvas, while it doesn't work the other way around.

Flash exporter to SVG could be marginally better for vector parts of what
Flash can do, but it would lose all bitmap capabilities, while Flash exporter
to canvas can potentially replicate everything what Flash can do.

\----

[1] Flash bitmap graphics is fast enough to do pretty decent full-screen 3d
graphics with textures and shading:

<http://away3d.com/>

<http://dailypv3d.wordpress.com/>

------
briansmith
Did you notice that the demo was basically an animated banner ad? Think about
what this means for ad-blockers. The nicest thing about Flash is that you can
install Flashblock/Click2Flash and most animated advertising goes away. If
Flash animated advertising turns into <canvas> animated advertising, how will
we block it effectively? For many sites, disabling Javascript isn't a
realistic option because they also use Javascript for useful functionality.

The Flash CS5 IDE might generate easily-blockable HTML5 animations, but I
expect that lots of tools will come out soon that will make it nearly
impossible to automatically differentiate advertising from other content on
the page.

Who knows, this could be the beginning of the success of the "pay to get an
ad-free experience" business model.

~~~
wallflower
> If Flash animated advertising turns into <canvas> animated advertising, how
> will we block it effectively

I think you would need to analyze which <canvas> elements are using Adobe's
JavaScript library. This is more computation intensive then searching for
Flash object embeds, and I think if you did it right - you could sell this
plug-in.

~~~
camwest
To whom? Apple?

~~~
swolchok
I think that the grandparent meant that you could sell it to end users.

~~~
briansmith
No, I am saying that soon there will be easy-to-use tools for publishers to
obfuscate ads, making ad-blockers much less effective. Consequently, "pay to
turn off ads" website subscriptions will become somewhat more viable.

------
elblanco
Now this is exciting. We've been pining away for a while that there are no
good authoring tools for canvas as good as the flash tools. Hopefully this
just makes that problem disappear.

------
gb
It looks to me like this only exports animation, which I can certainly see how
it might be useful, but isn't really that exciting. The menu they ran the
export from is all JSFL scripts (a way of automating operations in the Flash
IDE to a certain extent) so they're probably just analysing the timeline and
exporting the shape and animation data as JS.

I don't expect to see any kind of Actionscript combined export any time soon
though, performance is too much of a hurdle in the near future.

------
wallflower
I will reserve judgement until I see the HTML5 output, as generated code has a
track record of being either a) unmaintainable, unmodifiable or b) doesn't
work very well.

~~~
watty
Good point. How easy will it be to edit the output to add the different
browser "hacks" to make sure it renders similar across different browsers?

~~~
voidpointer
If you consider the output "object code" there would be no need to edit, let
alone roundtrip. You don't edit the object-code or byte-code from your
compiler either.

------
lurch_mojoff
Precisely this should have been Adobe's response to the lack of Flash plugin
on some devices. Instead of all the FUD-ing, blaming, whining, and even
insulting that has been going on recently, Adobe should have said in the very
beginning - we are working on a better mobile version of the Flash plugin and
wherever it is not available, but there is HTML5 support, you can use our
authoring tools to do so-and-so.

------
bodhi
It's not inconceivable that Adobe would then have motivation to contribute to
existing open source renderers, so that the exported flash animations run
faster. This would be a win/win situation for everyone! Or are my dreams too
utopian?

~~~
ordinathorreur
It's already happened, check out Tamarin:
<http://www.mozilla.org/projects/tamarin/>

------
swombat
What about Flex apps? Can those be exported to HTML5 too?

