Shawn Wildermuth

Author, Teacher, and Filmmaker
.NET Foundation Board Member

The Blog

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


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.

I don't use the Android SDK for development of my PhoneGap apps. I have it installed because I did some early investigation into Android back about two years ago and it was still there. One great thing to say about Eclipse and the Android SDK is that they are simply file-based so when I pave, it still works (still on that drive taking up space). For me this was a lucky break as I needed it to access the console. So how does it work?

Read...


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.

Let me know what you think…

Read...


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:

You can view the talk here:

Read...


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:

http://pluralsight.com/Courses/practical-phonegap

Read...


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:

Additionally, you can see the Win8 version by downloading the project I built during the talk:

Read...


PhoneGap and Why I've Been Busy

LandingPageGraphic

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!).

One of the goals of the project was to build the core product (the search UI) once and reuse it using PhoneGap to build all the apps. With some tweaks here and there that is what I accomplished. I am using Adobe's PhoneGap Build to build the iOS and Android/Kindle apps for me (check it out).  And I am hand-building the Windows 8 and Windows Phone PhoneGap apps (because of special needs that PhoneGap doesn't accommodate).

Read...


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.

Using HTML5/JS/CSS to build apps isn’t perfect. Not all apps are a good candidate for this type of cross-device development, but I like to think that for many v1 apps, this is a laudable solution. In many cases, these apps are plenty functional for the life of the app, and in other cases it provides a fast-to-market solution so that a full native experience can be built after the app is initially launched and validates that it fills a market need (classic Minimum Viable Product strategy).

Read...


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.

Read...


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.

When Silverlight launched the target was clearly Flash. Flash was a great platform for advertising, games and starting to push into line of business apps. Silverlight was the dual barreled shotgun that Microsoft was pointing in Adobe's face. But at some point Flash became irrelevant. When did this happen? It wasn't Silverlight, it was iOS. When Steve Jobs decided to not allow Flash to be installed on any iPhone, Flash was demoted from the web.

Read...


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.

For the uninitiated, a Startup Weekend begins with a series of business idea pitches. This has to be a new idea that you haven't worked on before (no code, no design, etc.). After the pitches (2 rounds) you join a team to help build a business proposal over the next 54 hours. This usually entails a prototype, a business/marketing plan and a 4 minute presentation at the end of the event.

Read...