I started writing this post last week, right after I sat through the entirety of the BUILD 2014 Opening Keynote, then real life. So now, I’m finally getting it posted. So hopefully you’ll enjoy my (most likely) old-news musings.
This conference marked the first time I’ve actually sat through the entirety of a major conference keynote. Usually, like a normal person, I just let Anand sit through them and tell me what I need to know. For some reason, this year we were left to our own devices, and thus 3 hours later I found myself trying to process the sheer amount of info, product changes, and demos squeezed into those 180 minutes. All joking aside, it was actually a really good presentation, you should take a look. While there will be thousands of words written over the next few months by people far more qualified then myself, I thought I’d offer a few quick thoughts and observations of my own.
Note: I am by no means a Microsoft expert, while I have extensive experience as a user of the OS (both phone and desktop), and many of their business applications, my experience as a developer is limited to a few aborted app attempts and a smattering of copied C# code. However, I do have a lot of experience crossing between system platforms, cloud offerings, and a bunch of different programming languages. So take everything with a grain of salt.
If I had to sum up the entire presentation into a single phrase, it would be: We told you so. The last few years have been really rough on the giant of Redmond. Vista was a mess, the success of 7 was quickly followed by a huge paradigm shift with 8, which landed right in the middle of the enterprise upgrade cycle from XP (as most people skipped the sinking Vista ship altogether). On the phone front Windows Phone (WP) quickly established itself as something uniquely different from anything being done in the iOS or Android camps. While the platform seemed to test well with potential users, it never quite seemed to gain the desired traction and only gained the 3rd spot in mobile OS usage, while being propelled aloft by the flaming crash of the once great
RIM Blackberry. Finally, on the web services side, Bing became an acceptable alternative for googling information when google seemed inconvenient, and while Windows Live Folders Windows Live SkyDrive SkyDrive OneDrive always seemed quite slick, navigating the myriad of byzantine menus, logins, and UIs quickly made any thought of switching from DropBox laughable at best. Also, the Surface is still a thing, right?1
While all this was going on, Microsoft kept working. They released Azure (and it rocks), they moved WP to the NT kernel, they slogged through the messiness of migrating from Win32 to WinRT. They unified their web services and made some awesome improvements2. Then, yesterday morning they came out beaming.
Windows Phone 8.1
Honestly, it feels like this should really be Windows Phone 9. There’s so much tied into this release it’s almost impossible to summarize here, but some will try. Basically what you need to know is, Microsoft hit parity. They took WP8, which often felt quite powerful, but a little unfinished, and revved it right to the level where iOS and Android no longer resemble that one cousin at family reunions which seems to be all the things your parents hoped and dreamed you would be. Now, you just might have a fighting chance.
The thing most people will be talking about is, of course, Cortana, but really, while I’m really excited to use it, it’s not all that interesting from a technical perspective. Only time will tell if it proves superior to Siri or Google Now, but honestly, it doesn’t need to be better, it just needs to be comparable. For Microsoft, this is about showing that their web platform can compete with anything Google can build, or Apple can buy. Interestingly, one of the thing briefly mentioned, was that Cortana only processing personal information stored on your device. While they didn’t go into much detail as to what that actually means, they emphasized (several times) the work being done by the application, as opposed to server side processing. This could stack up as an interesting alternative to Google’s approach which involves their own processes running rough shod over whatever private data you have stored within their server farms.
This dual SIM thing could be really, really cool. Especially with the ability to automatically tag contacts to specific SIMs, this could be a huge deal for individuals carrying multiple phones, or international users where pre-paid sim cards and multiple competing networks are the norm. Couple this feature with all the added enterprise hoopla3 and you have a strong entrant to bring balance to the BYOD conflagration. Perhaps here is a device that both users, and administrators can be happy with. Perhaps.
I’ve always liked WP. I picked up a Samsung Focus not too long after the WP7 release. In fact, I even rocked an HTC S620 back in the day, and loved it4. That being said, I never quite got over the feeling that us Redmond faithful were slowly being left behind. Apple and Google were adding features and apps at breakneck pace, new hardware designs put my plastic slabs to shame5. The other week I was lamenting to a friend that even though WP8 is my favorite mobile OS, it seemed certain that another iPhone was in my future. After yesterday, I’m not so sure. Microsoft has shown that they’re still in the game, at least for now. What we need now is a roadmap, are they on a yearly release cadence? Does the shift to services mean more rapid, out-of-band, updates to Bing and other apps? Right now, I have no idea, but one thing’s for sure. Unless Apple releases a revolutionary change to iOS at WWDC, I’ll be rocking the blocky blue for at least another upgrade cycle.
Meh. I don’t use Windows very often, and I never really found
Metro Microsoft Blokus OS, much of a hassle so bringing back the start bar and such is largely uninteresting to me. That being said, I do like the fact that they’re bringing convergence to the two star crossed launchers, and are seemingly open to user input and complaints. I look forward to them continuing to promote synergy like a boss.
This is where things get interesting. Now, keep in mind, everything we’ve seen so far has been ‘keynote speak’, we’ll have to wait until devs get their keyboards on some shipping software and see what shakes out. That being said, the demos they showed of sharing almost the entirety of the Windows 8 app code base between laptop and phone, are if not a game changer, then at least a huge remittance on the pain and confusion suffered over the past few years. Let me try and expand on this.
The major complaint lodged against WP was the lack of available apps. Purists proceeded to shout back that almost all of the top apps on iOS and Android were available, and that WP was so superior to anything else that you didn’t need all those fancy apps which were merely responding to the shared misery of the Apple Industrial Complex. While I myself uttered the same arguments and passionately demonstrated WPs inherent understanding of information and context one thing still bugged me. The Facebook app was written by Microsoft. In fact, a bunch of the best applications were written either by Microsoft or Nokia. While that’s been changing somewhat over the past few months, it doesn’t seem to bode well for the health of the platform as a whole. In addition, even the apps developed by their respective owners seemed to be afterthoughts, lacking the robustness and features of their gleaming counterparts. Of course, this is the classic chicken and the egg condundrum. Developers aren’t incentivized to port their applications (or develop entirely new ones) to WP without users, and users are less inclined to use a platform which is missing any number of app they find themselves using in an average day. Windows, as a platform, is a totally different story. Just about any application you can think of has some sort of presence. It’s a huge market with a strong user base and entirely new interface that’s just begging for beautiful new ways of interacting with traditional services and applications6. In one fell swoop, what Microsoft’s done here is taken all the work they been building on for the past decade, all the work on the Common Language Runtime, the fragmented APIs and leveraged it open up both platforms to developers with the hopes that all the interesting things people are working on in Windows 8 will quickly be ported to WP8 as well and thus drive user growth on the platform. Of course, this isn’t as simple as snapping one’s fingers and hoping for apps to magically descend from the great developer on high, a lot of applications have years worth of cruft, meticulous validated logic, or fragile code bases that probably won’t take well to being moved to an entirely new system. Don’t worry nervous dev, Microsoft has the (an) answer. During the Keynote they gave a quick demo of an old ADO.net database application, moving the core logic (in its entirety) into its own processing container and then calling that code from a brand new WinRT interface that’s fully touch compatible and complies with all the latest rules in hipster app design. While seemingly simple on the outside, this ‘pathway to upgrading’ opens the door to a huge number of enterprise-esque applications that may never have been upgrading to the new OS without a way to separate the application logic from the presentation layer. In a sense, Microsoft has planted its stake in the ground, it desperately wants apps on in the Windows Store, it doesn’t care about your crappy application logic. It cares that you’re using their new delivery mechanism and embracing all the new ways of touching your computer, if you don’t want to move your app from ADO, fine, don’t, just don’t make your users suffer through your 2000s Windows Forms anymore.
Oh, and you can run your apps on Xbox.
Oh, and you can run your Store apps in a window on the Desktop.
The last reason why this is potentially a big deal, is that everyone else is trying to get here as well, and Microsoft beat them to it. They built their ecosystem from the ground up, they own the compilers, they own the tools, they own the cloud, they own the devices, and now they can leverage all those benefits to give a unified set of tools and APIs to enable developers to develop software in a way views hardware in the same way web apps view browsers, they don’t care what your OS is, they don’t really care what modern browser you’re running, or what weird refresh rate you’ve set your monitors to, they just run on a common runtime and go from there7.
BUILD 2014 was Microsoft taking a stand. They came out declared a vision for future, and set down the first, few, steps on how to get there. While you may disagree with the direction they’ve chosen, or you may find it overly ambitious, or maybe you’re still smarting over IE6, the fact remains that they’re going somewhere, and it’s functionally different from anything Google or Apple is doing.
While it’s still too early to know how things will pan out in the long run, personally I’m hopefully cautious. I think the path they’ve presented is imminently achievable, I think it’s a realistic approach to the direction computing is moving, I think it leverages some really cool technologies, and I think it’s going to result in genuinely useful tools for their users.
It’ll be interesting to watch both I/O and WWDC and see what tricks the California wonder twins (if that’s not a phrase, it should be) have up their sleeves. Regardless though, last week showed that the giant of Redmond still has some fight left in him.