How to advertise offline?

I am not sure how many of you have experienced a situation that I am going to share but this happens a lot with me. There are days when you go to bed and immediately fall asleep. But there are some days when you try to sleep but you remain awake. You just lay on your bed and dream while still awake. Recently, on one such day, something struck my mind. An incident had happened a couple of days back. There was a video on YouTube that I wanted to view offline but it was not available in offline mode. I read about a possible reason for “Why some videos are not available offline?” on Quora and the answer led me to think on how this could be solved. I am now sharing my thoughts and a possible solution to the root cause (as per the answer(s) on Quora) of why some of the videos are not available for offline viewing. This solution could also be useful in other areas of the web and application world. I would like all the readers to share their thoughts on the solution, it’s feasibility and improvements.

Couple of years back, Google introduced “Add to Offline” feature to YouTube

to watch videos during the periods of low or no connectivity. This feature is available in emerging markets like India, Indonesia, South Africa, Thailand where the internet connectivity is not stable or consistent over the mobile networks. Google added this feature so that one can download a video and watch it later without any glitch or buffering. This will provide convenience and eventually increase the viewership and internet usage in these countries and help Google reach the next billion internet customers. But not all videos are available for offline viewing. As per the answers to this question on Quora, these videos are unavailable as they contain copyrighted materials. Due to monetization policy by Youtube, these videos are not available for offline download. Ads are shown directly from an ad server while the end client is online. As soon as the client goes offline, the link between the server and the app (YouTube in our case) is broken and no more ads can be fed. So, to make them available for offline viewing, we need to show ads. Now the question arises — How to advertise while offline?

I do not have much insight on how the whole monetization process through online ads actually works. But, thinking of the solution, I have to keep all the parties involved in a “Happy State” — the viewer, the publisher of the video, the one who is getting advertised and YouTube. The user should be able to download the video of his choice and have almost similar user experience as in online mode. The publisher should be able to get the monetary benefits from his video contents in a similar fashion. The ad should serve it’s purpose and communicate the message to the viewer and YouTube should be able to serve all the other parties and also get benefits from its service. A simple solution can be caching.

Ads are mostly small images or light weight static web pages. Assuming that there is memory available on the client side (as the user is downloading the video for offline mode), these images and web pages can be cached on the client side while downloading the offline content. When the client is offline, the application will choose ads from the cache. Depending on the monetization policy and user experience, these ads can be shown like regular banners or on complete screen. I would not favour the use of video content for ads during the offline mode as it will occupy reasonable space which can be of some concern. But these can’t be ignored. All the click events and user interactions with the ads can be saved in a separate local database which can be synced as soon as the device is online. We would also require separate offline or revised contract for the ads monetization as the offline data after synchronization may exceed the contract limit for the number of views an ad can be shown to the user.

To make the user experience better and consume less offline ads storage, I would propose a different ads policy. The ads should be made lighter in size to occupy less memory. Instead of rich UI, simple clean 8-bit or 16-bit color ads should be provided. Images can be replaced with SVG icons. These lightweight ads can be shown to the user via banner and when clicked, either a pre-cached — full-screen static page/image can be shown or a small video clip say 5–10 seconds long can be played. In place of videos, GIFs can also be used. We can maintain some flags to fetch the information regarding user click and the duration of ad viewing. These saved flags can be fetched when the client gets back online for analytics and monetization. All the cached ads and database can be refreshed regularly. The entire content should not exceed more than a couple of MBs of offline storage.

Offline caching of ads along with videos would be beneficial to all the parties involved — the user will be able to download favourite videos offline, video publishers can be benefitted from the offline ads and ads providers can reach out to potential clients even during offline mode. YouTube will serve its purpose of providing videos to the viewers and provide monetization to the publishers. It will also be able to serve the need for promotion through ads and also get monetary and other benefits, just like during online mode. I believe this approach can be used elsewhere for advertising and monetization in other apps and websites. It could be a win-win situation for all.