(Warning, semi-rambling post ahead…)
Lately I’ve been thinking about how we use media. A little over a year ago, we joined the DVR revolution with DirecTv’s DVR option, and this taste of flexibility has highlighted exactly how far behind technology we’re lagging in consumer experience. The DVR is a nice little island utopia. As long as we’re at the TV with the DVR, the kids have their pick of their favorite shows. My wife and I can watch a show that we missed, or that we recorded because it was too late for us to stay up. Unfortanely as soon as you sail away from the island, all is lost. The DVD player in the car can only serve up movies that we have physical discs for (what an archaic concept!). My Zune only holds music, videos and pictures that I explicitly put onto is (I don’t keep a lot of media on my computer, so I have to go out of my way to sync stuff.) My family pictures, home movies, and other digital media mostly lives on our Windows Home Server, which makes it very accessible to our home computers, but not very useful on the road.
What would utopia look like? Media shared everywhere. If my family owns it, I want it available wherever.
In practice, it’s not this simple. How would data get from the DVR to the server? How do you deal with devices with limited storage (come to think of it, every device has some sort of limit)? How does data get onto the Zune, into the car, etc.
I’m thinking that a simple provider-subscriber model could work. Each device would advertise it’s content using a format that could describe the media in enough detail that subscribers could make sense of it, and then they could make decisions about retrieving the media (RSS with enclosures might work as-is or with minor extension). Each device would also have a configurable subscriber profile that would define what it would actively retrieve, or what it would make available by reference. So, for example:
- DVR Records a bunch of shows.
- DVR publishes listings with metadata via RSS.
- Windows Home Server retrieves RSS from DVR. Based on its settings WHS will actively retrieve some shows that I’ve set to archive and save them on the server.
- These shows will be added to WHS’s published RSS, with some sort of UID included so that the DVR doesn’t think it needs to copy them back.
- WHS stores some home movies.
- WHS publishes a listing of home movies via RSS.
- DVR subscribes to this listing, and makes them available via the DVR _by reference_, basically it doesn’t make a local copy, but you can view the movies on your TV by selecting them through the DVR interface after which they are streamed from the WHS. (Wouldn’t want to waste the DVR’s limited drive space by making a local copy.)
The scenarios go from there. You could set priorities for devices with smaller storage like my Zune30. It could actively retrieve the most recent 2 episodes of each of my kid’s favorite shows, as well as the most recent episodes of Las Vegas (the one show I try to watch each week), and maybe also a few podcasts that WHS has downloaded for me.
Ok, that last sentence made this a bit more interesting. The subscriber/provider model extends. I can subscribe to internet feeds to acquire content. If I want to, I can publish a feed of select home movies and my family members can subscribe to them. The data flow might go:
- Digital Camcorder uploads to Client computer.
- Client computer publishes via RSS.
- WHS subscribes to RSS and retrieves and archives media (archive action might actually remove it from client depending on settings).
- WHS adds home movies to its published feed.
- After reviewing the movies on the server I tag a few as “Share_Family” and they become available on a feed that is accessible from the internet.
- My extended family then can subscribe via their own WHS or a client application and the content will automatically be transferred to their local repository.
Feeds should be configurable, so that I can build custom feeds that filter by tag, time, format, media type, etc. So basically each provider will have a single subscription endpoint, but the feed can be filtered, or alternately the client can retrieve the entire feed, and filter locally. Also, authentication should be an option so that you can make a public/private distinction, or even control access in a more granular manner.
Ok, this has devolved into a bit of stream-of-consciousness rambling, but hopefully it conveys that the technology to do this is available today, but that the implementation is lagging. DRM is a hurdle to open integration like this, but it’s not an insurmountable one. Hopefully media companies will realize that if they make their content available and give consumers the freedom to use it in flexible ways, then the consumers will actually be more likely to consume the content.
(Disclaimer: This post is pure speculation by me. It does not convey any information from my current or future employers. I do not know if anything like this is in development, I just wanted to throw out some ideas that might make the consumer experience better in the future.)