Today, users own an increasing number and types of devices. The average number of connectable devices in a U.S. household has increased to 25 in 2021, up from 11 in 2019, so that cross-device user experience is more important than ever.
As more devices join the Android ecosystem, users will expect the devices they own to work well together, but that's not always the case. Just because apps can run on multiple devices doesn't mean they have the ability to work together across devices.
More devices mean more complexity in application development, and Android developers should aim to continuously improve the cross-device experience, so that devices can work better together and compound their value.
Let's imagine some cross-device scenarios:
One day you travel by plane, and after you get out of the airport, you can share the address of your hotel with the taxi's on-board device through your mobile phone. When you arrive at the hotel, if you want to rent a popular movie on your hotel room TV, you can use your phone to input your payment information.
One day, you are invited to a party at a friend's house. You want to share some recent photos you took on your phone. Instead of passing your phone to everyone in turn, just cast the photos on the friend’s TV. If you're going to order takeout together for lunch, items that the group wants to order can also be collected for group food apps without handing over your phone
All of the above are the experiences that users want from cross-device scenarios.
As consumer products, mobile phones or TVs are devices that users will use for a long time, but they are applicable to different scenarios. Let's take a look at three typical practices of improving user experience in TV-related cross-device scenarios.
1. Optimize login experience via QR scanning
As we all know, trying to input words on a TV through the remote is a headache. Users have to locate the scattered characters on a virtual keyboard through the arrow keys and press OK on the remote. This is especially true when users want to login in with username and complex passwords. Their password may contain uppercase and lowercase letters, numbers, and even some special characters.
A more convenient way is to let users log in with authorization code.
QR scanning is a user-friendly way to log in with an authorization code where users can almost avoid typing. When users want to login in on the TV, a login QR code is displayed on the TV. When the user scans it with the phone, a web page filled with the authorization code will automatically open. Users can complete the login authorization with one click.
This seemingly simple change has greatly improved user experience and brought convenience to users. When we design or develop a TV application, developers should consider the difference between the mobile touch screen and the TV remote operation.
2. Use cast to provide a large screen experience
If your application provides mainly audio and video content, you should probably consider integrating the Google Cast SDK (software development kit) in your mobile application to provide a better experience. Google Cast is designed for user cases such as placing video content on a TV and sending audio content on smart speakers via local network connections.
For development, there are two roles, sender and receiver applications, on two different devices, for Google Cast.
The sender acts as a controller in the cast session. Users can select streaming media content in the sender application and cast it to another device called receiver, and then control the playback through sender.
Receiver streams media from streaming server to the host device and responds to commands from sender. A device that can be used as a receiver is called a Cast-enabled device.
Android, iOS and web apps are supported as Google Cast senders, while receiver apps could be hosted on Android TV and Chrome OS.
Development features for Google Cast require less effort than developing a TV application, and it can provide valuable content experience on suitable devices.
3. Transition seamlessly across devices
Seamless transition across devices is a very useful feature when users have multiple devices of different types.
As a streaming application, our application wants to allow continuous watching across devices. In order to achieve this function, we need the support of the backend.
When users watch a video, our server saves the playback progress to the backend database at the right time. When users quit playing halfway or reopen it the next time on any device, they can get the playback progress to continue watching.
Using similar technology, we can also store and restore reading progress across devices.
What else… ?
There are a lot more than the three practices we mentioned above. Examples include Block Store, which verifies the user's identity by signing with the Google account already logged in on the device, so that users can more easily log into the app across different devices. OneTap can be used to help users register and log in with one click if the user does not have an app account.
For businesses, these Google identity services will shorten the lead time and get a stable service for the app. And it'll make it easier to get users to log into the app if they don't have to sign up.
We are looking forward to the Cross device SDK being developed by Google. So far, only its preview version has been released. Discovery, connection, and session functions between devices with multiple operating systems will be supported in the future.
It would be helpful for businesses and developers to know that Google is working hard to provide users with a seamless experience across devices. Official support can save technical efforts and allow developers to focus on the core business development of the applications.
Disclaimer: The statements and opinions expressed in this article are those of the author(s) and do not necessarily reflect the positions of Thoughtworks.