The State of SVG Animation
blogs.adobe.com
blogs.adobe.com
Web animations are the modern approach forward. They are actively being developed in all browsers and work in both html and css. You can start developing this today using the polyfill: https://github.com/web-animations/web-animations-js
However, as a producer of a professional animation tool I can't wait until Web Animations show up finally someday, but have to address the need expressed by customers that call for open vector animations working on all devices right now - and SMIL was the only one that could have address that. Now, there's nothing until web animations show up, and we can't be guaranteed that the final implementations will be anywhere near promised functionality.
Even just retaining SMIL in its current state would have been much better than just outright dropping it for any kind of continuity. We will obviously provide Web Animations as well, but with the deprecation of SMIL we lost a stop-gap declarative solution for majority of mobile devices, and frankly I don't understand such a haste in dropping it (just sustaining it in Chrome at its current state can't be very difficult)
SMIL usage is high so it's just being deprecated in blink to get the word out, but not removed just yet. If you're planning to ship both web animations and SMIL, I hope we can get everything you need in web animations before SMIL is finally removed. If you have specific examples you can share, please do post on the smil blink-dev thread.
SMIL support is rough in the old android browser. I suspect using the web animations polyfill will be a safer path than trying to support the SMIL edge cases.
TL;DR; There is 3 main ways to animate SVGs: SMIL, CSS, and JavaScript, but today you should go with the JS way.
To me, the most interesting section of the article was the : SMIL vs CSS vs JavaScript . The authors main points in that section are:
SMIL: The current and future state of browser support for SMIL is the main reason why I neither use it nor recommend using it anymore today. [...] I expect SMIL usage to drop even more in the future.
CSS: As for CSS, it can only animate so many SVG properties, not all of them
JS: This is why JavaScript is currently my go-to tool for animating SVG, and my library of choice is Greensock.
I think this CSS/JavaScript comparison is true for much more than SVG: For instance, before having good Flex CSS properties for your layout you would need to use Javascript to do the job for you. CSS is clean but less bleeding-edge than JS.
Unfortunately the linked site is broken, but that GIF is pretty awesome.
tl;dr: don't use SMIL.
Microsoft has (correctly, I think) publicly stated[1] that they do not intend to support SMIL/<animate>. It's best for our platform to double-down on the alternatives: javascript, css, and web animations. Dropping SMIL is painful but it's the only way to get to true interop and a consistent web platform.
[1] https://groups.google.com/a/chromium.org/d/msg/blink-dev/5o0...
I'm sympathetic to hobbyists and SMIL enthusiasts who are losing out here, but removing SMIL isn't changing what common sites can deploy to users today.
As it's going to be removed soon, we would have to wait until Web Animations are finalized and properly implemented everywhere. Frankly, figuring out all the details of both specs and implementation deficiencies in browsers for SMIL wasn't the nicest experience (WebKit/Gecko/Blink), however there was a way to get it working in all of them in a single manner, and get 1:1 quality comparing to Flash animation. How long would it take for Web Animations to get there? As someone who was a member of a committee for an unrelated automotive standard as well as working with committee members of an enterprise messaging standard, I know very well how easily given various political interests this could turn into a solution nobody really wanted.
SMIL and IE have a complicated history. On a vast majority of recent mobile devices SMIL is perfectly usable (until Google drops the axe) and there was a surge of interest wrt SMIL driven by the availability of retina/HiDPI (small-form) displays and the need to scale animations properly, and we have an indication that our tool supporting SMIL was causing some waves in the industry as well.
I am also not sure why you'd assume only hobbyists and enthusiasts care about SMIL. I personally was dragged into it by the fact nothing else was anywhere near it functionality wise and it had to be implemented, while I could imagine much better standards myself. It was a completely pragmatic, non-enthusiastic reasoning.
That leaves us with it just not being supported by Internet Explorer.
There is clearly more than just that driving this decision, because Chrome pushes ahead with plenty of things that IE is publicly opposed to. In fact, wasn't that Chrome's original reason for existing? To implement the web platform that Microsoft was unwilling to.