Over the years Instagram (as a product) grew a lot. With more features to show, their web experience began to degrade. In a series of (upcoming) posts they’re covering what they have done to improve performance. In this first part they cover script preloading and image prefetching, reducing the loading time of the “feed page” by 50%.
Correctly prioritizing resource download and execution and reducing browser downtime during the page load is one of the main levers for improving web application performance. In our case, many of these types of optimizations proved to be more immediately impactful than code size reductions, which tended to be individually small and only began to add up after many incremental improvements.
Tim Broddin has created @dailyhomealone, an Instagram bot which does a daily post containing one frame – taken at a 5 seconds interval – from Home Alone.
Along with that he has done a writeup on how he created the bot. This paragraph resonated quite well with me:
A lot has happened to the openness of the Internet [since the last time I wrote a bot] and it’s quite difficult to create a bot nowadays. Twitter has limited it’s API capabilities (no more realtime), and in order to post you need their permission. Instagram has ditched its API and replaced it with something horrible for marketeers and other scumbags. And since Facebook leaked all of your data, they’ve closed their doors and now require you to sign contracts in order to do anything fun.
Eventually he made use of some private Instagram APIs to do the daily posts. Using Amazon Rekognition he also auto-tags each post.
Sometimes checking your instagram during work is kind of strange, so why not check your instagram inside your terminal? OK… I know checking this during work is still strange… 😑 To be honest, I did this just for pure fun.
Patrik Svedberg had been taking photos of a particular and unique tree which he named “The Broccoli Tree”. He posted the photos on an Instagram account dedicated to the tree. And then one day, he noticed something was wrong with the tree. This video by Seth Radley tells the story.
William Candillon recreated some parts of Instagram’s editing process (namely the filter, rotate, and crop steps) in React Native.
The filters are implemented with GL-React:
Gl-react offers a really efficient paradigm for integrating React and OpenGL together. The library enables you to easily build scenes using React composability. For instance, consider an image with two filters: Brannan and Valencia. It can be expressed as below. The GLImage implementation is based on gl-react-image.
Starting August 1st, Louise Delage has been posting photos to her Instagram account. The 25 year old Parisian collected over 50,000 likes in just eight weeks. But did her followers even know what they were liking?
It took Instagram 2 years to build their first web app, and then another 3 years to implement web search. It will probably be a while, if at all, before Instagram brings Stories to the web, so I thought I’d do it myself.
The result is Chrome IG Story:
Chrome IG Story is a Chrome Extension that injects your friend’s Instagram Stories above your feed on the Instagram.com desktop website just like it appears in the Instagram mobile app.
With some sniffing he found the (unreleased) API Endpoint that Instagram uses. The extension makes a request to said endpoint, injecting the cookies set by Instagram along with that for authentication, and even faking the user-agent to being Instagram itself.