Making Instagram.com faster

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.

Making Instagram.com faster →

@dailyhomealone, an Instagram bot posting one frame from Home Alone per day

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.

@dailyhomealone on Instagram →
Creating a Home Alone Instagram bot →
dailyhomelone Source Code (GitHub) →

I found this Home Alone themede ad for Google Assistant very amusing:

Instagram Terminal Feed

Forget about that Instagram for Windows 95, and go for the real deal: Instagram on the CLI:

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.

A color mode is also available.

Instagram Terminal Feed →

The Broccoli Tree: A Parable

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.

To share something is to risk losing it

(via Kottke)

Implementing Instagram Filters and Image Editing in React Native

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.

import * as React from "react";
import {Surface} from "gl-react-expo";

import {GLImage, Brannan, Valencia} from "./gl-filters";

export type FilterName = "brannan" | "valencia";
type FilterProps = {
    uri: string,
    aspectRatio: number,
    name: FilterName,
    onDraw?: () => mixed
};

export default class Filter extends React.PureComponent<FilterProps> {

    render(): React.Node {
        const {style, uri, aspectRatio, name, onDraw} = this.props;
        const source = { uri };
        return (
            <Surface style={{ width: 100, height: 100 }}>
                <Brannan on={name === "brannan"}>
                    <Valencia on={name === "valencia"}>
                    <GLImage {...{source, aspectRatio, onDraw}} />
                </Valencia>
                </Brannan>
            </Surface>
        );
    }
}

A more condense writeup is also available: Implementing Instagram filters and picture editing with React Native →

Louise Delage on Instagram

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?

Like my addiction

A video posted by Louise Delage (@louise.delage) on

The end caption reads:

It is easy to not notice the addiction of a person you’re close with.

The Shocking Truth About Louise Delage’s Instagram Account →

Getting Stories from the Instagram API

chrome-ig-story

Alec Garcia:

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.

Chrome IG Story Extension →
Chrome IG Story Source →
Chrome IG Story — Bribing the Instagram Story API with cookies 🍪🍪🍪 →

Upload directly from Lightroom to Instagram with LR/Instagram

grikgmxpwsmkaywttq3l

LR/Instagram is an unofficial publish plugin for Lightroom, allowing you to post photos directly to your Instagram account.

Simply install the plugin, add new service in Lightroom Publishing Manager and authenticate with your Instagram account.

LR/Instagram – Lightroom Publish Plugin for Instagram →