Microsoft Technology Summit 2008 - Day 1
I thought I’d jot down a couple of things about day 1. I wrote out the details live on the chat over at http://www.chatopica.com/topics/flex/
Microsoft Psychological Distress Mechanism
First, the attendees are a variety of people including enterprise architects at large corporations, popular mainstream bloggers (http://www.codinghorror.com/blog, http://www.davidrecordon.com/) and developers, people working in academia, java and Flex user group manager, and others. The purpose of the meeting, according to Microsoft, is to engage in conversation about their technologies, their roadmaps for their products. In this process they get to find out what people who don’t use Microsoft technologies think about and perceive Microsoft and its strategies.

We started off with Karri Dunn, Senior OSS Dev Lead of Platform Strategy & Sam Ramji, Director of Platform Strategy. Sam said Microsoft’s Open Source website (http://www.microsoft.com/opensource/default.mspx) was created to provide a unified statement about MS vision of open source in their roadmap. I had a good quote here about the reason behind it which went something like “to stop people from coming up with their own MS open source stories”, which included microsoft and non microsoft people but, being an inexperienced journalist i didn’t write any of it down and thought i’d be able to commit it to memory. so there you go, shoddy reporting. There were comments from invitees about how microsoft was trying to frame the discussion.
Kevin Schofield, General Manager of Microsoft Research talked about how research works at MS. Researchers, he said, are free to pick the area and problem they want to research. They have thought about and looked at how other companies do research and how much should be driven from a central place, or from business divisions. Some of the downsides are that taking direction from business divisions could cause researchers to focus on short term projects. One of the things that impressed me was the long view that MS took to research. Kevin talked about how they know that once a research project is complete it might take years, sometimes 10 years, sometimes 25 years, for it to become useful in a business application. That it also takes a long long time to refine it; meaning you might have the solution down but to actually get it to the point where it can be used in a product might take many iterations and lots of other work by developers before it can make it into a business product. This is a process they call Tech Transfer, and one of the important lessons he says he learned was that tech transfer is a social process. It requires relationships, communication, and trust. Unfortunately we didn’t get to go much in depth into this. One of the signs of commitment that MS has towards research is that they have yet to cut it during economic downturns, said Kevin. And that this usually happens when research is influenced by short term outlooks.
I thought there were a few pre-conceived notions about research project’s source code from the audience when the question was asked about why source was not provided. Kevin pointed out that many of the projects on the MS research site make the source available. Then others asked why it was not more open source driven. We couldn’t get into it because of time constraints but I think that managing an open source project is a serious undertaking that a researcher focusing on a problem does not have the time to manage. In fact, the lead researcher may not even have the skills necessary to run an os project.
There were a few other questions that made me realize that maybe the way research projects works wasn’t made clear. For example, some people asked why the customer was never involved in the research. I think some projects are amenable to research. Those are projects where user interaction actually takes place, but it’s probably not going to be the regular ms customer, and the setting and presentation have to be free enough from MS baggage that it doesn’t influence the results. Imagine you are testing a novel way of presenting structured data to the user. It’s one thing to test the effectiveness of how an MS product will perform with the user, but if you want to get at the base question, that is, does presenting data in, for example, an isometric view makes it easier for people to remember where they put data, then you have to do it free from stuff that might influence your result.
Someone asked about the percentage of research that become products and Kevin’s wild guess (it was a wild guess, he said he didn’t actually have an idea) was 25% or more. Some thought this meant that MS Research was extraordinarily successful and Kevin agreed.
Scott Guthrie presented on ASP.NET MVC. This was more of a tech presentation where we went over code and he showed how to do basically what Rails, Django, and other MVC frameworks are already doing. Someone asked him outright if Rails influenced the creation of ASP.NET MVC and he said not really. I’m not sure. In my opinion, I think it was more so than he’s letting on to be. Someone said, it’s cool but why would they use it when they have other options. I think the only compelling argument I heard was that it provides really great integration with their development tools; you get intellisense (auto-suggest), data modeler, debugging, and such. I spoke to some attendees who were on the fence about picking an MS technology on the server and this aspect, tool integration, was what impressed them most. My personal opinion, not that anyone asked, is that I’m not familiar with IIS, or .NET, and I’m happy enough with the tools I use (vim, eclipse, php, django, mysql, etc). But I think developers who are used to MS technologies will greatly benefit from this framework, AND, if they were never going to jump on Rails or some other framework, then this gives them a way not to miss out on the great productivity improvements you get with a good MVC framework.
I asked an MS employee (sorry, forgot his name but he’s a real nice guy) if there was a community project that was trying to implement an MVC framework on ASP.NET, and if so, why did MS not work with them instead of creating the thing themselves. His answer was that there sort-of was but that once MS came out with the framework they were happy to build on top of that rather than write it themselves. I guess that’s one difference between camps ;) I mentioned to him that the majority of the Flex community is adamant about not having Adobe sanction one particular framework, but that it is valuable for a strong entity to back some of them because it makes adoption at some companies easier.
… except on my friend Sven Claar’s Mac
Next on, Brad Abrams, Principal Group Program Manager for the .NET Developer Platform (phew!) presenting on Silverlight. It still catching up to Flex. I think I’m prejudiced in thinking about Silverlight in relation to Flex, so when he showed a video of flashy video players and moving buttons and said that those were demonstrations of things whose features were primarily addressable by Silverlight, my thought was: bullshit, I thought, you can do that in Flex. But, of course, no one was talking about flex, and indeed those features, i.e. video and fancy buttons, are addressable by Silverlight, if Silverlight is the only player in town. Look at the puppet!! Another reason was the clients had a lot of video in some windows codec and did not want to pay Adobe for the license for the video encoder … The demos left a lot to be desired. For example, one of the apps built for the San Diego Zoo was the simplest of apps, one that could have been whipped up in Flash in no time and with no performance problems, but somehow Silverlight crapped out on it. The app had a basic vector based drawing of the San Diego Zoo with some semitransparent widget window thingy on top. You could click on a spot on the map and it would calculate your route through the park. But the app just stopped responding and we didn’t get to see other demos. Sucks when your demo blows up during your presentation.
He, Zack Stepeck, and I spoke about Flex, Silverlight, and the RIA ecosystem. He asked me if there were some things that Flex failed at. I’m not sure there are any enormous problems that would make flex fail, but I do think it could use work in a few areas. Two important ones are: more control of class loader management for the developer, and a good plugin framework, something like in OSGI, with manifests, provisioning, and dependency loading. I know, Flex has the modules framework, but from the few examples I’ve seen where it is used in a crude way, where the modules are loaded in the background instead of being loaded partially on demand with features exposed as extension points filled in by proxy objects and then instantiated or loaded when actually accessed. It sounds like Abram’s team and Silverlight might have something like this, including declaring extension points. I think that is a pretty compelling selling point for RIA enterprise architects who cannot afford to build giant, monolithic apps.
Attention to this sort of thing tells me that there are people in MS thinking about the classic developer.
One of the sessions that got people really worked up was the Windows Live Platform. I heard over dinner that if they had come out and said: “look, here are a bunch of tools that you can use on your web platform if you want to take advantage of them feel free to use them”. So, what was the demo? Well, a not very compelling way of sharing videos on http://premium.quiksilverlive.com/. You can see your MSN buddies on the page, click on the ones you want to share the video with, and then go into a group chat session where you can all chat and manipulate the video inside the chat window. uh, ok. So you get your chat buddies in the web page. Can’t I just paste the link into MSN, or AIM, or GTalk, and have them all go to the same page? Yes, but the video won’t show up in the group chat window. Uh, ok.
Now, the compelling thing here should be that you have a way for a site to let you share it so that the site can spread. But when it suddenly got trapped in the msn chat window that seemed to lessen its value. It was a weird presentation. And it really got people worked up. They talked about Facebook and how they leverage feeds. Someone wanted to be able to have hotmail provide APIs so you could put your app in there.
Andres Hejlsberg talked about LINQ, which looks like SQL in your code, only it gets translated into C# that looks like Hibernate criteria objects. The cool thing that I got out of this talk was the stuff that lets LINQ exist. Basically, there’s something in the language that lets you create these expressions that can be analyzed because they have an AST attached to them and then compile that at runtime and execute it.
I’ll write down the discussion we had with Roger Slobe, the guy who’s managing the whole Olympics infrastructure and why they are using Silverlight, and a David Recordon on OpenID.

Kool-Aid? That’s for suckers

