This week RealVNC announced the integration of a new Remote Control Service (RCS) in all new 2012 Xperia™ smartphones. RCS makes it possible to take full control of the smartphone and do everything the user could do, from a remote location. In this technical article, we asked the RealVNC team to help explain more about RCS, and how it can be used innovatively. Find out what they said after the jump.
RealVNC’s remote control service (RCS) lets you see and interact with a mobile phone across any network. The Xperia™ S will be the first product to support the RCS at launch followed by all Xperia™ phones launched from then on. In the short term, we hope to see commercial use of RCS technology, such as by a network operator’s customer service centres and car manufacturers making use of this technology. But in the longer run, several other industrial use cases may be possible. We asked the RealVNC team to explain more about RCS, the possibilities and limitations of the service, RealVNC’s solution and some industry use cases. To learn how to get access to the new remote control capabilities with your own apps, you can send an email to email@example.com. Find out more below.
The new RCS is an enabler to support various use cases related to remote monitoring and management of the phone’s UI. The service allows access to screenshots and injection of touch commands, in order for the phone to be remotely managed, for example by enabling customer care agents to take control of a smartphone from a desktop tool (when the user has agreed to receive in device support), in order to diagnose and fix customers issues. It could also mean accessing your smartphone from the car dashboard controls, or from the infotainment system in a car.
How it works
There is a new API library, RemoteControl.jar, which interfaces with the new system service – ‘RemoteControlService’ (RCS) – that enforces the security measures described further down, and decides whether to allow your app to control the smartphone. In turn, the RCS talks to the existing Android ‘Surface Flinger’ and ‘Window Manager’ components.
The RemoteControl.jar APIs enable you to:
- Capture the screen image.
- Inject key events.
- Inject touch events.
These are global operations. Typically your remote control app would be running in the background as a service, enabling remote control of other apps which are running in the foreground.
The APIs are very complicated and to gain optimal performance and ease of use, RealVNC’s VNC Mobile Solution can be used. It provides an abstraction layer that greatly reduces the effort and time to market for development of new applications making use of the APIs.
Security while using the Remote Control Service
Security is always of the upmost importance. While the new RCS is available to any application, they are only available if the user agrees to a prompt.
The prompt is designed to go much further than the standard Android ‘permissions’ system. This prompt appears at run-time instead of install-time, and is designed to make explicit the implications of the user agreeing to the action. It is conceptually similar to the Android ‘device policy manager’ subsystem which grants applications the right to lock and wipe the smartphone.
There are further security measures on top – if the user touches the smartphone screen while remote control is active, the remote control session will be disabled. Also, notifications keep the user aware of what is happening at all times. These security measures are sufficiently robust, and the safest way to expose remote control functionality.
About VNC Mobile Solution
VNC Mobile Solution is a kit which incorporates the new service and enables you as a developer to embed remote control capabilities into your applications. The solution has been adopted by many leading helpdesk, device management, testing tools, and automotive vendors. If you’re interested in trying it out, it is available for licensing. Check out the VNC Mobile Solution webpage and send an email to firstname.lastname@example.org to find out more.
The VNC Mobile Solution comprises two components:
- The VNC Server SDK, enabling developers to embed remote control into Android software (as well as other smartphone platforms).
- The VNC Viewer SDK is available for Linux, Mac, Windows, Java and a wide range of embedded operating systems popular in the automotive world.
The VNC Server SDK communicates over any data channel, for example, USB, Wi-Fi, Bluetooth, GPRS, 3G, LET, to the VNC Viewer SDK, which provides the user-facing end of the remote control.
It also comes with robust security measures: encryption, authentication, VNC Viewer and VNC Server signature validation, a ‘closed system’ protection against interoperability with other software, and maintains any additional vendor specific security measures already included in the helpdesk tool or automotive system.
Using the VNC Mobile Solution, remote control can be incorporated into existing systems with minimal development effort. VNC Mobile Solution facilitates control of the widest variety of smartphones from one system, and is easily configurable to fit seamlessly with existing systems. Altogether, it’s a great tool to facilitate a vast number of use cases. These are some examples of how it’s currently used by different vendors:
- Automotive infotainment. In this use case the RealVNC technology delivers a reproduction of the smartphone screen on the vehicle head unit human machine interface (HMI), in a platform independent format (see above diagram). Software extension capabilities enable you as a developer to offer a customised and branded product, and safety restrictions such as interlocking smartphone access with vehicle speed can be implemented, ensuring safe usage by the driver. RealVNC’s technology is fully compatible with MirrorLink™, a wide spread car connectivity technology, but also enables many additional features and greater performance.
- Helpdesks. Network operators and large corporate helpdesks often have a need to ‘login’ and fix users problems remotely and provide training. With the VNC Viewer software built into the helpdesk management application and VNC Server software on the smartphone handset, a vastly improved customer care model can be created. With remote control in-built, provided the user agrees, a remote support session is started immediately, without any concerns about IP addresses or firewalls. The solution allows customer care agents to troubleshoot, manipulate and fix the end users handset remotely, resulting in increased first time call resolution, reduced churn and improved satisfaction ratings. The system can be used to provide end-user training of higher value applications, such as video messaging, which can drive additional revenue for mobile operators.
- Testing tools. Remote control functionality makes it possible to create a testing tool to allow easy connection to a smartphone, and reduce testing time and cost for the customer. The testing tool would then call for simple functions to inject keys, screen taps and so on. The resulting screen images are then sent back. The images can be automatically checked and recorded for compliance and regression testing verification.
- TV. More and more often, people have a desire to take the fantastic applications they have on their smartphone, and replicate this on TV or presentation screens. This is another nice use case for the VNC Mobile Solution. Smartphone content such as games, videos and images could be displayed and controlled from the TV unit.
The core – VNC® technology
At the core of RealVNC’s RCS solution is VNC® technology, based on the RFB® (Remote Framebuffer) protocol that allows graphical replication of a remote screen on another screen.
The technology enables connections to be established across cellular networks, Wi-Fi™, USB, Bluetooth™, 2G, 3G, 4G and LTE and is available for viewer platforms including Java, Native and .NET, and server platforms including the widest range of smartphone platforms.
This technology puts the smartphone at the centre of the connected world and represents exciting opportunities for the developer community and its partners.
Many thanks to the RealVNC team for providing input to this article! Now, using this technology, what use case would you like to see? Write us a comment and let us know!
VNC and RFB are registered trademarks of RealVNC Ltd. in the U.S. and in other countries. Other trademarks are the property of their respective owners.