21st Century Smalltalk

February 22, 2007

WPF/e 1.0 Won’t Support CLR

Filed under: .Net Architecture — pfisk @ 4:43 pm

Apparently, the first release of WPF/e will not support the CLR (.Net Common Language Runtime).

… I had been told that a CLRified version of “WPF/E” would be shipping in the 1.0 release but I think the plan for the team is to make a lot of small updates in quick succession so that they can grow the product as customer needs expand. It’s a good strategy, but even “less than a year” is a long time to wait for managed code.

When Microsoft first announced WPF/e, a CTP (Community Technology Preview) was supposed to be released by the summer of 2006. Then it was changed to “the end of the third quarter”. Finally, when the first CTP appeared on Dec 4, 2006 it did not support managed code (ie C#, etc) programs and neither did the second release at the beginning of this month. And after the latest announcement, who knows when managed code will be supported?

Fortunately, I began porting Vst to Flash several weeks ago and it has been going extremely well – also, I was able to sign up for the first beta release of Adobe Apollo, which apparently will be released shortly.

Microsoft had a chance to really take the lead in the next generation of “Rich Internet Applications” by releasing cross-platform support for WPF at the same time as they released Vista. They have missed this golden opportunity and it will not return.

I still think that WPF has the best graphics that I have seen and that the entire WinFx package contains some very impressive software engineering. Certainly, I will make sure that Vista Smalltalk continues to evolve on Windows Vista – but, given Microsoft’s ongoing screwups, I can’t let that be my only strategy.

13 Comments »

  1. The link to the WPF info is broken :/

    Comment by James Robertson — February 22, 2007 @ 5:39 pm

  2. I can’t blame you a single bit, Peter. This is really a bad move on MSFT to play the stringing along game, to then hit as hard as they have by removing the CLR’d version for the 1.0 release.

    Disappointing, for sure. Then again, I have to admit that the Flash version is *AMAZINGLY* fast in both load and rendering, and while the graphics may not be quite as good overall, at the core, what Adobe has provided is flat-out impressive when you consider how fast it is in comparison.

    Glad to hear you plan to continue dev work on the .NET version, but at this stage of the game, what’s MSFT loss is most definitely Adobe’s gain, and from the standpoint of cross-platform/browser, obviously this is a *MUCH* better overall solution at the moment.

    As always, you have my support, without a doubt!

    Comment by M. David Peterson — February 22, 2007 @ 6:48 pm

  3. David,

    Thank you for the encouragement.

    The good news is that porting to Flash has forced me to really clean up the code, since it is quite bit of work to rewrite C# to ActionScript – so I have tried to make it as minimal as possible.

    One of these days, I will write a speculative post on how Microsoft makes their decisions – it would be fun. If Adobe doesn’t blow it by doing something dumb, they could really start to cause Microsoft some grief.

    Comment by pfisk — February 22, 2007 @ 8:45 pm

  4. My mistake – the broken link is now fixed.

    Normally, I check all the links before posting, but when I wrote this I was “not a happy camper” and obviously forgot to proofread the post.

    Comment by pfisk — February 22, 2007 @ 8:49 pm

  5. Peter, I can’t find an about page here, can you ping me via email? ryan@ryanstewart.net – I’ve been wanting to get in touch with you for a bit now. Great blog!

    Comment by Ryan Stewart — February 22, 2007 @ 8:50 pm

  6. Peter,

    >> The good news is that porting to Flash has forced me to really clean up the code, since it is quite bit of work to rewrite C# to ActionScript – so I have tried to make it as minimal as possible.

    Nice! This makes me wonder > With ActionScript as close as it is to JavaScript and therefore JScript.NET**, I wonder if a backport using JScript would make sense from the standpoint of keeping the two code bases in sync with minimal effort?

    >> One of these days, I will write a speculative post on how Microsoft makes their decisions – it would be fun.

    That would be *SWEET*! Please do! :D

    One thing I do know (having worked as a contractor on MSFT campus from 96-00) is that MSFT is comprised of *LOTS* of little companies — Business Units that are comprised of smaller divisions, each with their own focus and core agenda. In fact, you touched on this a bit in a post to the development list > MSFT not only competes with external competition, but with internal competition as well. The result, as you point out, is interesting, to say the least! ;-)

    >> If Adobe doesn’t blow it by doing something dumb, they could really start to cause Microsoft some grief.

    Agreed. This will, without a doubt be an interesting race to watch!

    ** NOTE: Not sure that it would matter, but Mono’s JScript.NET compiler is *MUCH* more conformant to the ECMAScript spec than is MS’s > Both, if not mistaken, are source available (well, I know Mono’s is, obviously, and I believe MSFT’s is as well, as the project was hosted on GotDotNet)

    Comment by M. David Peterson — March 2, 2007 @ 8:42 am

  7. David,
    On .Net, I expect to use “expression trees” in the coming C# 3.0 to help me compile to native IL. The next port will likely be from ActionScript to Limbo (if Google starts to deploy the Inferno OS).
    I’m hoping that most of the “low-level” stuff is done for the moment, and that I can get on to deploying some fun applications in Lisp and Smalltalk.

    Comment by pfisk — March 2, 2007 @ 8:09 pm

  8. >> On .Net, I expect to use “expression trees” in the coming C# 3.0 to help me compile to native IL.

    Doh! In fact, this was a conversation that’s already taken place. My brain shutdown for a moment there… I think it’s back up now ;-)

    >> The next port will likely be from ActionScript to Limbo (if Google starts to deploy the Inferno OS).

    I knew *NOTHING* about either of these until your recent post, which then became the basis of > http://www.oreillynet.com/xml/blog/2007/03/week_9_open_source_xml_weekly.html

    >> I’m hoping that most of the “low-level” stuff is done for the moment, and that I can get on to deploying some fun applications in Lisp and Smalltalk.

    Good point… I’m ready to start getting involved, for sure! Any luck on getting Jabber working with the ActionScript/Flash engine?

    Comment by M. David Peterson — March 3, 2007 @ 12:23 pm

  9. David,
    On opening a socket connection to any Jabber server, I can catch the “connection established” event after which it seems to hang. There is no problem connecting from Flash to http servers and I can connect to Jabber using Exodus with no problem. I added a “crossdomain.xml” file to the same directory as the *.swf file:

    Any thoughts?

    Comment by pfisk — March 3, 2007 @ 2:36 pm

  10. Peter,

    >> Any thoughts?

    Just coming to close of my day. Let me think this through a bit and ask a few folks over in Jabber-land to see if they have any resources or info that might be able to help.

    Will ping back again tomorrow…

    Comment by M. David Peterson — March 3, 2007 @ 11:58 pm

  11. Peter,

    Still digging, but thought you might find interest in the following two specs,

    http://www.xmpp.org/extensions/xep-0124.html

    http://www.xmpp.org/extensions/xep-0206.html

    Will update again once I have more detail in regards to the problem at hand.

    Comment by M. David Peterson — March 4, 2007 @ 10:21 pm

  12. Peter,

    So I spent some time researching XML and binary sockets today, have downloaded the Flex SDK, and tomorrow plan to spend some time on figuring this out. Will report back the result.

    Comment by M. David Peterson — March 6, 2007 @ 5:36 am

  13. David,
    The problem is caused by ActionScript’s XmlSocket adding NULL characters.

    It looks as though the Xiff project has finally completed a Beta version; they use a binary socket to avoid the problem.

    http://www.igniterealtime.org/projects/xiff/

    Comment by pfisk — March 6, 2007 @ 3:34 pm


RSS feed for comments on this post. TrackBack URI

Leave a comment

Blog at WordPress.com.