The Ins and Outs of iMessage Apps

Lessons learned from the #5 iMessage App in the App Store

Jeff Hanna
4 min readJan 12, 2021

About Us

Polls for iMessage is a plugin for iMessage that lets you take a vote in your group chat.

People use our application to make group decisions as small as where to go for dinner or as big as where to throw their bachelorette party.

What are iMessage Apps

Simply put: they are plugins for iMessage. Apps that live in iMessage that can extend the functionality of iMessage.

How do they work

  1. iMessage Apps live and operate in the context of a specific conversation in iMessage
  2. The app can be a standalone iMessage App, or bundled with a “normal” app that appears on your home screen
  3. iMessage Apps can provide nearly a full in-app experience without users ever leaving iMessage
  4. Your iMessage app can send text, links, media, and special interactive messages

Limitations

  1. Cannot see who is in the conversation (names, phone numbers, etc.)
  2. Cannot see the messages in the conversation
  3. Cannot receive push notifications, although if your iMessage App is bundled with a normal app, the normal app can receive push notifications
  4. The iMessage App cannot be opened by a user tapping a link, but again if your iMessage App is bundled with a normal app, the normal app could be opened by tapping a link

Advantages

Despite the limitations and challenges of the platform. There are a few characteristics that make it one of the most powerful vehicles for growth out there today:

  1. Immediate engagement
  2. Low-friction onboarding

Immediate Engagement

For a normal app, if you want to share it with a friend you have to send them a download link. You have to explain what the app is and why they should download it. If they do install, then they have to create an account, setup their profile, add you as a friend, all before you can use the app with them.

…but not for iMessage Apps. When someone sends you a message from an iMessage App they will get a screenshot of the content you are sending (for us, this is a screenshot of the poll). It’s not generic, it specifically shows them the content you sent so they understand what it is and why they want to install.

If updates get sent (like when someone votes on the poll), the screenshot updates in realtime and moves to the front of the conversation for everyone to see.

At this point the user already knows what your app is and what specific content was sent to them. They understand why they might want it, and they’re even seeing engagement from everyone else who has the app already.

Huge incentive to download!

Low-friction onboarding

To install the app, all you have to do is tap a message sent from an iMessage App. The App Store page will slide up from the bottom and it’s a single tap to install.

After installing, you don’t need to go through the usual hoops of creating an account, adding friends. iMessage has already done the heavy lifting for us. By the time you install the app you already have a unique identifier and you’re already in a group with your friends since iMessage Apps run in the context of a specific conversation.

Warnings

Unstable

The platform has been extremely unstable from the get go, and we are continually running into new issues that seem to come from Apple and often have no workarounds.

Example 1: After app updates, our app icon disappears (turns completely white) and the app won’t open (white screen) until the user restarts iMessage.

Example 2: Tapping a message sent from an iMessage App (such as a poll) should open the app. However the following sequence does not work:

  1. Tap Poll to open the app
  2. Swipe down to return to iMessage (the apps splash splash screen should be showing in place of the keyboard)
  3. Tap the Poll again to open the app… but it doesn’t work 😤

If you’d like a more comprehensive list of the issues we’ve encountered, send us a message and we can work on one!

Documentation

The documentation from Apple is very limited, and often the behavior described in the documentation is nowhere near what we actually see in practice.

iMessage Apps make up a very small slice of the total iOS ecosystem so the documentation online is limited as well.

Support from Apple Frameworks & 3rd Party Libraries

We all want to keep our apps thin and depend on as little as possible. But some 3rd party libraries are staples for every app (e.g. Crashlytics, Google Analytics, etc.).

Supporting iMessage Apps is complicated and many 3rd party libraries aren’t quite there yet.

Even some of Apple’s Frameworks don’t support iMessage Apps. Some don’t support it at all, others like EventKit (used for calendars) have partial support. In some cases the frameworks will log a message to the console when they detect that they are being used in iMessage Apps which is not supported. Others will just crash, and others fail silently.

Conclusion

We have found that the benefits of these growth characteristics far outweighed the challenges. I recommend app developers take a look at their apps and see if there are ways that these growth hacks could be leveraged for them.

There is a wide open opportunity to extend the functionality of the most used messenger in the US. Take advantage of it!

--

--