Shawn Wildermuth

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

My DotNetConf Talk on Mobile-First Design

Digital Tablet PC With Mobile Smart Phone IsolatedI had a great time at yesterday's online DotNetConf. I think my "Mobile-First Responsive Web Design" talk went pretty well. You can see the talk on YouTube (embedded below). The talk was focused on designing websites to be efficient on mobile platforms by starting with your design on a mobile and scaling up to tablets and desktops.

If you viewed my talk, you might be interested in the slides and source code. You can get them here:

My Practical PhoneGap Course is now Live!

If you're interested in cross-platform mobile apps, I like the solution that PhoneGap has. It uses HTML5/CSS/JS as the UI stack and I find it compelling to build apps for iOS, Android, Kindle, Windows Phone and Windows 8 Store. I've just released a new course on PhoneGap that attempts to fill in some of the holes in building apps.  The course includes:

Hope you enjoy the course. You can view it here:

PhoneGap and Windows 8

Traffic accident and to drivers fightingI've created a new example of a PhoneGap app for my talk at the Atlanta Windows Apps meeting. The talk I did tonight didn't go all that well, but I got it working and the result is something you can download and see how to use a minimum of WinJS to build your Windows 8 apps.

The example PhoneGap app sourcecode can be found on GitHub:

PhoneGap and Why I've Been Busy


My PhoneGap series will continue soon. I promise. I’ve been busy working on a new business: How to Watch. This new business aims to help people find where a movie or TV show is available via online streaming (e.g. Netflix, Hulu, Amazon Instant or iTunes). I got sick of having to search on each of the platforms to find "my stories". The result is this site and mobile apps (Android, Windows 8, Windows Phone and Kindle; iOS is coming soon if I can get Apple to certify the thing!).

Building Cross-Platform Apps with HTML: Part 1 of 4

mobiledevices_clipOne of the things that I’ve been spending a lot of time working with lately is the ability to be able to build cross-platform apps. While I spend a lot of time in the Microsoft space (especially Windows 8 and Windows Phone 8), I need to be able to create and deploy apps to iOS and Android platforms. I've decided to do a series on building one of these using Single Page Application for the web, then deploying it to devices via PhoneGap:

There are a number of solutions for cross platform apps (e.g. MonoTouch/Droid, et al.)  The types of apps I am building are just consuming or displaying information from a standard web back-end (e.g. REST services).  Because I typically need to build a responsive website for the solution as well, using a solution that could share some or all of it’s code with the website is a good match.

When The VPN Doesn't Work to my TFS-Using Client

Very short post today, but wanted to share something that happens more than I'd like to admit. I work for some clients who use TFS and when I can't in through their VPN I need to zip up my files for them to check-in manually. It's not fun (I miss being able to create a change set in Mercurial or Git). When this happens I need to have a quick way of copying all the files in a project that aren't marked as read-only. Robocopy to the rescue:

robocopy %1 %2 %3 /S /XA:R /XD obj bin packages backup _UpgradeReport_Files /XF *.suo *.vssscc *.user *.vspscc

This allows me to copy all the files I'm working on while skipping the temp files (e.g. obj, bin), package chagnes, backup files and upgrade files. Hope this helps anyone else that runs into this.

Sinofsky and Silverlight

ie10_windows_8With the surprising news of Sinofsky's leaving Microsoft still fluttering in the winds, I knew I'd hear some rants about Silverlight be heard among the XAML-lovers out there. I decided I needed a blog post (albeit a short one) to say my peace.

I've heard many say that Sinofsky is responsible for the death of Silverlight and that it's absence on Windows 8 is a shame. I hear a lot of Silverlight enthusiasts (or apologists) that Silverlight, while being a great technology, was killed because DevDiv and Windows couldn't get along. At last year's build, it was big news that Sinofsky actually said the word Silverlight made news. While the idea that Silverlight ran on a Mac certainly caused waves in the Windows team, it's not the reason for it getting pushed to the pile of technologies that are now in 'sustaining engineering' mode. If any executive is responsible for the current state of Silverlight it's one who is no longer with us...and not even part of Microsoft: Steve Jobs.

Atlanta Startup Weekend - My First Time

SW_Atlanta(UPDATED 11/12/2012: Added links to meetups/groups)

What a weekend. Much to the chagrin of my beleaguered girlfriend, I signed up to be part of Startup Weekend here in Atlanta. I haven't had the chance to do one of these events before and it was a lot of fun. I want to thank the organizers and the great people at ATDC for holding a great event.

Clarifying Windows Phone 8 HTML5 Apps

If you made it to build or spent much time watching the videos one of the stories many heard from Microsoft revolved about creating HTML5/JS applications for the Windows Phone 8. Unfortunately the story confused a lot of people (at least by the questions I've been getting lately.

Let me be *can* create HTML5/JS/CSS applications for Windows Phone 8. Yup. In fact, you could do it with Windows Phone 7 and 7.5. This is how PhoneGap works. The XAML page simply hosts a WebBrowser control and loads all of the assets locally in the XAP. What you can't do is create WinJS application. Let's step back a little and explain that better.

My First Experience at the Microsoft Store

x2wenI wanted to get a Type Cover for my new Surface today so I headed to the Microsoft Store. I never go to malls so it wasn't a lot of fun just getting into the mall. But soon me and my girlfriend found the store. I was very surprised by the sheer number of customers. I didn't expect it to be empty on a Saturday afternoon but it was packed. As we walked in we were immediately approached and helped with where to find the Type Covers. Even with all those customers, the store was really well staffed. Was simple to find someone to help us get a Type Cover from the back and answer some pricing questions.

Unfortunately there was an issue with her Touch Pad. Whenever she closed her cover and re-opened it the keyboard didn't work until she unplugged it and re-plugged it in. So I thought while we were there, we'd ask them about replacing it.

Why Am I Excited about Windows Phone 8 SDK?

event_wp8_heroToday Microsoft is finally releasing the new Windows Phone 8 SDK. As I've been updating my Windows Phone book for this new incarnation of the device, I am excited that the SDK is finally going to be available for public consumption.

Even though the new phone has completely changed the underlying operation system to use the same WinRT sub-system that powers Windows 8, the basics of how to build apps on the phone is primarily the same. This means if you have experience building XAML-based projects, you should be right at home with Windows Phone 8.

George Carlin-Style Software Career

George-CarlinI've always been a big fan of George Carlin. I remember watching one of his first HBO specials when I was quite young. No matter whether you agree with his point of view, you had to admit he had an impressive mind and a way to stay relevant no matter where the country went.

Recently, I was watching Louis CK talk at a Carlin Tribute when he told the story (that I'd heard before) of Carlin's philosophy of throwing out his act once a year to work on a new show. This got me to thinking how this could apply to what we do.

ReMIX South 2012

_0012_Logo-Yellow-onWhiteI had a great time at ReMIX South this year! It's been great to meet developers and designers and learn how they are using design tools of all sorts.

If you attended my "Modern Web Development" workshop, here is where you can get the slides and code. If you have questions about the workshop, please just add a comment and i'll respond as soon as I can:

Slates are Dead...Long Live Tablets

surface_05I am headed to Build later this month and am excited by both the Surface tablet and what the PC makers are going to show us in Windows 8 devices. But ahead of that show there have been a lot of reveals by the likes of HP, Dell, Lenovo and ASUS.

I am perplexed by these early reveals by the PC makers. On the whole, these companies built Windows PC's in the Slate era (when Microsoft was pushing Windows Tablet Edition). Many of these new devices feel like throwbacks to the Pen Slates they built in years gone by and that's unfortunate. Even if they don't look like Slates, they look like ultrabooks with touch screens. Convertibles and such are interesting for the minority but not for the majority of users IMO. 

JavaScript for C# Developers Live!

If you're in the Atlanta, I am holding a one-day JavaScript for the C# Developer course. The course will cover:

This is the perfect course for existing .NET developers who are trying to get up to speed with JavaScript for web development or Windows 8 App development. The course will take place on November 14th and costs $299.99. You can register for the event here:

TypeScript (or the obligatory post about it)

Like many of you, I've been itching to see what Anders had up his sleeve and I wasn't disappointed yesterday when they announced TypeScript. After teaching all day, I took a quick look at TypeScript (and I do mean quick).

There was a lot of buzz yesterday and the response seemed to be in one of two camps (for the most part):


Retro Microsoft MVP LogoToday I was renewed as an MVP for the tenth time and could not be happier. Over the past year I've been looking last XAML into the web stack and Microsoft has graciously moved me from a Data MVP over to an ASP.NET MVP. This doesn't mean I won't be sharing on Silverlight, WPF or data technologies; it's just a reflection of what I am working with now.

I want to thank everyone in the community for following me and reading my blog over past're the reason I've been renewed again and I sincerely appreciate it!

When to Not Use Observable in KnockoutJS

javascriptI've been really busy lately and my list of things to blog on has been getting backed up. One thing that occurred to me while building my new JavaScript course was about how KnockoutJS and Observables actually work. Here's the deal.

KnockoutJS supports the idea of an observable object. This is similar to WPF/XAML concept of INotifyPropertyChanged interface. Most KnockoutJS dev's I've talked with use KnockoutJS's observable everywhere. But there are cases when you don't need it.

Eleven Years Ago

On the 11th anniversary of the 9/11 attacks, I am reflective of a difficult time for my country, the world and my own life. I had recently been laid off for the first time in my when the attacks happened, I had all the time in the world to watch all the coverage I could. I was in Portland (Oregon) so I was not close, but it felt close. Watching this news happen in real-time was profound event for me. If I was closer, I hope that I would have jumped in to help. My heart sank for the victims and their families. I tried to make sense of this violent act...and it was simply senseless. At that Twin Towers; at the Pentagon and in that tragic field in Pennsylvania - the bravery and heroism that I have to believe I am not capable of.

I kept thinking of this quote that had touched me as a teenager:

My New Course: JavaScript for C# Devs

If you are a C# developer who is ready to take on JavaScript, I have the course for you. The goal of the new course is to help C# developers understand the nature of JavaScript so you can write JavaScript like a native speaker. This is for developers who need JavaScript for any of the popular places to use JavaScript including:

The course aims to map C# features directly to JavaScript features so you can understand many key topics including:

LESS at DevLink

babyflyerJust finished my talk at DevLink on "A Better CSS: LESS is More…". It was a good crowd and I was surprised that so many people had already heard of LESS which is awesome. Hopefully I covered the breadth of the language. It was a fun crowd and it's been a fun conference. If you haven't had a chance to get to Chattanooga and see the fresh water aquarium, it shouldn't be missed!

I promised the crowd that I would share the slides and the code. You can go both here:

Great Time at Gwinnett .NET Users Group

mobiledevices_clipI headed up to the Gwinnett .NET Users Group last night had we talked all about mobile web development using ASP.NET! If you were there, thanks for attending and here are the slides and code as promised!

If you had any questions that you didn’t get to ask at the talk, just comment below.

aspConf was fun!

I had a good time doing a couple of talks today. If you joined me online, thanks for coming. For those who missed my talks, they will be posting the videos on Channel 9. As promised you can get the slides and examples here for my talks:

I hope you enjoyed the talks!

New Era for Microsoft?

Guidelines-4_embedA lot of people are writing about the possibility of a new era at Microsoft. As a cynical fanboy I am hoping that this turns out to be true. I think there are a lot of great things coming out of Redmond these days and they deserve credit for making real change.

If you’re not keeping up, let’s talk about some of the comments that are being talked about. First up, Woz:

Windows Phone 8 - What do I think?

7612.StartScreen_Maria35_thumb_7EFE7E6BSo the Windows Phone event is over and I’ve had time to digest it somewhat and read between the lines. At the time (for those who read my twitter feed), I was quite reactionary and upset at much of the news. Most of this what as a user of a Windows Phone, not as a developer of a Windows Phone. Do note that another caveat is that I am an author of a Windows Phone 7.5 book, and the thought of my book being suddenly obsolete was upsetting as well (but that happens every time one of my books passes the new car smell line). So let me talk briefly about what I think about the news from both a user and a developer on the Windows Phone platform.

The big news for most users is the fact that Windows Phone 8 won’t work on current hardware. To me this is short-sighted as it seems to punish the only fans the platform has so far. This was especially relevant since I *just* received my Nokia 900 (after having a HTC HD7 for the last 15 months). The idea that this new piece of hardware was going to be out of date in only 4-6 months upset me. But let’s think about it in broader strokes that just me. Is this a good strategy overall?

Application Name WilderBlog Environment Name Production
Application Ver Runtime Framework .NETCoreApp,Version=v1.1
App Path D:\home\site\wwwroot Runtime Version .NET Core 4.6.25211.01
Operating System Microsoft Windows 6.2.9200 Runtime Arch X86