Live data from Hacker News

Keyframes: Delivering scalable, high-quality animations to mobile clients

code.facebook.com

81–90 of 153 posts

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#81

I'm reminded of this: https://youtu.be/pAEAbqrE5Zw Does it represent a lot of work by skilled technicians? Undoubtedly. Is it interesting in it's own right? Frankly I think not. The surrounding question of the socialization of the internet is interesting, to be sure, but at the end of the day these are just animated emojis...

> Does it represent a lot of work by skilled technicians? Undoubtedly. Is it interesting in it's own right? Frankly I think not. You don't think having an easy way to create high quality animations for any purpose that work on multiple platforms is interesting...? You might not find the current application of it interesting but that's like saying React isn't interesting because someone used it to make another Flappy…

This is a fair point. I'm more so reacting to the tone of the article, which suggests technological or social innovation.

I see neither.

Analogously: TCP is pretty amazing, but I don't expect an app that uses a simple TCP socket to self-aggrandize on the pretext of technological innovation.

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#82
post #56

Earlier quoted context omitted.

> So you got your CS degree, worked for years in IT, passed tough interviews, joined FB, and now you're proud of animating those annoying emojis. What kind of work do you do? I'd say this project is much better than your words suggest. It's full of interesting technical problems unique to the domain of animation. That's way more fun than writing a standard CRUD Ruby on Rails web app, at least in my opinion. And hey,…

> Any job in engineering beats that In what sense? Usefulness to society? Comfort? Pay? I'd argue that the janitors and garbagemen are doing much more of a public good than the proportion of software "engineering" that goes into a social media application, despite any technical smartness behind it.

Comfort and salary. I should have been clearer.

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#83
post #26

Earlier quoted context omitted.

Your example speaks to my point: there's nothing new, innovative, technically challenging (beyond the norm). I really don't see what there is to write home about. This article reads as a PR announcement (which is okay) disguised as a technical achievement (which it isn't). They're "just" animations.

Maybe not the biggest breakthrough ever, but it does fill a gap. Animations like this on the web really weren't possible without either using Flash or SMIL. A completely JavaScript based solution is very welcome.

[deleted]

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#84

I was totally down with this - a tight, efficient vector graphics format with After Effects integration, super - up until the point they said these animations were JSON files. Huh? Didn't I just read a whole blog post saying that one of their requirements was fast loading from disk, small bandwidth usage, etc? And that's what justified creating an entirely new image format from scratch, not something the internet is…

While a binary format would be better over the wire, once it's put into memory the format really doesn't matter. In fact I would argue that the decision to use JSON versus XML versus a binary format is entirely immaterial as it'll get cached once and likely never downloaded again (essentially). At least as far as Facebook's usage is concerned (they load these 6 once and never again). Also I think you have to pick som…

As someone who has to deal with mobile perf issues, JSON serialization/deserialization can take a lot more of a perf budget than you realize. A flatbuffer version would definitely be faster hands down.

With gzip sizing is about the same, but processing speed wise it is not.

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#85
post #5

This is really slick, and I'm going to investigate using it for the Donald Trump animation on jungle.horse. The license [1] doesn't look to be as encumbered as some of Facebook's other open source licenses, but does include a clause I found to be strange: > provided Your Software does not consist solely of the Software So if I'm reading this correctly, it means only Facebook can redistribute this software? Wat. [1] h…

That restriction makes this quite blatantly not open source or free software, under the accepted definitions. Why couldn't they just release this under the MIT license or something else like that?

>Why couldn't they just release this under the MIT license or something else like that?

I don't mean to be unpleasant (really!), but I don't understand what kind of answer you are expecting to get.

The only non-trivial answer one can give is also the most obvious: Facebook doesn't want to make free software.

Stated differently: why the assumption that Facebook is in the business of Free software? Or are you just expressing the desire for all companies to produce Free (in the Stallmanian sense) software? Or are you reacting to the implication that Facebook's software qualifies as free?

I only bring this up because these kinds of loaded questions have a way of devolving into flame-wars.

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#86
post #79

I was totally down with this - a tight, efficient vector graphics format with After Effects integration, super - up until the point they said these animations were JSON files. Huh? Didn't I just read a whole blog post saying that one of their requirements was fast loading from disk, small bandwidth usage, etc? And that's what justified creating an entirely new image format from scratch, not something the internet is…

For those who use JSON regularly and aren't familiar with Protobufs (or one of the variants like Cap'n'Proto), they're an amazing binary serialization format that is tightly packed, encoding and decoding efficient, and designed around supporting protocol changes. Fields are serialized to tag numbers instead of field names in the binary format, so it's easy to rename fields. This also saves a ton of space versus JSON.…

https://crates.io/crates/protobuf exists; though I haven't used it.

Cap'n'Proto has pretty great support for Rust, from what I hear.

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#87
post #23

Hey, everyone! I'm one of the developers at Facebook who worked on this library since its conception! Really excited to be able to share this library today! I'll be checking up here periodically and can help answer any technical questions that you have!

Hi, I'm new to this, does it work with 3d animations ? Like something generated with blender ? Thanks.

I'm not actually familiar with blender or how that works with AE. I didn't work much on creation of the different compositions, just the end product, so I'm not sure what technologies our designers and animators may have worked with.

Presumably, if blender formats the composition in the supported structure and doesn't drift outside what the library recognizes and supports, it should work.

https://github.com/facebookincubator/Keyframes/blob/master/d...

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#88
post #31

I'm reminded of this: https://youtu.be/pAEAbqrE5Zw Does it represent a lot of work by skilled technicians? Undoubtedly. Is it interesting in it's own right? Frankly I think not. The surrounding question of the socialization of the internet is interesting, to be sure, but at the end of the day these are just animated emojis...

It's been a while since I've seen that episode, but ... wasn't that _the_ product in SV? This represents a small bit of UX that may be compelling enough to keep users engaged in new ways on their primary product (a relatively large social media site, ftr).

Yes. It's an analogy.

The purpose of an analog is not to be exactly identical, otherwise it would be called an equality.

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#89
post #79

Earlier quoted context omitted.

For those who use JSON regularly and aren't familiar with Protobufs (or one of the variants like Cap'n'Proto), they're an amazing binary serialization format that is tightly packed, encoding and decoding efficient, and designed around supporting protocol changes. Fields are serialized to tag numbers instead of field names in the binary format, so it's easy to rename fields. This also saves a ton of space versus JSON.…

https://crates.io/crates/protobuf exists; though I haven't used it. Cap'n'Proto has pretty great support for Rust, from what I hear.

Oh awesome! I'll check this out.

btw, I love all the work you do for Rust, Steve! :)

Re: Keyframes: Delivering scalable, high-quality animations to mobile clients

#90
post #44

Earlier quoted context omitted.

what is the motivation to release the library on github with such a license? If you can't fork it you can't improve it.

They want the user adoption, without giving up control, presumably.

this might be silly, but why? what does Facebook gain by getting this library user adoption (beside some bug-reporting). I would think that for fb user adoption of the open source projects is not the goal, but getting OSS developers attracted and getting fixes/features etc. developed from them. Or is it some kind of pride? Fake internet point for having repositories on github?
Post reply on HN