Feature Story

More feature stories by year:


Return to: 2013 Feature Stories


February 2013: Pipeline

How Rich Communications Enables the Next Generation of Connected Apps

Consumers today expect a rich communication experience from their smartphones, tablets and PCs, meaning they expect to be able to share photos, multimedia, files, contacts, locations, and status updates and have multiparty video and audio chats. The challenge has been to enable developers of mobile apps to provide these kinds of real-time services anywhere, anytime in an easy-to-use and reliable manner. Now the Rich Communication Services (RCS) initiative does just that, allowing these services to be performed in a standardized, universal way across all future cellular communication devices.

In fact, RCS offers much more for future applications. While app markets have spurred an explosion of exciting, creative products, so far those apps can only communicate via users who've downloaded the same ones. There is no consistent way to perform this communication, so it's currently impossible to connect different applications on different users' devices, nor is it possible to sync them with cloud-based services in a standardized way. Furthermore, the performance of the underlying real-time communication varies widely between applications and across different network conditions.

The evolution of RCS

Although RCS Release 1 specifications were issued by the GSM Association (GSMA) in 2008, followed by Release 2 in '09, RCS really only took off in 2010, when the "big five" European carriers — Deutsche Telekom, Orange, Telecom Italia, Telefónica, and Vodafone — announced their plans to launch a subset of RCS named RCS-e (the E is for "enhanced") across several European markets by 2011 to provide users with a consistent set of rich communication services, including a network address book, user presence and status, file exchange, and video calling. Last year GSMA announced the "joyn" branding for RCS-e, which Orange, Telefónica and Vodafone introduced in Spain.

Parallel to the debut of joyn in 2012, RCS has evolved quickly from RCS-e to RCS 5.2, and is now positioned for a worldwide rollout. While early RCS-e rollouts have successfully engaged end users in rich communication, there is still a challenge when it comes to users' preference and familiarity with common non-RCS applications found in app stores, such as WhatsApp and the Korean-based KakaoTalk, which dispense similar functionality to initial RCS-e services. During the initial launch of RCS the greater community of application developers wasn't involved, and was in fact competing against it.

RCS makes friends out of enemies

In 2012 the GSMA also debuted the RCS API initiative, giving birth to the RCS service-delivery API (application programming interface). The concept of API allows app developers to do what they do best — develop great apps — while service providers do what they do best — offer rich communication services that are reliable, high performance and always on, and fully leverage the capabilities of next-gen mobile devices and networks.

A key positive differentiator of the RCS API is that it converts the entire world of over-the-top (OTT) applications — which have been a thorn in the side of carriers — into a carrier's best friend, and vice versa. Developing exciting new applications for consumers requires creativity and innovation, and to date that hasn't been the forte of carriers, nor has the development of robust real-time communication and digital signal processing (DSP) subsystems been high on the list of mobile app developers. The RCS API enables each to do what they do best. In the new paradigm carriers are neither a dumb pipe nor mere distributors of apps — they are suppliers of rich communication services.

RCS application architecture

The RCS client framework must first perform an IMS registration, at which time the client is authenticated and the service capabilities of the client identified. Upon completion of IMS registration the application can utilize any of the rich communication capabilities, and multiple applications can use these services simultaneously (Fig. 1).

Fig. 1: RCS application architecture

An application may first use the network address book to select contacts to communicate with, then check the presence information to identify both the capabilities of those contacts on their current devices (capabilities exchange) and the status of the contacts ("busy," "in a meeting," "available"). Then the application may engage those who are available. It can also engage users in gameplay, file sharing, and real-time multiparty video, audio chat and so on.

Performance matters

Historically speaking, OTT applications have yielded only best-effort service for voice and video, and generally haven't offered the best battery life for these real-time, processing-intensive functions. By being tightly integrated with regular cellular service, which works everywhere, RCS can significantly outperform current OTT applications and produce a superior rich-communication experience by offering higher-quality voice and video and better battery life, which requires full leverage of both the capabilities of the service provider's infrastructure and those of the end user's device.

However, providing superior voice, video and battery life across a wide range of operating conditions requires sophisticated DSP algorithms in order to mitigate packet losses, jitter and other network conditions. It also requires full integration with the end user's device hardware, including hardware video acceleration, cameras and on-board processing resources. It's the job of the RCS client framework to supply sophisticated, power-optimized, high-performance voice, video and processing resources while simultaneously giving application developers an easy-to-use set of APIs so they can focus on developing the next generation of exciting gaming, communication and shared rich-communication experience apps instead of struggling with the real-time signal processing required to deliver that high level of performance.

Not all RCS client solutions are equal when it comes to high-quality optimized performance. With quality of service (QoS), for instance, the IR.92 standard for voice over LTE (VoLTE) provides guaranteed QoS on VoLTE calls, and the IR.94 standard does the same for video over LTE. RCS 5.0 integrates both IR.92 and IR.94 capability into the RCS client, but they're optional, so look for a client that offers full integration.

Other integral factors include:

  1. Latency. End-to-end latency includes latency in the cellular device originating the call, in the device terminating the call and in the network. Achieving very low latency for voice and video within the originating and terminating devices is very difficult and requires tight integration with the device hardware, drivers and operating system (OS). For OTT applications this latency can have a considerable range — sometimes it can be quite high — and for embedded RCS frameworks it can also fluctuate from low to high. Get detailed information on originating and terminating device latencies when evaluating RCS client solutions. Also, for many multiplayer gaming applications to work well you need very low latencies in order to share instant-response gaming actions with other users.
  2. HD Voice/HD Video. Many carriers are choosing to roll out VoLTE with HD Voice so that users can benefit from much greater audio bandwidth in their voice calls. The additional bandwidth greatly improves the sound quality of a call; after getting used to HD Voice it's hard to go back to regular cellular voice quality. HD Video is more challenging because video requires much more bandwidth than audio, but many higher-end cellular devices are already capable of delivering HD Video, and with Wi-Fi the bandwidth can be made readily available. Ensuring that an RCS solution supports HD Voice with high-quality audio and HD Video with ample bandwidth can help differentiate it from other solutions in two very significant ways.
  3. Consistent AV quality. Audio and video quality enhancement is important, as is maintaining quality under variable network conditions, and HD Voice support alone can't guarantee superior audio when such conditions are present. There are many key algorithms involved in producing quality audio and video that need to be evaluated before they're incorporated into an RCS client solution.
  4. Power consumption optimization. Talk time, standby time, video playback time, and video chat time are all very important to end users. Current phones often heat up when running video-chat apps, greatly reducing the battery life of the device and creating a significant limitation for end users. Optimizing power consumption requires minimizing the total MHz of CPU power required to sustain a call as well as maximizing the usage of hardware acceleration in the device, particularly for video encoding and decoding. Power consumption optimization involves working closely with the device hardware, drivers and OS; there's a wide range in the performance of RCS client solutions in this particular area.
  5. Hardware accelerators. You can leverage the hardware that's in the platform if you have access, and by accessing the API you can achieve better integration and get higher performance and resolution without compromising on power.

The key challenge

The key challenge for developers is to combine their creativity and innovation with the power of RCS to bring forth the next generation of connected apps. This requires a paradigm shift, from a world where an app is a "one-trick pony" that only talks to others of its kind, and does so using non-optimized proprietary methods, to a world of connected apps that utilize the universality of the RCS service set (network address book, presence, etc.), rich multimode communication (audio, video, messaging) and the superior performance of real-time services (e.g., reliable multiparty voice and video) to provide a fully integrated end-user experience that can be shared with people all over the world.

The array of applications that can benefit from integrating RCS is virtually limitless. Any application for which users need to communicate using voice, video or chat, or for which knowing a user's status is important, can use RCS APIs, from consumer entertainment, including building interactive communities, to business applications like customer relationship management (CRM). Embedded device applications can also utilize RCS — in the exact same way as mobile-device apps.

The further challenge for developers is to do all of the above across a vast expanse of devices while imparting a natural and intuitive native-user experience on any and all of the devices. Ease of use is critical: developers of in-demand apps often say that even "grandma or grandpa" should be able to use their products, not to mention kids.

This multidevice challenge is very familiar to app developers who need a "write once, run anywhere" solution for end users, who may be using form factors ranging from smartphones, tablets and connected PCs/laptops to embedded devices. Plus, these devices span different operating systems and can have vastly different hardware capabilities: low-cost or legacy devices have minimal or no hardware acceleration and lower display resolutions, memory and CPU constraints, while high-end devices support resolutions and capabilities that were unheard of only a year ago. Many applications need to work on a wide cross-section of these devices to be viable.

While RCS itself does not directly resolve these issues, multiplatform RCS software development kits (SDKs) do, supplying standardized RCS across the full scope of devices and operating systems, thus ensuring native device integration and allowing app developers to deliver a rich communication experience to end users (developing once, running anywhere) with the assured high performance that RCS conveys. SDKs often incorporate many additional capabilities, providing further benefits to app developers.

Lastly, for some applications there are challenges such as security, authentication, single sign-on, and so on. A benefit of RCS is that these capabilities are inherent in RCS itself.

The rich-communication revolution

This year we'll see a series of factors align to ignite a rich-communication revolution on cellular devices, including smartphones, tablets and cellular-enabled laptops and PCs. These factors include the rapid deployment of LTE by carriers worldwide, providing ample bandwidth for rich communication; deployment of an interoperable rich communication service by many cellular carriers; a move to full RCS 5.2, which includes IR.92 VoLTE and IR.94 video over LTE with guaranteed QoS; and the use of RCS APIs. Any one of these factors is sufficient to drive major change, but together they represent a quantum leap forward for next-generation applications, making full use of rich communication services.

Read this article interactively

Return to: 2013 Feature Stories