In my recent blog titled “Mac Speculation and Fantasy“, I talked a bit about a digital hub device that I wanted to attach to my home theater setup. Lots of people wrote me and recommended that I look at the Moxi. While the Moxi is indeed cool, I don’t think that its what I wanted when I wrote that blog.
From Moxi’s marketing, it looks like Moxi will let you play video from it to any TV or computer in your house. What I’m looking for is exactly the reverse. I want to be able to play video and audio from any computer in my house onto the TV. And to do so not by sharing a file system, but by some other means. I want to put iTunes on my laptop onto random play, put its sound on the big speakers, its visuals on the screen, and invite my friends over.
Sure, the Moxi will allow me to play MP3s from its hard drive — and I bet it’ll come with software to put pretty graphics up on the screen that match the music. And that will be pretty cool. Lots of people will like it.
But that’s missing the point of being able to drive your TV from any computer in your house. The Moxi will only let you do what it is programmed to. And so far, I haven’t seen anything that indicates that as an end user, I’ll be able to add functionality to it. Sure, the UI may be based on Flash, but that doesn’t mean that functionality will be exposed to me, even as a programmer. I have a TiVo that I’ve hacked with extra hard drive space. But I still don’t know an easy way to add too much functionality to it even though it is based on Linux. I can solder a network card onto it, give it an IP, and ping it. But what more can I do without knowing the details of how the TiVo software runs as opposed to the Linux it runs on top of?
On the other hand, if I can get from my Mac (or a PC) and some other kind of device the ability to treat my home theater as an external output screen and speakers, I can program any functionality I want to take advantage of my TV and audio system. In object-oriented parlance, I want to use my A/V system as an object. I don’t want to know the implementation, I just want to get handle to the screen and write something to it.
For the non-programmers out there, think about playing a slideshow from iPhoto on the TV. Or a musician sitting on his couch with a copy of Reason and listening to his composition on a real sound system without having to hook up a whole bunch of wires and string them across the room. Or, for a business use, being able to walk into a conference room and pipe your Powerpoint presentation to the screen without having to hook up. Without having to have anything other than a simple enabler box. Powerpoint or Reason or any other application you have shouldn’t know anything about the device other than it looks like a screen just like any other screen you might have hooked up to your computer.
These kind of spontaneous connections is what Jini was all about. The promise of this kind of usage has been known for a while.
Let’s start seeing it.
A box with no ability to spontaneously allow such generic usage of your TV from your computer, or which you have to know how to hack to do so, is really not that
The one thing that Moxi gives me that I don’t already have is the ability to pipe the video around my house to televisions without putting in more receivers or wiring. Don’t get me wrong, this is pretty cool. But it isn’t what I really want. What I want can’t be done by going and buying more DirectTV receivers or extra cables.
What do you think? Would you use a box like I’m describing?