Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Interviews Silverlight at Major League

Silverlight at Major League


1. I am here with Thaniya and Henry of Major League Baseball, MLB. Please start by introducing yourselves and what you do.

Henry: My name is Henry Belmont and I work at Major League Baseball Advanced Media. I basically work in the User Interface engineering group.

Thaniya: My name is Thaniya Keereepart. I am the director of Product Development and I also run the Flash Filming team.


2. Can you go into some background of the problems you were facing before you started working with Silverlight and why you invested in it?

Thaniya: Major League Baseball has a very large amount of live video business and streaming infrastructure and so on and so forth. It is build entirely with the Windows Media platform. It is the only media infrastructure that can support the scale and the requirements for our business. In the past we've built the media using Windows Media 9 with the ActiveX control in mind. Unfortunately it doesn't run quite as beautifully or the same across multiple browsers and multiple platforms. It is especially bad on the Mac OS X. So when Silverlight came about and when we heard wind of it and what it's capable of doing we were very interested in adopting it. Specifically for media playback, so that it would allow us to create a uniform experience across the board and capture the new Mac market users.


3. So how was your experience working with an Alpha product?

Henry: I think any developer would say the same, that there is going to be bugs, there is going to be a couple of issues. We came across a lot of those and I guess that was pretty good for both sides, Microsoft and our side, because we kind of helped push the envelope with what we were trying to do with Silverlight and Microsoft was able to accommodate us with our features. It was a long process because it's alpha and we actually had a project that stretched from alpha to beta until the launch of Silverlight. I think it was a great experience because we were able to get our niche things in there. Whereas opposed to if it had already launched we can't make any changes or make any requests until the next major version. It was very good experience, but yes it's alpha technology and we knew there were going to be bugs and that was the point of issues we came across.


4. Would you say Microsoft was really responsive with your feature requests or did they drag their heels a lot and make you fight for the things you needed?

Henry: No, they were pretty responsive.

Thaniya: They had a dedicated team of people to pretty much address all of our problems. Obviously some of them didn't quite make the cut for the immediate release. And then some they would address in the future release. There was one or two things that they didn't accommodate at all, but we found alternatives and they were very helpful in brainstorming with us to see what alternatives are possible.


5. Can you go into some of the specific functionality you got out of Silverlight?

Henry: One of the main things aside from the cross-browser capability is the ability to use Javascript to directly access Silverlight components. That was a problem with the ActiveX control, where only on Microsoft Internet Explorer were you able to code directly into ActiveX and grab events and so on. Now we can do that across the different browsers, on Safari, on Firefox and on IE. So that was a major advantage.

Thaniya: You want to talk about the kiron?

Henry: Yes, what we've done in the past with Windows Media Player video streams is we add markers inside the video to trigger events on the client-side browser. These events worked on IE7 for a very long time, but we couldn't get them to work on Firefox or on Safari because of the ActiveX issue mentioned previously. Now with Silverlight we were able to transfer data in those markers and display detailed information in the media player to enhance the experience with the user. One of the things we are doing is the kiron at the top of the media player that shows you the score, the strikes, the at bats and so on. This is a benefit to the user because any time you come into the site and watch a video, even if it is not shown in the video what the score is or how many at bats or who's out and who's on base and who's pitching next, you would see this in the kiron information because of the markers that we have. And this is cross-browser solution, so it's pretty great.

Thaniya: It's also the first step among many steps to providing more integrated game and media information in one unified package.


6. Would it be fair to say that you're moving stuff like square boxes and all that other peripheral information out of the video and just putting it on the webpage itself?

Henry: Right now we have both. We are hoping to have a more enhanced version on the media player so that we could control it and move it around, based on what you are trying to do on the Media Player. Thaniya: It is so you are not at the mercy of the TV stations if you come in and you catch the game in the middle where you want to know what the pitch count is and where you want to know what is going on. It may not be on the video screen at the moment. This particular technology would facilitate us to be able to build something that a user can control.


7. What was the development process like, going from the design team to the development team to production? How did that flow?

Thaniya: Its been seven months and it is still in the making. It all started off with a fairly high level concept from our executives working in tandem with Microsoft. Once we had decided that Silverlight was going to be a viable solution for us we had engaged Frog Design who came in and took a lot of our requirements, a lot of our vision and what we might want to do along side with Silverlight is capable of doing. They had some capabilities there and they married the concepts together and created a wireframe and this wireframe would then feed into a demo. This was a semi-working demo that they used at the Mix07 conference early in April 2007. That, in essence, was the design process that came about. At the end of Mix07 when all of the design deliveries came back in house we had to adjust a couple of things to make sure that it worked and it met all of the extraneous requirements that weren't there in the beginning and essentially we engaged developers at that time. Pretty much that was where the hand-off was and the developers just kind of took it from there working in parallel with Microsoft development team.


8. When you got the wireframes were they actually in Silverlight or did you used Flash or screenshots?

Thaniya: The wireframe was a document, so it was just PDF. But the demo was actually built in Silverlight at the time of release which was a non-public release - like an alpha alpha.


9. Were you able to off the demo or did you just start over using the demo as a guideline?

Thaniya: We had to start completely over. The demo was built specifically just to show a subset of the functionality. It didn't hook up to our back-end and it didn't do anything beyond just the smoke-and-mirrors, this is the concept.


10. Speaking of your backend, can you describe what system to use for the backend?

Henry: We are a Java house, so we use Java for our backend and a Windows Media Player server to stream the video that pretty much ties everything together to actually create the front-end. The interface is built in JSP, so that's the technology we are using.

Thaniya: So you have Java, JSP and then you have JavaScript. Then on top of the JavaScript you have Silverlight and Flash, the JavaScript being the bridge that connects between the two.


11. How happy with combining Flash and Silverlight in the same page? Is this something that seems natural to do, or do you have to fight with it a lot?

Henry: It's pretty easy because the main connection between the two is JavaScript. So there is no worries about having to have Silverlight connect directly to a Flash API. It's the JavaScript that kind of merges the two being able to have that back and forth with Silverlight and JavaScript helps a lot. We can trigger events with Flash just through JavaScript, so it's pretty smooth.

Thaniya: We have a huge codebase in Flash that is already stable and we were able to reuse it significantly. This made it a lot better for us. We did not have to add value to the user. So for us it's kind of the best of both worlds.


12. I'll turn the conversation a little bit to tools. Did you use Expression Blend or the Visual Studio plug-ins or anything like that or did you handwrite all the XML needed for the Silverlight?

Thaniya: Andy, who is responsible for doing the design of the video playback, used the Expression Blend tool for a little bit for coding, but for the most part he used other tools. We weren't too happy with Expression Blend because at the time we actually did the build Expression Blend was very geared towards WPF. So, much of the output code generated from it, only a subset of would actually work. Not knowing what Silverlight is capable of doing was kind of hard to determine. Not knowing what actually works and what actually doesn't work was quite a bit of a pain point. I am sure future releases will be better.


13. What are the technologies that you considered before you settled on going with Silverlight?

Thaniya: We started off obviously with Windows Media Player 9 and we looked extensively into Flash video. The problem we had there was that the Flash video infrastructure did not have enough of the scale and support that we needed for live streaming. They do support live streaming but not at the capacity that we require. So there was a huge amount of risk in migrating over to an Adobe infrastructure simply to be able to build a slicker interface. So our choices were to stick with the Windows Media infrastructure and either stay with Windows Media Player or use some third party plug-in, or use Silverlight and an alternative to that is use the Flash interface and change infrastructure. So we went with keeping the infrastructure and in that route we thought the Silverlight was pretty much the way to go.


14. Do you have any recommendations for people who are trying out Silverlight, what pitfalls there are, what they should look for?

Henry: I think it's great for media. That is one of the main reasons we are using it and the integration with JavaScript, so you can use it with your current tools. If you are using the JavaScript library, you can use it with Silverlight or if you just want a quick and easy media player that will play Windows Media very well you can use Silverlight. I would actually recommend it for that and it is probably one of its strengths right now.

Thaniya: I agree. When you get to Silverlight and .NET you see a lot of interface type interaction and stuff like that is being featured and pushed heavily by Microsoft. I think that is the Golden Egg which they have that differentiates themselves from every other technology out there which is the media playback. You are going to see development around that and they are doing some really innovative stuff in the media space for Silverlight.


15. I want to go back to the Java back-end for a moment. How do you communicate between Silverlight and the Java back-end? Is it the Java generating the Silverlight XAML code or are you using web-services or callbacks?

Henry: There is no real integration between the two. The glue is JavaScript, so JavaScript basically figures out what needs to be done in the Media player and does it. For example we have a login process that happens, which communicates with some of our account services and commerce services. JavaScript will bring up that JSP, which is layered on top of the Flash and on top of Silverlight to give you that experience. So it's not really Silverlight in the back end, it's really more a JavaScript.


16. What kind of tool support would you like to see in the future?

Henry: Lightweight tools would be nice. I'd like to see a XAML editor separate from Visual Studio that we can pretty much use across platform. As far as our development team goes, they actually work on Macs so being able to have a XAML editor that works on a Mac would be nice. Maybe a plug-in to Eclipse or maybe a Silverlight editor that is stand alone, probably a simple quick job editor or something or a plug-in for TextMate or any other editing tool that we currently use. That would be nice.

Thaniya: Definitely, especially when I think there is a CLR release, which is the C# version coming up. That, to me, seems like the paradigm of will Silverlight move tremendously from the JavaScript model to managed code. I am curious to see what kind of tools they will make available for both Mac and PC developers, so that we don't have to go out and buy Visual Studio.


17. Would you consider using tools from 3rd party vendors or is this something you really want Microsoft to develop and push themselves?

Henry: It doesn't have to be Microsoft, it could be anybody. I would assume they would do the best they can with Visual Studio. Which is fine for people who use Visual Studio, but we've been used to using other 3rd party tools all along.


18. Thank you for coming. Do you have any closing remarks?

Henry: We are really looking forward to the launch of our Media Player version 3.0. And like we talked about before it has been seven months in development and we are really looking forward to launching it.

Thaniya:.We are making sure that we don't blow our covers during the "in-season", so we are going to have to test the water in the "off-season", so visit and check out the Media Player sometime. I won't say when, you have to go often, so we increase the page counts. Thanks.

Feb 26, 2008