Contacts, on Steroids

The most accessible app on the App Store

Secret intention:

Make Intro the most accessible app on the App Store.

Hidden agenda: 

Make Intro awesome for everyone. Try to spawn a wave of developers that make their own apps even more accessible, out of their sheer competitive enthusiasm. Which would then be a win, whether I win or lose.

Dastardly plan: 

Make enhancing accessibility a continuous development objective. Build on the accessibility efforts I've already made as Intro was built, by shipping a significant accessibility improvement to Intro every month. Begin with the obvious. Start with auditing and improving the current support for VoiceOver. Implement captioning and audio descriptions into the Learn tutorial video, and any subsequent videos created in Intro. Implement support for dynamic text and larger text sizes, with the associated interface redesign that will be required in some parts of Intro. Along the way, collect and integrate end user feedback from a diverse range of users of accessibility features. Engage with other app developers and influencers to raise and focus on the issue of app accessibility. Examine and discuss app accessibility guidelines to broaden the ways in which Intro can be made accessible. Then go beyond all of this, targeting cognitive accessibility. Examine implementing settings within Intro to enable local decisions for each app installation regarding the cognitive complexity that will be presented to the user. Take heed in this of the global work currently going on to develop cognitive accessibility standards, and contribute to that work.

Secrecy procedure:

Document each step of this accessibility journey at, to ensure that it remains tightly under wraps and that there is no chance that it could assist other developers to improve the accessibility of their own products.

Nefarious timeframe: 

t-minus one year, and counting. A continuous process never ends, but as a start I'm giving myself one year to make some great enhancements to enhance Intro's accessibility.


Join the conversation on Twitter: @greatintro & developer @dbabbage #GAAD. And if you're a developer taking up this challenge, ping me so I can let you know about The #AppA11y Pledge (coming soon). DMs are open.


I have been thinking through how best to share this plan since I launched Intro in February 2018. Once Intro 1.2.1 was complete, I started writing this manifesto, and while I was doing that Global Accessibility Awareness Day appeared on my radar. I still planned to publish this sometime in the last week, when this post-script would have said, 'I didn't hold back the publication of this until Global Accessibility Awareness Day because every day is a good day to focus on accessibility.' But things take time, and here we are, and being ahead as we are, in New Zealand it's now Global Accessibility Awareness Day. And you know, it feels good to be part of the #GAAD global party.

How to learn people's names...

If you want someone to like you a powerful thing you can do is remember their name. “Jimmy…”, you say, “It’s good to see you. How are you?” There’s nothing complicated about using a person’s name — if you can remember it. For a lucky few, people's names just stick. Maybe like me, you’ve encountered people like this. Often they are unaware just how remarkable it is to be able to recall someone’s name just through being told it once. Although maybe you’re not one of those people. Maybe like me, you have real difficulty learning people's names even when you’re trying. You probably know how frustrating it feels; "Hey, I care about people too! My brain just isn’t 'sticky' enough!" There's real benefit in remembering people’s names and like it or not, there's a real cost when you can't. It affects relationships. Some people simply can’t comprehend why you don't know their name and their explanation is: you don’t care enough to bother. The second cost is your ability to learn names. If you don’t know a person’s name you can’t use it and if you don’t use it, you can’t reinforce it in your memory for later.

This week a friend of mine — we’ll call him “James” - recounted to me a strategy he’d used...

This entry was written by Duncan Babbage as a guest post for the EnrolMy blog. Read the rest of the story over on the EnrolMy blog.

Mobile app marketing, privacy, and the Facebook SDK

Intro is a long labour of love from me as a clinical psychologist turned self-taught app developer. It’s all about making more effective connections with people, so launching on Valentines Day seemed appropriate. On day one it was ‘in stock’ and available for sale in 155 countries in the App Store. The payment and fulfilment infrastructure that makes this possible is a radical departure from the historical challenges that faced a one person exporting company in the past, let alone one based in New Zealand. There’s never been more opportunity for a supplier of a product than there is today for digital goods. The flip side is, of course, that with millions of apps to choose from there’s also never been a more noisy marketplace of choices for consumers. To build a successful business, I need to reach people who want the product I’m producing. How do I cut through the noise?

One route that other app developers have found success with is advertising. For a digital product, online advertising is the logical route: reaching potential customers in the context where they have the capacity to directly act on the message. Among the online advertising options, Facebook app install ads stand out as the likely most effective medium, and it’s one I’m testing. Intro runs only on iPhone, and requires iOS 10 or newer. On Facebook, I can ensure my ads are always shown only to users on these devices, an obvious win for both my advertising spend—even if I pay a bit more for the privilege of such targeting—and a win for other Facebook users who couldn’t run the app, who won't see an irrelevant ad. So far, so good, but these targeting technologies can go further than that.

Recently, there has been further coverage of the tracking technologies used by a number of companies, most notably Facebook, to collect information about websites that people visit. When a website includes the Facebook pixel, Facebook receives information about sites you’ve visited, even if you are not logged into Facebook at the time. They have indicated this is used to enable Facebook’s ads to be more effectively targeted in the future. The presence of this pixel on a website also means that Facebook receives some information about you (your IP address, at least), even if you’ve never created a Facebook account and have never used Facebook. Many people feel uncomfortable about this kind of tracking, and recently there have been increasing moves from the European Union in particular to examine whether Facebook is violating privacy laws with this technology.

While tracking people across the web has been in the news, not so visible is the ways in which user behavior can be tracked and reported from within native apps as well. Akin to the Facebook pixel, for app developers Facebook provides an SDK—a software component—that can be incorporated into a third party app. This can provide a number of services. Most obvious is when an app allows a user to log in to an account in the app using their Facebook account, rather than creating one specific to the app. Facebook also provides an analytics service to app developers, enabling you to log key events of interest within your app, and get anonymised statistical summaries of the activity of your users within your app as a result. This doesn't require the Facebook login system to be being used in the app, and an app only using the analytics service would should no visible sign to a user that data is being sent to Facebook at all. Now, in a general sense, collecting such analytics is a routine part of maintaining a healthy app, and many app developers use an analytics service to assist with this. Facebook however offers something other packages do not—tying user behavior inside your app back to previous clicks on Facebook ads. And while a developer can be selective in what they send back, but Facebook's default recommendation is a mode that logs a lot of user behaviour, automatically.

Why would a developer want to do this? Intro is free to download, but the main features of the app require a monthly subscription. The value Intro provides users is in ongoing personal productivity and isn’t predicated on network effects… unlike say a social network, Intro’s value to a user isn’t dependent on whether their friends are using the app. Therefore, from a business standpoint, recruiting users to the free product is only of limited benefit. Business viability will be almost solely based on recruiting people who continue on from a one month free trial to subscribe to the full features of the app. Clearly, the ideal scenario would be to be connected to those people who would benefit from what Intro offers and would be happy to form an ongoing partnership with me as the developer by subscribing to the full features of the app. If advertising leads to many downloads of the free app, but fails to find the users who would actually want to subscribe, it might drive traffic but be expensive and ineffective. Facebook’s SDK provides the opportunity to send back to Facebook the signal the developer is actually interested in—which users not only clicked the link in the ad, but installed it and then also went on to start a free trial or make an in-app purchase. Based on this information, Facebook will dynamically tune advertisements to be presented to those Facebook users most likely to engage in this same behaviour again. Extremely clever. And financially, sounds like an immediate win for my marketing efforts.

Despite that, I won’t be installing the Facebook SDK in Intro. It was immediately clear to me that Intro’s users would not be expecting any action within the app to be reported back to Facebook. Indeed, if you're a user you'd have a clear expectation that your activity within the app certainly would not be reported back to Facebook, or any other social network. This would be true for any user, but particularly so if you've never used Facebook, let alone clicked on an Intro ad, and you found the app through another route. Sending data that identified those users’s devices to Facebook would be far beyond the pale. Yet, this is the way such analytics work.

Facebook’s ability to know the final outcome of an advertising click within an app, and use that to make more effective use of a developer's ad spend, is impressive technology. But as a developer, I must be a vigilant guardian of my user’s data and of their privacy. Intro’s Privacy Policy informs users that I do aggregate some user activity data for analytics purposes. This is done using third party services that are focussed solely on providing analytics services, who are not harvesting user data to target subsequent advertising delivery. So while I may advertise on Facebook, if I can demonstrate sufficient return on investment, that’ll be based just on those initial clicks on that ad, without Facebook knowing what happens after that. Even if that costs me considerable efficiency in my advertising spend. Because users matter more than money. That was never in question. And that’s the way it should be.

Dr Duncan Babbage is founder and developer of Intro for iPhone, an app for connecting effectively with people through learning people's names, recognising faces, and keeping track of your personal network. He describes it as like Contacts, on steroids. Duncan is also Director of the Centre for eHealth and an Associate Professor in Rehabilitation at Auckland University of Technology, New Zealand, where his research examines health innovation, mobile technology in healthcare, and neuropsychological rehabilitation.


It’s been exciting with the launch of Intro on the App Store last week to see Intro’s first subscribers signing up to use the full features of the app. The free version of Intro provides tools to manage your contacts, and enables you to access all data you’ve added to Intro at any point. Using the full features of Intro requires a subscription. There’s a one month free trial available of the full features so users can know exactly what they are getting—currently—if they subscribe. 

I say what users are getting “currently”, because Intro 1.0 is a foundation on which more will be built. There is already a roadmap of some great additional features that will be added to Intro over coming months. I’ll be sharing that roadmap with users over time. As features are added, Intro’s subscribers will of course get access to them at no additional cost. And in addition to what's already on the roadmap, I’m looking forward to hearing from users with their own thoughts on what would make Intro even more useful for them. (Hit that “Support” button on the main menu in the app, and let me know.)

Intro has a subscription model because it creates a partnership between users and me, Duncan Babbage, the developer. Intro’s customers recognise the value for them when there is a viable ongoing business that can support the ongoing maintenance and development of an app they can rely on for their productivity. For those users who are ready to commit to getting long term benefit from an app, a subscription model is the best way to align the interests of customers with those of the developer... to have a stable, well-maintained app with the features that are the most useful, and without the developer needing to make changes and additions added simply to try and sell previous users on a new version of the app. And of course, your privacy can be maintained and guaranteed when the business model doesn't require access to your data. With Intro, your data is your data, and it stays on your device. (See Intro's Privacy Policy for full details.)

If the Intro app itself is a foundation, I think of Intro’s early subscribers as ‘Foundation Customers’. Foundation customers are this first group of subscribers who make everything else possible. If you’ve joined me in this partnership, getting in on the ground floor with a subscription from the beginning, I want you to know that I hugely appreciate you. Successfully bringing Intro to you has been a dream of mine for some time. Intro's foundation customers complete that dream and make it a reality. I am certain you don’t know how much that means to me. It's real, and personal. Thank you. So much.  

I plan to look after Intro’s Foundation Customers.