Shawn Wildermuth


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

750 Windows Phone Apps?

1020Today I picked up a Lumia 1020. I am impressed with the camera as you'd expect but I am also loving the size. It's about the same size as the 920 except for the extra camera bump. It feels lighter than I expected. The AMOLED screen with Gorilla Glass 3 looks great too.

While I was setting up the new phone, I headed over to Windows Phone's website to install my apps. The website has a feature called "purchase history" that allows you to look at what apps you've purchased and re-install them on your phone with a single click. What is interesting is that it seems I've installed over 750 apps over the time I've had with Windows phone. Yeah…750. I was surprised too.

Forcing Orientation in WinRT

7d703de7-03a1-4a9b-8425-841ae065c30fI am working with a client on an enterprise Win8 app that is for order taking. They have a specific page that they require to be only in Portrait mode while the rest of the app can support any orientation. Since I've done so much Windows Phone 7/8 work I thought this would be simple. Just specify the value on the Page. But this didn't work…

Digging through the docs I found a probable solution: DisplayProperties.AutoRotationPreferences (in the Windows.Graphics.Display namespace). The docs specify that this property can be set with the DisplayOrientations enumeration to specify which of the four orientations to support. The enumeration is a flag so you can combine them too:

Designing APIs for the Web

Ever get perplexed when designing your API for the web? My new course is now available on PluralSight that helps you design your API. The course covers:

You can view the course here:

Building Atlanta Code Camp Website

I recently helped the Atlanta Code Camp effort by building them a new website. You can see it here: Atlanta Code Camp.  I am pretty proud of what I was able to accomplish in the scant number of hours I had to build it. It's not done as we need to improve it when we have the speakers chosen and set up the schedule, but so far I am pretty happy with it.

I had a number of goals for the project:

Speak at the Atlanta Code Camp 2013

logo-verticalI've been honored to help put together the Atlanta Code Camp this year. This year's event is happening on August 24th here in Atlanta and we're expecting to have eight tracks covering a mix of developer, designer and some IT professional talks. I've attended this event the past eight or so years and it's always a good time. I decided it was time to help out.

We've now opening our Call for Speakers. If you're an experienced speaker or want to do your first talk – we want you to submit talks to the Atlanta Code Camp. This event has done a great job in helping first time speakers get started with their first talk.

Evolving Your Development Skills

TeachingOnGlassIn the last couple of years, I've been adding the HTML/JS/CSS skillset to my stack of required skills and my talks and courses have reflected that change. To my readers who are deep in the XAML stack, this change seems to have come at somewhat a shock to many. I've even been accused by some of abandoning the Silverlight, WPF, Win8, WinPhone folks. This has caused me a lot of frustration because I don't believe that developers can or should only know one possible stack. To reach the full breadth of users, sometimes you need to be able to develop across the ecosystems. In this same time, I've also done quite a number of HTML/JS/CSS talks where I didn't use Visual Studio. Some have conjectured whether I am moving away from the Microsoft stack as a result of the lessened use of Visual Studio in my demos. The frank answer is: nope.

So what is really happening here? I believe the development world is evolving. In fact, this isn't new…in the past 26 years everything has continued to change my entire career. And I expect (and hope) it continues. Software development is unlike many other similar professions. We think of ourselves as engineers but many engineering professions the rules don't change all that often. In civil and mechanical engineering, it can be somewhat stagnant. The requirements change, but torque and setbacks are similar to what they've been for years (AFAIK). But in software everything changes.

An Engagement

IMG_0008I try to keep this blog relatively technology focused but sometimes something happens in my life that requires an announcement. I am also mentioning it here because I think it makes a good story:

I just got back from SDP13 in Israel and spent 10 days in that lovely country. With this trip planned, I thought it a perfect time to ask my girlfriend to marry me. I'm 44 and I've never been married so it's about time, right? Unfortunately we had a minor argument and in my haste I texted "Maybe I'm not getting married…" This text was meant for a friend of mine who I'd been confiding in about the whole diamond buying experience.  But this text went to my lovely girlfriend instead. Foiled by technology again. So the cat was out of the bag and I didn't think I could surprise her with the ring in Israel.

Debugging PhoneGap with the Android Console

facepalm4If you build PhoneGap apps and test with the browser, moving to phones sometimes causes a boatload of problems. Because there isn't a great debugging story, being able to see the console window would be of great help.

My particular problem was that my JavaScript and CSS links weren't cased correctly. And it seems that the Android implementation is case sensitive (like most Linux implementations) but I couldn't even see what was wrong. Unfortunately the PhoneGap Build tools let's you use the console and interrogate the DOM but console log messages are lost. So I simply dropped down to the Android SDK.

The New Design

TeachingOnGlassAfter my recent talk on Mobile-First Design, one of the attendees tweeted that he thought it was ironic that my talk was on responsive design but my blog wasn't mobile-friendly. I told him that my company site was…but that was a cop-out. I hadn't had time to get the blog setup with a good template. So voila! I haven't confirmed that everything works the way I want but we should be close!

As some of you might not know, I don't use a blog engine (it's just a custom ASP.NET MVC site). What I love about ASP.NET MVC, is that since the markup so fairly separated from the code (I try and use as little actual Razor markup as possible), skinning it with a new Bootstrap template was pretty simple. It took me about 8 hours to convert it all.

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:


Application Name WilderBlog Environment Name Production
Application Ver 2.0.0.0 Runtime Framework .NETCoreApp,Version=v2.0
App Path D:\home\site\wwwroot\ Runtime Version .NET Core 4.6.26212.01
Operating System Microsoft Windows 10.0.14393 Runtime Arch X86