Viewing habits have changed a lot in the past several decades. The introduction of on-demand video streaming platforms like Netflix has split TV watchers into two groups: those who have stayed loyal to traditional television and those who have shifted to on-demand streaming services.
In the competition between traditional TV and digital services, video streaming is winning. According to Streaming Observer, cable television is losing 14,000 subscribers daily in the US.
While traditional TV providers are trying to enter the digital space and on-demand streaming services are investing millions in original content, some companies have managed to satisfy the needs of both TV fans and streaming users. Hulu is one of those companies, offering both live TV and video on demand (VOD).
Hulu was an attempt by two media giants — News Corporation (which later split into Fox and News Corp) and NBCUniversalMedia (now owned by Comcast) to enter the digital direct-to-home space. Only one year after its public launch, Hulu had 42 million viewers. Now Hulu is fully controlled by the Disney company. In 2019, Hulu announced it had reached 82 million users, about 70 percent of whom watch ads and about 30 percent of whom are paying subscribers.
Hulu offers both TV streaming and on-demand video but operates only in the US. This means entrepreneurs in other locations have a great chance to succeed by creating a Hulu-like app for their local market. This article is aimed at helping you do just that and unveils solutions to common challenges of creating an app like Hulu.
The first advice on how to start a video streaming business is to conduct market research and analyze key players. Let’s take a brief look at the video streaming market and its key players. There are three types of video streaming applications:
Web live broadcasting app from traditional TV providers
In response to the declining popularity of satellite and cable TV, communications providers are trying to bundle streaming services for smartphones, smart TVs, laptops, and other internet-connected gadgets. Sling TV and AT&T TV NOW are probably the best-known live TV streaming services.
However, other video streaming giants like YouTube and Hulu have also joined the ranks of live TV streamers, giving consumers the ability to enjoy a solid buffet of TV channels via YouTube TV and Hulu + Live TV.
On-demand video streaming apps with original content
Unlike cord-cutting services, on-demand streaming services like Netflix and Hulu allow users to choose what shows they want to watch.
Netflix started in 1997 as the first online DVD rental store, and in 2007 the company started offering video streaming, which is now its core business. As of the end of 2019, Netflix had 61 million subscribers according to Statista. While existing shows and movies were what first attracted users to the service, Netflix is now best known for its original series (House of Cards, Breaking Bad, The Witcher, Stranger Things).
While Hulu is similar to Netflix in terms of providing original content (The Handmaid’s Tale, Harlots, Shut Eye), it’s rather more focused on live TV than movies.
Standalone video streaming apps from independent TV networks
Even though you can easily find CBS, the Disney Channel, and HBO among add-on packs for most live TV streaming services, that hasn’t stopped these companies from developing their own independent video streaming apps.
HBO currently has two streaming services: HBO NOW, a standalone streaming service that doesn’t require a cable TV package, and HBO GO, which is included with any cable TV bundle that contains HBO.
The on-demand live-stream service Disney+, launched at the end of 2019, gained 28.6 million users in the first three months. The reason for its popularity is clear: for only $7 a month, users get access not only to well-known Star Wars, Marvel, and Pixar films but to shows created exclusively for Disney+ like WandaVision, The Mandalorian, The Falcon and the Winter Soldier, and Loki.
How to create an app like Hulu: Overcoming common technical challenges
When you start developing your own video streaming solution, you face a lot of challenges: how to stream video, where to store all the media content, and how to create personalized recommendations for each user.
Below, we describe how Hulu solves these challenges and how we dealt with them while working on Elevate. Also, Netflix, one of Hulu’s main competitors, is also constantly sharing a ton of ideas and information on its technology stack on its blog.
Choosing how to operate
You may provide content over a privately accessed channel using internet protocol television (IPTV) or over the public internet using over-the-top (OTT) network technology.
The Alliance for Telecommunications Industry Solutions defines IPTV as a secure and reliable way to deliver video and related services to subscribers. The IPTV network employs the IP protocol to transport audio, video, and control signals. It’s a private network in which video streams are delivered and are accessible only from devices (set-top boxes) like the Xiaomi Mi Box, Apple TV 4K, and Roku Ultra.
IPTV is typically divided into three categories:
Video on demand: Users can browse a catalog of content and play it on demand
Time-shifted TV: Users can pause, restart, and rewind content
Live TV: Users can watch television content as it’s broadcast
On the other hand, over-the-top (OTT) video services use the publicly accessible internet to deliver video and audio streams. Content from OTT services is provided by third-party providers and is accessible via phones, tablets, and smart TVs with a broadband connection.
OTT services are more popular than IPTV services. Hulu, Netflix, and Sling TV are examples of OTT services, while AT&T U-verse and Verizon Fios are examples of IPTV services. So when you’re building an app that will work with different sources of content and different providers, it’s better to opt for an OTT service.
Enabling video streaming
Video files aren’t designed for streaming. They need to first be downloaded, then played. To enable video streaming functionality, you need to use a video streaming protocol that delivers content in the best quality with minimum buffering. Streaming protocols break video into small chunks, send them to the end user’s device, and then reassemble them.
These are the most popular streaming protocols and their pros and cons:
Though being the newest protocol on this list, MPEG-DASH has a pretty high adoption rate. MPEG-DASH is based on HTTP, meaning streams are delivered via standard web servers. Hence, any server can easily be set up to serve MPEG-DASH streams.
MPEG-DASH is an adaptive bitrate (ABR) protocol. This means it detects changes in the internet connection speed and chooses the optimal video quality accordingly, reducing buffering.
MPEG-DASH is also codec-agnostic, meaning you can use any video codec (WebM, H.264, etc.) and audio codec (AAC, MP3, etc.). YouTube, Netflix, and Hulu use MPEG-Dash for streaming content.
Microsoft Smooth Streaming (MSS)
Microsoft Smooth Streaming technology was created in 2008 and was a pioneer in adaptive bitrate streaming. MSS supports the AAC and WMA audio codecs and H.264 and VC-1 video codecs.
This protocol also supports PlayReady, a copy prevention technology from Microsoft. But MSS is more difficult to implement compared to other protocols on this list. To deploy it, developers need Microsoft’s Silverlight developer plugin framework.
HTTP Live Streaming (HLS)
HTTP Live Streaming, or HLS, is a streaming protocol created by Apple. This is another popular ABR protocol that works over HTTP. HLS supports multiple alternate streams at different bitrates, media encryption, and user authentication.
In terms of codecs, HLS supports H.264 and H.265 for video and AAC and MP3 for audio. It’s compatible with a wide range of devices and firewalls but has relatively high lag time (15 to 30 seconds) while live streaming.
HTTP Dynamic Flash Streaming (HDS)
Abode’s HDS is an evolution of the Real-Time Messaging Protocol (RTMP), a video streaming protocol created by Abode that used to be the top option for video streaming. This ABR protocol allows for caching content on browsers and CDNs to reduce the load on servers.
HDS supports the VP6 and H.264 video codecs and the MP3 and AAC audio codecs. HTTP Dynamic Streaming only works on devices with Adobe Flash or Adobe Air.
Complex app architecture
Hulu managed to build a complex app architecture that allows for storing and effectively processing data from various sources. Here are some lessons we can learn from Hulu:
1. A microservices architecture facilitates development
Gert Drapers, the chief architect at Hulu, said in a recent interview that the company uses a microservices approach for app development. According to this approach, an app is a collection of autonomous services that work seamlessly via application programming interfaces (APIs). Gert says that thanks to the microservices approach, Hulu can scale easily, iterate fast, and free developers from worrying about dependencies.
2. Cloud storage makes apps scalable
The biggest question is how to store and process data from online TV broadcasting system and VOD effectively and in one place. You can choose whether to host content on your own servers or in the cloud. While both local servers and cloud-based servers can be secured by the latest technology, cloud storage provides greater scalability.
To store data from more than fifty channels and a great library of on-demand videos, Hulu shifted to a cloud architecture and chose AWS as their cloud provider. Below, we’ll take a look at how Hulu stores and processes data in the cloud.
3. Content delivery networks eliminate delays
A content delivery network, or CDN, is a network of connected servers. The aim of a CDN is to deliver content as quickly, cheaply, reliably, and securely as possible.
In a nutshell, this is how a CDN works: In addition to storing content on the origin server, a CDN stores a cached version of the content on several caching servers in different geographical locations. When a user requests this content, the CDN finds the closest server with it and sends the data from this server.
For instance, assume you have a US-hosted video streaming app that operates globally. When a user from Spain requests content, the CDN finds the closest server with that content (let’s say it’s located in Germany) and sends data from that server. This takes one second. Without a CDN, the request and response would travel to the US and back, taking four seconds. Even such a small delay harms the user experience.
The right choice of CDN reduces traffic in the core network and decreases global latency. When properly set up, a CDN can even prevent DDoS attacks. Hulu works with several CDNs: Amazon CloudFront, Akamai, and Limelight.
Summing up: Hulu architecture
Now that we’ve discussed some best practices from Hulu, let’s look under the hood of Hulu Live.
This is the step-by-step algorithm of how Hulu works:
Multiple encoding vendors (services that encode data received from distribution partners) send video content to the cloud.
A multiple availability zone application load balancer, or multi-AZ ALB, distributes content across servers. Multiple availability zones means the Amazon relational database automatically maintains a synchronous standby copy of data in several places. For instance, data can be stored in the us-west-2a zone in Oregon while a copy can be in the ap-southeast-1a zone is Singapore. If AWS fails to load data from the server in Oregon, it can get this data from the server in Singapore. This ensures exceptional data availability. A load balancer is a device that receives multiple requests simultaneously and distributes them across a number of servers.
Once data is on the AWS server, it’s repackaged and normalized. Commercial DRM technology is also applied. A manifest file, which tells the video player on the end user’s device how to assemble and order video fragments, is generated. Thanks to EC2, all these tasks are processed directly in the cloud.
Structured data is pushed into Amazon S3, a scalable object storage service.
Data is delivered to users via the content delivery networks.
Letting users record TV shows
Hulu lets users record shows that are airing live to their personal cloud-based digital video recorders (DVRs). Velocix Origin and Cisco Infinite Video Platform are among the solutions that may help you implement a cloud-based DVR service in your video streaming application.
Casting to big screens
With wireless screen mirroring, users can send content from their phones to a bigger screen such as a TV. This feature involves sending information from a user’s computer or mobile device to a TV screen or monitor via Wi-Fi.
The first way to implement this functionality is with the Google Cast SDK. This option enables developers to extend their Android, iOS, or Chrome apps to stream video and audio content to a TV or sound system. In this case, the app becomes a remote control to manage playback.
The second way is to enable screen mirroring using AirPlay (with Media Player APIs), which is basically an alternative to Google Cast that works with Apple TV and supported iOS apps.
If you’ve chosen to implement a subscription-based business model, you should provide a safe payment method. For this, you should integrate a reliable payment gateway.
Hulu provides several payment options. According to the Hulu website, users can pay by credit/debit card or via PayPal, Venmo, or Amex Express Checkout. Customers can also use Hulu gift cards, which are available at select retail outlets.
You can use either Braintree or Stripe to let users pay for your service with a card. Both services provide a wide range of client- and server-side SDKs that allow you to accept different payment methods (credit cards, debit cards, special-use cards, prepaid credit cards) for web and mobile apps. Check whether the payment gateway you want to integrate operates in your country. If it doesn’t, check for local payment providers.
For iOS subscribers, Hulu makes it possible to pay for the service via the App Store. In this case, billing is handled by Apple (using in-app purchases). Customers of Amazon, Disney+, Roku, Spotify, and Sprint can likewise subscribe to Hulu and be billed directly by these companies.
You can go further and implement payments via Apple Pay and Google Pay and even integrate Face ID or fingerprint authentication to speed up the payment process.
Improving the user experience
In a crowded market, a seamlessly working app only gets you halfway to success. To compete with market leaders like Netflix and Hulu, you should provide users with exceptional personalization and a great user experience.
Search and exploration
Your search functionality should be intuitive and user-friendly, complete with autocorrect and autocomplete suggestions.
Algolia is a nice tool for implementing search in your TV and movie streaming software (by the way, they have a sample movie search engine on their official site). Video streaming businesses can use the Algolia library to build robust, typo-tolerant, and predictive search that provides an excellent user experience.
You can also opt for Algolia alternatives like Apache Solr. Its major features include powerful full-text search and database integration. This tool has been widely adopted for enterprise search and analytics purposes and boasts an active development community.
Video quality, audio tracks, and subtitles
Many of your users won’t have unlimited mobile data plans or constant access to Wi-Fi, which is why you should let them choose between several video qualities. Besides implementing an adaptive bitrate protocol, you can allow users to choose the video quality on their own.
Multilingual audio tracks and subtitles are also important if you want to reach a wide audience. For example, you can let your users choose between several common languages (or any languages spoken by your target audience) for both audio tracks and subtitles. This feature will also be helpful for users who are trying to learn a foreign language with the help of movies and TV shows.
Downloads (offline support)
This feature enables users to download video content so it’s always accessible on their devices. Just like Hulu does, you can enable browsing through downloadable content only to save time and effort.
Read also: How to Make Your App Available Offline
What should you watch after your favorite TV series has ended? With a great variety of shows, it’s hard for viewers to find one they’ll really like. To assist users in their choice, VOD services build personalized recommendation systems.
There are several ways to create an accurate recommendation system:
Content-based filtering algorithms are based on information about genres, actors, countries, etc. These algorithms analyze what shows a user has watched and liked and then find similar content.
Collaborative filtering algorithms, on the other hand, rely on information about past user behavior. They analyze the tastes of each user and then make recommendations based on content liked by users with similar tastes.
Machine learning algorithms can increase the accuracy of predictions but require time for training neural networks.
On Towards Data Science, you can find detailed information about the technical implementation of different recommendation algorithms and see working examples of these algorithms. And on O’Reilly, you can find detailed information about one of the winners of the Netflix Prize — a competition from Netflix for the best algorithm to predict user ratings for unrated Netflix shows.
Where to get information about users’ tastes
When building a recommendation algorithm, the first question you may ask is what exactly it should analyze. For new users or content that has recently appeared in the system, there may be no information about preferences or ratings, making it impossible to make predictions.
Hulu solves this problem in several ways:
Taste picker. During onboarding, users are asked to choose their favorite genres and films. This basic customization helps Hulu recommend shows right after a user signs up. Check out taste picker we've designed at Yalantis:
My Stuff. This is a hub where users can put their favorite channels and television shows, quickly access them, and get news about new episodes and seasons. Hulu finds content similar to that saved in My Stuff.
Likes/dislikes. In Hulu, users can like or dislike content. If a user dislikes a show, Hulu stops suggesting similar shows. In 2017, Netflix also shifted to like and dislike buttons, stepping away from the traditional one- to five-star rating system.
User behavior. Besides gathering data given explicitly by users, video streaming platforms gather information about user searches, viewing behavior (when a user pauses, leaves, rewinds a show, returns to watch), and browsing and scrolling behavior.
Combined, these sources of information allow an algorithm to make accurate predictions. Thanks to accurate recommendations, users stay longer in an application and user retention grows.
Creating and curating content: Where does Hulu get content from?
In addition to creating original series, Hulu partners with a number of networks and media companies to deliver high-quality content to their audience. In addition to NBC, ABC, and Fox, Hulu has partnerships with A&E, Big Ten Network, Bravo, E!, and Fox Sports 2. In June 2019, Hulu made a deal with Lionsgate to get the streaming and TV rights to movies released under the Lionsgate label in 2020 and 2021.
Hulu spends around $2.5 billion on content annually according to The Hollywood Reporter. But that number is likely to increase since Disney has taken control of the company.
Hulu’s investments in original content are justified, as providing an entry point into the world of on-demand TV is not enough to attract prospective subscribers. These days, it’s important to deliver unique high-quality pre-produced video content that users can’t find elsewhere. In other words, original content is what drives the demand for video streaming services.
Monetizing your app
Typically, over-the-top media platforms use one of three business models (or combine them):
Subscription-based video on demand (SVOD) is similar to traditional TV subscriptions. In this model, a user pays yearly, quarterly, or monthly to access platform content.
Advertising-based video on demand (AVOD) is free for consumers, but AVOD apps regularly show advertisements.
Transactional video on demand (TVOD) requires users to pay for each TV show or film. This model is divided into electronic sell-through (users pay for permanent access to the content) and download to rent (users get access to the content for a limited time).
Hulu is built around getting revenue from monthly subscriptions and showing on-screen advertisements. It’s known that Hulu splits its ad revenue with content providers and distribution partners. According to Wikipedia, the service retains from 30 to 50 percent of advertising revenue from the shows it distributes.
Under the Disney umbrella, Hulu is going to dive more into original programming. This intention is backed by Disney’s aspiration to turn Hulu into an adult complement to Disney+, making it a subscription streaming service tailored to family viewing.
Hulu is now among the most prominent online video market players who are trying to advance the on-the-go streaming revolution. Who knows? You may have every chance to become the next Hulu in your region if you opt for both on-demand shows and live streaming. At Yalantis, we have large experience in live streaming app development. We’ll help you implement your app ideas by providing native app development services.