So what is the jflicks media system?
When designing our media system we had some important goals that we knew we needed to achieve.
- All media (video, audio, photos etc) be available at every TV in the home.
- The user interface to also be the same at each TV. One remote control at each TV and the possibility that this remote control be the same.
- The high-level “components” of the system discover each other on the local network without user interaction. And these components can “come and go” without disruption.
Why are these important? To be able to watch all your media at every TV is a very nice thing to have. Many people have DVR systems in their homes at multiple TVs and until fairly recently recordings could not be shared easily. If something was recorded on the bedroom DVR you had to watch it there. As stated this is changing and our system needs to support the notion of a “whole house DVR”. The idea is that you can have more than one machine recording content but you have access to all the content at every TV.
When you are at your TV, watching what you want to watch should be a simple thing to do. In many homes you see a “team” of remotes. You have one for your TV, one for the DVD/Bluray player, another for the cable box, one for the new type of Internet boxes coming out these days and of course one for the DVR. Knowing what button on what remote to use to do some task is quite an annoying thing. To mitigate this problem people have invested in a super-duper remote that can eliminate the need for all the others. This is great for us geeks but there is usually still a sequence of button presses one needs to remember to watch what you want to watch. We have seen folks write up cheat sheets on post-it notes strategically placed on the coffee table for the less technical people in the family. In the jflicks media system the goal is to be able to do everything with just one remote. Hitting “Play” means play the current media selected in the user interface whether it’s video, audio or something else.
We have to admit that running a Home Theater PC (HTPC) is not a trivial task. And running a network of them is even a bit more complex. Not everyone understands all the networking and operating system setup that is required to get everything working. Whatever we can do to make this easier to configure and control is a goal of the jflicks media system. We employ “auto discovery” when you run the software. The software looks for hardware at startup and auto configures it as best as it can. When jflicks media system software components start and stop they look for other jflicks media system software components that are running on your network and automatically communicate with one another. You never have to tell one component that is in your living room to “talk to the recorder that is in the basement”.
There are two types of software components in the jflicks media system. They are server components and client components.
The server component is designed to supply media. This media can be recordings, videos, home videos, on demand video from some set top box, audio and photos. The server also has other services running to support supplying this media to consumers. These other services are transparent to the consumer of the media in most cases.
The client software component is really two classes of software. A client program designed to run in the living room on your TV. It is designed to be controlled via the remote control. Technically speaking it is actually controlled by a keyboard but the remote control emulates the keyboard. The use of a mouse is not required. The second class of client software are some simple desktop applications. These applications are typical desktop applications which use the mouse and keyboard.
In a simple jflicks media system, you would run at least one server component and one client component at a TV. Now these two components could be run on one HTPC that is connected to your TV. Or perhaps run on two PCs, the server on a PC elsewhere and the client on the HTPC connected to the TV. This distributed model is good to do for a couple of reasons. Once you have your HTPC connected to the TV, you really don’t have to change it much. And it doesn’t have to have much resources – it’s just displaying media on the TV. It can be a rather simple and inexpensive computer in a nice case so it looks good in your living room. However the server tends to need more resources. Room for multiple disks (you want room to record stuff right?) and it needs the hardware to record video. It can be put in a corner of the basement and be ugly. When you see the power of this approach is when you add a second TV. The second TV gets a simple and inexpensive HTPC and you get to all the media on the server as you do one the first TV.
The jflicks media system can be easily “scaled”. You already see that adding a second client is easy, but you can also add a second server if you want. The client will automatically discover all servers on your local network and you have access to all media transparently in the client user interface.