Where are all the pretty apps? I think they’re coming.

Mobile has been on my mind a lot lately.  A good friend hooked me up with an HTC 8x recently for some side projects, and recently dangled a Win 8 Pro tablet in front of me.  I use an iPad nearly constantly, and the third birthday of the iPad was just a few days ago.  I just replaced my trusty Droid 4 with an iPhone 5, and I’ve just replaced my 6 year old “built for Windows XP” laptop with a new Windows 8 ultrabook.  I’ve also recently started on Pinterest.  So much change at once!  More on all of these below—there is a point.

I adore my iPad.  No understatement that I would anoint it “greatest invention ever (recently)”.  I am very productive, and I can be entertained in one compact yet powerful device.  The iPad itself is a larger extension of the iPhone, which is about ready to celebrate its sixth birthday.  Apple’s strategy with the first iPad release was great—make sure it can run nearly all iPhone apps, as well as provide great new capabilities for better enjoyment and productivity.  I think the results speak for themselves.  When you look in the App Store, you find so many beautiful applications for both iPhone and iPad you are amazed and thrilled.  It’s exciting.  iPhone and iPad have been so successful that they’re driving sales of Macs at a record pace.  All of this has built a vibrant culture of third party add-ons and apps.  It’s the envy of the industry.

On the other hand, Microsoft and Beauty have never gone hand-in-hand, and Microsoft’s “protect Windows at all costs” culture has led to a high cost of talent shrink an lost opportunities.  My first smartphone was the Palm Treo 700w (at that time, Palm ruled the industry).  Based on Windows CE, it had some nice functionality at the time, but left a lot to be desired (so did the rest of the Palm offerings).  It was cool back then, barely “meh” by today’s standards.  Windows Phone (CE) 6 is barely a footnote, Windows 7 felt rushed and incomplete, while Windows Phone 8 is just great.  Except for one thing—where are the apps?  Don’t get me wrong, the quantity is there, but not necessarily the quality.  Apple’s App Store is filled with thousands and thousands of high quality apps built by people actually making a fine living doing so.  The Windows Phone Store is filled with thousands and thousands of apps built by first-time phone devs mainly to participate in one of the numerous contests or hackathons being held. 

On a supposed-to-be-related-but-aren’t-yet note, Windows 8 shipped last year also, and Microsoft unleashed a strategy only a committee could dream up.  One flavor of Windows 8 runs on traditional PC/laptops and some tablets, and is both backwards-compatible with Windows 7 applications and with the new Windows Store apps.  Another flavor of Windows 8 (RT) looks exactly the same, runs primarily on tablets, but can’t run any legacy applications—just the Windows Store apps.  Neither flavor of Windows 8 will run Windows Phone 8 apps, nor will WP 8 run Windows Store apps.  It’s a very confusing strategy to say the least, and I think in the short term has hurt quick adoption of any of the three platforms.


That’s not so say there aren’t already great apps for WP8 or Win 8.  Some WP 8 apps are quite good—there is no official Pinterest app, but the Pinsation app is actually so much better I wish it were on the iPhone.  But they are rare.  Most apps, while providing some useful functionality, are just unattractive.  Beauty generates excitement, and that’s why Microsoft’s seeming aversion to beauty has failed to build a base as excited as Apple’s.  However, I think this is about to change.  And here’s why: http://cacoe.deviantart.com/art/Decor8-Metro-White-Start-Screen-340446302 (as found at http://pinterest.com/pin/403424079090833867/).  This is an artist’s concept of a whit start screen for Windows 8.  Then there’s http://designmodo.com/flat-free/ (found via http://pinterest.com/pin/403424079090835061/).  Flat UI is a PSD swatch of Metro-inspired icons and colors.  And there are more of the same on the Technology and Design boards.


In just a few short months, Win 8 and WP 8 iconsets (like http://zainadeel.deviantart.com/art/Metro2-for-Superbar-294707841, found via http://pinterest.com/pin/403424079090833846/) and conceptual designs have started to show up more and more.  Designers are taking note of the new platforms.  It’s important that talented designers are creating designs, it’s even more important these designs are being noticed and consumed.  I think this bodes well for the “Ocho” ecosystems.  Going into this summer’s Build, I think we’ll begin to see a few of the unexpectedly beautiful, didn’t-know-you-needed-it apps from third party developers.  They’ll be exciting in a way, and I think will be at the leading edge of big change in the Ocho app stores in terms of app design and quality.  And that will be very exciting.


My Take on Metro JavaScript Apps

(Preface: This post is my opinion only.  It represents some thoughts I’ve had rolling around in my head for a while.  To free up some space in my brain, I’m draining this thought pool now.  I’m in no way trying to tell anyone what’s “right” or “wrong”—those are decisions based on your own set of circumstances.  I could be totally wrong here.  Wouldn’t be the first time, won’t be the last time.  Feel free to leave polite comments.)

Since last October I’ve been giving a talk on using jQuery in a Metro JavaScript application.  It’s been well attended and well received, and it gave me a good opportunity to work with Win 8 through its various releases.  After we first finished the sample, I sat there and thought “that’s cool, but who would do this?”  Let me explain.

It’s not that I think Metro is going to flop.  I don’t—I think consumers, especially those with a Win 8 tablet, will go nuts for Metro apps.  Enterprises overall will be slower to adopt Metro, but you can bet we’ll see the best of the best as we approach RTM and GA.  I just think most of the Metro apps will be written in XAML, not JavaScript.  Microsoft did a fine job with the capabilities of WinJS libraries (especially feature parity between XAML and JS), and when combined with the tooling, Metro JS app development is relatively painless.  I proffer two reasons why I feel adding a JavaScript option isn’t as important as it first seemed.

First, there are far fewer web devs in the world than people think.  Most of us who call ourselves web devs actually are writing native applications, the UI of which is merely a final output which is displayed in a browser.  Most of us have a heavy reliance on a server side framework, be it ASP.NET, Ruby, PHP, Java or whatever.  In Metro apps, there is no server framework available to us.  I consider “pure” web development to be based on client side Ajax calls and DOM manipulation, coupled with SOA, which is the architecture of a Metro JavaScript app.  Ironically, some of the “purest” “web development” you would ever do is writing a native Windows (Metro) app.

Secondly, I’m of the opinion that web devs don’t write native apps not because they can’t, but because it offends the sensibilities that their app won’t (at least in theory) run everywhere.  It’s not enough that an app will work on all Windows machines—there are Macs, Linux, tablets and (with a little extra work) smartphones out there.  One codebase to rule them all!  Remember, web devs obsess over a 1 pixel difference in how FireFox and IE render inputs.  To us, the browser is the OS, and is the device.  We care not whether Chrome is running on Mac, Windows or Linux (as Chromium).  In fact that’s what we find appealing.  While an attractive option at first, I think the realization that these are OS-specific apps will slow the adoption of Metro JavaScript.

None of this is not to say that there won’t be some great JavaScript apps produced for Windows 8.  There will be.  I’m just of the opinion that over time the numbers will favor XAML apps.