Microsoft MVP Logo

Congratulations to all the new/returning MVPs from all competencies, but I wanted to call out the newly awarded Silverlight MVPs for this latest round.  Please join me in congratulating them:

And a specific call out also to Colin Blair (@SLColinBlair).  Colin’s work in the WCF RIA Services space gained him recognition from the connected systems division.  Since Colin is around our Silverlight circles as well, I wanted to give him a shout out!  He also had one of the best free upgraded suites at MIX10…which he aptly named the RIASuite – and an impromptu design review for WCF RIA Services took place one night with Brad Abrams, Nikhil Kothari and others.

Congratulations again to all these folks for your deserving work in your local and broad communities.  The Silverlight community expects high things of you!

April 1st is around the corner…time for an updated Windows 7 Smashing Magazine theme pack!

Clint Eastwood April wallpaper

As you might expect with April the general theme is Easter and Earth day type things.  There are a couple of nuggest in there, my favorite being the Reservoir Dogs tribute.  So here is your April 2010 Windows 7 Theme Packs for wallpapers – unfiltered and uncensored – about 80 wallpapers in all.

For details on these and to see past ones, visit the Smashing Magazine Windows 7 Theme information for the specifications I used for the theme pack as well as previous themes.  Want to participate and submit yours?  Join in!


This work is licensed under a Creative Commons Attribution By license.

I recently found a good deal on a 7200 RPM 500GB latpop drive and decided to upgrade myself to that.  I’ve been operating on a 150GB drive for a long time and hadn’t been cleaning up old projects, encodings, etc. so it was running thin on space.  This was a cheap upgrade (< $90) so I opted for it.  I finally got a moment last evening to pop it in and start the fresh installs of everything.  Doing so reminded me of how long this process takes for us geeky people.  Luckily I do a backup first using my Home Server so that in the event I screw up, things are there.  Now most would say that I should just pop in the hard drive and do a restore.  I don’t do this for 2 reasons frankly.  First, I have to admit, the ‘restore’ process for me on Home Server hasn’t always been a consistent one.  Don’t be alarmed, there is no data loss, but I’ve found I had to mess with network connections, etc. blah blah…and sometimes it isn’t worth the hassle (emergencies? absolutely).  Second, and most important, I am paranoid of technical grout…or residue of install/uninstall/beta/alpha/etc versions of software.  Sometimes you just want a nice clean slate.

So after my backup I put in the new drive and booted to my network to install Windows 7 x64.  That process is the fastest of the bunch now, clocking in from start of install to workable desktop in about 30 minutes tops.  It’s the rest that I’m reminded of how long it takes.  Now I know I am not (nor likely are you) the ‘normal’ user.  Most would probably suffice with Office install after that, a few tweaks and be good.  Not me, I’m particular.  Here’s my list of what I install and some notes on them.

There are various other 3rd party components and frameworks for Visual Studio and Silverlight that I may install from time-to-time, but the above is my baseline dev machine.  For some this may be a lot, for others this may not be enough.  I don’t think I’m excessive, but somewhere in between.  Still looking (and doing) this is always daunting.

I know, I know…people will write comments below about disk imaging, Acronis, etc., etc.  I’ve tried all those methods before.  Call me paranoid, but I just like to be in control of my own stuff still.  Perhaps I’ll relinquish the control soon. 

It does feel good to have a clean machine though!


Help me out with a bit of some research here.  In your opinion…what tools (from Microsoft) are the MINIMUM needed to get started with Silverlight?  I’m not talking about full-blown MVVM, MEF loading, Live Smooth Streaming applications…I’m talking about if you were to tell someone who has a bare hard drive and wanted to start learning Silverlight, what tools would you tell them they simply cannot do Hello World++ without?

Please respond to my survey:

[embedded survey removed please vote here: http://twtpoll.com/em387c]

Thanks!

MSDN Radio imageThis morning I was on a weekly (new) radio show from MSDN, hosted by Mike Benkovich.  The show, MSDN Radio, features live call-in questions that you can ask.  It was a better format than the typical live meeting text-based QA I thought.  I think hearing questions gives you a better chance of articulating your inquiry more.  Thanks to all those who listened and asked questions.  I know it seemed short and there were a few more questions in the queue – feel free to send me questions you may have.

UPDATE: The audio from the show was just posted here.

There were a few that I wanted to follow-up on and get some more answers from other team members.  Here are 3 items I wanted to provide a bit more follow-up to (I’m paraphrasing the questions).

Vince asked a question around Prism and part of that was what are the plans for Prism moving forward?  I didn’t know a concrete answer, so I quickly asked around.  Take a look at the team’s post on Prism, A Look Ahead.  The team talks about the next release (v4) to be around the September 2010 timeframe.  They also comment on using Prism today with Silverlight 4.  As to what will be in Prism 4?  They offer some insight:

  • Managed Extensibility Framework (MEF)“In particular, we’ll be looking at leveraging MEF for Component Composition (for hooking up Views and ViewModels, and other types of components), for Modularity (for the discovery, download, and instantiation of functionality packaged in a module), and for UI Composition (for mapping Views to Regions).”
  • Model-View-ViewModel (MVVM) Pattern – “…we’re looking to expand our current guidance and to include more re-usable code assets to support various MVVM scenarios. In particular, we’re looking to support common patterns for View/ViewModel interaction, hierarchical ViewModel composition, and ViewModel-based navigation. In addition, we’re also looking to provide more support for application-level structural patterns, layout management, the use of Ribbon/Popup/Dialog controls, and user state management.”
  • Data Access and Application Services (i.e., WCF RIA Services) – “…we are looking to provide guidance on using these technologies in the context of MVVM, and on patterns for data validation and caching. This area also includes the use of other services for user preferences, authentication and authorization. This latter aspect brings in the possibility of providing guidance for role-driven (or claims-driven) applications and user experience.”

I’d encourage you to subscribe to their blog and be a part of their conversation over there as well.

Scott asked a question about how to best define DomainServices (contexts) in your application – is it better to have 1:1 for entity:DomainService or other methods.  I asked the RIA Services team for some additional input to my answer. 

DomainService should be based on a set of related tasks that you expect the end-user to perform in [your application]. Typically such tasks involve a small group of closely related entities; e.g. in an Expense reporting app, Expense Report, Line Items and Details would be a good set of entities to cover in a single DomainService while covering accounts and payments in a separate DomainService type.

Additionally Jane asked about many-to-many relationships with regard to RIA Services.

Currently RIA Services require the “class in the middle” containing FK values in a many-to-many. In  a POCO model, you can add it yourself while in an EF-generated model, you would have to change the model (edmx) to add such a class in the middle.

Hopefully these provide some additional clarity on top of my opinions.  There sure seems to be a lot of interest in the RIA Services space!

Hope this helps!


This work is licensed under a Creative Commons Attribution By license.