3 ms·
/What are some concrete examples of hard problems tech companies face that require novel solutions/ I'm a User Interface Engineer at Facebook in the Photos tea
by vjeux 13y ago
/What are some concrete examples of hard problems tech companies face that require novel solutions/
I'm a User Interface Engineer at Facebook in the Photos team. One common thing we do is to display photos in a grid. This is one subject that's really important, yet I haven't see any good documentation about it. I've first looked at all the websites that did some interesting image layouts algorithms, reproduced them and documented them.
Google Plus: http://blog.vjeux.com/2012/image/image-layout-algorithm-google-plus.html http://blog.vjeux.com/2012/image/image-layout-algorithm-goog...
Lightbox: http://blog.vjeux.com/2012/image/image-layout-algorithm-lightbox.html http://blog.vjeux.com/2012/image/image-layout-algorithm-ligh...
Lightbox Android: http://blog.vjeux.com/2012/image/image-layout-algorithm-lightbox-android.html http://blog.vjeux.com/2012/image/image-layout-algorithm-ligh...
500px: http://blog.vjeux.com/2012/image/image-layout-algorithm-500px.html http://blog.vjeux.com/2012/image/image-layout-algorithm-500p...
Unfortunately, none of them really suited our needs. We wanted to let users have the ability to make any (or all) images bigger. So I started playing around and writing a new image layout. The hardest part was to have an algorithm that was designed such that you could move images around in real time in ways that feel natural to the user, even though we have constraints that are impossible to solve.
Basic algorithm: http://blog.vjeux.com/2012/image/image-layout-algorithm-facebook.html http://blog.vjeux.com/2012/image/image-layout-algorithm-face...
Reordering algorithm: http://blog.vjeux.com/2012/image/image-layout-algorithm-facebook-reordering.html http://blog.vjeux.com/2012/image/image-layout-algorithm-face...
- NoodleIncident 13y agoThat's some very cool stuff. Thanks!
- jamesaguilar 13y agoIt is so cool that you guys can post about this stuff externally. It's one of my few regrets working at G. Thanks for the interesting reading.