| Comments

If you are a developer who likes various aspect of testing in your application (beyond the “does it work” testing), you may be interested in a few frameworks for Silverlight.

Microsoft Silverlight Unit Test Framework

This testing framework was developed by Jeff Wilcox of the Silverlight Toolkit fame among other things.  This test framework is used by the Silverlight Toolkit team themselves (as is what is shipped with the source code for the project).  This framework runs unit test inside the browser and includes the ability to test rich controls as well as the entire Silverlight platform.

Jeff has a great blog post which includes a video walk-through of this test framework.  Check it out: Silverlight Unit Test Framework.

SilverUnit

Just yesterday, Roy Osherove released SilverUnit, which he describes as

a new open source unit testing framework for Silverlight (true unit testing, not the Integration style, browser-backed, async-driven C#-only-friendly, monster of a Test Framework…”

Hmm, maybe we should have a death match at MIX between Jeff and Roy :-).  Reading the more detailed information about SilverUnit, Roy further describes:

You can run then as a regular NUnit test run, they run only in memory. The CThru engine underneath takes care of intercepting and “skipping” all calls to the silverlight runtime. SilverUnit does its part and mimics the missing pieces (Dependency Properties, RoutedEvents to a degree and so on).

The project is hosted on CodePlex as a part of the CThru project and you can get the bits and some demonstration there: SilverUnit.

Selenium

My friend Ted Neward turned me on to something new today: Silverlight-Selenium.  For those who don’t know Selenium, it is a very awesome web application testing framework, that is a bit of unit tests and a bit automation testing.  I personally have used Selenium for simulation of end-user interaction testing in web applications.  I think the framework is great and comes with some good tools to help record tests and automate the creation of scripts…but enough about that.

The new project extends Selenium a bit adding the ability for Silverlight communication.  If you are familiar with Selenium, you know that it uses JavaScript to communicate with the browser.  In order for this extension to Selenium to work with Silverlight, your code needs to be exposed as scriptable objects.  This is the only thing I see problematic with this framework.  I’m not sure that having a separate build for testing to add the [Scriptable] attributes will be palatable to most, but I’m sure there is some #IF DEBUG type stuff you could do to make that easier.

This project also includes “silvernium” (not sure that’s an actual element is it? ;-) in order to communicate with the Silverlight object model without you having to worry about that part.  This is an interesting project to watch.

Summary

Testing and patterns of testing vary.  I’ve seen many religious debates about TDD and what people think is right/wrong/whatever.  I’m not here to say anything on that – but that if you are testing beyond compiling and playing with it, that you should look at these types of frameworks evolving…they are easy to use and should be great additions to your development lifecycle. 

What else have you seen for Silverlight testing?

| Comments

Our team is working on a new design for the Silverlight Community Site and one of those aspects includes a new media experience for the online media/video portions of the Silverlight, Windows Client, and ASP.NET sites.  Today we rolled out the new experience first on the Windows Client community site.  It’s a subtle update but hopefully a welcome one.

The older experience was a basic playback experience and was a Silverlight 1.0 application.  This update brings a few new things, but primarily is a Silverlight 2 player with some fun features to engage the viewer.  We’ve added some new features:

  • Increased the viewing area – most usually went full-screen anyway, but now the default capability is larger for better initial viewing
  • Commenting feature in the media – the viewer can now add a comment in the timeline.
  • Sharing features – enabling emailing a link to the video from the player, also enabling embedding a video.

Like I said, it’s a subtle upgrade but we’re planning on expanding this in the future as well to list related videos and some other features.  Here’s a couple screenshots of the commenting feature:

in-line comment popup

As the timeline approaches a comment a small popup appears with the comment.  Navigation allows you to cycle through the timeline-based comments.  This feature can be turned off using the toggle to the right of the timeline.  To add a comment, you can hover over the timeline position marker and create a comment at that point.

adding comment in-line

Like I said, nothing earth shattering and yes, you’ve seen these features on other popular media sites before.  We liked them and wanted to bring them to our sites.  I just wanted to point out some of the newness to the site for Windows Client and what will be soon brought to the other online properties.  Try it out and tell us what you think.

| Comments

I actually didn’t plan on “announcing” the winners, but I did want to give some credit to some great contributions and my appreciation for those that attempted given such short notice.

Last week I posted a simple quick request for you to be inspired and have some fun with Silverlight and win a chance at a free registration to MIX09.  The deadline has come and gone and here are the winners:

Winner #1: Matthias and Presidential newspaper timeline.  Seriously you have to check this out.  Inspired by the Descry demographics, Matthias used the NYTimes API to gather data about US Presidential candidates and put them on a timeline…each candidate’s representation changing on a timeline which covers 2006-2008.  I really liked this, it was creative.  Great job Matthias!

Matthias infographic

Winner #2: Jason went the Line Rider route (I was hoping someone would!) and created a map using the Las Vegas strip icons like the Paris tower, the MGM Grand lion, and the Stratosphere.  We’re working on figuring how how we can share his map and Bosch cruising down the strip, but here’s a screenshot of part of it:

Line Rider Vegas

Congratulations guys!  I hope to see you at MIX09 and hope you have a great time and continue to be inspired about what you see in Silverlight!

There were also others that heeded the call:

Thanks to you all for participating.  It was fun to see some different ideas from folks on such a short timeframe.  Congrats to Matthias and Jason as well and we’ll see you at MIX09 in Vegas!

If you are in the contest mood, you can also write a game using Silverlight and have a chance at winning $5,000! (sorry, US-only contest – don’t shoot the messenger).

| Comments

After reading James’ story just now, I’m so glad that a Windows Home Server is a new addition to my home.  It’s funny…about 4 years ago I think I had 6 active machines in my house.  Now we’re down to my work laptop, my MacBook, my wife’s laptop and a new desktop for my wife’s photography and graphics stuff.  Okay, I guess that’s not down much, but they all aren’t “active” that much anymore.

Back then I had no backup strategy.  In fact, I’ve still got a laptop drive that clicks that I’m destined to get the data off of!  I’ve heard so much about Home Server though and James’ story isn’t the first.  Over the past 4 months I think I’ve heard about 10 similar stories.  Hardware went bad and within a few hours it was as if nothing happened.  I almost pulled the trigger on a Home Server last month, but was hinted to wait.  I read all the reviews about previous HP models and how people thought they were great but the first thing they did was upgrade drive and memory.

HP EX487 imageThis month HP release the EX487 Home Server.  This is a 64-bit machine with 1.5TB of storage and 2GB RAM.  It basically sits idle with subtle blue lights until tragedy may strike.  And even if it doesn’t strike, it’s now serving an extremely important role!  My experience this first week has been great.  The setup was amazingly simple sans one issue.  I use OpenDNS at home and had to use manual host file modifications to find my server on some of my machines…not a big issue.  Other than that it was literally plug it in, connect to the LAN and configure (which was basically to give it a name). 

On each machine I wanted connected I installed the agent software and it immediately started backing up.  Oh, and my MacBook?  Yeah, that too!  Home Server can serve as a Time Machine drive for your Mac…it’s awesome.  Now all my machines are just automatically backed up without thinking of it!  I also moved all my media (MP3, Video, Pictures) to that server for safety and the EX487 can stream music and your iTunes library if desired (yes even DRM music they claim).  The one other feature I liked about it was automatic integration with Amazon S3 storage.  I know JungleDisk has a plugin for Home Server as well, but the new models come with this feature installed.  So I have reliable local backup and can push my critical data to Amazon S3 for “offsite” storage in the event of catastrophe (did I mention my neighbors house burned down 2 weeks ago?).

Machines backup list

The initial backups took a lot longer than expected (especially the MacBook), but I don’t have gigabit ethernet at home and I did one over wireless.  After they completed though, now everyday it just gathers anything new and puts it in the vault.  I love it…no thinking for me.  You can even configure wake-on-LAN to start a backup if your machine supports it.  So far I can’t find anything I don’t like about it at all.  And all the stories I’ve heard make me want to try to break something just so I can restore it.  Actually, one thing it can be used for is disk imaging – create your “paved” machine and save that backup off permanently…I’m going to be doing that soon with Windows 7.

There are two new models and from my shopping I felt Amazon had the best deal (both as price/shipping and as a reputable retailer).  The HP EX485 sells for less but is also less space (750GB).  That’s about the only difference.  I figured the incremental cost for double the space was worth it.  In hindsight it may not have been considering you can get a 1TB drive for about $100 now (I added one of those as well for a total of 2.5TB storage).  Either way the HP EX485 or the HP EX487 would be a great choice.  Plug it in, configure it, forget about it.  So far I concur with others that this will be a worthwhile investment for the home!

| Comments

If you’re like me then you probably are more geekier than you are artistic.  I don’t think of myself AT ALL as a designer, but rather one who appreciates both good design and good user centric design.  You may look at this site here and say it doesn’t, and that is okay…I’m trying my best :-).

Smashing Magazine logoBut often I find that I need some tweaks, icons, templates, application design inspiration for a Silverlight application, whatever and just want to do it myself.  I’ve found the one place now where I start to look and be inspired: SmashingMagazine.com.  If you’ve never been there, go and subscribe now if you are interested in design.  Over the past year I’ve found it to be one of the most amazing sites for inspiration and design resources that I’ve added to my toolbox.  Of all the feeds I subscribe to, I can count on the syndicated content coming from them to be 99.999% inspiring and helpful.  I find myself adding almost everything they send to my delicious bookmark list!

Here are some of my favorites and examples (most recent):

And there is so much more.  I look at their Inspiration and Freebies links a lot for aggregation of some of the best stuff.  The great thing is also to pay attention to the end of each article.  The writers are doing an excellent job appending highly relevant information to the topic.  They don’t just show you their top 50 favorite photo blogs, but the related information shows you links on how they were created and where to get more information.

Smashing Magazine has been a daily resource for me for useful tools, resources and inspiration…I highly suggest you add it to your feed list or bookmarks…I am sure it will be a great resource for you as well!