Thanks to Instart Logic, the images load much more quickly, so users can interact with the IFTTT application much faster - something we noticed right away after turning on the service. Instart Logic’s Global Network Accelerator, which allows for keeping globally distributed high performance TCP connections connected through to our backend, gave our mobile apps far better connectivity for the long polling that’s required to run the IFTTT application. No legacy CDN or web performance solution could give us what Instart Logic does.
Founder and CEO, IFTTT
Three years after launching in 2010, the IFTTT team was hitting a critical inflection point for its web performance. “What we are doing isn’t content or image-heavy so we first thought we didn’t need an application delivery system,” says Tibbets.
Each Recipe in the application required that IFTTT call up a set of images such as two company logos (i.e. Facebook and Gmail). Each Recipe image also contained the number of times it had been deployed by users. Keeping the Recipe use tally current, however, often meant updating these Recipe images 10 or even 20 times per day. Flushing a cached image on a legacy CDN at high frequency wasn’t a possibility. Additionally, the Recipe images were stored in Amazon’s S3 storage service, but this was extremely slow to load. These images were particularly important for emails, where IFTTT used clickable pictures to allow users to access Recipes directly from their mail clients.
Equally important, Tibbets wanted to accelerate the performance of their soon-to-be launched iOS hybrid app that used both the app infrastructure as well as standard HTML5 mobile web views. IFTTT’s application requires regularly “polling” to check if an IFTTT Recipe has been triggered. This requires persistent fast TCP connections from the end users to the IFTTT backend. Doing this is difficult and costly over cellular data infrastructure, where connections drop all the time. IFTTT needed all of this delivered with a service that could seamlessly handle rapid global scaling. “We always make decisions based on the ability to support 10x the load that we have today,” says Tibbets. Because IFTTT runs a very lean operation, Tibbets and his team wanted fast, efficient support when making changes or requiring technical assistance. In short, IFTTT needed:
- A web performance solution that accelerated delivery of personalized collections of images and dynamic content but allowed fine-grained control over cache refreshes
- A way to speed up the “time-to-interaction” of the web view portion of its iOS app
- Reduced infrastructure costs without any sacrifice on performance or scale • Fast, friendly and smart technical support
IFTTT started testing the Instart Logic Web Application Streaming Network and Global Network Accelerator in the fall of 2013. On average this cut image size by almost 40% for users accessing IFTTT on modern web browsers. Instart Logic also has novel techniques to accelerate network communications across the Internet. The Global Network Accelerator uses a new protocol, IPTP (inter-proxy transfer protocol), that leverages Google’s protobuf technology, to dramatically increase network performance between end users on mobile networks and the IFTTT backend. This system enabled IFTTT to maintain more reliable connections to users over mobile networks and deliver a great end user experience. Set up and configu - ration on Instart Logic for IFTTT was simple and consisted primarily of redirecting traffic by changing a few DNS entries. “We really liked that they did not take a lot of time to set up and that we did not have to change a single line of code in our app to take advantage of the service,” says Tibbets.
IFTTT’s Tibbets instantly recognized the before-and-after performance difference delivered by Instart Logic. “The images on our web pages load to full resolution much faster. Users were then able to click on them more quickly,” says Tibbets. This was even more pronounced on the iOS mobile app. With Instart Logic, the wait to see and then click on the web view portion of IFTTT’s app was negligible. IFTTT also used Instart Logic to fine tune dynamic generation of Recipe images and counters, and were delighted that they could flush their image caches instantly and as often as they needed. “That’s been a huge bonus. Not only can we dynamically generate and cache that image, we’ve been able to tune how often it gets regenerated,” says Tibbets.
After turning on Instart Logic, IFTTT enjoyed a “... dramatic decrease in application servers we needed running at any given moment,” says Tibbets. “We went from 20 down to 12. We no longer had to manage all those requests for the web application assets, as Instart Logic offloaded this for us.” This all happened while IFTTT web traffic doubled between August and October of 2013, further illustrating Instart Logic’s strong scaling capabilities.
Any issues the IFTTT team had with the new service were quickly answered by the Instart Logic support team. “When we needed things to be changed or added, we didn’t have to wait. In fact we asked for a few product changes and within just a week or two those changes actually made it into the product. That’s impressive,“ says Tibbets. “We can definitely see Instart Logic growing with IFTTT to 10x and beyond.”