Shawn Wildermuth

Author, Teacher, and Filmmaker
.NET Foundation Board Member

The Blog

My Rants and Raves about technology, programming, everything else...


I Love Music...but not iTunes

ralph-ipodI buy a lot of music. I am not a hoarder like some, but I have 100GB’ish of MP3s. I don’t go around and ‘borrow’ friends collections just to up my count. What I do is buy music…just not at brick and mortar stores.

While I could go on about how iTunes on Windows is a bad piece of software, that’s not what I care about. It’s the DRM. I pave my machines constantly and I have my music on a lot of devices at once. Music Match sounds like a good idea, but Apple has burned that bridge with me a long time ago so I won’t harp on it. But as a consumer of music (and someone who wants to support the artists), what do I do?

Buying Music

Read...


Using MVVM on the Web with KnockoutJS

As most of you know, I have been in the Silverlight space for quite a while. (And to be clear to the chicken-little amongst you, no I am not leaving the Silverlight community.) I’ve been building a web application for consumers so that HTML + JavaScript represents the right solution to building a project like we’re building (more on what I am building in the near future). 

One of the things I wanted to be able to do is to build longer-lived pages where it made sense without having to resort to post-backs or hacked together JavaScript. In fact, what I really wanted was a client-side ViewModel (e.g. MVVM) for my web page. After looking at several of the existing frameworks for the job, I settled on KnockoutJS as a great solution. The currently released version (1.21) is a good solution, but the developers of the framework have released a Beta (1.3Beta) version that greatly simplifies what I needed. If you want to follow along, make sure you download that version here.

To get started, I simply have a database of Xbox games (yeah, I know). I am using ASP.NET MVC3 for the web part. I’ve got a single page that contains a drop down of genres and a REST-call from the MVC Controller that returns the games for a particular genre. You can look at the code if you’re interest in that part of the story. I am going to focus on the client-side JavaScript.

Read...


40,000 Apps - What Does It Mean?

WP7MarketplaceSo the Windows Phone Marketplace hit 40K apps. What does it mean to the platform? There are a number of articles out there that talk about the 40,000 apps and compares them to other platforms but I think they are missing a key differentiator.

Articles like the PC Magazine article point to the fact that Apple got to 50K in one year (faster than Microsoft) and that it took Android in 18 months (a tad slower than Microsoft). But to me the real remarkable news of this milestone isn’t the speed…it’s the size of the marketplace for that is astounding in my opinion.

Let’s look at the numbers. According to Garner, the 2011 Q3 numbers indicate that the worldwide market share for smartphones is (see Table of the report):

Read...


What Win8 Should Learn from Windows Phone

windows8As many of my readers know, I’ve been neck deep in the Windows Phone. More recently, I’ve been digging into Windows 8 development as well. On my most recent trip, I spent quite a bit of time with the BUILD tablet. Good news is that it’s a pretty good piece of hardware. Even though it’s not ARM, I am still getting a good four hours of battery life. This version of Windows 8 is early but I do think there are some things that Windows 8 should learn from what they’ve done with the Windows Phone. Here is a short list of what I think the team should look at on the phone:

In-App Back Button

On the phone, the back button represents a major way to navigate in an application. In Windows 8, you can swipe back but that doesn’t take you back to the last page in an application, it takes you to the last Metro-style app. I know you can swipe up to show the ‘ApplicationBar’ and it can have a back button, but I think this is a mistake. The phone learned that users want a single back button that works everywhere…it’s more intuitive.

Read...


Blend for Developers Course Now Available!

If you're a XAML developer and have proudly stated that you hand-code all your markup, it’s time to learn how to be more productive. I’ve authored a new course for PluralSight. If you have a subscription, you can view it my new “Blend for Developers” course now:

Hope you enjoy the course!

Read...


New Article on Software Development

My new article disruptive technologies is now available on Software Quality Connection.  If you’re an organization or developer who are worried about what is coming next, my “Which Platform is Next: All of Them” may be a good read for you.

Read...


I am Coming to Washington DC for 2 Classes

If you are in the Washington, DC area (or are close enough to fly), I am coming to teach two courses just after Thanksgiving.

The Silverlight Tour

Read...


Confusion Around WP7.1 Periodic Agents

IMG_0088After my recent post on Periodic Agents, I had a number of people react to specific parts of the API. Let’s discuss each of these separately.

Periodic Agents’ 14-day Lifespan

It seems that developers are confused about the role periodic agents have with their apps. The short version of the story is that periodic agents are supposed to support your app, not replace it. To this end a periodic agent must be re-registered at least every fourteen days. Typically this is accomplished by re-registering your app on every startup.

Read...


My New Silverlight Services Course is Live

I am happy to announce my new online course on using Silverlight Server Communication is now available on Pluralsight. This course covers the basics of using services from with Silverlight projects. The course covers:

You can view the course online at Pluralsight’s website:

http://shawnw.me/slservices 

Read...


Want to Learn iOS or Android?

AgiliTrain has partnered with the excellent Wei-Meng Lee (author of several books on iPhone, iPad and Android development) to provide three new courses this winter. He’s coming to Atlanta to teach both iOS and Android development. The courses include:

In each course, Wei-Meng will walk you through the development process and help you test your applications on actual devices. Early bird and group discounts are available. Please see more about these courses on the AgiliTrain website!

Read...