The Roku box is a nice little gadget that streams audio and video over wifi to your TV. It was the very first device that streamed Netflix Instant Watch and to boot, it runs linux. I have one of the original Roku boxes and ever since they released an SDK, I'd been meaning to play around with it. I finally got the chance, and in some spare time at Sunlight I created two streaming video apps for White House and Congressional video and one streaming audio app for the Supreme Court (SCOTUS doesn't allow cameras). All three apps can be installed on your Roku via the channel store or the links on this page.
The White House app is the most powerful of the three apps, thanks to that institution doing the best job of exposing its data. WhiteHouse.gov/live makes all their live and archived video accessible via categorized RSS feeds. Since the Roku box has a native XML parser, it was easy to pull the video in and make it browsable by category. The quality of the videos is great and their video hosting is usually reliable, making for a nice viewing experience.
The Congress app is a great start, but has a way to go before it's on par with the White House app. All of the video in the Congress Roku app is streamed from HouseLive.gov, a service through which the Clerk of the House provides live and archived video of the House floor. Since their live session is streamed using Microsoft Silverlight, the linux-based Roku can't play it. But they do offer RSS feeds of archived video. We parse the HouseLive.gov page and these RSS feeds for video links and add them to our Real Time Congress API. So if you want to play around with these videos, just hit up the videos endpoint of our RTC API. Unfortunately, only one other committee, the Rules Committee, streams video using the same technology. We're hoping more committees come online and we can add these to the Roku app as well. The Senate doesn't have anything comparable to HouseLive.gov, so the app doesn't have any video from that chamber at this time. Most of their committees have some kind of flash player embedded in their site. You may have guessed it, but the Roku doesn't play nice with Flash either (or any other proprietary format).
Last is the Supreme Court Roku app. Since there are no cameras, we're left with only audio for this one. SCOTUS junkies can browse arguments and opinions heard before the court by year. The folks at Oyez.org have done a great job of cleaning up the raw audio and offering it in well organized RSS feeds. However, the audio interfaces exposed by the Roku box leave something to be desired, especially when compared to their video streaming interfaces.
Overall, working with the Roku apps was a little idiosyncratic, but development was quick enough. Their engineers are pretty responsive on the developer forum, which makes up for gaps in the technical documentation. Caitlin did an excellent job on the design for all three, but had to go through a lot of trial and error because the design guidelines are pretty lacking.
All three apps are open sourced on our github account and are available, free of charge, in the Roku Channel store, or by clicking the download links on this page.
Hat tips to Caitlin for her awesome design and Eric for helping out on Real Time Congress API integration!
Continue reading