February 24, 2006
@ 06:59 PM

It was only my second day in out in Redmond and what happens? Doug and I got stuck in an elevator for seven minutes.

Categories: MIX06

The fabulous Ed Pinto has blogged about out breaking changes for the February CTP. Exhaustive list here.

Categories: Indigo

February 22, 2006
@ 05:37 PM

The WinFX Runtime Components February CTP and the SDK and the VS extensions that go with them just hit the download sites. Go get it:

Categories: Avalon | Indigo

I just got a comment from Oran about the lack of durable messaging in WCF and the need for a respective extensibility point. Well... the thing is: Durable messaging is there; use the MSMQ bindings. One of the obvious "problems" with durable messaging that's only based on WS-ReliableMessaging is that that spec (intentionally) does not make any assertions about the behavior of the respective endpoints.

There is no rule saying: "the received message MUST be written do disk". WS-ReliableMessaging is as reliable (and unreliable in case of very long-lasting network failures or an endpoint outright crashing) and plays the same role as TCP. The mapping is actually pretty straightforward like this: WS-Addressing = IP, WS-ReliableMessaging = TCP.

So if you do durable messaging on one end and the other end doesn't do it, the sum of the gained reliability doesn't add up to anything more than it was before. MSMQ is fully in control of both ends of the wire and makes assertions about the endpoint behavior and was therefore the logical choice for our durable messaging strategy in V1, because it already ships with Windows and there is (as of yet) no agreed interoperable set of behavioral assertions for WS-RM around how endpoints must deal with received messages except ACKing them.

See Shy's comments.

Categories: Indigo | MSMQ

February 20, 2006
@ 07:00 PM

Just read this on Robert Hurlbut's blog (via Dominick, source is Doug)

As Doug indicates, the issue here is not "we don't want to do it", but that we need to ship. 

The problem is that partial trust is incredibly hard (and very time consuming) to test for a communication platform that is supposed to have rock solid security (no paradoxon here) and shall perform well. It's just as hard to provide meaningful exceptions (and -messages) in case we'd stumble into a CAS exception. You wouldn't want us to just bubble up some aribtrary security exception, but instead will want us tell you what's causing the problem and how you could fix it. There are (give or take some) 20 base permissions in the framework, most of them allow parameterization, and the system is extensible with custom permissions as well. You can do the math for where that takes you in terms of required combinations and test cases for achieving satisfying test coverage across the whole of Indigo, let alone all the special casing in the actual product code-base.

I wonder how many applications written to support partial trust actually take that complexity into account in their test strategy (hint, hint) ;-)

That said, I will clarify once more that this doesn't mean "we will never do that". It's just not possible to fit this into our V1 schedule in a way that we and you would find the outcome acceptable. 

Categories: Indigo

February 16, 2006
@ 01:00 AM

I am spending my first week at Redmond with the WCF team. All new, all interesting, and a lot to learn.

Amongst the little things I learned is that I'll be speaking at MIX06 with Doug Purdy in a joint session on REST, POX, RSS, AJAX, Web2.0, Media Convergence, and general black magic with WCF/Indigo. That'll be fun. Guess what the demo will be! Yep, right .... shhhh! don't tell anyone. 

Categories: MIX06

Dear MDC Attendees! It was a great pleasure to talk for and directly to so many of you and it was very interesting to learn about the very many interesting projects in which you are using our technologies.

Below you can download my scribbles from the first presentation in HTML format (they are likely “out of context” for everyone not attending the session). The PowerPoint presentations are available at http://windowscommunication.net

MDC2006IntroPresentation.zip (656.95 KB)
Categories: MDC2006

February 4, 2006
@ 10:37 AM

If you have a blog and you post stuff around WCF/Indigo and you think that I don't have you in my aggregator, please post a comment below with your blog URL. And it totally doesn't matter whether you blog in English, Italian, French, Spanish, Dutch, German, Arabic, Chinese, Russian, or any other language ... I want to know.

Categories: Indigo

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

February 1, 2006
@ 12:38 PM

Good Morning!

My name is Clemens Vasters and I am Community Relations Program Manager for the Windows Communication Foundation at Microsoft Corporation.

[Boy, writing that feels a little strange. I guess I'll get used to it. ;-) ]

Categories: Microsoft