So, you have a slick application where your users can sign up and watch their favorite shows. That’s great! But, what is the next step to attracting more users and making your current user base more engaged with your content?
Let’s start with the basics.
When viewers want to search for a new show or movie, they can download and search for it from your app, but they’ll usually use a search engine and most likely just land on your website. Remember, the user came to your website to simply watch a video. On your website, you might request the user to download a separate application, but what if the user doesn’t have enough space on their device, or maybe the user is on a metered connection and doesn’t want to waste their data plan downloading the app – the user just wants to watch the video.
Imagine providing a native experience from within a web browser that enables the user just to watch the video, download it to go and watch it whenever they want without the need to download the application. Wow! That sounds like a great idea! Now, let’s see how we can make it happen.
You’ve probably already heard of PWAs or progressive web applications, which can load a website in offline mode. This means we can now cache the web application assets, code, and style, cutting load times down to zero.
On the media side of PWAs, we have a new API that allows us to pre-fetch a video, download it to the device in the background, support both online and offline DRM content, and provide a better user experience. The new API also makes it possible to maintain the website on the main screen of the user’s device, giving them a true app-like experience.
Let’s focus on offline. When you have premium content, and you want to keep it safe, adding offline capabilities to your web application probably doesn’t sound like the most secure solution. Because of this, you’ll want to choose a DRM solution which uses device capabilities, such as hardware and software-based security, to keep the video safe and also add an expiration date for offline playback.
Until recently, DRM protected playback could only be done through native applications, but starting with Chrome 63 you can now do the same with web applications. To do this, you’ll need a license server, like Kaltura’s uDRM, and a packager which will encrypt the content before it reaches the device. The license server will return the expiration and encrypted key in a secure way, such as Widevine on Android for example.
Also, Google introduced a new Chrome API that allows web application developers to download a list of files in the background. This means you can start the download and have Chrome run in the background so you can do other things on your device, and you’ll see the progress of the download in your notification pane, just like with a native application… WOW!
If you have a good analytics system in place, you can better gauge what your viewers would like to see or if they are in the middle of a show. This is where you can be proactive and start fetching a few segments of the content you think your user would like to see in the future, cutting the “join time” (the time between hitting play and the first frame starts playing) down to zero.
We also have a new API that allows the pre-fetch process to be smarter, capable of getting a feel for the device, so to speak. For example, the API can access the battery level, the network status, and the memory usage, making a smart decision on whether to pre-fetch the video or choose the right bitrate for the user to view or download the video.
Additional features you can implement in your progressive web app are notifications, media session for showing what’s playing on the home screen, Google home actions, smartwatch controls, and more, and offer an improved video playback UX (smooth video rotation to full-screen mode), and more.
So, if you want your users to be more engaged with your web application, and you want to provide them the same experience they get on your native app, you should start looking into progressive web apps.
PWAs are currently only available on Android and in the future, will be available on all platforms.