SageTV Is Installed Fully, Licensed, and Working

Over the past couple of days I got the SageTV install finished. I’m really quite pleased with the results.

The playback and recording system has continued to be flawless, and really, that is the most important feature of any DVR application. This single benefit of SageTV far outweighs any other (by comparison) small sin they commit. I’m very pleased with many of the extra features Sage offers over BeyondTV. For one small example, I now have two “levels” of “skip ahead” support with my remote control. The “normal” 25 sec skip ahead/7 second skip back is assigned to the normal FF/RW keys. However, my remote actually also has Track FW/RW keys too, and I was able to assign 2:30 skip ahead and back to those keys. Works great for those times when you really need to jump through a file.

SageTV also performs dramatically better than BeyondTV in almost every single case. Menus are much “snappier”, the application itself launches quicker, and video playback startup is improved (even with my HD-PVR and external tuning). I really like the Weather support, and I was able to use a few very nice plugins to accomplish many of my goals (though I’ve been trying to keep this to a relative minimum). Oh, and did I mention that it fully supports Mac OSX and Linux? Yeah. I have a SageTV “server” running on Windows in my basement that does all of the recordings, but I can use SageTV Client to access this system on both my Windows-based HTPC, and my Macbook wirelessly over the WLAN. That is really A Big Deal (and one that opens serious possibilities for the future).

And, with a little work I was able to reprogram most of my annoyances with the navigation and keyboard shortcuts. For example, I was able to easily reassign the function of the ESC key to something more useful (I used the “browser-style” back command), and once I got my Firefly Remote Control set up via Girder, the system is smooth and easy to navigate in most cases.

Unfortunately, I have found a few limitations of the system…

Even with the fixed ESC key, Navigation is sometimes confusing and odd. A perfect example is Exiting the application. Normally in “regular” SageTV when you want to “exit” the program, you want it to close but to continue recording as scheduled (minimizing it to the tray). You accomplish this by putting it in “Standby” in SageTV’s parlance.  On the main menu, it presents both choices under a heading labeled Exit. 

The Exit section of SageTV 7's Menu System. What good is this right after launching the application?

However, when using the SageTV Client, which doesn’t need to stay resident at all because it isn’t doing any recordings, you don’t need that feature (or I don’t, I’m sure some people do). I want to always Exit when using the Client, and always Standby when using the “server”. You can set this “preference” for the Keyboard and Remote Control commands, but there is no way to set it for the Menu System. The Menu system always shows and forces you to choose between these two options. Worse, when you sleep the system via the Menu Command and then wake it back up? Sage remembers the “current page” of the Menu System whenever you Standby. When you’ve used the Exit>Standby command last, it pops open in that same spot, showing only the Exit command! What use is this? If I just went through the trouble of “waking it up” wouldn’t you assume that I’d want to, you know, use it and kick me back to the main menu? Not only that, but a novice user that walks up and hits the TV button on the remote, isn’t going to know to press the left arrow button intuitively because there is no other indication that there is anything other than Exit commands available.

Also, keyboard support is just clunky throughout. It seems that you can’t have a keyboard shortcut apply only during playback. All shortcuts are defined globally (throughout the system no matter where you are), and ALL keyboard entry is treated essentially as a “shortcut”. One impact of this is the fact that you really must use Control+Key for playback shortcuts, which I complained about before. You can’t just use a single keypress because, while you won’t type “A” or “D” or “+” or “>” during regular playback situations, you might need to type those characters elsewhere in the application. So, if you assign a special function to the A key, for example, then it will no longer type an “A” character for you in SageTV. Ever. This seems like a silly limitation, and is almost certainly due to the design of the keyboard, remote control, “SageTV command” infrastructure. I must admit, this infrastructure makes the keyboard, command, and remote control system is incredibly flexible and easy to customize, but it also imparts some clunkiness and limitations.

This seems to be the common theme in the choices SageTV made when designing the system. It is a simple choice, and a common choice: flexibility over polish, function over form. I am by-no-means a UI design zealot, and I love flexible, tweakable systems (I have a Linux box running next to me as I type this), but I think there is a thin line. SageTV is slightly over that line in some places where they really don’t need to be. It would just take more work, and more focus on the UI. They would have to hire someone who knows user interface design, and who isn’t invested in the “SageTV way”. And, of course, they would probably have to rumple a couple feathers in the community.

It reminds me a lot of the difference between iOS and Android. SageTV is very Android. I would never even begin to claim that BeyondTV had an iOS level of polish, but it was certainly further down that road than SageTV. For me, on a phone, that is a dealbreaker (for now), though I long for some of the Android flexibility goodness. For a TV DVR Application, it is really a close call, and a similar problem. But in this case, given the options available, SageTV is a very good fit in most ways. I would just prefer a little more polish in a few places, and I’d be willing to give up a little flexibility to get it.

I did encounter a LOT of trouble trying to import my old recordings from BeyondTV into SageTV. I found a tutorial in the Sage forums, but it was not as simple as I’d hoped. And, once I did go through all the steps, I got an error processing the XML data in the WebUI that I couldn’t find referenced elsewhere (and never got past). I suspect that this may have been because I wasn’t careful about which recordings I wanted imported, and didn’t go carefully, but that can hardly be blamed… I just wanted them all imported, so when exporting them from the difficult-to-find and use BTV-Negociator_5.13b I just selected all and exported the whole thing. I think there may have been some “broken” recordings in there that BeyondTV never properly deleted before, and these were causing the error. I don’t know for sure though, because after an hour of struggling and then an extemely vague error message…

I just gave up and just imported those recordings into J River Media Center instead. It took a while to manually tag them enough to bring them up to snuff, but it is done now. I’m still pretty certain that I’m going to switch over to use J River Media Center for most of my video viewing anyway, once I can get it to recognize the Metadata from the new SageTV recordings. Then I can just set it up to do it’s auto-import magic and the files will flow directly into MC from Sage. I’d really prefer to have MC handle all of my DVR recordings, but it is just missing too many “television-related” features to really even qualify as a candidate right now. To qualify, I need it to support: “client” live TV viewing fed by a remote server, full multiple tuner support, built-in external tuner support for a digital cable box via IR Blaster, and officially supported program guide data. It needs to be at least as easy to set up and maintain as SageTV.

In the end, I’m extremely pleased. SageTV is an incredible, powerful application. And, with version 7, it is finally polished enough to use pretty much out of the box as a set-top-box replacement system. It isn’t perfect, but it is best-in-class in my opinion.