Posted by: lluppes | October 25, 2012

Do I take the red pill or the blue pill?

I know why you’re here. I know what you’ve been doing… why you hardly sleep, why you live alone, and why night after night, you sit by your computer. You’re looking for it. I know because I was once looking for the same thing. And when I thought I found it, it wasn’t really what I was looking for. I was looking for an answer. It’s the question that drives us. It’s the question that brought you here. You know the question, just as I did.

Yes, just how the heck do I write a functional WinRT app?

The answer is out there, and it’s looking for you, and it will find you if you want it bad enough. Maybe.

I’ve been on a quest recently, and I distinctly feel like Neo from the Matrix (one of my all-time favorite movies!).   Do I take the red pill or the blue pill?  I’ve been writing web sites for years, so I thought I would take the red pill and open up Visual Studio and be able to whip out a new WinRT app with HTML and JavaScript in no time.  I started with a simple app concept that I wanted to try, one that would have taken me a day or two in MVC4.  Chasing that dream down the rabbit hole has cost me many hours and sleepless nights.  Yes, it is pretty simple to get a sample app up and running that goes out and looks at Twitter feeds and displays them on your screen.  But I want a fully functional app that stores data locally, works offline, and occasionally syncs back up to an online database.  Should that be so difficult…?

What surprised me the most is that it seems like most of these tools right now for writing WinRT apps are just not quite there yet.  I was expecting the tooling to be a bit more mature, and it doesn’t look to me like it is.  We have a lot of simple samples, and a lot of blog posts from the last year that refer to things from the beta and pre-release stage that are just not quite right. Many of them that don’t even compile with the latest releases.  After many fruitless hours, I decided to abandon the HTML/JavaScript method and take the blue pill and start down the path of C#/XAML.  After a few days of working with that, it seems like it’s a little bit closer to what I was expecting for writing a WinRT app, but it’s still not wonderful.

I’ve been able to get a functioning application going that looks … “OK” …, but still with no love on the local storage front.  I found that you can use SQLite components (but only on x86, not ARM, unless you want to spend the time to migrate all the code yourself!) and I have wasted many hours looking at that.  It’s one of those things that looks great from a distance, but when you start to actually use it, you find out things like the sqlite-net package doesn’t support joining two tables (really?!!!).  I understand that it’s an open source project that needs some contributions, but right now I’m just trying to learn WinRT.  If I take yet another side trip to contribute writing the code to do joins for LINQ, that will just make me another month later to get my project running.  I was expecting these tools to be there.  Is it any wonder that there’s not a lot of apps in the Windows App Store yet?

On a related note, I’m excited to get my hands on my new Surface that’s supposed to arrive on Friday.  I’m not sure exactly where this is headed, but I’m afraid Windows 8/WinRT/Surface is going to be a bumpy ride for Microsoft.  I’ve been trying to wrap my head around this and figure out how I explain it to my customers and non-technical friends and family.  I don’t have any good answers yet that produce anything but blank stares and questioning looks.

So far, when I’m explaining Windows 8 and Surface, I feel like I’m making an awkward social introduction:

Hey – let me introduce you to Windows 8.  He’s Windows 7’s bi-polar schizophrenic cousin that’s having an identity crisis.  (Just don’t call him Metro – he gets really update if you use that nickname!) 

I’m not sure exactly what you should call it, … or how you will use it, …  or why the Start menu is gone, or lots of other things.  

Why yes, this tablet does run Windows.  

Umm… no, you can’t run  Windows applications on this Windows tablet because it’s an ARM-based Windows tablet (duh! isn’t that obvious?)  

But – I’m sure you’ll love him – isn’t he awesome?… 

hey – where are you going?  Come back here!

Sorry if this post is a bit of a rant, but I’m more than a little frustrated with WinRT right now.  There’s not a lot of good clean information on this topic, and I’m beginning to think my next book should be about how to do this, because I can’t seem to find this information anywhere.  Unfortunately, I have a long ways to go to get to that point before I feel like I know enough to write even a good blog post about this!  I’ll keep you posted as things evolve.

Written by .



  1. […] Microsoft Surface and set about learning how to write programs for WinRT, and blogged about “Do I take the red pill or the blue pill?“, as I struggled with whether to use HTML/Javascript or C#/XAML, and learning about all of […]

  2. […] Microsoft Surface and set about learning how to write programs for WinRT, and blogged about “Do I take the red pill or the blue pill?“, as I struggled with whether to use HTML/Javascript or C#/XAML, and learning about all of […]

What do you think?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


%d bloggers like this: