Monday, May 26, 2014

The world needs an Internet DVR

It is clear that television viewing as we know it is going to transition to an internet-based system.  Everyone wants video on demand.  We want to be able to watch the shows we want to see, when we want to see them.  We don't want to pay a cable company for channels we never watch (for example, non-sports people paying as much as $10/month on the cable bill for ESPN channels).
However, it is clear that the internet distribution system is now being presented with a huge "peak loading" problem.  I heard a statistic that 40% of all internet traffic is Netflix traffic at 8PM local times.  That probably doesn't include Hulu, You Tube etc.
At the same time, the cable companies are asking for extra fees from Netflix and similar providers to guarantee them "fast track" connection to their customers. The FCC is apparently going to approve that fast track service with some constraints.  Clearly, that fast track requirement is needed only for that "peak loading" time of day in each time zone.  The rest of the time, there is huge amounts of bandwidth unused.
The problem is that we don't have an easy way to "smooth" that demand.
We currently have TIVO devices that can record current shows off the cable and store them for future viewing.  Cable companies also have systems and cable-top boxes that do a similar store/replay service for viewers.  We don't have the same thing for digital media downloaded from the internet.  At least, I have been unable to find anything like it.  I think we need such a device! --AN INTERNET DVR!  Technology has advanced!  Mass digital storage is now very cheap, processor speeds are much faster.  We just need someone to build the device and sell it!

How would an internet DVR (IDVR) work?  The device will simply anticipate what shows a user might want to watch and download those shows during slower internet usage periods and store them on a local device in the viewer's home.  When the viewer decides to watch a show, it won't have to be streamed if it is already stored on the local device.  That will smooth the bandwidth loading on the internet, improve the quality of received video, and reduce the cost to everyone.

How does the device determine what to store?  DVRs for years have tried to learn a user's desires and anticipate what a user might want to watch.  Netflix has spent a fortune developing algorithms to help users pick their shows.  With a little more interaction with users, I think a smart controller could easily predict most of the shows a user might want to see.  In many cases it is pretty obvious:  If a viewer has watched 8 episodes of a series, it is likely that the viewer will watch the 9th episode!  I'm sure the algorithm for this device could continue to evolve, and would learn more about what each user is interested in seeing.

What are the problems?  

  • Commercials: Providers of commercial digital shows on the internet want to guarantee that customers are forced to watch their commercials.  They have been "cheated" out of people watching them on regular TV and Cable TV because of the advent of the DVR.  Currently they need to carefully allow their data to be downloaded in such a way that commercials will be included.  It gets very cumbersome. --Possible Solution:  This new device needs to "honor" the content providers system, and protect the incorporated commercials.  Users, however, will want to be able to fast forward through them - -maybe there could be a reasonable compromise solution.  For example, allow users to skip duplicate commercials within the past hour, if they have "clicked" on the commercial when shown the first time.  
  • Copyright Protection: Providers of "premium content" such as HBO, Netflix, and Hulu want to make sure that the shows aren't recorded and then redistributed for free to others.  They need to protect the copyrights of the producers of the media.  Possible Solution: All media is stored encrypted with a key held by the data provider for each show.  When the device begins to play the show, it exchanges its serial number identity for the key to decrypt that show.
  • Indexing & Cataloging: Currently shows on the internet are like the "wild west" -- there is seemingly anarchy!  Some shows are available while they are being shown over the air, some aren't available for a week after it was shown.  Some are available on line for years, while others are only available for a month or so.  Possible Solution: The developer of such a device will need to negotiate an agreement with the content providers that the provider will give the device access to a  viewing catalog.  I would assume that the agreement to catalog the data would be easy to achieve, as long as the device manufacturer agrees to protect the commercials and copyrights as described above.
The more I think about this the more I think it isn't a matter of IF this device will be built, but WHEN.  I wouldn't be surprised if something like it is being developed or tested right now.  It could even be incorporated into the top of the line TV sets now.  

It appears to me that Apple, Microsoft, Google, Amazon, Netflix, Hulu, and TIVO all have vested interest in doing this design correctly!  The cable and telephone companies Comcast, Cox & AT&T probably would not want this to happen and would try to put stumbling block in the path of any progress in this direction.  The media companies and content providers would probably all gain from such a device, as long as their content were properly protected. However, they would resist it until they were confident of  the design.  The problem is that if each company develops their own system, we will have anarchy and none of them will be successful. There would be a lot of waste if we had another 8-track/cassette battle, or Betamax vs VCR fight.  If the developers got together and worked on a common standard, they could be accused of antitrust violation..  I think this might be something that will require some leadership from the FCC to establish some sort of standards for protecting commercials and copyrights, and facilitating indexing and cataloging.