Slashdot Log In
The Borg Box and Convergence Fantasies
from the wouldnt-it-be-nice dept.
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.
Devices
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.
Wishes
I'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 Tricks
A 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.
Interaction
The 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 Interfaces
Ideally 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 ;)
Costs
Expensive. 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.
Modularity is often overlooked, but is KEY. (Score:5)
If there were some published open standard for modules that could perform some set of defined functions through a published interface, we would be a lot closer. I'm working under the assuption that an industry standard would develop for say video devices that would deal with thigs like seeking, playing, recording (if it's an rw device), and any other cleverness like naming tracks, etc... and each device could opt in with each of it's capabilities, publishing them to the "hub" device that would handle communication between devices.
This is important for several reasons, first, if a technology gets phased out, you can swap parts (or just add a new module) to keep up with things, rather than having to replace your entire system to deal with one standards revision or new media type.
The other reason off the top of my head is that a modular system would allow competition between manufacturers to produce the best module of a certain type, therefore raising the bar for quality, and also allowing users who need a less spiffy module of one type to buy a lower-spec'd but inexpensive one (for instance users on a budget could get the ntsc tv set instead of s-video for their home system, and be able to upgrade later).
As new device types are added, new control API's will probably be needed (i.e. MakeCoffee() ), to keep this from killing users, each device should also publish a default api->ui wrapper, so when they plug in their coffee maker they can use it right off the bat without any software installs, and then later when they want to install a module that automatically make coffee whenever there is a twilight zone marathon scheduled on the sci-fi channel they can do so.
Now i recognize that for the most part i'm just pissing in the wind here, because to get this started you'd need a non-profit organization willing to be the guardian of the standard (something like the w3c, but with teeth, so that incompatible systems could not be marketed as compatible (to keep bastards like microsoft and netscape running one-up wars of proprietary extensions developed for the sole reason of shitting on the other guy's picnic..))
The trick is the following:
Any company (or even an end user with the tools) should be able to produce a compatible device without paying expensive licencing fees. The fees should be on a volume scaled per-unit-shipped basis, so that the small players aren't killed by huge up-front licencing fees.
Every device should include the data necesary for no-frills full-functionality operation so that even the densest of users can plug the connector into their hub and all the right menus or icons will just be there when they next use the system.
This exists as open source (Score:3)
See the perfectly functional DTV [sourceforge.net] over at SourceForge. I've dumped my DVDO iScan in favor of this free program. The folks at AVS Forum [avsforum.com] are very interested in this area and have been hacking the Tivo. It's a great site.
So why isn't this stuff available on a PC yet? (Score:5)
* Automatically catalogues media clips (BeOS does this to an extent, I've heard)
* Replicates TiVO functionality to an acceptable degree
* Does a decent job at being a convenient radio tuner
* Does a decent job at being an alarm clock
* Streams decent-quality (visual and production) video from the Net on a channel-lookup system
* Plays HDTV signals
* Does a decent job of being a voicemail/phone answering/notification system for incoming calls - or for that matter, does any decent voice functionality over voice lines at all
* Triggers events via anything other than timers, keyboard taps, and mouse clicks
* Displays information services in an acceptable format on a TV screen
* Crossfades or partitions anything via automatic windowing (yea I know you can drag titlebars and window boundaries to your heart's content, but your good old "tile windows" command is usually not good enough for practical usage)
* Decently controls events on a PC via a remote control
... and so on.
There is a great need for this stuff, no doubt... I'm sure many of us spend countless hours performing manual tasks related to entertainment that represent work more than entertainment... an irony if I've ever seen one. And I believe much of it exists... albeit in primitive, obscure, or component form. There are a lot of the things on Taco's list that are here today - the CD/DVD player, the remote controls and IR ports, the X10 systems, good file compression, TiVO and its consumer electronics counterparts, and so on.
The task is wrapping it all up. And it's much harder to construct a consumer electronic system that works on TV technology, that has a simple user interface, and that meets the processing/hardware requirements of all this functionality. This is why the PS2 doesn't do all of this... it's too much to build in at once without driving the price through the roof. PCs can do it much easier, though - they're expandable, they're versatile, and they're not as expensive as consumer electronics.
Now, you must think I'm on crack for saying "not as expensive as consumer electronics". But honestly, PCs are component systems that don't have to be bought all at once. The initial shell-out is high, and the overall cost can be staggering on a small budget... but over time, it's not a bad thing at all. I've never had $3000 to spend on a computer at once, yet that's easily what my computer cost altogether (the SCSI subsystem alone breaks $1000). Stereo systems are like this as well - but you can easily spend $1500 the first time out on one of those as well. Most consumer electronics are either too dumb to cooperate in the manner suggested here, or can be a royal pain in the ass when they're integrated - TV/VCR combos come to mind.
Before this gets way too long, I think the correct approach is to:
1. Use existing PC hardware and write flexible, well-interfaced software packages for separate media functions. Not just your typical poorly-written driver software to watch TV, use a remote, or capture video - but software that does these things good and with greater power. The ideas are out there, typically the functionality is not.
2. Encourage new PC hardware to fill in the functionality gaps (HDTV tuners, USB plug-n-play IR receivers, radio tuners, big ass hard drives) and write quality software packages for those as well. Not to forget, the hardware needs OPEN STANDARD INTERFACES... not a separate programming interface or application for each brand of tuner, media player, etc., but something like the way all sound cards are SoundBlaster compatible or 3D cards have DirectX/OpenGL functionality.
3. Finally, someone builds a system with existing, well established hardware and software, that accomplishes the task of integrating all these components seamlessly, with an easy to use interface, that just plugs into the TV and the phone/cable line, and does all this stuff for you in your living room.
So... improve what we have, create what we need, and bring it all together when it's ready. But as it is now, it's not ready yet.
Um, it's called a PC (Score:4)
Go buy a cheapass PC like a duron. Add the following:
Now, mix in the following software:
Now put it by your TV.
There you go, more convergence than you can shake a bloody stick at. Perhaps you meant a nice, unitied, all in one interface? Well, there's a great project for the open source community to pick up on, heavens knows I'd use it, don't have time to write it now. I work all day with Motorola set-top boxes, and one of those would also make a great platform for this, although the tools aren't free (IIRC). A PC works fine, and it's CHEAP.
Hell, one of the nifty things I've done is time-shift DVD rentals - rip it uncompressed and then play it back on the weekend (when you KNOW it won't be there .. heh). It doesn't look pretty, but it definately works, and IMHO smokes the hell out of anything available now. A hacked Xbox might change that though.
It's Already Here ... (Score:4)
It's the home-built PC, spec'd out to whatever needs doing at the present time -- TV tuner, MP3 jukebox, audio server (or satellite client), whatever.
I'm surprised that people -- especially slashdot folks -- keep seeking this so-called "elusive" grail. It seems that people are looking for a "formally converged" box. Something like TIVO + ZapStation with a little bit of the late Indrema's attitude thrown in for good measure.
But my question is -- and continues to be -- WHY? Why are folks seeking a formally converged box?
The answer is this: anyone who complains about the lack of a converged box has yet to grasp the simple fact that "convergence" -- at least in its "formal" sense -- is a synonym for "corporate control."
Why on earth -- and I mean this sincerely -- why on earth do we want to cede any more of our "entertainment enablement" to corporations?
Convergence is a dangerous thing. It's not something we should look forward to, nor is it something we should theoretically support. (I say theoretically because, in practice, I do love my TIVO and I *do* lust after the ZapStation [if only because it's got a pretty cool case and would fit in my stereo rack nicely].)
All the formally converged box will offer -- above and beyond our individually spec'd out home-built boxes -- is another way for corporations to impose their will (via their unending capital) upon consumers. The "will" is always masked as "choice" or "enablement." This is really a crucial point, and it's one I wish Katz would write about.
The problem is that corporate will is *always* -- always, always, always -- at the expense (literally and metaphorically) of consumers. Consumers will pay good money to have their rights curtailed. I don't understand this, and while, yes, I admit that I, too, do this, I force myself to become aware that even the most reasoned and savvy consumer is liable to be hypnotized by the siren-song of the corporations.
I'm still trying to understand how democracy is so easily usurped by capitalism -- and trying hard to see both sides of the globalization battles -- but what I see more and more is capitalism being used to undermine and eradicate the rights of citizens in democracies where the corporations are allowed to function. The problem area (for me, at least) is the role of corporations. (Take, for example, the doctrine of copyright and fair-use. Tell me -- seriously -- why so few politicians vocal about the concept of fair-use? Yeah, Hatch is worried about this -- but he remains cautious and will probably cede his concerns once the RIAA and MPAA convince him that in a digital age, there is no fair use.)
Anyway, I could go on. I won't.
But, please, don't worry about convergence. It's simply a pretty buzzword for a thing we don't want (but think we do -- this is the genius of democratic corporatization).
If you want the grail -- the ideal box -- go out, for godsakes, and build it yourself. Use Linux, Windows, BE -- whatever floats your boat.
Snag the hardware wherever you can find it cheapest.
Paint your informally converged box to match your stereo.
Whatever.
But don't look to corporate interests for the answer. They'll give you an answer -- and will do it with a smile on their faces -- but it will cost you. (Windows XP, I suspect, will be the proof of this -- as if it needs proof.)
Convergence = being stuck with specific tech (Score:3)
Having it all integrated would be convenient, but would imply that all the technology would age at the same rate. Not so . . . my stereo receiver could be 15 years old and still kickin' fine, but my cable modem needs to be replaced every couple of years at least (as bandwidth improves).
Maybe a "magic box" that has component cards that can be swapped in and out, much like a mainframe's architecture . . . but you'd still be stuck with one vendor.
Overall, screw the magic box, and give me my closet full of gear.