March 20, 2006
@ 09:53 PM

Below are the newtellivision bits for the February CTP that I am showing today at the MIX'06 conference.

This also contains the newest revision of the (BSD licensed) REST/POX Service Model extensions, which can used standalone.

Mind that the Windows Media Player experience has been thrown off its feet by an unintended side-effect of the recent KB911565 Windows Media Player security hotfix. So if you are running the WMP experience and you cannot click anything, temporarily uninstalling that hotfix will solve the problem. The issue is that script-generated <a onclick=""> tags in HTML will not fire the onclick event and I am using quite a few of those. Just haven't had to time to finda good workaround that doesn't make the HTML entirely awkward.

newtellivisionSetup-2006-03-20.zip (930.95 KB)

newtellivisionSource-2006-03-20.zip (701.65 KB)

Mind that the newtellivision application is for non-commercial use only. If you are interested in working with newtelligence regarding commercial licenses or commercialization in general, write email to info@newtelligence.com

Categories: MIX06 | newtellivision

I am putting the finishing touches on the next revision of newtellivision today. The code base, including a revision to my REST/POX extensions, is updated for the February CTP of WinFX/WCF and there are several fixes for the Windows Media Player experience.

I am keeping my fingers crossed that I will succeed showing recorded and live TV beamed straight from my home server here in Meerbusch, Germany (the number of possible peripheral points of failure regarding available bandwidth, network, routers, cable signal, etc. are astomishing, considering the "demo effect") at the MIX conference in Las Vegas, at my session at 3pm on Monday, March 20.

The updated code-base will be available before the session. The PowerPoint deck for the session is fun. There's lot see and hear. If you are coming to MIX or if you know someone who is coming to MIX come or tell them to go. Indigo, err, the Windows Communication Foundation is more committed to the "Web 2.0" story than you might know.

[Oh, and Germany is playing the USA in a football (soccer) friendly on Wednesday in Dortmund, Germany just when MIX winds down. That's precisely the use-case for my app ;-)

Categories: MIX06 | newtellivision

The picture attached below shows the endpoint architecture of newtellivision. I'd be interested to know whether the "language" I am using there makes any sense to you.

newtellivisionEndpoints.jpg (264.32 KB)

Categories: newtellivision

February 2, 2006
@ 08:59 PM

Did I mention that both, the Media Player experience and the MCE experience are actually AJAX apps? The Media Center guide screen dynamically loads the guide data from the backend services as (slightly) annotated RSS and transforms it into a remote-control scrollable grid that looks very similar to MCE's own.  

MCE Guide Screen

The whole glory is hiding in the source code archive under newtellivision.Framework.Server and there in the envelopes/mce and envelopes/wmp subdirectories. I tried to make the JavaScript legible and not optimized for size, so it should be fairly straightforward to read. There is a lot of setTimeout() trickery going on, though. A special twist is that all of these files are embedded resources and the newtellivision server serves them up from within the assembly. The binary install doesn't have any external collateral in the program directory. However, if you place files into the envelopes/mce or envelopes/wmp directories below the program install path, you can override the whole or parts of the experiences. Don't like the colors? Override the *.css files, etc.

Categories: newtellivision

January 31, 2006
@ 12:23 AM

Get the Goods     (Yes, that page will get a cleanup once I've got the docs done)

Categories: newtellivision

There are roughly 24 hours left before I will switch jobs and become a "Microsoftie". My parting gift to the company I co-founded is this:

newtellivision is a framework and application for accessing live streaming television remotely. The use-case I had in mind building this is quite simple and is closely related to my current (and the new) job and the perspective of moving to the U.S. some time later this year: I want access to my local, German TV channels whenever I am traveling and I also want access to those channels when I've moved to Seattle. That's most important for two types of programs: sports and news. I care a lot more about Bundesliga football than for Major League baseball.

Consequently, newtellivision is focused on one thing: streaming video. And it comes with two user experiences that are a good choice for the above use-cases:

Windows Media Player

The Windows Media Player (WMP) experience (for WMP 9 and above), is the "television to go" version. It works from any Windows PC that has Windows Media Player 9/10 installed and that can connect via any network to a newtellivision server.  There is no additional software that needs to be installed on the client. All interaction with the newtellivision server is hosted inside Media Player.

Features of the Windows Media Player experience in a nutshell:

  • Access to live streaming television, your video library, live web streams and video blogs from single user interface.
  • "Speed bar" across the top of the side panel allows manual adjustment of the backend streaming encoder settings to the available bandwidth with a single click.
  • Channels panel provides hover-over tooltips showing guide data for all channels for which guide data or content lists are available.
  • Guide data for current channel allow single-click scheduling of recordings if the newtelligence plug-in provider of the selected channel supports recording.
  • Direct playback access to shows that were recorded on the current channel.

     

  •  

     

     

     

    Windows XP Media Center Edition

    The Windows XP Media Center Edition (MCE) experience is built for the "home TV at home" experience. If you move to another country and your parents or your friends host the newtellivision server for you, you can access live streamed TV programs from far-far away and your recordings right within the usual MCE experience with your remote control. And from the very same experience you have access to video blogs and web streams such as DW TV, NASA TV and thousands of other live streaming TV sources, complete with support for XMLTV guide data.

    Features of the Windows XP Media Center experience in a nutshell:

  • Remote control navigable, dynamic schedule grid for scheduling data modeled after the familiar Windows Media Center "Live TV" experience. Of course, the grid adjusts automatically as time progresses and shows you whether shows are scheduled for recording.
  • Detail information about individual upcoming shows including one-click scheduling of recordings.
  • Channel detail view with one click access to video blog content (the example on the right shows Microsoft's Channel 9) and recorded shows.

    For the Windows Media Center experience you need a Windows Media Center PC as client.

     

  •  

    The newtellivision Server and Framework

    The newtellivision Server is built on the Windows Communication Foundation (WCF). The server can run either as an interactive application or as a Windows Service and the configuration wizard makes it very easy to switch between these modes. The server is extensible and comes with two plug-in providers that utilize the newtellivision Framework to provide access to live streaming video.

  • The "Beyond TV" provider encapsulates the SnapStream Media Beyond TV server engine and provides access to the recorder features, live TV streaming, the Beyond TV library and the electronic program guide (EPG).
  • The "Web Streams" provider provides access to public web streams and video blogs and has direct support for integrating EPG information in XMLTV format.

    The newtellivision Framework and the Server application are available in source code for experimentation, improvement and, of course, for customizing the existing providers or for writing entirely new providers.

    The server renders the list of available channels in OPML format and the electronic program guide data for each channel in RSS 2.0 format, each with the minimal set of extensions required to add vital information that is otherwise not representable in the core standard. Video playlists are rendered in Microsoft ASX 3.0 media metadata format.

  •  

     

    Requirements

    For running newtellivision you need the following minimum server configuration:

  • Windows XP or Windows Server 2003 with the .NET Framework 2.0 and the WinFX 3.0 Runtime Components (Beta 2 CTP)

    Furthermore, for the web stream provider:

  • An internet connection with sufficient bandwidth for viewing live video streams
  • Optionally, XMLTV for downloading guide data.
  • Optionally, a source for picking web stream links.

    Furthermore, for the Beyond TV provider:

  • Beyond TV 4 by SnapStream Media (The demo version should work -- until expiration of course)
  • A Beyond TV compatible software encoder card for Windows Media streaming.
  • Beyond TV may run on a separate machine from the newtellivision Server machine. For this setup you MUST have a valid Beyond TV Link license (demo is ok while it lasts).
  • For accessing streams remotely and even though this is not enforced, you need a valid Beyond TV Link license as a CAL for each machine concurrently accessing the web streams.
  • Bandwidth, bandwidth, bandwidth -- upstream. I have 3000/512 DSL connection and I would still like it a bit quicker. It turns out that a sustained bitrate of ~400KBps yields a video quality that is good enough to watch sports remotely, but don't expect brilliant detail resolution. ~128KBps is plenty to watch news.

    The Catch I

    newtellivision is released in binary and source code form for any non-commercial purpose. In short, this is a "extend it for fun" application, but you can't derive any direct commercial gain from the application or any of its parts or from the operation of the application. If you'd like to use the application commercially, you must contact newtelligence to learn about your options. Commercial use expressly does not include teaching, speaking at conferences, writing books, etc.

    The Catch II

    This application is big, runs on beta software and is tested in only one or two server configurations to speak of. I have no idea whether anybody but me will get it to run. I've built it for myself only. It might burn your PC into a small pile of ash. I don't know what will happen. The app looks pretty polished, but evil lurks within. Consider it "alpha quality".

    The Catch III

    The server is, at this point, designed(!) not to scale to more than a single concurrent user. You can theoretically consume the streams from two or three clients concurrently, but there is only support for a single tuner and hence everyone has to watch the same live show. If someone switches the channel, all others view the channel too. The WMP experience is, in this case, nice enough to adjust the schedule panel to reflect the currently watched channel.

    Future Direction

    This is a demo app. I've written it just as that and for my personal use purposes. The reason for this public drop at this time is to avoid any troubles between me, newtelligence and Microsoft as I am making the transition between the firms. The license allows me to continue working on it privately, while all the commercialization rights up to this point rest with newtelligence. That said, I am not out of ideas. If you love writing (WCF) applications or are interested in the whole streaming TV story and you can live with the non-commercial constraint, I'd love to get you on board as an active contributor to the cause. Concretely, I'd be interested in investigating whether a provider for PPLive is feasible, whether the newtellivision server can tap the MCE streaming capabilities and whether a standalone provider can be built. See it as my next thing after DasBlog. It'll be a killer community project.

    Availability

    The code and the installable binaries sit here. Get them.

    Meanwhile you might want to get (or go dig out) an old, used WinTV PCI card (those go on eBay for 10-15 US$)  or equivalent (see SnapStream's site analog/without hardware encoding). One of my test configurations used a 1996 (!) WinTV PCI and it worked. Now my streaming source is a slightly newer Hauppauge WinTV card from 1999 that I bought on eBay.de for a whopping €10.70 a few months ago. Once you have that, it's useful to get Beyond TV configured and up and running for web streaming with the Beyond TV Web Admin interface (accessible with the "Live TV" link on the "Tasks" pane on the left of the web admin tool; http://localhost:8129 once you have installed Beyond TV). Once you get video there, you are good to go.

  • Categories: newtellivision

    January 18, 2006
    @ 07:28 PM
    Categories: newtellivision