If your closet looks anything like mine, its full of stereo equipment. Some obsolete (VCR?), and some of it is critical to survival (Tivo). But the stack of components are seperate devices which provide flexibility, but are unable to integrate cleanly into each other. What I'm describing here is The Dream. A simple box that can fulfill the tasks of my tuner, reciever, CD Player, and has a ton of new tricks that nobody has done yet.
As always, I'm looking at this through the eyes of an open source hacker. Where possible I mention projects that could provide a framework. And I also make a huge assumption about disk space. Right now 80 gig hard drives are available for only a few hundred dollars. But since it'll be years before this box really exists, we will presumably have hundreds of gigs at our disposal. When we cross 500 gigs, things get interesting... we suddenly can store a few hundred movies... a month of TV... a few months of your favorite radio broadcasts... all in one beautiful box. This project could certainly be done on windows, but ideally it wouldn't matter, since most people would never see the underlying OS, and besides, the massaging of closed source applications to fit within this framework wouldn't be possible.
The most important devices are those that are already critical in a stereo today. We need to build upon that base before we can really start breaking new ground. That said, first and foremost, we must have a CD Player. But not just any CD Player, this CD Player should automatically rip every CD you insert and store it in Ogg Vorbis, ideally at a high bit trate. While programs like Grip and FreeAmp provide an excellent foundation, the interfaces to each will need work to fit within the Borg Box.
Why stop with a CD? We have to dedicate the physical space to read discs, lets include a DVD Player. VideoLAN has a pretty solid player for Linux now. But why stop there? Like our music, we should automatically rip, catalog, and store our DVDs. This should be optional of course because the disc space required to store DVDs is going to be fairly huge. But imagine if the last 20 DVDs you watched were stored on this box? It might take 50 gigs to store at a good compression rate, but when your buddy comes over you could quickly show him that scene you mentioned the other day without rummaging through that pile of DVDs and CDs that inevitably accumulates on top of every flat surface without 5 feet of your stereo. And in 3 years, that terebyte disc may be real. And since the player is purely a software thing, Dolby Digital, DTS 5.1, and future 6.1, 7.2, and whatever else comes next could be provided with a software upgrade (unlike today where you may need a new DVD Player or Reciever)
The DVD storage leads me into what is the new essential video component: Tivo . Anyone who uses a Personal Video Recorder for more then a few weeks knows that going back is just not an acceptable solution. Tivo simply makes TV tolerable again. But Tivo has its problems. We need bigger hard drives and more storage. The Tivo interface breaks down as the number of programs increase: the 35 Hour DirecTivo model becomes unmanagable when you have 60-70 shows on it. What happens when we can stick a half a TB of disc space on this? But afaik, no open source application duplicates the functionality of the Tivo.
We should include a Tuner as well, but I'd like it to be able to play a few tricks that most can't. I enjoy listening to Howard Stern in the morning. So my mega media box should start recording it at 6am. And the audio it records should be indexed nicely with the other audio we have. Audio compresses extremely well so we could keep a lot of it around. Recording a 5 hour radio show is only going to be a few hundred megs. I've seen bits and pieces of this software in place, but with Tuner cards available for less then a hundred bucks, this should be a negligible addition. The real effort will be the programming, but since we're already doing much of these things already, it shouldn't be that hard: The PVR will need the ability to record time/date, so radio stations could simply be extra channels. And the audio stuff already is encoding CDs, and providing a nice interface for selecting music. It won't be as simple since most radio stations won't have accesible "Guides" for what is on when, but we could make do with simple time/duration/station.
While we're at it, users with high enough bandwidth should be able to stream audio and video from the net. URLs are just channels and stations. A nice internal list of popular sources of content would be a nice start. This won't matter today, but as broadband becomes the norm, web based TV should start not sucking.
We'll also need to provide a few inputs for other devices. The real trick here is that since we're going to want to do things like crossfading and overlaying audio, so these will be hard to do. Honestly, with all the devices that this box has, hopefully we wouldn't need more then 2 spare inputs, but that is a big issue that remains to be seen.
WishesI'd love to see a version with an integrated DirecTV reciever (ala the DirecTivo which has some really great features, but no traditional cable tuner which really sucks). But that is a very difficult step and don't see that happening in any sort of open source project, so this may be an unattainable dream for our Borg Box.
A version capable of being a Cable Modem would be awesome. The cable company could make some serious bread selling something like this. They are already leasing Cable Modems and Digital Cable boxes. This would cost far more, but they could also charge a lot more for the huge gain in functionality. But imagine plugging this in to your cable jack, and being done. DHCP handles the net connection. Digital Cable. Its all done. DSL for those folks would be nice too, but you'd still need a cable input for video.
X10 Control would be sweet as well. Then events could be raised to do anything that X10 can do. The doorbell could trigger the front door camera, and change the video source to the camera by the front door (the X10 devices to do this security stuff is only a hundred bucks, so its not cost prohibitive). There are countless nifty things that you could do, and the only cost to the box is a few dollar firecracker to broadcast and recieve X10 signals, plus code to configure simple event handling. And that would be the ahrd part: coding a clean and flexible X10 system would be tricky work.
De-Interlacers are somewhat expensive devices that could probably be reasonably implemented as part of the playback. I'm sure it wouldn't be as top notch as a dedicated processor or high end progressive DVD Player, but it seems like this could be done nicely, and then we could pull one more component out of the chain. I suspect doing a good job with this would quickly become clock cycle consuming. Maybe co-processors could be employed for the job. This would only affect HDTV users, although in 18 months, that might be the majority of users for this device. Lets face it, this thing is going to be high tech, and the mainstream isn't even ready for Tivo yet!
New TricksA phone jack will be necessary for a variety of purposes (CD Lookups, TV Guide Information) for users without ethernet access to the world. Why not rig it up to allow notification of phone calls? You're watching a movie and the phone rings. The audio fades, and optionally the video pauses. A window pop's up and tells you who the call is from. Festival could even say it out loud.
Since we'll have a net connection, various reports could easily be generated. Some things could be snarfed automatically. Perl modules exist to get things like weather, stock quotes, and status of your pop mail. I'd love to wake up, press a button, and hear "Its 65 degrees and sunny with 10 mph wind from the northwest. LNUX is trading at 12 cents a share. And you have 1092 messages waiting". Well, I'd like it better if those last 2 numbers were switched, but you get the point. Advanced users could code simply scripts to acquire new information making the options limitless: Traffic reports ("It will take you 12 hours to get to work because you live in California dumbass") and any compliant rss website could give you news headlines. Couple that with X10, and you could make it so a motion sensor triggers your report. Add bounds for time. If the borg box detects motion between 8am and 10am in the living room, give the morning weather report. Suddenly, you have the report as you're getting your keys and wallet, and know without even looking outside if you need your coat.
While we're at it, why not provide an alarm clock? Its easy, but overlooked. Your alarm could be your customized news report I mentioned above, your favorite morning radio show (starting at the beginning, and not at 7:45 during the middle of that annoying commercial for the head shop), or your choice of obnoxiously loud ringing tones guaranteed to raise the dead.
Since all the devices are integrated, we have a variety of controls available that most recievers don't have. We could crossfade one device into another. I know its picky, but hey, it sure would be cool. You could fade the radio volume 50% to get your caller ID spoken to you. Its the little details that would really make this stand out.
InteractionThe real trick is going to be the interface. If I tell my amazing media box that I'm interested in Tenchi, it should be able to provide me with the Tenchi Soundtrack that I ripped. The Tenchi DVDs I watched a few weeks ago (and if its not on the hard drive, it could at least remember what I watched and when). And the episodes that have aired recently on Cartoon Network. And since we have a net connection, why not search Napster, Gnutella, and Google? There's a plethora of solid sources of multi media out there. The real trick is going to be providing a clean interface for picking what it is your want. The UI will provide you with key information. Icons representing local media, media you've already seen, DVDs you have but maybe haven't ripped, things that could be streamed, things that are coming soon. But it can't be overly complicated (by default. There always should be advanced options).
Actually communicating with the device should be available on many levels. A simple remote control for the bulk of normal everyday functions: Play. Pause. Fast Forward. Menu Navigation. "I Like This Thing I am Seeing, so show me more like this in the future". A wireless keyboard should be an option too. With this GUI, more complex features would be available: writing perl scripts, typing in more complex search requests.
Someday voice interaction would be excellent as well, but thats a bit off yet. Today's voice recognition is not up to the task of taking commands from a room full of ambient noise: it simply can't figure out when it is being addressed. But its not far off. "Borg Box, Good Morning" could be the trigger for your morning weather report. "Borg Box, Good Night" changes to a play list containing mellow Brian Eno tracks. Can you imagine? It sounds like the high tech star trek stuff, but the parts are all getting really close.
Hardware InterfacesIdeally we would provide component video with options for 480i for backwards compatibility, and 480p at the minimum for HDTV. If we could do 780p, we could provide a very crisp video signal, and make a lot of nifty things possible, like fitting sharper smaller fonts on screen. Maybe a VGA adapter too. We could probably do this the same way the Playstation 2 does: a nice little dongle gives us all the options necessary even for older sets, without cluttering the actual device.
Audio should by default come out via optical toslink cable. Admittedly, many recievers don't support that, but backwards compatibility to to channel RCA stereo plugs would be nice. Surround sound would only be available through the optical channels, just as the PS/2 operates today. We won't make the mistake that the DirecTivo does of only sending the principle signal to the optical port, and only mixing in other effects to the RCA ports.
Obviously we will need a phone jack for primitive net access, and for phone functions. But also an ethernet port for the lucky folks with DSL, Cable, or real network connections.
We'll need a cable jack. Ideally it could handle Cable Modem input, Digital Cable Input, and just plain old cable. But for starters, just cable is enough. If cable companies participate, a lof of magic is possible.
An IR port could provide input for a remote control and a full blown wireless keyboard. The keyboard could be sold seperate to keep costs down if necessary, but wireless input is cheap, as are remotes.
We probably also should have power too, although a future version should also include a cold fusion module so that this box can power your house as well. Hey, we're dreaming, why not go all out ;)
CostsExpensive. We're talking thousands of dollars for this hardware. And who knows how many hours for the software. Much of the functionality I've described already exists in various forms, but writing a consistant, well designed UI requires rare skills in the open source world. And a device like this is almost entirely about the UI. Many Slashdot readers could build this box, but its going to take special people to actually make the UI friendly enough to gain mass acceptance.
Costs could potentially be taken on a bit by Cable companies leasing these an alternative to cable boxes/cable modems. Since they already lease those for 5 bucks a month each, customers are used to it. And this provides the functionality of a thousand dollars worth of hardware.
Adversiting is also a huge potential revenue stream. Yes its annoying, but if it meant you could get this box for $1000, would it be worth it? Personally I'm all for highly targetted advertising. If I search for Tenchi, my ad should be about anime. While the banner ad market is poop, this kind of targetting could be hugely valuable. Cartoon Network runs hundreds of ads a week for anime, but they are preaching to the converted: you're already watching their network when you see this ad. This method could get anime fans who maybe didn't realize that Big O is running on Cartoon Network, and is a really excellent show worth watching. You may have a lot of anime DVDs, and not know Cartoon Network's lineup changed. And nothing irritates me more then mismarketing. If I am alone in my basement, I should never ever ever see an add for feminine hygiene products. I will never purchase them. They wasted their advertising dollar and my time. Its one step away from telemarketers interupting me and my pizza.
Ideally you can build the box yourself, choosing the functionality you want and need (Don't want a tuner? click a checkbox during install, save $100 on the tuner card). The most expensive part would probably be the hard drives. Right now, 2 80 gig hard drives would be the best place to start, and thats going to run $500. The PC might only run another 500, but we'll need things like a Tuner, an mpeg encoder and decoder, a DVD Player. Ideally sources exist for getting a pre-fabbed box. I don't think my dad wants to build his own, but he sure loves his tivo.