Rants
Arthur C. Clarke had an astounding impact on my life as a young boy. His magical mix of hard science and science fiction kept me rapt with wonder of the world. Rendezvous with Rama and Childhood's End profoundly impacted my vision of what is possible.
Mr. Clarke was a real renaissance man as his contributions to science, literature and popular culture are hard to overestimate. His early science accomplishments helped usher in the age of satellites, especially in the science of geostationary orbits that work as telecommunication relays. In fact, geostationary orbits are referred to as "Clarke" orbits.
He will be missed...
Brad Abrams announced the availablility (as promised at MIX 08) of the source code for the Silverlight controls and all 2000+ unit tests for the controls...including a unit test framework for Silvelright 2. I will have a look once I get home from teaching the Silverlight Tour. I might have to add Unit Testing to the class ;)
Give it a look if you're looking for a good way to unit test your own Silverlight 2 applications!
If you don't know Ian Griffiths, you should. He's the co-author of my favorite WPF book (with Chris Sells)*. Ian has a great post today that details a bug with the Silverlight 2 Cross Domain Policy file. It seems that the Flash crossdomain.xml file is working, but the Silverlight policy file is broken. Take a read if you are doing cross-domain and pulling out your hair...its a great tip.
* Sure, I wrote the WPF/E appendix but that's not what I prefer it.
Not sure when these were released but someone on Witty mentioned this release. Its a cool number of little features for Visual Studio:
- Collapse Projects
- Copy Class
- Paste Class
- Copy References
- Paste References
- Copy As Project Reference
- Edit Project File
- Open Containing Folder
- Open Command Prompt
- Unload Projects
- Reload Projects
- Remove and Sort Usings
- Extract Constant
- Clear Recent File List
- Clear Recent Project List
- Transform Templates
- Close All
Go grab them now. You know you want them...
There is a lot of chatter on the Silverlight Forums (http://silverlight.net/forums) about the lack of synchronous behavior with some of the .NET BCL that is included. It has made a number of people angry and unhappy. I wanted to venture an opinion about this.
I think that supporting only asynchronous behavior is the right approach. If you've done much client-side web development, you've probably accidently created a tight-looping JavaScript code knows that it is frightfully easy to lockup the browser.
It might be easy to say that Microsoft is protecting developers from themselves, but I don't think its that simple. The problem is that Silverlight 2 is going against a very mature platform from Adobe. If Silverlight 2 applications give the 'impression' of locking up the browser, Microsoft will be blamed and the platform will get a black eye. The press clippings will be about Microsoft, not the application developer. So I think its fair that Microsoft create a platform to create browser applications that don't interfere with the natural operation of the browser. Sure its harder, but we're tough....right?
What do you think?
I finally hit 10,000 XBox Live Gamer Points. How's that for a testiment to wasted time? Burnout Paradise finally put me over the top, though I thought it would be Assassin's Creed or the Mass Effect DLC.
Its that time again. The Atlanta Code Camp is open for registration. I will certainly be doing a bunch of Silverlight 2 talks (though I am not sure how many yet). If you want a day of fun, learning new technologies and a way to meet the cream of the crop of the Atlanta speakers...register now!
At long last, we are happy to announce registration for the 4th annual Atlanta Code Camp is now open.
What: All day geek fest focusing on code and not marketing fluff.
When: Saturday, March, 29, 2008 All day (doors open at 7:30)
Cost: Free! (If you are not satisfied, we promise a full refund.)
Where: Devry University in Decatur - 250 North Arcadia Ave, Decatur, GA 30030 (view map)
Speakers and Agenda: Currently being finalized. Check the http://www.atlantacodecamp.com/ website over the next week to see the finalized version.
To attend the event, you must register at the following link so that we can make sure to have food to feed you. http://www.clicktoattend.com/invitation.aspx?code=126492. If you don't register, we can't guarantee that you will be eligible for food or swag.
In case you missed it, I have an example Silverlight 2 application that I wrote to work out my understanding of Silverlight 2 (for my course http://www.silverlight-tour.com):
The source code is now available for this example. This example utilized a lot of features, both Silverlight 2 and future .NET technologies:
Once ADO.NET Data Services release their new Silverlight 2 library, i'll re-work this example to use that library too and add saving of data to the database.
If you want the source code, you can find it here:
http://wildermuth.com/downloads/aggames.zip
Once you get the source code, make sure and look for the ReadMe.txt file in the AGGames folder to read the instructions of how to get it to compile and run locally.
As you might know, I am an avid baseball fan so I am listening to spring training baseball via MLB.com. I'd heard about the use of Silverlight by MLB being a big deal which is cool. Here's the view of the audio player:

Of interest to me is that the left side (the media player) is indeed Silverlight, but the right hand-side (the game info) is still Flash. I wonder if this is a transition step or if they are going to use both technologies for the long term.
Also, when you choose full-screen, it actually just creates a large window (not Silverlight full-screen mode). I think this is more than just because they are using Flash for the right-hand side...but also because they want to serve ads (many of which are Flash based). This is the reason I've lobbied for a "Frame" control in Silverlight but no word yet...
There is a new MSLabs site that lets you upload your own photos and it creates Seadragon (e.g. DeepZoom) photos from them. It uses Silverlight 2 to display the photos so you can zoom in and out int he different resolutions. Its a nice example of a simple use of the MultiScaleImage control in Silverlight 2.
The only thing that isn't clear yet is whether they will let us use the Seadragon'd photos in our own apps. Maybe soon!