Skip navigation
Rob Hawkes
Currently Being Moderated

Why has Edge gone with div-based animation over canvas and SVG?

Aug 1, 2011 3:13 AM

Hi there,

 

My name is Rob and I'm interested in Edge for multiple reasons really. On a professional level, as a Technical Evangelist at Mozilla, I'm interested in Edge as it's a tool that is going to make it much easier for Web devs and non-techy people to animate with Web technologies – always a good thing. On a personal level, as creative programmer, I'm interested in Edge as anything out there that makes the creation of simple animations easier is a fantastic idea.

 

I was really happy to see a professional-looking tool being released to help tackle animation with these technologies, but I was sorely dissappointed when I dug a little deeper and started playing around with Edge myself.

 

Why has Edge gone with div-based animation over other technologies like canvas and SVG? I was deeply saddened to see that not only were divs used in the example files that you relased, but that divs are the default option for the stage and any other element that is added to it.

 

I understand that there are compatability issues surround canvas and SVG, but there is absolutely no reason to be using divs, or any other unrelated content element for the animation of graphics through JavaScript. If you insist on using these elements, then they should at least only be used as a fallback option if canvas and SVG aren't available.

 

I'm so happy that tools like this are cropping up now, but I worry that this lack of regard for finding a solution as close to the "right" way of doing things as possible is going to bite us in the arse in the near-future. Do we really want another situation like we had with tables being used for layout because that was the easiest way to do it in the graphical code-editors?

 

Like CSS made table layouts obsolete, we now have the technologies out there to make the div and CSS-based animations obsolete. We should be promoting and using them as much as we can, not taking a step backwards and making things harder for ourselves.

 

I genuinely care about tools like this being as good for developers, animators, and the Web as possible. I'd love to talk about this further if you think it will help.

 

Keep up the good work,

Rob

  • Currently Being Moderated
    Community Member
    Aug 1, 2011 3:45 AM

    Hi,

    I'm absolutly agree with your point.

    Plus, I think that technologie like Canvas and SVG gonna take avantage really soon of graphical chip in desktop and mobile device..

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 1, 2011 3:53 AM

    Hook, line, and sinker on that point.  My agency is actively working with HTML5 for mobile and web use.  We're a client services agency, and what my fine friend from Mozilla has raised with regards to the technical implementation is exactly what I ran into.  I downloaded, installed, and profiled, and the moment I opened the code it made me freeze.  Those of us working with HTML5 for production use are definitely going to want a better technical implementation on exported code, as he described.

     

    I'm also concerned about the file size for mobile devices.  This is an area that I'm sure will be improved, but if you want to build and HTML5 tool for Mobile, file size optimization is going to be a large part of the decision to use or not use the product.

     

    Overall, it's very promising.  It reminds me a lot of early versions of Flash.  I definitely recognize it for what it is, but the technical concerns around the implementation and file size are definitely a no-go for us to consider it if those don't get addressed.  I'm not trying to be harsh: just honest.

     

    Nice first effort.  I personally look forward to watching where you guys take this!

     

    Jonathan Lambert

    Workhabit, Inc.

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 1, 2011 7:04 AM

    Here's my $0.02 - in the end, Flash is going to be the tool for canvas and SVG based animation. After all, those technologies are far better suited to low-level drawing and interactivity. Edge looks a bit like AE right now, but I see it being more of the "animating content" type of thing - think motion graphics as opposed to CGI. Both are a type of animation, but one is used in the presentation of information.

     

    The toolbar is pretty small right now - I'm guessing it's going to get not just an image, but a Flash button - and Flash content will be brought in as SVG and Canvas.

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 1, 2011 7:28 AM

    Hi Rob,

     

    Thank you, this is excellent feedback.  We started with DIVs because we wanted to get something out there quickly that folks could play with.  I say we "started" there because Edge will be evolving rapidly - the product is by no means feature complete.  We expect to add support for more and more of the HTML universe over time.  Edge does currently support SVG graphics (you can File > Import an SVG image), but you can't yet reach into those graphics and animate their components.  The good news is that our JS runtime is capable of animations that include all sorts of HTML Elements, SVG Elements and even Canvas graphics, so we have not boxed ourselves in.

     

    Which of these enhancements would you like to see Edge tackle first?  Canvas?  Embedded SVG?  Ability to select HTML tags other than DIV?

     

    Thanks again for your feedback!

     

    - Josh

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 1, 2011 7:30 AM

    In my very simple example I have animated a bit of text, but why is this text added in JS?

     

    Surely the best results would be accessible pages with animated DOM elements?

     

    http://www.morenafiore.com/edge/why/

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 3, 2011 1:36 PM

    mfujica wrote:

     

    In my very simple example I have animated a bit of text, but why is this text added in JS?

     

    Surely the best results would be accessible pages with animated DOM elements?

     

    http://www.morenafiore.com/edge/why/

     

      Our approach is that we separate out the stuff you add from the underlying HTML *AND* we don't try to edit the HTML in the way old-style tools did - in general a lot of people don't like when tools muck with HTML.

     

    That said, we will be looking at ways of trimming down the HTML that gets added to a page in the future if that's what people want.

     

    Thanks for the feedback and for trying Edge!

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 1, 2011 10:03 AM

    Rob Hawkes wrote:

     

    Why has Edge gone with div-based animation over other technologies like canvas and SVG? I was deeply saddened to see that not only were divs used in the example files that you relased, but that divs are the default option for the stage and any other element that is added to it.

     

    Hi Rob, just to expand a little on what Josh said, we have investigated all of those technologies and will be evaluating them in the future.  We needed to start somewhere and felt that we would definitely need to be able to animate HTML text and images at a minimum - if we couldn't do that, it would be bad.  So that was the starting point.

     

    We seriously considered Canvas, but current performance on mobile browsers (especially iOS) is very bad.  We didn't want to have the first experience produce content that couldn't run acceptably.  Note that this may be changing in iOS 5, so that's good.  Finally, SVG can be a little slow, though we do support bringing in SVG elements and animating them - just not reach into them.

     

    But the big thing to keep in mind is that this is a Preview 1, not a Version 1, and we will be looking to expand support in future releases.

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 1, 2011 10:41 AM

    I actually meant you should make the animation as accessible as possible, so keep the text in (it's not excessive or mucked up HTML).

     

    So if it's text the user is animating, it should be in <h1>,2, etc, or <p> or <li>s if she wishes to animate lists. But an animated text in an HTML page that does not sit in accessible markup defeats the objectives of keeping separation between content and presentation which should mean adding animations (and styling) ON TOP of the markup.

     

    Will you be adding text HTML elements to the Menu/Toolbar ?

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 1, 2011 11:13 AM

    Happy to read this conversation.

     

    I wish we (Mozilla and Adobe) could work more closely together on things like this. Adobe's creative tools are the best. Mozilla loves a healthy web. We want Edge to start-out the right way as much as you do. Why don't you invite Rob for a technical discussion/talk with the Edge team!? Together we can do this right

     

    best, Tobi (Mozilla Labs)

    http://twitter.com/tbx

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 2, 2011 4:28 AM
    Which of these enhancements would you like to see Edge tackle first?  Canvas?  Embedded SVG?  Ability to select HTML tags other than DIV?

     

    I'd like all of these too, but mostly the option to select other elements other than divs to make the generated code more semantic. I would like a lot more control over what's output by the editor. Looking at the layers pane, I get the feeling you've considered this as an option.

     

    After giving it a go, I wrote a quick review on my blog which had some more things I'd be interested in seeing in Edge.

     

    Definitely have a chat with Rob and the Mozilla team, I'd really like to see them backing this.

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 2, 2011 5:09 AM

    Hey Rob,

     

    I think you are bang-on with your comments regarding this early release of Edge being targetted at "ad-creators". To be fair to Adobe though, those folks are probably some of the most eager to get their hands on HTML5 gadgetry without necessarily caring whether or not it is true HTML5 - if it moves and works on an iPhone then it will tick the HTML5 boxes they are probably interested in.

     

    I guess to an extent I can empathise with the Adobe guys too around the decision to use DIV based animation rather than Canvas / SVG.  As someone who dived straight in with Canvas for Tile5 it was disappointing to see CSS 3D transforms get the benefits of hardware acceleration on mobile devices while my optimized to the nth degree JS canvas implementations could not come close to matching that performance.

     

    As a result, I went to the effort of implementing different renderers and included a DOM based renderer for both performance and compatibility reasons.  This seems to be a common theme in HTML5 mapping, gaming and "animate a something" JS libraries that care about and target mobile devices.  Either target canvas first, learn some hard lessons and fall back to either a DOM or hybrid implementation; or simply just go with a DOM implementation first.  My heart still lies with Canvas and I believe that this will be the "one ring to rule them all"... eventually.

     

    I think another challenge that needs to be dealt with is reconciling the different types of animation options we have at our disposal in HTML5 land.

     

    For each of the various approaches - DOM, Canvas and SVG there are different approaches that can be used for animation.  Common to all is the applicability of CSS3 transforms so I guess that's where Adobe started.  I'll certainly be interested to see what kinds of things Adobe cook up in the Canvas space, but expect that that might come after first animating SVG elements with CSS3.  I have to say that if Adobe manage to mix and match programmatic canvas animation with CSS3 animation of standard DOM and SVG elements then I'll be pretty impressed.

     

    Thanks for posting your original question - I hadn't bothered having a look at Edge yet until you posted, and now I'm cooking up some hair brained schemes for some Edge mashup techniques

     

    Oh, and good luck Adobe with the continued evolution of Edge.

     

    Cheers,

    Damon.

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 2, 2011 6:28 AM

    Well, the danger there then is that people will not bother with creating any underlying HTML at all - implementers are lazy. Animatable will face the same issue, I am sure. Right now it is beautiful how http://animatable.com/demos/madmanimation/ falls back to a list with images on - for example - Opera.

     

    It will be important to get this message across, otherwise these kind of tools herald a new "skip intro" world, just with other technologies.

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 2, 2011 10:50 AM

    I agree with almost anything that Damon said, but I had some better experiences with Canvas so far though and that influences my opinion.

     

    I believe that the reason why majority of developers believe that Canvas is slower than animating DOM elements with CSS transitions and animations is because Canvas is not yet hardware accelerated while CSS is. Because of that all the simple benchmarks will always show the advantage of CSS. It is missleading though, because in real life it will often be the case that developers can implement various optimizations that will give massive speed improvements when rendering on Canvas - mainly different ways of buffering once rendered composites of images - I don't think it is the case with DOM (and I witnessed development of one of the greatest HTML5 games engines in works out there). These kind of improvements can't be easily benchmarked though.

     

    I can tell from my own experience that with city builder like game for the map of virtually any size (as long as memory allows us and at the cost of startup time) and even lot's of animations we can get over 20fps on iOS devices (iPhone 3GS, 4, iPad 2, in the past I also had access to iPhone 3G and iPad 1, but not anymore - they probably are fine though) even if we deal with retina resolution on iPhone 4. It feels just fine - no lags are noticable.

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 2, 2011 9:43 AM

    I also think this is the point.

    Otherwise it's impossible to use these tools but for some small animation inside a hand coded page....

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 9:56 AM

    Hi! My name is Chris and I am a UI Architect at Epsilon.

     

    I think the part that gets me is that right now everyone is saying this is an HTML 5 animation editor, when it actually isn't. Will it be with a different 'renderer' later? It seems so from the responses above.

     

    However, it isn't at this point. I am already seeing "html5 demos" built in Edge on the web. There is already a pollution of "what is html5" going on, where basically anything that isn't flash that moves is html5. All of the "Edge HTML 5 editor is a Flash Killer" news articles are humorous at best, and aggrivating at worst.

     

    http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=adobe+edge+fla sh+killer

    http://blogs.computerworld.com/18719/adobe_flash_killed_by_free_html5_ tool_edge

     

    I don't use flash anymore except small things that may need it, but I am a big HTML 5 advocate and a long-time javascript developer. I just hate to see so many people start to be misled, and it already hurts when talking with clients who are misinformed because of the latest news article that says their flash is dead and I need to recreate it in HTML 5.

     

    Message was edited by: Chris Coleman

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 3, 2011 10:04 AM

    A guess a few comments:

     

    First, we do put SVG graphics into the HTML and I believe - correct me if I'm wrong - that SVG support directly in HTML is part of the HTML 5 spec and was not there in previous versions.  You can animate the SVG, you just can't reach into it - yet.

     

    Second, while I know that CSS3 is NOT HTML5, I don't know of any implementations of previous versions of HTML that support what we use of CSS3 - and we do use that extensively. We do try to be clear at not just saying "we're HTML5".

     

    Third... this is a FIRST PREVIEW.  We definitely have plans to take advantage of canvas.  The reason we didn't do so is that the performance on mobile devices is currently horrible, though for iOS 5 we think that is going to change.  Also note that we say Edge is an "Interaction" design tool and all you can currently do is a single timeline animation.

     

    Please... we've been quite clear that we're releasing an early peek at what we're doing to get constructive feedback and will be updating the tool regularly to support new features (i.e Interactivity and more) and new technologies (i.e. Canvas) that are part of HTML 5.  This is not false advertising but a work in progress.  The issue that was raised is that the original poster thought we should have started out differently.  Everyone is entitled to their thoughts, but we're happy with the choice we made.

     

    Thanks!

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 3, 2011 10:41 AM

    I'd like to stress that Edge Preview 1 supports opening an existing HTML5 file and animating it.  In addition to the reasons Mark mentioned, this makes us comfortable calling Edge an HTML5 tool.  Try putting a <section> tag in some HTML, opening it in Edge and animating it - no problem!  The focus of this discussion is on the drawing tools we've provided in Edge Preview 1, but there is a lot more in Edge than just those simple drawing tools.

     

    We expect that folks who need semantic fidelity are capable of (and often prefer) creating markup using a variety of other tools/editors and then bringing the markup into Edge to animate (and eventually add interactivity).  For semantic markup, that is the workflow Edge supports so far.  The convenience factor of using the drawing tools to add semantic markup and the ability to rearrange elements within Edge will come over time.  Stay tuned for updates!

     

    - Josh

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 10:58 AM

    Thanks Josh that makes much more sense! The ability to load HTML documents in and animate them rather than starting with Edge makes it much more interesting for semantic markup enthusiasts.

     

    I put together a post on Mozilla on the discussion so far and hope that more good will come out of this:

     

    http://hacks.mozilla.org/2011/08/living-on-the-edge-new-adobe-animatio n-tool-sparks-necessary-conversations/

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 11:10 AM

     

    Hi Mark!

    It seems my first comment came off as rude or snippy, I didn't mean it to be so at all. I know this is a preview, and I did say that it seems you will take advantage of canvas/etc in the future, I did read the thread, and I was happy with that response . My frustration is not with Adobe or the Edge tool itself, but with what is being called HTML5 by the community. Yes, the tool can use SVG already, and again, I know it is a preview, but when creating objects and animations directly in the tool it is using DOM and Javascript, which we have been able to do for a long time, albeit without the sexy editor and with more kludgy techniques

     

    I am really just echoing the original sentiment, that even though cross-browser compatibility is important to an extent, that if you are really making a "html 5" animation studio, it may have been better to actually start with canvas or at the very least svg, and then if needed throw in a fallback render to dom objects.

     

    I really look forward to Edge being the editor that we use for HTML 5 animations, barring that it doesn't just become an export option from flash's creative tool (export to html5 or swf). It is really needed, Sencha's CSS3 Animator is getting a lot of attention too. I think these tools will be very important to me and my team.

     

    Again, I didn't mean to seem rude or upset toward the tool itself or your team. I look forward to this using canvas and or svg as its actual render in the future.

     

    Chris.

     

    Message was edited by: Chris Coleman

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 11:07 AM

    I would like to echo Chris Heilmann's statement,

     

    "Thanks Josh that makes much more sense! The ability to load HTML documents in and animate them rather than starting with Edge makes it much more interesting for semantic markup enthusiasts."

     

    I understand the focus more clearly with the way that you said that. I was focused solely on the drawing tools and that they created DOM elements.

     

    I am really excited about the future of this tool, as is, and especially when it (or flash) has more support for svg/canvas.

     

    A way to use Raphael.js or a similar library directly with the Edge editor drawing tools & property inspector would be fun.

     

    Chris Coleman

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 11:28 AM

    I work as a developer for AT&T's website. I prefer SVG because we need to have our site run on devices with differing form factors. So, I'd like to be able to generate and edit static and animated SVG in Edge.

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 3, 2011 1:35 PM

    MartinoScreenwriter wrote:

     

    I work as a developer for AT&T's website. I prefer SVG because we need to have our site run on devices with differing form factors. So, I'd like to be able to generate and edit static and animated SVG in Edge.

    Just to be clear, you can you SVG just fine within Edge.  The only thing we don't do is animate into it.  You do need to create the SVG assets in another tool like Adobe Illustrator.  We don't yet have content creation tools.

     

     

    Thanks for your interest in Edge!

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 2:09 PM

    Hi there,

     

    my name is Tobi, I'm a Web Developer and generally delighted by people who try to push web technologies to the next level. Edge seems promising and Adobe is a big player. My point is that products like Edge could get browser vendors to implement cutting-edge technology faster (eg hardware accelerated canvas2D on the mac) or could get the w3c to standardize things faster (eg SVG Compositing [1]). So keep up the good work.

     

    [1] http://www.w3.org/TR/SVGCompositing/

     

    Tobi (…just dreaming)

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 3, 2011 2:44 PM

    Hi Tobias, thank you for your post and we are trying to do just that.  I think you will see lots of improvements as we all (Adobe, YOU, others) push the envelope. We've seen some benchmarks of canvas performance on iOS5 and the results look very promising and we're excited to take advantage of it in the future.

     

    Thanks for trying out Edge!

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 4:44 PM

    Mark, I'd love to do an interview with you guys for the people of HTML5 feature on the Mozilla blog - you up for that? You can reach me at cheilmann @ mozilla.com

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 8:00 PM

    Mark, I think you ought to take up his offer ^^^  Although, have you guys signed a do not do ".." authorization? Or are you freely able to discuss projects in depth?

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 3, 2011 8:09 PM

    Hey Chris, I may be interested, but am completely booked right now. On the road. I was able to post so much today because I wound up on a cross country flight with WiFi!

     

    I'll let you know....

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 3, 2011 10:36 PM

    Hi Martino,

    Here is a link for animation created SVG's. I personally like working with this format better but each has it's benifits (svg vs jpg/png) The files will be posted soon on the EDGE page.

    here is another animation with pre-comped animations. http://pcartiste.com/planetEarth/planetEarth.html

    ping me @PCartiste if you have questions

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Aug 4, 2011 6:06 PM

    I made this the other day with just the drawing tools available in edge. Not the greatest looking group of rectangles, but seems to work on everything. When the SVG's are completely integrated, AI + Edge will be a killer combo.

     

    http://home.comcast.net/~ryanrockers/turtle.html

    |
    Mark as:
  • Currently Being Moderated
    Adobe Employee
    Aug 4, 2011 6:23 PM

    Thank you for trying out Edge and the animation is very cute!

     

    One thing I hope you're aware of is that you can use SVG within Edge.

    Just import them. You can animate them at the element level, which is

    basically what you can do if you were animating using CSS animations.

    What you can't do IN THE TOOL is animate parts of the SVG, though the

    framework can do that.  In fact, that scenario was the the thing that led

    us to develop our animation framework.

     

    Note that the framework can also animate canvas elements too when used

    with EaselJS.  We just haven't exposed this in the tool.

     

    Again, just so everyone is clear - we didn't NOT do this as a statement

    that we think it's bad or that we don't want to do it.  Rather, since we

    can open and animate HTML documents created elsewhere, we needed the

    ability to animate HTML elements, which includes DIV's, and when we

    started on creating the design tools, we felt that there's a lot you can

    do with divs and it was a reasonable place to start.

     

    It is fun what you can do with even these simple shapes.

     

    Thanks for sharing!

     

    Mark

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    Feb 22, 2012 8:26 AM

    I'd also love to see some form of consiliation with firefox and Edge. But I also feel times are changing quickly, and am waiting to see how HTML 5 will be effecting Edge and what new capabilities may arise!

     

    Joseph,

    Affiliate Marketing Grad

    |
    Mark as:
  • Currently Being Moderated
    Community Member
    May 21, 2012 4:46 PM

    Rob -

     

    I greatly appreciate this topic, and your interest and promotion of Edge. I am finding it to be an extremely intuitive tool, much more so even than Flash, quick to learn and for quick and dirty yet amazing animations, it has no equal as far as I have seen to date. I tried Sencha Animator but it is way to simplistic and I hope Edge will be even further developed to its full potential, as it already has a great head start.

     

    On the other hand, I also was dissappointed  that the code is not HTML/javascript editable using canvas, and was mislead into thinking it would be sincwe it claims HTML5 support. I would like to be able to tweak the code using canvas to do those things that just are not easily done in a GUI.

     

    All that aside, as an evangelist at Mozilla PLEASE tell us why Firefox lags way behind Chrome and Internet Explorer with its rendering engine as it is very jerky in comparison when rendering animations created in Edge and what, if anything will be done about that. As a developer I prefer to use, support and recommend Firefox, but until this is improved I can't commit to Edge OR Firefox. It is great that you creating discussion to help develop Edge, but please also do what you can in your own back yard to support it at Mozilla.

     

    The animation rendering of Firefox and lack of smoothness is with all due respect, shameful in comparison to other browser's engines.

     

    Thank you for whatever influence you might have!!

    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points