SMS, MMS, RCS and Modern Messaging Apps

The majority of this post was written while I was composing the next post about Allo and their desktop client. The conversation is directly related as you will see when that post comes out, but, ultimately, this topic warrants it’s own post.

SMS and MMS (Short Message Service and MultiMedia Service): A brief history

SMS was built to send a 160 character message from one cell phone number to another. That is all it was ever built to do and that protocol has not changed. It is a system that is finally widespread enough to be available everywhere in the world and yet the structure of how each cell service and cell carrier interpret is still not standardized. MMS was created to allow for some simple expansion beyond the limits of SMS and often MMS is used in its place to get the users request carried out correctly.

Some examples:

  • SMS was built for GSM networks and so has never had a perfect marriage with CDMA networks, AKA Sprint and Verizon, and only at the creation of 3g were they able to jump on board (3G and onward uses code akin to a US tourist using an adapter to plug-in to a European outlet, it gets the job done but isn’t ideal or perfect).
  • Messages that are longer than 160 characters (thus not supported by SMS) are handled differently by different carriers. Some carriers will send longer SMS in 160 character broken spurts to keep it within the SMS protocol, others will convert the message to MMS so it can be sent all at once.
  • Group texts either come in separately as each text is received (keeping it in the SMS protocol) or are also converted to MMS so that they can stay together.
  • SMS and MMS both have to be deeply integrated into every developed text app on any given phone so that things continue to go smoothly. This is determined by each carrier and phone manufacturer and there is no universal standard. Things like emoji beyond just semicolon, dash, end-parentheses (AKA ; – ) = 😉 ), photos, voicemail, active links that you can click, location services, videos, etc. and the list can go on and on and each carrier and phone manufacturer has to build an app that can translate both SMS and MMS natively.

SMS, at its core, is great, but we WANT it to do more than it was built to do.

RCS (Rich Communications Services) – the future(?) of SMS/MMS

This is a very new (read: Nov 2016) protocol that has been created by the GSMA, a global consortium of mobile network providers, and is currently being pioneered by Google and their “Android Messages” app. It allows for a multitude of protocols beyond SMS and MMS including gifs, location-based services and many others, and it is the desire by most carriers and by Google for this to become the new standard, at least across Android devices. It is a collaboration between network providers and phone manufacturers as the phone has to be built with the right software, and the carrier has to support the RCS signal. RCS is not yet being developed for the iPhone as Apple wants you to keep using iMessage and has no reason to integrate RCA into iMessage at this time.

Honestly, Android Authority has done a phenomenal job of breaking down RCS and the potential future of this new messaging protocol in their overview here and, if you are interested, I really recommend checking out that article.

Independent Messaging Services (Facebook, Allo, Hangouts, iMessage, WhatsApp, GroupMe, Voxer, etc.)

So, many messaging services do not use SMS, MMS, and RCS natively (from here on all three protocols will be lumped under the term “SMS” in this post). Since the consumer wants so much more, companies are trying hard to give them more and, if we are honest, they want you to find what you want in their app over their competitors. So companies will continue to be divisive on SMS. They desperately want to leave it behind because of its limitations and programming requirements, but know the importance of its widespread use at the same time. So, each company has to make a call, place a bet, and see how it plays out: To support or not to support, that is the question. So what does that mean?

  • Supporting SMS allows for their app users to more easily talk to non-app users and vice-versa, thus creating a space where people that want to use the app and enjoy the features can, but those that don’t want to download the app don’t ever have to.
  • Not supporting SMS allows the app developers more freedom to develop new feature as they don’t have to constantly adapt for the third-party protocols, and it forces users to download their app if they want to talk to those already using it.

So, it is a gamble.

The Gamble of Google Hangouts, vs the Gamble of Facebook Messenger

Google Hangouts

Google Hangouts came with SMS integration built in almost right from the start (Hangouts launched in May 2013 and got SMS integration in September with the launch of Android 4.4 Kitkat.) Google gambled that, by making Hangouts the default messaging app on their Nexus devices, people would use hangouts as their SMS app and, thus, begin using the non-SMS portions of the app as well (group video chat being a major one) and create native Hangout conversations, and, by extension, start telling their friends and family to go get the app. Unfortunately, this did not happen. Most people just used the app to send SMS messages and never used the extra functionalities that Hangouts offered, and, since people didn’t need to download the app to text those who had it, they weren’t motivated to do so. Google Fans and Nexus owners used it, and possibly their close friends and family, and that was about it. Hangouts was not heavily downloaded on non-Google devices like the iPhone. 3rd-party Android phone developers (Samsung, LG, Huawei, Sony, HTC, etc.) were pushing their own SMS apps and not Hangouts.

The adoption did not go the way Google had hoped. (Thus, Allo does not have SMS integration, at least for the time being. They are gambling the other direction this time around.)

Facebook Messenger

Facebook Messenger, born in 2008, added SMS integration in 2012, but pulled it shortly after when it didn’t gain much traction. Then, last year in 2016, they again integrated SMS, after showing that they had triple the daily amount of messages sent across their two messaging apps (Messenger and WhatsApp) than sent daily over SMS. Why did they do this?

Facebook pulled out of SMS initially hoping more people would come to Facebook Messenger to talk to their friends who were already on Facebook. It was a gamble that worked. People downloaded the app to talk to people on the service they provided. Then, once they were established, they integrated SMS to try and reach the outliers (and to anyone who had downloaded the Messenger app in the last year, you know how pushy they are to be your default SMS app). They took the same gamble Google took for Hangouts: To try and reach a wider audience and get more people to download and use their app (If I can do SMS and my Facebook messages all in one app, why do I need another?) It worked for Facebook, it did not for Google.

The Ultimate Goal of a Messaging App: Downloads and Active Users

To get you to use their app: This is why Facebook Messenger, WhatsApp and others allow for SMS, this is why Allo, Voxer, GroupMe and others do not. It is the ultimate goal of every company, and it is the gamble they take when they decide to integrate or not.

So, whether or not you want to stick with the new RCS protocol provided by the carriers that support the Android Messages app, or jump on board a dedicated messaging app created by Facebook, Google, Snapchat, Instagram, or any of the hundreds of other companies out there, the future is not yet set for our mobile communications and probably won’t be for the foreseeable future.


One thought on “SMS, MMS, RCS and Modern Messaging Apps”

Questions or comments on this tech?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s