Software Project Update: Media Center Browser
From offline publishing on 01/10/2006
So, I started conducting a feasibility analysis of the Media Center Browser project. I downloaded the Media Center SDK and started poking around in there. There are two ways to develop plugins to Media Center:
1. Hosted HTML Application
2. AddIn
A hosted HTML application is just an html page displayed inside Media Center, but you have limited access to Media Center attributes/methods through Javascript. An AddIn is a .NET 1.1 binary that has less security restrictions, but has no access to UI features except to display a dialog to the user. It looks like I will need to write a hosted HTML application, but I may need to use an AddIn to do some behind-the-scenes work for me.
I am currently interested in mitigating the highest risk tasks at this point. The first one that came to mind is: “How do I put a browser within an HTML page?” Turns out that it’s not as easy as it might seem.
I thought at first that I might be able to just stick an iframe on a web page and have it display another web page. This works great until I try and place “back” and “forward” buttons on my container web page. Internet Explorer does not allow access to the history object (as well as a bunch of other stuff) of the iframe from the container if the domains do not match. It makes sense from a security perspective, but it doesn’t really help my development effort.
During my research, I came across Bitty Browser. Bitty Browser uses an iframe to embed their browser in a web page, but they request all of the content from their web server so that the domains of the container and the containee match. It appears that Bitty’s server requests the content from the website you want to view, and then wraps their browser stuff around it. It’s a really interesting approach, but it won’t work for me for a couple of reasons:
1. I can’t use their servers. I need more control over the look of the browser. If I used their service, I would have to use their browser.
2. I don’t want my web server acting as a web proxy for Media Center users. Not to mention, I am sure that Bitty Browser can track every URL you visit. I am a privacy advocate myself, and I don’t even want the implication that this plugin might track users visits to other websites.
3. I don’t have the bandwidth to support that kind of traffic.
