Over the past few months Joel and I have been back-and-forthing modifications to his original great idea and goal “build a re-sizable video player using no custom user controls, but instead leveraging controls styles and templates.”  Joel started in Silverlight 2 Beta 1 and implemented using the style method (aka ‘the MIX model’) available at that time. 

I took it and added some functionality of scaling and startup parameters.  After the VisualStateManager model for styling was released, this project made perfect sense to demonstrate those abilities and thus I transformed the great styling work that Joel did into the VSM model.

Joel has since gone back into the project and implemented media marker support and an enhanced user interface to display them.  I found one issue in his marker implementation and emailed him about it with a suggestion that (reading between the lines) loosely translated was: how about we stop emailing this project and open source it?

The next day Joel has pushed the project to Codeplex.  Introducing Silverlight 2 – Video Player

Here's a running sample:

The current implementation is up there (with an already work item suggested by me :-)).  Awesome!  Joel chose the Common Development and Distribution License which I think is very similar to the less wordy (by 2,153 words) Microsoft Public License, both of which are approved OSI licenses for open source.

UPDATE: Joel has changed to use the Ms-Pl license on the project!

Thanks to Joel for putting it out there as an open source project.  Some simple code but hopefully will help those using Silverlight and media create quick experiences with an embeddable, skinnable solution!

Related posts:

I’ve been a Wells Fargo customer for a long time.  As a financial institution it has served me well.  I’ve never really put much thought into the services I use and the interactions I have with their systems.  Actually I take that back – I make heavy use of the online banking system and have noticed some likes/dislikes, but overall pleased.

Over the past year, the automated teller machines (ATM) have undergone some design changes that, while subtle, have been impressive and welcome additions to the ATM experience for me.  It really made me actually notice a change in the ATM experience whereas before I hadn’t stopped to notice in appreciation, but rather notice that ‘the buttons changed.’  This time really is different.

One of the members of the design team, Holger Struppek, wrote about the project (link at end of post) and the design process they went through working with one of the largest financial institutions in this redesign.  To me as the end user I can see that a lot of thought went into what is really a simplistic design.  But that’s the genius of it to me…it is so simplistically elegant that it caused me pause when I first noticed it.  Even the simple login screen is so much more appealing and welcoming:

Wells Fargo ATM login screen

Holger talks through some key aspects of the design process and shows some before/after pictures like this one:

Before and after ATM screens

to demonstrate the efforts and appeal of the new visual design.  Perhaps one of the surprising behind-the-scenes aspect of this next generation is that the ATMs are using XAML as the user interface…more specifically Windows Presentation Foundation (WPF).  While Holger’s article talks about the design process, there is no mention of technology there.  One interesting note, however, is when looking at the presentation of alternate color pallettes:

ATM color scheme choices

Holger makes a comment that the decision was to use the blue tone one even though the blue wasn’t a part of the official color pallette for Wells.  He then adds:

Surprisingly, Wells Fargo recently switched the UI to the current tan color scheme. I don’t know what prompted that decision, but it does bring it back in line with their brand.

What I find really great about this comment is that this was probably a trivial effort for the Wells technology/design team.  The use of XAML and the separation of UI from code probably had to make that process of changing the color scheme elementary.  WPF, like Silverlight, has the ability to use content templates and style resources that are separated from the application design.  This makes for a great designer-developer separation that seems to be the buzzword these days.  The case study (link below) mentions that the ATM team also felt that the use of Expression Blend (when they implemented it was called Interactive Designer still in beta) creating a faster process in collaboration that increased their overall productivity.

In the end, the discussion of the design process from Holger is an interesting one and a good read.  As a consumer of Wells services, I like when these subtle investments are made and hope that Holger’s team might have some influence in the online banking aspect redesigns…Silverlight perhaps ;-)

Related links:

I can’t wait to see more implementations of things like this in the ‘real world’ outside of firewalled communities.

Ian Ellison-TaylorI’ve been watching Ariel’s blog for a while and really like the insight.  What is it? Microspotting, where she describes “Like the paparazzi, but for geeks.”

I would say similar to the core tenet of Channel 9, Microspotting has the intent of turning the looking glass inward to get some profiles of key individuals you might recognize within Microsoft.  What is great is that the story is augmented by another of Ariel’s talents: photography.  She’s pretty good and I’ve enjoyed the photos that accompany the profiles and stories.

From her site:

My name is Ariel and Microspotting is the place where I collect my photos and ramblings about the supposedly-Evil Empire and what it’s really like to work here.Now I creep around campus talking to my favorite kinds of people: geeks who are passionate about what they do.

Some of my favorite profiles:

I’m sure I’m not high-profile enough (or geographically desirable for a profile anyway), but if I was, I could see a photo shoot with massive beads of sweat rolling down my forehead as I lean against a saguaro cactus…or maybe just an office shot?

Anyway, it’s an interesting insight into not only developers, but interesting profiles into Microsoft culture.  Check out Microspotting.

Well today (17 JUN 2008) will be the release of Firefox 3, a seemingly much anticipated browser update.  I checked out an earlier build (I think beta 2) and it was a nice browser.  I’m not a browser zealot, I use what works for me and IE works for me, has some tools that I like, etc.  Firefox is a fine browser as well and I do use some plugins from time to time in my Firefox install.

Today, I assume a lot of people will be downloading FF3 whether by explicit choice or by a prompt from their FF2 browser installs.  In fact, it appears that FF is going for a world record of software downloads.  Um, cool?  At any rate, the downloads will start soon (FF3 is already on public FTP servers now).

UPDATE (02 JUL 2008): See updated information here on specific silverlight.js update instructions.

So what does this mean for Silverlight?  Well, there has been an issue with Silverlight and FF3 getting along since the first public builds of FF3 started trickling out.  There has been a couple of issues, but two main nagging ones.  I’m not going to go into detail here, but there is certainly an interesting read in the bugzilla comments and a commentary here from Jon.  My personal opinion is that there was some disagreement in the Mozilla core team about if indeed it was a bug or not…the comments are an interesting read and I think the MSFT team made valid arguments (the other issue is here).  The nutshell version is that there was an apparent change in how NPAPI model was implemented in FF3.  Despite the back and forth in the bug report, Microsoft has made some servicing updates as well as SDK updates that make FF3 and Silverlight play nice together.  There still seems to be some broader concern over the FF3 implementation (as there were a number of plugins that stopped working as well), but at least a level of work around has been established for Silverlight.

The main concern really has to do with some install experience and initiation of the Silverlight plugin.  The latest SDK includes an updated Silverlight.js file with the necessary fixes in script detection that works with FF3.  You can get the SDK as a part of the Silverlight 2 SDK downloads.  This doesn’t mean that you have to immediately upgrade Silverlight 1.0 applications to v2, but just that the update is in the Silverlight 2 SDK.

Another item that was fixed (added) was removing the step to restart the browser in these instances as well – these are the same techniques as demonstrated in one of my latest videos on optimizing the install experience.

So if you are a Silverlight site author and anticipating a lot of FF3 usage on your site, you should indeed get the latest SDK for Silverlight and update the detection script and do some testing.

The team att AppDev is providing a free learning CD-ROM for Silverlight 2.  They are providing it as a CD-ROM or download and said it represents a $115 value for their training…but are providing it now for free!

If you are familiar with MSDN Magazine, ASPNETPro, and other online/offline publications, the name Dino Esposito might sound familiar.  Dino is the one providing the training walkthroughs for you in this offering.  It includes roughly 3 hours of training on Silverlight 2 content.  Get it now!  Thanks AppDev!

UPDATE (30 JUN 2008):
The team at AppDev has heard some feedback and has altered their offer.  Using the same link, the offer is now for the first 4 modules of Silverlight training.  Additionally they have expanded the international distribution to the countries that can legally receive it -- this does not mean everyone unfortunately, but it does provide expanded scope.  AppDev takes feedback seriously and wanted to make sure as many people could take advantage as possible.