TechChange and TextIt

Ever since TextIt publicly launched (has it really been four months already?), we've created some wonderful partnerships with many different organizations around the world. Today I just want to give a quick shout out to our friends over at TechChange. If you haven't heard about them, you will soon, especially if you work in international development. We've been privy to a great many technology initiatives in the developing world, some good, some not so good, and seeing something like TechChange show up to meet a very important need is refreshing.

For the uninitiated, following in the spirit of online courses like Khan Academy, Udacity, and Coursera, Nick Martin co-founded TechChange to explore online courses for those who aspire to do social good with technology. In their own words:

TechChange provides scalable and interactive technology training for social change. We deliver online certificate courses to individuals, build customized courses and learning experiences for organizations, and strengthen technology-enabled communities of practice.

All too often in the developing world there isn't enough knowledge transfer, especially when it comes to sharing what doesn't work. I'm really excited that an organization like TechChange has cropped up -- with an explicit aim to help teach best practices for these sorts of programs. I'm confident they will go a long way toward discouraging projects based around technology simply for technology's sake.

At TextIt, we often talk of "people problems" instead of technology problems, which I go into more detail in the video below. Our tool removes the technical hurdles so you can focus on the hard problems in development. How do you engage your audience? What are the incentives? What value are you truly bringing to your target audience? Technology often is not required to solve these problems. TechChange gets this and helps guide folks so they can make informed decisions on when to apply technology, and more importantly, when not to. And if they do, what is the best technology and tool for the job.

Using TextIt for mHealth

This morning I had the privilege to speak at a TechChange session from here at kLab. The session was focused around mHealth and how TextIt can be used as a flexible tool for implementing a variety of proven interventions using SMS or IVR systems. TechChange brought in over 90 people in 30 different countries to hear what I had to say in a live Q&A format. What's better is they've shared our 60 minute session publicly so even those not enrolled in the course can benefit from it after the live event.

Creating a platform for these sorts of dialogues is extremely valuable and so very important. I wish them continued success as their online courses gain even more traction and I would encourage anybody working in the sector who hasn't yet, to check them out.

Using TextIt with a Local Number

While TextIt is an amazing tool for building SMS apps, it's not very valuable if you can't use it in your country. Over the course of the last several years, we've deployed many custom SMS systems in various countries in Africa. It was during these projects that we recognized the need for not only a flexible application workflow tool but one that can be easily deployed anywhere in the world.

There's a number of ways you can use TextIt with a local number in your country. The most popular of which is simply using an inexpensive, off-the-shelf, Android phone to send the messages for you. They can be had for around $90 and you can hook them up to your TextIt account in one step, and that's it. There's no step two. Your TextIt account is now live. It's hard to overstate the value of getting started this quickly. Not only do you get to do away with expensive and lengthly carrier integrations, you get to start experimenting right away. Learning what works, what doesn't, and how to move forward is the hallmark of effective programs. This means you get to stop guessing and start measuring even when you are just getting started with the idea phase of your project.

This isn't just for pilots either. Using an Android phone with TextIt is a proven, rugged, and reliable solution that large organizations are already using to send thousands of messages for their programs.

That's great, but how does it scale?

Nobody wants a solution that will only work at low-scale. While TextIt is already built to push millions of messages, the tricky part is how the last mile is configured. Using an Android phone will work for the vast majority of projects over their lifetime. It's even possible to use several phones in the same country to increase message throughput if necessary.

However, some of our customers require very high volumes. Thankfully, TextIt can grow with you. When the time is right, your account can be migrated over to use a local aggregator or even a direct connection with the carriers in your country.

Find out more by reading the TextIt Deployment Guide.

Introducing TextIt Campaigns

One of the core tenets around TextIt is to enable the kinds of interactions that have been proven to work most effectively. Our goal has always been to enable every organization to use SMS in the most natural and powerful ways so that their programs can be more successful. As such, it is with great excitement that we introduce TextIt Campaigns.

Campaigns allow you to easily schedule interactions with your users based on dates they have entered. For example if you collect the expected delivery date for a pregnant mother, you can send her a reminder to attend pre-natal visits in the months leading to her delivery. You could also encourage her to make an appointment to deliver her baby at a clinic and send followup reminders for vaccinations. To the mother this is a convenient service that requires only a simple registration she can undertake with the help of a clinician.

One reason we are so excited about campaigns is that they have been proven to be effective. In 2011 we participated in a randomized controlled trial that showed that mothers receiving reminders are almost twice as likely to visit a clinic after birth. With TextIt, we hope to make that simple and inexpensive intervention available to clinics around the world.

But really, we hope that is only the start. Campaigns can do more than just send messages, they can also start users down a flow, working them through a decision tree, collecting information about their pregnancy or helping advise them as to when to seek help from their local clinic. We hope that by enabling these types of interactions we increase the rate of experimentation and learning, leading to completely new programs.

The idea of reminders span much more than just maternity health. We think Campaigns can be used across sectors, reminders farmers as to when to plant their crop and fertilize, or just following up with users as they complete a set of surveys.

Every TextIt account got a free upgrade to campaigns, so you'll see them next time you log in. We recommend watching the introduction video above to get started, but if you have any questions, we always love hearing from you at

TextIt featured at TwilioCon 2013

Last week TextIt had the honor of being featured at one of the biggest events in the telephony industry, TwilioCon. This was the third and biggest installment of the conference yet. For the uninitiated, Twilio is a company founded to alleviate the pain of integrating with carriers, enabling developers to instead code against a cloud API when they want to do innovative things with SMS or VOIP. To that end, they've done a great job of really lowering the barrier for new and interesting ideas to emerge on their platform.

Unfortunately, here in East Africa (and anywhere outside of the US, Canada, and the UK) we don't have the full benefit of Twilio. While their platform can send messages to local numbers here, there's currently no way for people to respond to a local number. So this means the opportunity to be the Twilio of Africa is still up for grabs. I have to say though, after spending time with CEO Jeff Lawson and the rest of his team, I really hope that Twilio becomes the Twilio of Africa. They are a developer-focused, no shenanigans operation that we can really identify with. In fact, TextIt was born out of a similar mission to reduce barriers to innovation. The key difference is that TextIt enables people who aren't developers to easily create SMS campaigns anywhere in the world without the time and money required to integrate with carriers. No matter where you are, you can take advantage of our exclusive flow engine by simply downloading a free Android application.

To kick off TwilioCon this year, Lawson led off his keynote by highlighting TextIt and how organizations are using it for a lot of social good in the developing world including programs focused on health, education, and governance. While we are extremely proud of that, the value of TextIt doesn't stop there. It's also being used to help corporations both large and small engage with their customers all over the world.

There were quite a few announcements at the conference this year but the most exciting was which promises make it easier for non-profits to do meaningful work with less of a financial burden. Even though Twilio only allows two-way SMS in the US, Canada, and the UK, they do allow voice-enabled phone numbers in many more countries and can terminate those calls anywhere in the world. What's even better is that TextIt flows for easily building IVR (Interactive Voice Response) applications are already in beta. So this means that if you are a non-profit, you can for example, have a TextIt IVR application call India for only $0.025/minute, get $500 of free credit to get you started, and you can deploy it instantly. This blows the door wide open for doing low-cost IVR systems that can be deployed in any country. We are super excited about this. If you are a non-profit and interested in doing SMS or Voice applications, please get in touch, we'd love to help you get started with this stellar program.

TextIt at USAID TechCamp Kenya

We had the honor of being one of the trainers for the TechCamp Kenya conference on September 9th and 10th in Nairobi. TechCamp's are organized by USAID and are incredibly neat because they are so hands on and relevant. Instead of picking a theme themselves, the organizers query the aid organizations in a particular area asking them what they want to hear about. From that they put together a list of topics and then seek out subject matter experts to help train and organize the participants.

This TechCamp was focused on health and we were lucky enough to be invited to train on SMS technologies. I say lucky because it is always inspiring to see the work others are doing, both in very large organizations and very very small ones. TechCamp's format means we were always working in small groups, really talking about the problems they faced and helping us better understand the needs and realities on the ground.

Perhaps the most rewarding part for us was seeing the reception to TextIt. Though we have large customers using TextIt now, it is great to see smaller organizations see the potential and talk about how they can use our low cost tool to help them achieve their goals. We also got to share our experiences in building other SMS systems in East Africa, both good and bad and generally just had a lot of fun meeting others in the ICT4D community.

If you a TechCamp comes to your part of the world, I would encourage you to attend. They are fantastically organized and they are a fantastic way to see how others are solving problems and share your own experience. We're already looking forward to the next one.

Ten Tips for Building Effective SMS Surveys

One of the most popular (and best) uses for TextIt is to build multiple question surveys. SMS Surveys have much higher completion rates than those done over email and are usually completed much faster as well. But while most people won't mind answering a few questions, there are a few simple things you can do to increase the odds of getting great response rates. Here are some tips to make your SMS surveys as effective as possible.

Introduce Yourself

Even if you have communicated to your users via SMS before, it is always good to remind them who you are in case they haven't saved you to their address book. As always, keep it short, just add your organization name to your greeting. Leading with something simple like "Hi from TextIt!" can go a long way.

Short Messages

Try to keep your questions clear and as short as possible. Though all handsets support messages as long as 160 letters, many do not display more than the first 50 or 60 without scrolling. Try your best to put your question in those first characters so your users know they are expected to respond and know to scroll down.

Limit your Questions

Along the same lines, don't get greedy with your survey, keep it to a manageable number of questions. Ideally try to keep your survey under five questions, though depending on the audience you may be able to ask up to ten effectively. You'll need to test this out yourself, but make an effort to think of what the critical indicators you want to collect are and stick to those. If you absolutely must ask more questions, then try to split them among multiple surveys asked over a longer period of time.


Nobody wants to feel like they are talking with a robot, so do everything you can to make the survey feel personalized and fun. If you know the names of your users, use TextIt's variable substitution feature to include it in your greeting, after all, everybody likes hearing their name. Even if you don't, personalize how you pose questions based on previous answers. This will make your users feel like they are being listened to and help them stay motivated to complete you survey.

Enumerate Choices

Unless you are asking an open ended question, you should give your users some clues on how you want them to answer. If you are asking a Yes or No question, end your question with "Answer with Yes or No". This removes one point of friction for your users, they don't need to ponder what formats are supported and it also reduces the chance of them receiving an error because they answered with something unexpected. Of course, even if you provide great prompts you'll still want to support synonyms and provide helpful error messages.

Make it Free

If possible, make answering free to your end users. In most countries you can configure a SIM card to be reverse billed, that is, you would pay for the incoming response instead of your users. This is especially important in developing contexts where the cost of responses over a long survey can add up. Sometimes it is tricky finding the right person at a carrier to set this up properly, but it is almost always possible. Oh and once you have this set up don't forget to tell your users that responding is free!

Give a Reward

Can't make responding free? Then set up some kind of reward for your users. This can be something that has real monetary value, like a coupon you send them upon completion or can be something fun like a quote, joke or motivational message. Another idea is to enter anybody who completes your survey into a drawing to win something. Be creative, there are lots of different ways of motivating users!

Timing is Everything

Think about what your users are going to be doing when they receive your survey and use that to your advantage. If you send them a question while they are asleep or having dinner, they might not see it or forget about it entirely. The "right" time to send out a survey is different for every audience, but with a little thought your messages will hit them right when they are most receptive.


Treat your users with respect: allow them to opt out of future surveys and don't send surveys too often. This is especially important in more developed markets which have regulations about how you can contact your users. Follow the general guideline of only contacting users who you have a relationship with and respecting their wishes if they choose not to participate, TextIt makes it easy to manage groups in flows to do just that.

Experiment, Experiment, Experiment

Most importantly, keep experimenting!  Every audience and context is different, and your users' tastes may even change over time. Experiment and keep track of how many users finish your surveys and keep iterating based on those learnings. There is no catch all solution, but if you make an effort you'll have amazing response rates in no time.

Scheduled Flows and Video Learning Center

We pushed a few new things this week based on your feedback, including allowing you to start flows on set schedules (even repeat them!) and a new video learning center with short two minutes videos covering various aspects of flows.

Scheduled Flows

One request we got from a few people is whether you could trigger flows based on time, that is send a flow to a set of contacts every Monday at 6:00pm. And you know what? That's not just good idea, that's a great one, so we slaved away this week to bring it to fruition. Just visit the Triggers Tab and you can start triggering flows based on whatever schedule your heart desires.

This gives you a lot of power, you can now send out weekly questionnaires to a set of contacts automatically, say to do a longitudinal study of their satisfaction or the effect of your program over time. Or you could utilize schedules to gather stock levels at clinics without having to worry about your contacts remembering to send it.

New Videos

You probably thought that with my voice over skills I would have hung up the hat doing tutorial videos, but I just can't resist, so we put together a dozen really short videos covering basic (and not so basic) flow concepts to help you get started. If you want to see how to use some of the more advanced actions in flows, or if you are just feeling lonely, you can check them out in our new learning center

As always, get in touch at if you have any questions or suggestions.

Building a Software Company in Rwanda - 3 Years Later

We've talked to a lot of people in the past few weeks since TextIt has launched and virtually every conversation starts with the same question "What are you doing in Rwanda?". I remember getting the exact same question when we first started Nyaruka, so maybe it is time for an update.

Three years ago my business partner, Eric Newcomer, and I were still in Seattle. Our little game studio seemed to be winding down, we'd done well in the early days of smartphone apps, but after building a few dozen apps we were in the mood for something new. By random chance a friend of mine mentioned she was going to Rwanda for a project and that they could use some technical help, and having always wanted to visit Africa I jumped at the chance to tag along.

What I found in Rwanda surprised me. Far from the war torn canvas often pictured, it was beautiful and peaceful and in the midst of reinventing itself. Rwanda is a tiny country, completely landlocked by countries with poor infrastructure, so it is in a tough spot when it comes to exports. The biggest industries are tourism, tea and coffee and all of those were unlikely to continue to have significant growth, there just isn't enough space. So Rwanda has a dream of building an information based economy instead, the idea to export services and software instead of physical goods.

On my first visit this Vision 2020 plan as it is known, was about halfway through, the government having just completed laying fiber optic across the country and beefing up other critical infrastructure. The next decade was to focus on building the people side of the equation, improving education and the skills available. As I soon found out that was no small task, there just weren't many experienced developers in Rwanda, many of the professors teaching had never coded themselves and the software community was still tiny.

I spent those first two weeks in Rwanda learning what I could about the state of things, visiting universities and talking to local businesses and government officials. From those conversations an idea sprouted, that maybe my skills as a developer weren't completely useless to the developing world, that maybe just maybe we could start a company in Rwanda and see what we could give back.

So a few months later, in May 2010, Eric and I started Nyaruka with only a vague idea about what we would do, just betting that we would figure it out one way or another. It took a bit of time but Kigali is a small community, so after a few months we started getting some consulting gigs and from there our reputation grew enough for us to have a steady supply of work.

Most of that work has involved SMS in one way or another. We built systems to conduct live polls during radio shows in Uganda and Kenya, others to track the coffee harvest as it occurred and any number of health related projects, including birth registries, and building pre-natal reminder systems. Of course not every project has been a success, we've had a few end before they ever left the nest, sometimes the NGO world's funding and priorities can be a bit fickle like that.

We never ran a consultancy before, so we made some big mistakes early on. Not insisting on maintenance contracts was the biggest one there. You need to establish early on with your client that your time has value and just because you built them a system doesn't mean they get free maintenance and support forever more. But those were rookie mistakes having to do with our inexperience with consulting, nothing to do with Rwanda.

One of the best parts of working on so many projects is that we've had the opportunity to figure out what product we wanted to build ourselves. Through our consulting we found that the best uses of SMS were actually really simple, natural interactions, but nobody was making it easy to build those kinds of systems. TextIt was born out of that experience and in the end we found that we built a product in Rwanda who's addressable market isn't just NGOs working in Africa, but organizations large and small all over the world.

This surprises some, they point to the rise of WhatsApp and iOS messaging and say SMS is dead, and if we were talking about interactions between peers then I would tend to agree. But there is a huge and growing market in allowing organizations to better communicate with individuals, not with one way spam, but with conversations, conversations that provide information, measure opinion or provide self service. SMS is still the king here, everybody in the world with a phone number can be addressed by it, whether they are carrying the latest $700 iPhone or a $10 Nokia. TextIt makes those kind of interactions easy and natural, regardless of whether the end user is in the field in Africa or at the mall in San Francisco.

Of course wanting to write software that "did good" was only one of the reasons we undertook this adventure, perhaps even a corollary one. A big goal of ours was to help build capacity in software development here, to hire and train Rwandan engineers and grow the software community. We've done ok on that front as well. Though we had a few false starts, we now have two awesome engineers, Eugene and Norbert. The state of education when it comes to software still leaves a lot to be desired, but the talent is here, so with some investment in training they are both solid contributors and helping make TextIt better every single day.

Our other big success story is helping cofound the kLab, what you would call a co-working or hacker space, but what is more commonly called an "innovation space" here. Regardless of slogan, the concept is the same, that by bringing people together in the same space, working on similar problems, magic happens. Here in Rwanda spaces like the kLab are doubly important, because they help establish a little beachfront of software culture. We paid for the foosball table out of pocket because we wanted to bring out that little bit of culture, that software is more jeans and t-shirt than suit and tie, that it is a culture of doers and hacks and just making things work.

As to living in Kigali, well, that part is pretty awesome. Kigali is a beautiful city in an even more beautiful country. It is safe, clean and livable, the weather literally perfect day in and day out. And unlike some of the other regional capitals, corruption is virtually unheard of and most business processes, while sometimes slow, are predictable and by the book. The internet was pretty rough when we first got here but the real bandwidth has doubled every year and now rarely gets in the way. 

The city has grown up a lot over the years, we have an awesome movie theater, a bowling alley and even pretty great burritos. Part of that is more expats starting to settle here, part of it is just the city coming into its own, but it is growing by leaps and bounds. The biggest complaint you'll usually hear about Kigali is that it can be a bit boring at times, there isn't necessarily much to do, not much live music, not many interesting events. Well that and a lack of cheese options, you really start missing cheddar after a while, trust me, gouda can only take you so far.

So in short our little adventure has worked out ok, despite seeming a bit insane when we first started. I'd encourage anybody on the fence about moving abroad to just do it, to take the risk and get off the couch. Make a concerted effort to build up a little parachute of money, then just jump and see what happens, either way it will make for a great story. 

One cautionary footnote, if you decide to do it, do it with intention, commit to it. Having been here for a while now, I've seen many who make the move for a few months, maybe a year, but treat it as volunteer tourism. There is a place for that, but the bigger need is for those who come and want to build something of lasting value, a business or organization. Try to commit to a few years at least, try to work locally, try to get involved, because through that struggle you'll leave a lasting mark instead of only enriching yourself.

If you are ever in Rwanda, stop by the kLab and stay hi, we always love talking to visitors and answering questions.

Using the Simulator to test your SMS Application

A big part of building things is testing them out, and while you can always test SMS apps with your phone, it quickly grows tiring. That's why we built an awesome simulator for TextIt, one that lets you see exactly how things will work for your end user. Not only do we let you interact with a flow right from the same page you use to create it, we also show the simulator moving through the flow in the same way we show real users. This lets you see the path taken as you work through a flow, and of course any edits you make to the flow are immediately reflected when you send the next message.

If you haven't tried it out yet, just go to any flow page and click the little phone icon on the right side of the page, it will slide in and automatically start you down the flow.

Action Logs

As TextIt has become more powerful with the addition of group management, contact variables and email (among others!), we've updated the simulator to keep pace. When you trigger one of these advanced actions in a flow we insert a message to show what happened. If you are using an email action we'll still send you the email so you can make sure it contains the right information. This all ties back to us wanting to enable you to be agile in how you create your SMS applications. If testing is something that took forever and you hated doing, then you'd resist making changes, too scared to break something. Because the TextIt simulator is so easy and quick, you can continuously iterate, confident that everything is working as expected. 

We've been working on putting together similar short videos for other TextIt features. If you have any requests or questions, please send them our way to

Integrating TextIt with your Application Just got Easier

One thing we've been pleasantly surprised about is how many customers want to use TextIt to integrate SMS into their applications, essentially calling out to us to trigger a flow and having TextIt take care of all the interactions. After talking through a few different uses cases we're happy to show off some of our new integration points that enable these kinds of interactions.

Webhook Variable Injection

Though TextIt provides flexible ways of storing custom fields on contacts, sometimes you want to look up attributes from an external database, like an order number or patient id. That is now as easy as adding a webhook to your flow action or rule. When a user reaches a webhook in your flow we'll call the URL you configured, passing it the text of the message they sent as well as all the other variables collected. But the best part is that if you return JSON, we'll save those values for use later in the flow.

As an example, if you configure a webhook at the start of your flow that looks up an order, it could return the following JSON:

Then anywhere else in the flow you'll be able to reference the variables via the @extra variables, like @order.description.

Of course since your webhook is receiving all the information that has been collected in the flow, you can use webhooks to save information collected in the same way.

Flow Run API

Another big request was to be able to trigger flows via our API, our newly minted Flow Run API allows just that.  A run is what we call a single pass through a flow by a contact, by using our simple REST endpoint you can list and filter all the runs on your account and retrieve the steps and values collected by each contact who passed through the flow.

You can now also start Flows by making a POST to the same endpoint, optionally passing in a set of @extra variables to use during flow execution. For example, say you wanted to trigger a field worker to perform a survey on a particular water point, you could start a user down a flow with the needed attributes by making the following POST to

We think this provides a really interesting model where TextIt can act as the "SMS Engine" for your application, dealing with tracking state, retries and error conditions while leaving you to focus on your core competencies.

Rules on Custom Variable

This one is less about APIs, but very much a developer feature: you can now create rules that split on a variable of your choice. Typically in TextIt you want to guide a user down a flow based on the text of their response, but we realized that with the addition of webhooks, there are cases where you want to define rules on a different variable instead.

To use our our earlier example of looking up an order id, we may want to route the flow based on @extra.status, so we can send the user back different messaging appropriately. You can now do that, just click on the 'different variable' link when defining your rules.

See them in Action

The easiest way to understand what is possible with the new APIs is to see them in action, so every account now has four sample flows, two of which include webhook calls and custom field rules.  Just visit the flows on your TextIt account and look for the Order Status and Customer Satisfaction Survey flows.

As always, if you have any questions about what is possible, or suggestions on how to make things easier, let us know!