Monday, February 3, 2014

Hulu: The Banality Of Video Streaming Services

The Daily Show featured an enticing interview recently. I missed the original broadcast (as I don't have cable TV). So, I watched it on Hulu Plus, a service costing me $8/month for the privilege of watching Hulu content in HD over Chromecast.

Just as the interview is getting interesting, Jon Stewart interrupts himself and does something rather shocking: he turns to face the camera and utters "for the rest of this interview, please go to thedailyshow.com." The video clip then ends abruptly, mid-interview. This left me asking one question...

"Why am I paying $8/month for a service that instructs me to fetch my content elsewhere for free?"

I went to their web site and tried hunted through a massive library of clips. After a long search, I found the particular clip I was looking for. I watched it on my laptop instead of my TV, with ads, at substantially reduced resolution and quality. Even this degraded ("to degrade" is a verb used in the software industry when one thing fails and another worse thing takes over)  thedailyshow.com experience could have been vastly more satisfying had it launched automatically, immediately following the end of the truncated Hulu clip. I would have gladly accepted a specific URL pointing directly to the video, conveyed over any imaginable medium: SMS, email, or Jon Stewart's mouth. But all we ended up getting was "thedailyshow.com".

Why had this happened? It was clear to me that Hulu was fulfilling its objective of faithfully rebroadcasting a TV episode, as originally aired on TV. But, my intention was not to watch the episode, but rather to watch the interview. I made that intention clear in my user-product relationship with Hulu. The TV episode and the interview itself had been presented as two distinct entities in the user interface. I had explicitly selected to watch the latter. My clip began with the beginning of the interview, yet ended with John Stewart abruptly cutoff by a completely irrelevant artifact from the episode's original editing. This left me with the impression that Hulu does not care for the user. It seemed as if they were neglecting to assure the quality of its video content. Or, more specifically, they were just neglecting to have "common sense" regarding Jon Stewart's URL-driven "to be continued".

Poking around Hulu a bit, it became obvious that there was no way to find the rest of the interview there, and that I indeed did need to go to thedailyshow.com. This led me to a straightforward yet disappointing assumption:

Hulu does not host any content that had not priorly aired on TV. 

Rule of thumb #1: Let old formats get revitalized by the Internet. Don't bring the old shackles and constraints with them.

Hulu likes to portray itself as a savvy, forward-looking company. Yet, they seem to be missing (or actively resisting) a great opportunity at hand. Content creators of every stripe feel constrained by the confines of the television format. Jon Stewart seeks to produce meaningful content, and sometimes chafes at the 30-minute mark imposed on him. His team hacks around this limitation by publishing straight to the Internet. It is likely that every single creator of TV content has, at least once, pondered how this kind of "Internet-only content" is relevant to their production. This could open up all sorts of possibilities for them. Hulu could be the forefront of this movement, actively nurturing and supporting these Internet ambitions. This could even lead to the Hulu product being better than TV. But, instead, the product is relegated to being nothing more than a souped-up TiVo.

I contacted Hulu tech support, complaining about the nasty thing Jon Stewart said to me on my TV. They could not even comprehend my observation, responding with:

"Due to the streaming agreements we have in place, new episodes of The Daily Show with Jon Stewart are only available for 30 days after they first air on TV, being posted the day after. The duration of how long an episode of a show like this stay on Hulu are the result of agreements between the network or studio that owns the show and cable service providers, in this case, Comedy Central."

This response is quite boilerplate-ish, and indicates the degree to which their thinking is dominated by constraints, constraints, and more constraints. Upon clarifying my original request, I received this second response:

"Thanks for getting in touch with us, and my apologies for misunderstanding. I see what you mean now, and I can definitely pass along the request to our content partners in obtaining entire clips or episodes of the interviews of The Daily Show. While that's not a guarantee we'll be able to expand on or change the streaming rights we currently have for the show, we're always looking to shape our service and expand our library."

This may sound reasonable, until we identify the owners of Hulu: a group of TV conglomerates. Hulu and the "content partners" are really the same people. It's just Jon Stewart and me versus the TV companies. They have bound both themselves, me, and Jon into a maze of constraints, in the form of legal contracts and logistical 30-minute time slots. This mess of entanglements saps critical energy that could rather be used in building the right product: just broadcasting whatever Jon Stewart has to say, and however much he has to say of it.

If the same people own both Hulu and TV, why are they not letting Hulu win?

Rule of thumb #2: If you own two competing products, it's OK to let one beat the other. In fact, it's a good thing.

This idea isn't mine. It comes from a man that our society idolized beyond measure: Steve Jobs. Honestly, I was never a big Steve Jobs fanboy. I haven't read his biography. I've heard the "cannibalize one's own products" maxim be attributed to him, which is plausible. Apple never objected to the iPhone's competition with the iPod, or the iPad's competition with the Mac. They accepted that all products, even their best ones, were mortal. They decided that the best possible death would be any death brought on by Apple itself. By this logic, Hulu, the child of the TV companies, should be actively working to destroy TV, perhaps more aggressively then anyone else.

Unintentionally Competing Video Products

Whether they like it or not, the Daily Show has created a video product that competes with Hulu. They host a web site with a video player and navigable video clips. They are effectively running a mini-YouTube, with Jon Stewart as the only user to have a working Upload button available. To me, the viewer, thedailyshow.com is yet another destination to find interesting videos, with its own particular set of limitations, constraints, peculiarities, and incompatibilities. To my particular tastes, my complaints are as follows: the videos are not in HD, I cannot watch them on my TV, there is no meaningful "watch later" queue, and it's hard to find the content that Jon Stewart had just instructed me to fetch. It's obvious that Hulu provides a far better user experience for the same kind of content. This led me to ask my second question of the night:

"Why isn't Hulu exclusively powering the video experience on thedailyshow.com?"

From an operational standpoint, this seems like a no-brainer. Someone working for Viacom deals with the everyday nitty-gritty of their half-baked video platform. This boils down to two large undertakings: serving the content and monetizing the views. While both of these nontrivial tasks can be farmed out to experts, specifically content distribution networks and ad networks, a nonzero amount of money/time/expertise is still required on Viacom's end. And they are doing a terrible job, from my perspective as a user. Hulu, on the other hand, has a better set of user features, specializes in this area, and already has procured most of the Daily Show's content. The maintainers of thedailyshow.com could even perform a minimally invasive transition, swapping out the current player for the Hulu player, leaving the rest of the site unaltered. In sum, the Daily Show could:
  1. Keep their beloved site almost unchanged.
  2. Downsize staff, cut expenses, and simplify operations by eliminating their unnecessary video platform.
  3. Deliver a better video-watching experience based on the features of the Hulu platform.
  4. Gain exposure from Hulu's users by expanding Daily Show content offerings on Hulu's own destination sites.
  5. Get a huge canvas bag full of money every time Jon Stewart mentions Hulu on TV. Imagine hearing "for the rest of this interview, go to Hulu, at hulu.com/thedailyshow".
  6. Strengthen a relationship with an existing partner.
  7. Continue to make money on Internet video with the same business model as before.
Rule of thumb #3: Let your partner do its job. Don't get in the way. Don't compete with them unless you absolutely must.

Unite the Content Fiefdoms into a Content Kingdom

The primary interest any user has in any video product is the content. The only reason I come to thedailyshow.com is for watching the Daily Show. The only reason I pay for Netflix is for watching Breaking Bad. The only reason I use my parents' HBO GO account is for watching Realtime with Bill Maher. Yet, none of these companies focus their product on providing access to the content. Were that their focus, all content would be accessible in open video formats, retrievable over HTTP, with OAuth for authentication. This is far from the status quo. All these companies instead focus on offering video player software. I can only watch Hulu content using an official Hulu player, in the form of a mobile app, a web site, a Roku channel, etc. The same applies for other products, like Netflix, HBO GO, Amazon Instant Video, YouTube etc.

This is a substandard user experience. As a user, I have nearly a half dozen apps that might stream videos and/or music. My video watching life is already complicated by hardware; this unnecessary "appliferation" just makes things worse. I have many devices with screens: my TV, my computer, my phone, and my tablet. I have just as many, plus two, with pairs of speakers. I also need to organize content: I need to queue, bookmark, and share things. Each company is solving all of these needs individually, in their own specific way, in their own silo. As a result, I need to configure six apps instead of one. I have to learn how to use six different user interfaces, each with a unique look and feel, instead of one (although Roku has fixed this problem).  I cope with feature disparities across the six apps, such as my Chromecast only working with some. I have six different "watch later" queues. And ultimately, for any given piece of content, I must remember which particular service hosts it. Wouldn't it be much better if I had one app instead of six?

Imagine a universal video player that was my one-stop shop for playing all videos. You may ask "don't we already have that? Isn't it called Quicktime?" Quicktime is like a baby who needs its data spoonfed to it. When you point it at a file, Quicktime plays the video. Otherwise it sits around and doesn't do much. We need something akin to a hyperactive dog that runs out and fetches the ball. Except the ball is the data. It would have access to files on your local network and cloud storage, as well as your subscriptions to streaming services such as Hulu and Netflix. You would just ask for Top Gun and it would just start playing on your TV. You don't care how the content is retrieved. As long as it's efficient, free (or with clearly labeled prices), and legal, you don't care whether the retrieval was from your hard drive or from your Netflix account. This is an insignificant detail that should be decided by a computer, and be largely invisible to the user. Most people visiting cnn.com do not know that the images and videos on their screen came from 3rd-party content distribution network like Akamai. Most people haven't even heard of Akamai. Most people who open a tap don't know any details about the pipes delivering the water. So, why is the Netflix brand so prominent in the video watching experience, when what you primarily care about is the content itself?

Rule of thumb #4: The product is more important than the brand.

Furthermore, should you share a link to the movie, you should not need to know anything about the link recipient's content subscriptions. You shouldn't need to discern between sharing a Netflix Top Gun link versus an Amazon Instant Video Top Gun link. There is only one Top Gun, so there should be only one Top Gun URL. Links, aka URLs are the basic essence of sharing on the Internet. URL stands for uniform resource locator. One could look at Top Gun as a locatable resource in a universe. The main role of the universal video player is to turn URLs into content... like magic. When I subscribe to a newvideo streaming service, I am simply gaining a key to a slice of that universe. I would aggregate all my keys together into a keychain, used by the video player in authentication. The keychain becomes the catalyst that gets me to go from URL to actually seeing Tom Cruise's face.

If the recipient of a URL has access to the movie's bits, however that may work, clicking on the Top Gun link should just instantly launch playback of the movie. If she lacks access, the problem can be remedied fairly easily. She could then be presented with a menu of options for procuring access. Perhaps the menu would include rentals, such as "rent on Amazon for $1.99, rent on Redbox for $2.99, etc". In today's world, access is typically just 30 seconds and a credit card payment away.

Furthermore, users should be empowered to organize their view of the content universe. They would use the URLs not just for sharing, but for bookmarking. They could make queues, and then watch later. They could search. They could click on "more like this" or "other movies with actor X". They could set up alerts for when a video becomes available. Most importantly, this would all "just work". This has nothing to do with the video content itself: it is all strictly metadata. And metadata is publicly available. The access, or lack thereof, of a user should have no impact on the organizing of the metadata.

This could perhaps be powered by an open, curated, indexed, searchable database of all metadata of all content ever produced, something akin to ISBN or IMDB. Every piece of audio or video content ever published, from user-generated YouTube to major motion picture studios, would have a canonical entry, with a unique well-known URL. Content creators would then also be content curators, cultivating their part of the garden. The Daily Show staff would be certified, by some chain of trust, to curate Daily Show episodes. They would make sure that, for each episode, the title, date, running length, and other metadata were correct. More importantly, they would de-duplicate, and guarantee that each episode had exactly one canonical entry. They could then cryptographically certify that Hulu Plus does indeed have the rights to serve the bits to the videos. Universal video player software would use this database to lookup just where the bits are stored, and cross-reference with a user's keychain to get them cheaply and easily. This decreases barrier to entry for small players in the content provider business. They would need nothing more than certification in the chain of trust, and the bytes would then start flowing.

With this, the balkanization of the content universe, and the excessive appliferation, would hopefully come to an end. I would have my one player that works with all my hardware and all my platforms, and it would present a portal to a world of content that is highly shareable and manageable. Besides, do Netflix, Hulu and their ilk really want to be in the video player software development business anyway? Do they really want to spend energy on integrating with hardware and platforms, such as Web, iOS, Android, Windows Phone, Roku, AppleTV, Chromecast, DLNA and more? Or would they rather put all their effort into procuring and serving content? It would be a win-win, for both them and the user, to get out of this nasty business But, in their view, they have no choice: they must only serve bits to a trusted video player. This is supposedly the only means to prevent piracy, and the only way to enforce any requisite ad watching. And, apparently, the video streaming companies have decided that the only players they can trust are ones created in-house.


Untrusted Players

Were someone to create a Netflix-compatible video player with an big, red, obvious "Save to Disk" button, for example, allowing viewers easily to store streamed videos to disk, Reed Hastings would suffer an aneurysm. For this reason, video streaming companies hold on to as much control over the player as possible. Were there to be reasonable solutions to the problems of ads and piracy in 3rd-party players, however, there might no longer be a very good case for the in-house player. Let's take a stab at this:


Ads

Ads are the bread and butter of video streaming services. One might argue that YouTube is an ads product with a side effect of videos. While YouTube is fairly good at connecting content creators with viewer, YouTube is astonishingly good at creating an abundance of "ad inventory". Note that "inventory" in this context does not refer to ads, which are never scarce, but refers to available ad time. Gazillions of person-hours are spent watching videos on YouTube daily, leading to the availability of gazillions of 30-second preroll ad slots. This "ad inventory" is then sold to the highest bidders on the ad market.

For an untrusted player to work with YouTube, it would need to guarantee that ads were being watched. The ad playback should not be skippable or fast-forwardable. There is no way for Hulu to ascertain that their ad pixels had been rendered on a screen in front of a human at the correct frame rate. Even if Hulu could assert that, there's no certainty that a viewer is actually sitting there watching. And if Hulu could determine even that, they still don't know if those viewers were actually paying attention. In fact, ask yourself: when's the last time you paid attention to an ad? I almost never do, clicking on YouTube's "Skip Ad" link with the ferocity of well-trained fast-twitch muscle fibers. Were we to address this problem, not only would we help enable 3rd-party players, but we could perhaps make advertising substantially more effective as a whole.

Guess what... there's a solution to this problem! Amazingly, the technology to check for the presence of human attention exists, and is mature! It's called the CAPTCHA. You have probably seen many of them, they look like this:




CAPTCHAs are tests that are designed to be passed by a human but failed by a machine. They are typically paired with web forms to prevent submissions by computer programs. They can also be used to make sure a human being has watched an ad. Here's a simple CAPTCHA-based algorithm a video streaming service can employ:
  1. Serve the bits for the ad. Do not serve the bits for the requested content.
  2. Ask the user a question about the content of the ad that a computer can't easily guess. It can't be multiple choice, but would be something like "what color shirt did the second person in the ad wear?"
  3. Go back to step 1 if answered incorrectly. Do not serve the video content until a question is answered correctly. 
Today's world of multi-screens and touch devices facilitates this approach. The ad and CAPTCHA question would be presented on my TV, while I input the answer into my handheld mobile device. It could be social: everyone in my room should have the capability to answer.

Now that I've proposed a system for forcing innocent people to pay attention to things that don't interest them, we have arrived at my next question.

Why force people to watch ads if they don't want to?

Advertising is a bug, not a feature. Let's be honest, videos are not free. Compensating content creators should not be a choice. But, ads could be a choice. This is why paid subscriptions to services like Netflix are so popular.

Imagine an ad-based system were ad watching was decoupled from video watching. I could have a "video bank account". Every time I watch a video, a fraction of a penny would be debited from my video bank account. Every time I watch a CAPTCHA-verified ad, a fraction of a penny would be credited into my video bank account. Advertisers would pay and content creators would get paid. I could set aside time for ads. I would perhaps sit down and watch a half hour of ads. I might even watch infomercials. And if I wanted to forgo ads altogether, I would just pay the price, as long as the price was made well-known and was competitive. This is, in essence, the true "pay-per-view" model. On the other hand, if I did not have any money, I would just sit and watch ads, as we all do today.

Payments are hard to get right. Especially micropayments. And it is even harder given my constraint of doing all this with open standards. I don't know of any open standard that would really work for this use case but one: Bitcoin. I'm not the first person to think of Bitcoin as a micropayments platform. (Please consider this a proper citation so that I can avoid the charge of plagiarism. I forget who it was that originally talked about this). While I cringe at the thought of converting a significant sum of money into Bitcoin, I have no qualm buying $10 worth. If a video view costs one cent, then this sum would be worth 1,000 views. Bitcoin transactions are irreversible, which is fine as I'm never going to ask for a penny refund. The price of Bitcoin is volatile, but content creators probably wouldn't mind being compensated in it (considering that the marginal cost of a video view is zero to them. They have only fixed costs to cover, so Bitcoin is a godsend). Even advertisers might not mind paying in Bitcoin, considering that bidding in online ad markets is probably already quite volatile. Furthermore, it works across international borders, requires no third-party or middleman, has no transaction cost (sort of), and is anonymous (sort of). The only problem with Bitcoin is the transaction clearing time: on the order of minutes. It would be awful if I had to wait minutes between clicking on a URL and a video starting. But Bitcoin seems to be down the right track.


Piracy

Just as there's no way to ascertain whether pixels appeared on a screen, there's no way to ascertain whether the user's bits appeared on a disk. This saved content could be used for unauthorized sharing and later playback. This is a very difficult problem to solve. Digital rights management just moves the problem around rather than provides a solution. Even today, people could potentially workaround DRM by various software and hardware hacks. Perhaps someone needs to create a lie-detecting CAPTCHA. That would be quite useful.

Ultimately, it's a delusion to think that piracy could ever be fully solved. I don't know the data on how much piracy of streaming services occurs today, but I would be surprised if it's zero. I suspect that nearly all copyrighted content is pirated, and thus there is not necessarily a large difference between the locked-down world of today and a world of openly streamable content. Regardless, there are numerous countermeasures one could take to protect against this threat.

First, there needs to be throttling. Ostensibly, streaming services are used for streaming. On average, a viewer should be downloading approximately one minute of playbackable video content per one minute of wall time. Anything significantly greater means the user is not watching, and is possibly pirating. If I download one hour of Breaking Bad over the course of an hour, I'm probably streaming it. If I download an entire season of Breaking Bad in one hour, I'm probably a pirate. Therefore, there should be aggressive throttling in place. The video player should frequently refresh an authorization token from an authorization server, which is then handed off to the content server. The content server can verify the token in a distributed way, using shared public keys. Each token would authorize the user to access a certain portion of a certain video for download. This way, throttling could scale, where authorization servers are kept separate from high-throughput content distribution servers. The "window size" has to be determined. If, for example, a user is only allowed to download 5 minutes of content in every 5 minute window, then the video buffer is limited to a 5-minute window. This is likely more than enough. However, if the user switches videos, they might have to wait 5 minutes before the next one begins streaming. This window size must be tweaked.

Second, digital watermarking (by way of steganography) could be employed to tag downloaded content with information about the identity of the downloader. This is incredibly expensive to do at scale. I have no suggestions on how to make this perform better. Were all content to be digital watermarked on download, then we could begin pursuing a radical shift in our approach to prosecuting pirates. Instead of chasing after the downloaders, digital watermarking would enable chasing after the uploaders, the people who made the pirated content available in the first place.

These are ads and piracy. I think it's doable. I think we can get this!


In Conclusion

In conclusion, copyrighted content tends to make for bad products. If we didn't have to worry about forcing viewers to watch ads, or not to pirate content, and if we didn't have to worry about contractual agreements between content creators and middlemen... we could have much better products. The best I can do is sit here and design, propose, and publish. I would love to flesh this out further, but I've run out of steam on this blog post. I just want a better user experience, and putting out my ideas seems like it could be fruitful. Remember, never settle for a bad product. Stay vigilant and work hard.

No comments:

Post a Comment