IFTTT — meaning "if this then that" — is quickly becoming a staple in many digital toolboxes. The service is like cross-platform programming: you can create triggers and actions to pipe information from one place to another.
After existing as a web service for several years, IFTTT launched its iOS and Android apps in July 2013 and April 2014 respectively to offer unique abilities on mobile devices. We spoke with Alexander Tibbets and the Product Engineering Team at IFTTT to learn about their foray into mobile development and how they expanded their service.
Where did the idea for IFTTT for iOS and Android come from?
Devin Foley, Director of Product Engineering at IFTTT: As soon as IFTTT started gaining popularity on the web, users began asking for "IFTTT to go." Essentially a version of IFTTT that they could keep in their pocket. I joined the team in the summer of 2012 to kick off work on the IFTTT mobile experience and eventually built out our mobile team.
We knew up front that we wanted to provide all of the functionality of IFTTT.com in an app. We also knew that we had a great opportunity to provide the IFTTT community with something new and wholly unique to mobile.
After you decided to start on a mobile presence for IFTTT, what was the next step?
Devin Foley: We decided to prioritise IFTTT for iOS — simply because at the time, everyone on the team was using iPhones.
We spent several months iterating on the product and testing ideas, and slowly the app started taking shape. Just as we thought we were close to the finish line, we came upon the realisation that by integrating IFTTT with the device's photos, reminders and contacts, we could unlock new potential to create some really amazing "Recipes." Without these features, the app suddenly felt incomplete, so we doubled down and sprinted to add them in time for a launch in July of 2013.
What was launch like for you?
Jonathan Hersh, iOS Engineer at IFTTT: First you invest untold hours polishing animations, collecting feedback from the beta community and focus groups, obsessing over copy, evaluating the app on various devices, and benchmarking performance. Then you push a single blue button in Apple's developer portal and — BANG! All of your preparation pays off in an instant because, with that one push of a blue button, you've sent your pride and joy around the globe and you see people start installing right away.
It's something of an emotional rollercoaster but it's all worth it in the end. We love to see the IFTTT community in creative control of their favourite products and putting the Internet to work for them.
After launching for iOS, what platform did you target next?
Jordan Beck, Senior Android Engineer at IFTTT: I was brought on to lead our Android engineering efforts in late 2013. Android was always a big part of IFTTT's mobile roadmap because of the many unique opportunities it offered. There were also many challenges.
The iOS app was very well received and we obviously wanted IFTTT for Android to live up to that. There were many new options that Android presented — whether it was accessing phone call information, setting the wallpaper, or detecting WiFi networks. It was new territory for all of us.
In April of 2014, we launched IFTTT for Android after nearly six months of hard work by the entire team. There are so many cool stories to tell through Android and the exciting part is we still have a lot more to tell.
What was your biggest roadblock and how did you overcome it?
Devin Foley: Recipes like "Save my iOS photos to Dropbox" were difficult to implement — they wouldn't be nearly as useful if they didn't run seamlessly in the background.
Though background fetch is now built into iOS, back in 2013 we needed to perform some clever location-based hacks to allow your phone to run Recipes in the background without draining your battery.
We spent a lot of time testing in the back of an Uber, with what looked like an electronics fencing operation laid out across the back seat.
How do you handle user requests and criticisms effectively?
Charlie Park, Senior Engineer at IFTTT: We get a lot of awesome ideas from the community about new features they'd like to see on IFTTT. All kinds of stuff — new Channel requests, design suggestions, improvements for Triggers and Actions. It's fun to get that feedback (even when critical) because it means people are really excited about what we're doing.
When ideas come in, we do our best to consider how they fit into our roadmap, how easy they'd be to implement, and how much of an impact they'd have on the community.
We want to keep IFTTT straightforward and easy to use, so one of the most important (and hardest) things we do is say "no" to some great ideas. It allows us to focus on ideas with an even bigger impact. But the more we can hear from people using IFTTT, the more fun our job is. So keep the feedback coming!
Now, how do you split time between developing new features and managing existing ones?
Max Meyers, Mobile Engineer at IFTTT: This is one of toughest challenges at IFTTT: prioritising whole new features along with improvements to existing features. Especially considering we now have uniquely engineered products on Google Play, iTunes and the web.
Fortunately, we have a strong team of engineers and product designers constantly reconsidering what feature or improvement will have the greatest impact on the community. And honestly, our focus adjusts regularly depending on the week's or month's goals.
You might want to keep an eye on our updates for each new version of the app. You'll see improvements like specific bug fixes and snappier interface design listed right next to new Channels like Android Wear and Nest Thermostat.
What advice would you give to others that want to take on a similar project?
Devin Foley: It's been said that you only get to launch once. Make sure to allow yourself time to work on the details and to create a product that you will be proud of.
Lifehacker's Behind the App series gives an inside look at how some of our favourite apps came to be — from idea to launch (and beyond).