Since launching Write.app into public beta I’ve had the pleasure of outsourcing some of the details of the app to a handful of awesome APIs. I have to say I’ve fallen in love. Today I just want to talk about a few APIs that currently power Write.app, what they do, and why they’re awesome. Hopefully this will help someone else out there looking for solutions to the problems these services solve or help someone decide between competing platforms.
Currently Write.app is using four APIs to power some of its core functionality. Those APIs are provided by Twilio, Mailchimp, Amazon S3, and Mandrill. They provide SMS capabilities, mailing list management, file storage, and transactional email services respectively. These features are essential to Write.app’s functionality and so far I couldn’t be happier with all of them.
Twilio provides telephony services through a super simple API. Their core services revolve around allowing your app to send, receive, and manipulate SMS and voice data. Not only is it simple but it’s cheap too. Just a buck a month to reserve your own phone number (which you can you to process inbound and outbound SMS and voice messages). For texting, which is all I’m using for in Write.app currently, it’s only $0.01 per message sentor received! We’re just hours from launching two-factor authentication within the app and text-to-post notes are also coming soon. We couldn’t have built this functionality without Twilio. Right now, since two-factor authentication for Write.app is still being tested privately, I’m using Twilio to have Write.app send me a text whenever a new user signs up. I love those texts.
Everyone knows Mailchimp. They’re probably the best known (and I think the oldest) email marketing services on the web. And they have that cute monkey as their mascot. Mailchimp really isn’t all that well suited to transactional email so we don’t use it much but we do use it to manage our marketing efforts. When new users sign up for Write.app we fire off an API call to add them to our mailing list in Mailchimp. We don’t use it for much else right now but we’re working on giving our users more control over the kinds of emails they receive from us and I’m hoping to be able to automatically create and send campaigns from Write.app whenever certain conditions are met.
All apps need storage and if you’re storing user data directly to your server you might want to rethink that. Most of us aren’t at a scale where we can say we’re truly ready to handle processing and serving user submitted media. You run the risk of data loss, malicious files being uploaded to your servers, and eventually you’ll just plain run out of room. So we decided to head this off from the start by using S3 to store user data like profile images and such. In addition Amazon offers redundant storage for important files. We use this along with encryption to store backups of our user’s posts.
Next to Twilio this is my favorite API of the bunch so far. As a web application we sometimes need to send important, private messages to our users. Besides SMS, email is the best solution. So instead of setting up our own mail servers (which has always been a pain) we’re outsourcing the job of sending and receiving certain types of email to Mandrill. Now, we use Gmail through Google Apps for support and other email that needs to be dealt with by a human but for all the automatic stuff Mandrill takes care of it for us. We’re using Mandrill to send out password reset instructions, welcome emails, reminders, notifications, and more. We’re also using it to allow our users to do some pretty awesome things by sending us email. Right now we’re working on an email-to-post feature that would let users post to their accounts just by sending us an email.
Our experience with these services has been amazing and we’re excited to build out and refine the features of Write.app that they make a reality. Of course we could have built all of these services ourselves from scratch but isn’t one app enough? The reason we’re using APIs is to outsource the stuff we’re bad at and build the things we’re good at and passionate about. Write.app isn’t an email company, a file storage company, or an SMS gateway. We’re building the next great quiet place online for people who think deeply and are thoughtful about what and how often they publish something.
Before our beta launch we promised integrations with a number of different sites like Twitter, Facebook, Dropbox, and others. While we’re still in the early stages of developing those features I can tell you that it won’t be too long before you might see me writing another post about how much I love the Dropbox, GitHub, and Tumblr API.