More from MTS07: Chris Anderson (former architect, WPF) and Don Box (former architect, WCF) addressed us. Chris started out the prezo by reciting some Haiku:
They used Don’s familiar format of opening up notepad, asking the audience what they want to talk about, and then improv’ing for the rest of the talk.
The group came up with a diverse set of questions related to Microsoft in general, WCF, and WPF.
What follows are various quotes and notes from the ensuing conversation:
Q: How does your WPF stack compare to Adobe’s Flash/Flex stack?
Chris: Three aspects — the graphics visualization engine, the run-time platform, and the application frameworks.
App platform: We’re kinda sucking in that space. We’re pushing out samples, etc. You can see hints as to our direction, but we don’t even have an MFC-style system inside of WPF. We have a lot of work to do in this area. This is top of the mind and my #1 thing as to what is missing and is needed to make WPF a compelling app platform.
Run-time platform: The CLR crushes the Flash runtime, but IE is weak compared to Flash.
Graphics viz: We have a much better story here as far as actually having a full-scale platform that goes from the client with WPF/E all the way to the OS with WPF.
Don: “The decisions we make are often test constrained.” On one team we have three testers for every one developer.
Chris: The decision to do all rendering in WPF/E in software was an engineering decision, not an evil decision to force you to WPF for perf.
Chris: To make it clear, I think we are going to win in this space.
Q: “Why do you say that Flash is evil but somehow WPF/E is good?”
Chris: We’ve made our intentions clear with WPF/E; we’re not pretending [like Adobe is with Flash] that it is some kind of open standard. People are saying that Flash is good and WPF/E is evil, but we actually think our story is better [for the community] here.
Q: WCF is cool, but how can you get it to interop?
Don: Our goal was to make Windows the best OS we could make it. So when folks encounter a lot of pain when dealing with other messaging systems, this is in a sense the whole purpose of WCF — to make you want to use Windows for messaging across the enterprise.
I think WCF merits a B+, interop a B, but the metadata system (i.e. XSD) gets a C.
“So yeah, interop is really tough.” What would you have me do to fix it? I can’t control IBM or Java.
Q: “Couldn’t you provide adapters to talk to specific messaging systems?”
“I’m glad you said that, because that’s what we’re doing.” Don talked about their “channel” abstraction that makes it easy for you to adapt WCF to specific platforms.
Q: What is the future of REST?
Don: Interesting word that means different things to different people, such as:
1. Get the WSDL and XSD out of my face
2. Get the SOAP out of my face
3. Put the URI in my face
4. Respect GET
5. Embrace PUT and DELETE
“It turns out a lot of the headache people have with Web Services or WS-* is tied to XSD. XSD is more flawed than most technologies that roam the earth. I was on the committee that created it, and that was back when I made my money explaining complicated technologies to people for money, and man, I could hear the cash registers ringing in my ears.”
“Now my job is making things simple, which is unfortunate since I’m stuck with XSD.”
“XSD was a standard-committee driven piece of ####ing crap.”
“If you’re Sun, if you’re Microsoft, if you’re IBM, you can just throw a bunch of engineers in a room and make it all work. Sun is committed to making their stuff interop with WCF with Project Tango. But if you’re Matz, or DHH, or Larry Wall, you’re screwed, because you don’t have time to build out this stack and then make it interoperate.”
Q: What’s the future of SOAP?
Don: “We’re done. No more to say here. There won’t be another version of SOAP. You don’t get a version 3 of protocols.”
Q: Why does Ballmer have to say such stupid things?
Don: “He’s an energetic guy who believes in the company, what are you doing to do? I apologize for anything that may have offended you on behalf of the owner/employees of Microsoft.”
Q: How has WinForms done compared to the Web?
WinForms suffers from the fact it was the last rev of its technology, and it suffers from all the same weaknesses that last versions of technologies have. It was a last one-off before WPF shipped. We have seen good pickup of WinForms in the enterprise space because it fits the model they are used to.
Q: My final release version of Vista blue-screened and rebooted multiple times a day. Turned out it was a video card driver issue. My Mac just works. What are you guys doing to fix this crappy user experience?
Chris: It is a huge problem. I don’t know what the fix is. [We had a lot of back and forth discussion about how important this is to fix, that Apple’s UX for a machine that just works kills theirs, and Chris agreed, but didn’t have a clue what the fix would be.]
Q: Chris, you blogged about XAML being good for more than just creating a UI — that it could be a new general purpose language that’s better than C#. The rest of the world is running away from XML as a general-purpose programming language. Why are you bullish on this?
[They didn’t clearly answer this question; instead talked about how XAML is a sort of general-purpose IL that is easy to extend but provides enough structure to make it easy to tool.]
Q: Is Microsoft still viable? A fun place to work?
Chris: I came to MSFT as a contractor, left to start a co., and came back in less than a year because I love working here. I love it because of all the smart people here. A lot of smart people working towards the same goals is going to do some exciting things.
Also, the ability to make an impact by working at MSFT is bigger than almost anyplace else I can imagine. Something like WPF is huge and I’m very happy to have been a part of it.
I’ve been lucky enough to shape the team that I want to work on — a twelve person team with daily scrum and monthly milestones. We pick our next objectives, we work on a small set of features and drive them to quality, we have 80% code coverage on everything we work on, etc. — we create the environment we work in. MSFT is a lot of little companies.
Don: “There’s a lot of little companies in Microsoft; one of them will figure out how to crush Google.” “We will keep trying for a very long time.”
Q: Why do you care so much about crushing Google?
Don: Google is the best thing that happened to MSFT because it gave us a big evil opponent with which to be in direct competition. Without a big scary competitor, we just don’t do as well in the marketplace. IBM is such a different business model that we don’t view it as nearly the type of threat that Google is. Google is very much in the same space as a software play.
We are competing head-to-head with them, and a lot of people here at Microsoft are very concerned with them.
Q: I know a CS grad who doesn’t want to work for MSFT because he doesn’t want to be a PM of a dialog box. And he doesn’t want to go through the whole “how much water fits in a room” interview process.
Don: Look, there are some great entry-level positions at MSFT, but there are some crappy ones. Some people ask puzzle questions, I don’t.
Q: Yeah, but MSFT just isn’t cool anymore.
Chris: [Launched on a dialog about how to be a serious engineer in the industry, people should be more willing to put in the time to work on maintaining legacy systems, etc.] So I don’t know that making us cooler is even the right thing to do.
Q: How are you going to deal with the open-source threat?
Chris: I don’t think open-source is a threat. Its a new practice we need to understand in order to compete better in that world.
Don: Linux, Apache, Firefox are competitors. Open-source is not.
Q: I’m offended that you think you need to beat Google. This is not a zero-sum game.
Chris: Look, our shareholders have told us that we need to increase the amount of money that we make.
Don: Its great for the consumer that Google is making us improve and that MSFT is making them improve.
[Some guy]: The fact that Google has made you think they are good and MSFT is evil just means that their marketing is good.
Don: When I was an ISV in the Microsoft ecosystem, I didn’t want to be treated like a baby. I want to be told how it is. We could pretend to sing Kumbayah with Google and Eric Schmidt, but the fact is that we’re competing with them and out to win.
Chris: Regarding zero-sum game, look, the whole ad-driven software revenue model is a whole new world, and we’d like to get a piece of that pie. Google has a massive share of that space; I think they’re #1, we’re #2, and we’re massively behind.
[Some guy]: But there’s always this talk about throwing chairs, knifing babies —
Don: — we don’t knife babies —
[Some guy]: — and people find it distasteful.
Don: The American public loves theatre, they love competition.
[This conversation is bogging down into uselessness; I’m bailing on blogging the rest.]
Overall, was a fun session that didn’t surface any new material, but Don as usual was on the spot with some provocative, entertaining quotes.
I have to wonder why MS is always focusing on killing the competition instead of innovating. The discussion seems to be centered on why WPF feature set is better than Flash feature set. In the end, there really isn’t anything new only a 1 for 1 trade. Flash/Flex created something that did not exist before. It was a net increase to the value proposition.
Cameron: some individual company will be the owner of the platform that drives the average user’s experience of most computing resources. Today it is Microsoft through the Windows APIs, .NET and Internet Explorer. If it is Flash tomorrow then what is Microsoft’s role? They are not a leading enterprise software vendor. They are not a leading Internet company. Do you think it would be acceptable for them to be the second most important company in three or four different categories? That would be disastrous for them.
It blows my mind that their response to “This is not a zero-sum game.” was “we’d like to get a piece of that pie”.
It’s like they don’t even understand what “zero-sum game” means.
The site looks great ! Thanks for all your help ( past, present and future !)