Hacker News new | ask | show | jobs
by squared9 4030 days ago
As somebody who spent a lot of time and effort to figure out how to do Flash-style complex animations fully in SVG SMIL including reversed time loops, hierarchical time modelling via easings and to make authoring available for free in an online animation tool, I am very sad to see abrupt Google's decision to deprecate SMIL in Chrome without having a full replacement available. SVG + CSS can be used only for simple things, SVG + JavaScript competes with canvas + JavaScript and more efficient geometry formats, and in addition in both cases the declarative approach is lost. The goal of having Web Animations to take place of SMIL makes sense, especially with advanced time modelling, however there are still many cases where the current proposal can't do what SMIL does and it would take some time until Web Animations will become usable in all browsers at the expected level for professional animation. SMIL has its share of problems but it was more-less working on all relevant mobile browsers. Now we are basically left with nothing that can do the job.
2 comments

This is the crux: "The goal of having Web Animations to take place of SMIL makes sense..."

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

Obviously Web Animations look very good given they seem to solve the (IMO) worst weakness of SMIL - time manipulation. In SMIL to get the same effect you'd have to approximate local time by complex easings and cut/reverse parts of animation depending on the direction of local time. Web Animations took a much more reasonable approach (I was actually puzzled SMIL had such a flaw in its design).

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)

Excellent points.

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.

Can you elaborate on it being deprecated in blink just to get the word out? Will that not ship out to Chrome users?
Yeah, it will ship to Chrome users. The effect will be a console warning that SMIL will be removed. You should start seeing this in Canary in the next 1-2 days.
Absolutely agree. I've had some work designing some really creative ad banners using just SMIL, self contained animated banners, all vector so responsive and hi dpi that you can throw anywhere in an img tag with some basic interactivity and gzipped to boot was a fantastic solution. Expected that IE couldn't be arsed to support it but severely disappointed chrome is dropping it.