Pontifications on Microsoft and the Tech Industry

Closing the Diary

It is with some sadness that I write this post as my last for the Redmond Diary blog on the Redmond Developer News and Visual Studio Magazine Web sites.

Eleven days ago, I started a new blog for ZDNet covering Big Data, at http://zdnet.com/blog/big-data.  There’s been a ton of interest around Big Data in the industry lately and the topic ties into the database and BI work that I’ve done throughout most of my career.  So when I was asked to write the blog, I really couldn’t say no.  I agreed to write 3 to 4 posts a week at a minimum for Big on Data (the new blog’s name) and that just doesn’t leave me enough time to keep Redmond Diary fresh.  If we kept the latter going with me posting only occasionally, that wouldn’t serve RDN’s and VSM’s readers well, at all.

But I am certainly not going away.  I’ll continue to write my monthly Redmond Review column for both sites, and for VSM’s print edition.  I’ll likely also be doing guest posts on this site every so often.  I’ll proudly continue to co-chair Visual Studio Live! and this year I’ll have a co-chair role in SQL Server Live!, to be held in Orlando this December, as well.  I’ve been working with 1105 and the publications and events it acquired from FTP since 1994, and I have no plan to stop.

My personal blog at www.brustblog.com will stay up, even if it will be refreshed less frequently. And you can sign up for my own free newsletter on Microsoft topics, either by texting the word bluebadge to 22828 (in the US) or going to www.bluebadgeinsights.com and signing up for the list at the upper-right hand corner of any page on the site.

I’ll miss posting here.  But I’m excited to keep learning and writing about Big Data.  How fitting in both cases then, that Microsoft’s Hadoop for Windows technology got me started in this exciting industry area.

Can Frameworks and Samples Mash Up?

In the development of line-of-business (LOB) applications, there has long been a certain tug-of-war between tools that automate development, or frameworks that accelerate it, on the one hand; and the notion of coding from scratch, perhaps with the aid of code libraries developed in-house (or by the sole developer), on the other.

This is typically put under the rubric of a zero-sum game before the debate even starts.  Downstream project managers, analysts and users don’t want to pay the tax of having the same old LOB plumbing code reinvented repeatedly.  Developers don’t want to use someone else’s code or be boxed in by the application paradigm on which a commercial framework may rest.  Honestly, both sides have fair points to make here.  And because only one-side can prevail, the other party typically ends up unhappy.  Regardless of the winner, this is bad for the project because developer morale, user buy-in, and/or requirements analysis quality will almost certainly suffer.

At first blush, this seems intractable, especially since there’s legitimacy on both sides.  The PM/analyst/user argument is pretty clear: re-inventing the wheel of data access, UI production, security and any number of other LOB infrastructure code areas is wasteful and error prone.  From the developer point of view, though, things aren’t so simple.  The glib reaction to the developer interest goes something like this “I pay you to write software that helps my business.  I don’t pay you to engage in your ‘craft’.”  And while there is validity to that position, I think it’s also a bit naïve.

Many developers got into the profession because getting paid to do what is or was a hobby, a passion or both, is like a dream come true.  Yes, getting paid for it adds stress that doesn’t exist on the hobby side.  And, yes, it adds politics, and inefficiencies as well.  That’s why they call it work, and that’s a fair compromise to do what you love.  But the love is important, and most developers find it somewhere between tedious and unacceptable for their core work to be based on outdated technology, use ill-conceived architectures, or worst of all, be boring and clerical.  Most developers know that the right work situation will be fulfilling.  At the same time, smart developers know that the wrong situation is often close at hand – and one out-of-their-control decision away.  And, like it or not, developers see frameworks and code generators as harbingers of those bad decisions.

But the question of “to tool or not to tool” may have a false premise; maybe there’s a middle ground.  Some frameworks are published in source code form.  I recently reviewed one such product, called B1Framework. I didn’t love everything about it, but I did like the well-structured source code, and I especially liked the multithreaded, non-blocking code used for all data access operations against any of the big three relational database products.  I happen to know this code was borne of projects at very demanding financial services clients here in New York.  And the idea that my consulting firm clients could appropriate the techniques in the code, or use the code outright, at projects for similar clients, without having to buy into the entire framework, seems pretty compelling.

I used to think the benefit of frameworks with source code was the deterrent against bad code that shared source can provide, and the ability for developers to tweak what the framework does.  But during my review, I realized the bigger benefit is the ability to learn exactly how the framework does something, to become a better coder for it and, yes, to develop an app more quickly and with fewer bugs by using that knowledge.  And developers aren’t limited to mere adoption of the code; they can outright steal code that looks solid.  In fact, this isn’t stealing at all, since the whole benefit of a framework is that you license it so you can use its code.

Developers love to research techniques and learn from sample code.  So maybe it’s best not to look upon frameworks as imposed mandates, but rather as well-engineered samples, with actual support, that come with a license for embedded redistribution in an application.  Might this diffuse the tension between developers and stakeholders?  The latter want things to be cost-efficient and well-engineered; the former want to learn, and verify underlying code instead of leaving it in a black box.  Using frameworks as resources, and not as regulations, would seem to get us both, and it can help framework developers. They get to share their solutions with other developers, and have an app store-like revenue incentive to do so.

Maybe I’m the one being naïve, and I’m eager to hear your comments on the matter.  But sometimes the key to solving problems is outlook, rather than conquest.

WOA, Dude

This was a big week for Windows 8 news (given the relative secrecy around the whole project).  At the beginning of the week we learned that the Consumer Preview (fka the "Beta") of Windows 8 will be released at the very end of the month in concert with the Mobile World Congress conference in Barcelona (MWC).  Then, just yesterday, Windows and Windows Live Division President Steven Sinofsky uploaded an 8600+ word post to the Building Windows 8 blog detailing Microsoft's plans for Windows on ARM (i.e. Windows for devices using the same low-power processor designs used in virtually all smartphone and tablet devices today).  It's probably worthwhile to deconstruct these two developments a little, as I think they are two sides of the same coin.

The first thing to note is that Microsoft launched the Beta of Windows 7 at the Consumer Electronics Show (CES) in January, 2009.  But for Windows 8 in 2012, Redmond decided to wait until February and do it at the MWC instead.  Part of the reasoning behind this may have been that the Beta wasn't ready in early January, but I think another part, or maybe all, of the reasoning is based on Microsoft's understanding that PCs are going mobile.  Perhaps Microsoft doesn't view where we are as the "post-PC" era, but that really comes down to semantics, as the tablet-style devices that Microsoft continues to call PCs seem to be the "hero devices" for the new version of the Windows operating system.  Hence the showcase at MWC for Windows 8 and this week's white-paper-as-blog-post on Windows on ARM (WOA).

The WOA news was pretty big, so let's just cut to the chase: WOA will feature a Windows desktop mode, but the only things you'll be able to run there are applets that are part of Windows itself, Internet Explorer 10 (which, arguably, is one of those applets anyway) and the forthcoming version of Office, codenamed "Office 15."  There won't be other apps there, and browser plug-ins, as Sinofsky revealed in his interview with All Things D's Ina Fried, will not offer a workaround...because even the desktop version of IE 10 in WOA won't support them.  That means no Flash on WOA and no Silverlight on WOA either, at all.

Is this nuts?  Honestly, I don't think so.  If you read Sinofsky's post, you'll see there was some pretty methodical thinking behind this, and most of it has to do with power efficiency and reliability of the WOA experience.  Windows Desktop applications are built with an assumption of always-on AC power, or the laptop-style DC power that emulates it.  Desktops and laptops aren't like phones.  They're not devices; they're machines.  People use them as machines, people expect them to work like machines, and developers build machine-oriented apps for them.  That's not a bad thing...in fact, it's required.

But tablets are devices.  Interactions with them are fast and discrete, like a stand-up meeting rather than an all-morning whiteboard session.  Get in, get out, and go forth.  That's why WOA will be installed on the device when you buy it.  That's why all updates will come from the Windows Update system, and why all apps will come from the Windows Store.  That makes sense.  WOA products are different products, and will face different expectations.  In 2002, Bill Gates wrote one of his watershed all-personnel memos, titled Trustworthy Computing.  While much of the memo was focused on security, Gates had this to say toward the conclusion of the memo: "Systems will have to become self-managing and inherently resilient. We need to prepare now for the kind of software that will make this happen, and we must be the kind of company that people can rely on to deliver it."  Ten years later, Windows 8, and especially Windows on ARM, seem poised to fulfill this goal.

So why call WOA devices PCs?  While part of this is due to the politics and semantics I alluded to above, I think another part of it has to do with productivity.  Microsoft sees PCs, in addition to being leisure devices, as things (machines or devices) with which people get work done.  And that's why, I believe, Microsoft is allowing one non-OS application suite to run in the Desktop mode: Office.  Take a look at this video with Scott Seiber, featured in Sinofsky's post - particularly at the 3:46 time marker - and you'll see what I mean.  I haven't used Office 15, so I don't know how productive it really is with touch, but it looks good.  I have used iWork on the iPad, and I know that, for me at least, it's not productive at all.

So here's where we are with Windows 8:  The Intel platform will offer a full Desktop mouse-and-keyboard experience and will feature a split personality, allowing Metro-style apps to run as well, sometimes with touch.   Windows on ARM devices will offer the Metro-style touch-first experience first-and foremost, and still provide the productivity of Office without forcing users to switch to a machine, like the iPad does today.  Intel PCs for Windows 8 will be machines with device capabilities.  Windows on ARM "PCs" will be devices with "in-a-pinch" Windows desktop capabilities, including the platform's crucial desktop productivity apps, optimized for touch and power conservation.

I don't know if Microsoft can beat Apple with this approach, but it looks like the only logical way forward.  A logical approach plus a lot of perseverance can be a winning strategy.  It has been with a great number of Microsoft's other products.

A Windows Phone-CES Post Mortem

I attend the Consumer Electronics Show (CES) to follow and cover Microsoft, both in terms of its announcements at the show, and those of its competitors. From that standpoint, and since Microsoft announced that this year’s CES would be its last, I attended again this year and I think it was the best CES Microsoft’s had since I started attending.  But the reasons for that are unexpected and surprising.  Let me give you a little more context and explain why.

Microsoft has, since 1998, delivered the kickoff keynote for the entire CES conference, and has typically used it to make important announcements.  For example, when I attended my first CES in 2009, Microsoft used the keynote to announce the the Windows 7 beta.  The company has also used past keynotes to show off Project Natal (which became Kinect) and at last year’s kickoff, Microsoft announced Windows on ARM.

So over the fall, I expected big things from this year’s keynote, like the Windows 8 beta announcement and/or something around the “Tango” or “Apollo” releases of Windows Phone.  But in the run up to the show, we learned that the Windows 8 beta wouldn’t be out until February, we got fairly clear indications that Windows Phone technology announcements wouldn’t be on the agenda and then Microsoft announced that 2012 would be its last year at CES.

Correspondingly, I expected very little out of the Microsoft keynote.  And in terms of news, very little is what we got.  I mean, sure, Ryan Seacrest anchored the event, and there was a roster of smaller announcements (if you want, you can read about them in my special Redmond Roundup @ CES dispatch). But the keynote’s Windows Phone, Windows 8 and Xbox/Kinect demos  were basically encore presentations from the Windows Phone 7.5 launch, //build/ and E3.

But somehow, things seemed to come together for Microsoft at this CES. To begin with, Nokia announced its Lumia 900 Windows Phone handset, for release this Spring on AT&T.  It did so at its own, somewhat low-key press conference downstairs from, and a few hours before, Microsoft’s keynote.  The phone looked great and response was very positive.  Nokia also made official the immediate availability of the Lumia 710 on T-Mobile USA for $49.99.  Ballmer joined Nokia’s CEO Stephen Elop on stage for part of this press conference, and I think it was pivotal for Microsoft. .

I didn’t really appreciate that fully until during the show. Nokia’s booth was very busy, and its Windows Phone handsets were everywhere.  Even at the displays where Nokia was showing its mobile audio accessories, the sound sources were 710 and 800 handsets.  It’s as if the company were changing its name from Nokia to Lumia. 

Lumia represents much more than robust support for the platform by an OEM.  When I went by the booth and watched a few demos, I realized that Nokia’s Lumia 800 and 900 phones don’t just run Windows Phone, they transform it.  The software doesn’t change, mind you, but the context has changed completely. Those handsets are so elegant, and Nokia is so unequivocally committed to Windows Phone, that suddenly it shines.  Pride replaces caveats, beauty replaces clunky-ness, excitement replaces postponed hope and, for the attendees of CES, interest replaced cynicism and condescension. 

With Android receding to hum-drum, commodity status at this CES and the iOS ecosystem devices seeming less prominent as well, Windows Phone seemed to have the “it” status.  No wonder Joe Belfiore, Brandon Watson and others from the Windows Phone team looked so happy at the keynote.

And perhaps most interesting, that Windows Phone buzz seemed to have created anticipation around Windows 8.  It’s long been my suspicion that, when released, Windows 8 will lend gravitas and momentum to Windows Phone.  But I never really considered that this booster effect could work in both directions. Add-in the “Ultrabook” laptops displayed by a number of vendors at CES, and things are looking surprisingly positive for Microsoft.  And all this during its final, understated year at the show.

Microsoft’s CES keynote did do one thing quite boldly: it presented Metro as the company’s key value proposition.  That makes a lot of sense.  Metro is non-derivative; it builds on Microsoft’s versatility across contexts (work at the office, gaming/entertainment in the living room and a combination of the two while mobile); and with the right partners having the right focus, execution can be elegant, compelling and open.

Redmond still has a huge fight on its hands, but it seems to be finding a certain peace with itself, building good technology, letting its partners do the talking, providing value to the enterprise and proving its mettle at a consumer event.  Now it needs to sustain this momentum, and continue to be patient.

Windows 8 Will be Here Tomorrow; but Should Silverlight be Gone Today?

The software industry lives within an interesting paradox. IT in the enterprise moves slowly and cautiously, upgrading only when safe and necessary.  IT interests intentionally live in the past.  On the other hand, developers, and Independent Software Vendors (ISVs) not only want to use the latest and greatest technologies, but this constituency prides itself on gauging tech’s future, and basing its present-day strategy upon it.  Normally, we as an industry manage this paradox with a shrug of the shoulder and musings along the lines of “it takes all kinds.”  Different subcultures have different tendencies.  So be it.

Microsoft, with its Windows operating system (OS), can’t take such a laissez-faire view of the world though.  Redmond relies on IT to deploy Windows and (at the very least) influence its procurement, but it also relies on developers to build software for Windows, especially software that has a dependency on features in new versions of the OS.  It must indulge and nourish developers’ fetish for an early birthing of the next generation of software, even as it acknowledges the IT reality that the next wave will arrive on-schedule in Redmond and will travel very slowly to end users.

With the move to Windows 8, and the corresponding shift in application development models, this paradox is certainly in place. On the one hand, the next version of Windows is widely expected sometime in 2012, and its full-scale deployment will likely push into 2014 or even later.  Meanwhile, there’s a technology that runs on today’s Windows 7, will continue to run in the desktop mode of Windows 8 (the next version’s codename), and provides absolutely the best architectural bridge to the Windows 8 Metro-style application development stack.  That technology is Silverlight.  And given what we now know about Windows 8, one might think, as I do, that Microsoft ecosystem developers should be flocking to it.

But because developers are trying to get a jump on the future, and since many of them believe the impending v5.0 release of Silverlight will be the technology’s last, not everyone is flocking to it; in fact some are fleeing from it.  Is this sensible?  Is it not unprecedented?  What options does it lead to?  What’s the right way to think about the situation?

Is v5.0 really the last major version of the technology called Silverlight?  We don’t know.  But Scott Guthrie, the “father” and champion of the technology, left the Developer Division of Microsoft months ago to work on the Windows Azure team, and he took his people with him.  John Papa, who was a very influential Redmond-based evangelist for Silverlight (and is a Visual Studio Magazine author), left Microsoft completely.  About a year ago, when initial suspicion of Silverlight’s demise reached significant magnitude, Papa interviewed Guthrie on video and their discussion served to dispel developers’ fears; but now they’ve moved on.

So read into that what you will and let’s suppose, for the sake of argument, speculation that Silverlight’s days of major revision and iteration are over now is correct.  Let’s assume the shine and glimmer has dimmed.  Let’s assume that any Silverlight application written today, and that therefore any investment of financial and human resources made in Silverlight development today, is destined for rework and extra investment in a few years, if the application’s platform needs to stay current.

Is this really so different from any technology investment we make?  Every framework, language, runtime and operating system is subject to change, to improvement, to flux and, yes, to obsolescence.  What differs from project to project, is how near-term that obsolescence is and how disruptive the change will be.  The shift from .NET 1.1. to 2.0 was incremental.  Some of the further changes were too.  But the switch from Windows Forms to WPF was major, and the change from ASP.NET Web Services (asmx) to Windows Communication Foundation (WCF) was downright fundamental.

Meanwhile, the transition to the .NET development model for Windows 8 Metro-style applications is actually quite gentle.  The finer points of this subject are covered nicely in Magenic’s excellent white paper “Assessing the Windows 8 Development Platform.” As the authors of that paper (including Rocky Lhotka)  point out, Silverlight code won’t just “port” to Windows 8.  And, no, Silverlight user interfaces won’t either; Metro always supports XAML, but that relationship is not commutative.  But the concepts, the syntax, the architecture and developers’ skills map from Silverlight to Windows 8 Metro and the Windows Runtime (WinRT) very nicely.  That’s not a coincidence.  It’s not an accident.  This is a protected transition.  It’s not a slap in the face.

There are few things that are unnerving about this transition, which make it seem markedly different from others:

  • The assumed end of the road for Silverlight is something many think they can see.  Instead of being ignorant of the technology’s expiration date, we believe we know it.  If ignorance is bliss, it would seem our situation lacks it.
  • The new technology involving WinRT and Metro involves a name change from Silverlight.
  • .NET, which underlies both Silverlight and the XAML approach to WinRT development, has just about reached 10 years of age.  That’s equivalent to 80 in human years, or so many fear.

My take is that the combination of these three factors has contributed to what for many is a psychologically compelling case that Silverlight should be abandoned today and HTML 5 (the agnostic kind, not the Windows RT variety) should be embraced in its stead.  I understand the logic behind that.  I appreciate the preemptive, proactive, vigilant conscientiousness involved in its calculus.  But for a great many scenarios, I don’t agree with it. 

HTML 5 clients, no matter how impressive their interactivity and the emulation of native application interfaces they present may be, are still second-class clients.  They are getting better, especially when hardware acceleration and fast processors are involved.  But they still lag.  They still feel like they’re emulating something, like they’re prototypes, like they’re not comfortable in their own skins.  They are based on compromise, and they feel compromised too.

HTML 5/JavaScript development tools are getting better, and will get better still, but they are not as productive as tools for other environments, like Flash, like Silverlight or even more primitive tooling for iOS or Android.  HTML’s roots as a document markup language, rather than an application interface, create a disconnect that impedes productivity.  I do not necessarily think that problem is insurmountable, but it’s here today.

If you’re building line-of-business applications, you need a first-class client and you need productivity.  Lack of productivity increases your costs and worsens your backlog.  A second class client will erode user satisfaction, which is never good.  Worse yet, this erosion will be inconspicuous, rather than easily identified and diagnosed, because the inferiority of an HTML 5 client over a native one is hard to identify and, notably, doing so at this juncture in the industry is unpopular.  Why would you fault a technology that everyone believes is revolutionary?  Instead, user disenchantment will remain latent and yet will add to the malaise caused by slower development.

If you’re an ISV and you’re coveting the reach of running multi-platform, it’s a different story.  You’ve likely wanted to move to HTML 5 already, and the uncertainty around Silverlight may be the only remaining momentum or pretext you need to make the shift.  You’re deploying many more copies of your application than a line-of-business developer is anyway; this makes the economic hit from lower productivity less impactful, and the wider potential installed base might even make it profitable.

But no matter who you are, it’s important to take stock of the situation and do it accurately.  Continued, but merely incremental changes in a development model lead to conservatism and general lack of innovation in the underlying platform.  Periods of stability and equilibrium are necessary, but permanence in that equilibrium leads to loss of platform relevance, market share and utility.  Arguably, that’s already happened to Windows.  The change Windows 8 brings is necessary and overdue.  The marked changes in using .NET if we’re to build applications for the new OS are inevitable.  We will ultimately benefit from the change, and what we can reasonably hope for in the interim is a migration path for our code and skills that is navigable, logical and conceptually comfortable.

That path takes us to a place called WinRT, rather than a place called Silverlight.  But considering everything that is changing for the good, the number of disruptive changes is impressively minimal.  The name may be changing, and there may even be some significance to that in terms of Microsoft’s internal management of products and technologies.  But as the consumer, you should care about the ingredients, not the name.  Turkish coffee and Greek coffee are much the same. Although you’ll find plenty of interested parties who will find the names significant, drinkers of the beverage should enjoy either one.  It’s all coffee, it’s all sweet, and you can tell your fortune from the grounds that are left at the end.  Back on the software side, it’s all XAML, and C# or VB .NET, and you can make your fortune from the product that comes out at the end.  Coffee drinkers wouldn’t switch to tea.  Why should XAML developers switch to HTML?

Nokia and Windows Phone: What Could Still Go Wrong


The much ballyhooed release of Nokia’s first Windows Phone handsets finally took place Wednesday at the Nokia World event in London. There had been a lot of anticipation building up to this “reveal,” and it is genuinely a watershed moment for the Windows Phone platform.  That’s because Nokia’s adoption of Windows Phone brings several firsts:

  • For the first time, a major mobile phone player has standardized on Windows Phone as its exclusive smartphone platform.
  • For the first time (apparently) an OEM will be working actively with carriers to see to it that Windows Phone will be well-promoted and featured prominently at retail points of sale
  • For the first time, a Windows Phone OEM has within its comfort zone the ability to push products out to numerous global markets (not just North America, Asia and Western Europe) and to manufacture handsets at price points that can work in those markets
  • For the first time, a major mobile hardware company has a self-interest, if not its self-preservation, at stake in the success of Windows Phone.

Now that the first two Nokia Windows Phone handsets, the Lumia 800 and 710, have come out, Windows Phone can stop waiting.  But it also has to stop merely hoping, and start actually achieving.  This is a big deal, but this is not finish line.  And make no mistake, the odds are still stacked in against Windows Phone.  The challenges are not insurmountable, but they are numerous and they are formidable.  Among them:

  • Windows Phone needs to be an express stop for apps developers; right now it’s local station open during limited hours.  Although there are now over 35,000 apps for Windows Phone – a very impressive number for a phone that’s a bit less than 1 year old – there are numerous major or important apps that aren’t on the platform.  Even apps that are on Windows Phone have more token representation than on iOS or Android.  Compare the lone ESPN Score Center on Windows Phone to ESPN’s app presence on the iTunes App Store, or try searching for “ESPN” on the Android Market and see what comes up.  Likewise, Windows Phone has Angry Birds, but only one version of it, as opposed to the three versions on the other two major smartphone platforms. Will this situation improve?  Will Windows Phone become a mandatory chennel for apps developers?  Or will we keep looking forward better app availability tomorrow?
  • Windows Phone doesn’t have a carrier champion.  Apple may not have needed one, given its own retail network, but it had one nonetheless in AT&T.  (An)droid had a champion in Verizon.  An OEM champion is good, but carriers may be even more important worldwide, and they definitely are in the United States.  Will Nokia make this better, especially in the US, where it has so little influence?
  • The Smartphone landscape is no longer a green field, and even in “the Enterprise,” preferences and prejudices are in evidence.  IT may have a disincentive in deploying Windows Phone handsets to employees, because those employees may have a strong preference for something else.  That was not true for Blackberry/RIM in the last decade, and it’s not true for iOS in this one.  It may or may not be true for Android.  Microsoft has an uphill battle even in allegedly friendly territory.  It has no home field advantage.  Anywhere.
  • Windows Phone hardware has been lackluster.  What we’ve seen so far is mostly repurposed Android chasses with three haptic buttons on the bottom instead of four.  What Nokia showed today is better, at least stylistically in the case of the Lumia 800 (pun intended), but features are still inferior with no front-facing camera and limited on-board memory.  Today was a good start.  Will the next phones be even better, or will the momentum slow?
  • Marketing of Windows Phone by Microsoft has been weak, and inconsistent.  There was a media blast last year, when the phones were launched, and then things petered out.  AT&T stores had a Windows Phone section early on, but that seems to have been withdrawn too. Without strong, sustained marketing, Windows Phone needs to rely on grass roots popularity and word of mouth for growth.  I’m skeptical that such viral popularity will spontaneously appear and build.  Will Nokia fill the void?  I think so, at least in Europe, but will that build momentum for the Windows Phone platform overall?

Windows Phone has many hurdles ahead.  It would be easy for any one of them to foil Microsoft (and Nokia) in the smartphone market.  But I (a Windows Phone user) am not sure that it would be so hard climb these hurdles and even transcend them, either.  Microsoft and Nokia can seed the Marketplace with more major, high-quality apps.  Nokia can come out with a second wave of handsets that could kick some butt, in looks and in technology.  Microsoft can now (finally) integrate Skype into the Windows Phone OS to create consumer appeal and help “bring your own device” Enterprise employees save on their calling plan minutes.  Microsoft could decide tomorrow to market and advertise Windows Phone aggressively, and hire the right agency to do this in a hip way, and hopefully in coordination with Nokia.  And with that combination of positive changes, a carrier could finally become interested.  For example, Verizon (rumored to have had employees on site in London today), and its 45% London-based owner, Vodafone.

Would such a turnaround take perfect alignment of the stars to pull off?  Maybe.  But determination to win would make this outcome most likely

Putting the “BI” in Big Data

Last week, at the PASS (Professional Association for SQL Server) Summit in Seattle, Microsoft held a coming out party, not only for SQL Server 2012 (formerly “Denali”), but also for the company’s “Big Data” initiative.  Microsoft’s banner headline announcement: it is developing of a version of Apache Hadoop that will run on Windows Server and Windows Azure.  Hadoop is the open source implementation of Google’s proprietary MapReduce parallel computation engine and environment, and it's used (quite widely now) in the processing of streams of data that go well beyond even the largest enterprise data sets in size.  Whether it’s sensor, clickstream, social media, location-based or other data that is generated and collected in large gobs, Hadoop is often on the scene in the service of processing and analyzing it.

Microsoft’s Hadoop release will be a bona fide contribution to the venerable open source project. It will be built in conjunction with Hortonworks, a company with an appropriately elephant-themed name (“Hadoop” was the name of the toy elephant of its inventor’s son) and strong Yahoo-Hadoop pedigree.  Even before PASS, Microsoft had announced Hadoop connectors for its SQL Server Parallel Data Warehouse Edition (SQL PDW) appliance.  But last week Microsoft announced things that would make Hadoop its own – in more ways than one.

Yes, Hadoop will run natively on Windows and integrate with PDW.  But Microsoft will also make available an ODBC driver for Hive, the data warehousing front-end for Hadoop developed by FaceBook. What’s the big deal about an ODBC driver?  The combination of that driver and Hive will allow PowerPivot and SQL Server Analysis Services (in its new “Tabular mode”) to connect to Hadoop and query it freely.  And that, in turn, will allow any Analysis Services front end, including PowerView (until last week known by its “Crescent” code name), to perform enterprise-quality analysis and data visualization on Hadoop data.  Not only is that useful, it’s even a bit radical.

As powerful as Hadoop is, it’s more of a computer scientist’s or academically-trained analyst’s tool than it is an enterprise analytics product.  Hadoop tends to deal in data that is less formally schematized than an enterprise’s transactional data, and Hadoop itself is controlled through programming code rather than anything that looks like it was designed for business unit personnel.  Hadoop data is often more “raw” and “wild” than data typically fed to data warehouse and OLAP (Online Analytical Processing) systems.  Likewise, Hadoop practitioners have had to be a bit wild too, producing analytical output perhaps a bit more raw than what business users are accustomed to.

But assuming Microsoft makes good on its announcements (and I have pretty specific knowledge that indicates it will), then business users will be able to get at big data, on-premise and in-cloud, and will be able to do so using Excel, PowerPivot, and other tools that they already know, like and with which they are productive.

Microsoft’s Big Data announcements show that Redmond’s BI (Business Intelligence) team keeps on moving.  They’re building great products, and they’re doing so in a way that makes powerful technology accessible by a wide commercial audience.  For the last seven years, SQL Server’s biggest innovations have been on the BI side of the product.  This shows no sign of stopping any time soon, especially since Microsoft saw fit to promote Amir Netz, the engineering brain trust behind Microsoft BI since its inception, to Technical Fellow.  This distinction is well-deserved by Mr. Netz and its bestowal is a move well-played by Microsoft.

Last week’s announcements aren’t about just Big Data; they’re about Big BI, now open for Big Business.

A Tale of Two Windows


As I write this post, Microsoft’s Windows 8-focused //build/ conference has just ended.  The apprehension so many developers had around the show is now dissipated, the developer platform and tools have been detailed, and we have all been able to work with the operating system, and develop apps for it, on a touch device, for about 72 hours now.  Most people, myself included, like what they saw.  The OS is touch-friendly without being an iOS copycat; our developer skill set investments are nicely protected; a new generation of developers trained on the HTML/CSS/JavaScript stack of Web technologies can join the party, and Windows will continue to run on a greatly diverse set of machines.

In working with Windows 8, I have felt an odd combination of excitement and concern.  Each time I feel anticipation for something in Windows 8 that looks really neat, I keep feeling a counterweight, an amorphous tug of caution, pulling me back.  For about 2 days, I couldn’t put my finger on what was causing this Newton’s Third Law of Windows within me.  And then I figured it out. Microsoft itself faces mutual, opposing market forces. And Windows 8 reflects the company’s admirable efforts at, and daunting task of, addressing them

There’s touch, and there’s the keyboard and mouse; there are tablets, and there are laptops and desktops; there’s ARM and Intel; there’s Metro and the desktop, there’s WinRT and the .NET CLR.  And of course, there’s the consumer and the Enterprise.  Microsoft’s challenge is that it must appeal to new market segments and new trends, but it must also serve – and leverage – the Enterprise, and consumers who prefer classic Windows.

Booting Windows is almost an allegory for this attempt at mutual coexistence.  Windows 8 takes users right to the new Metro-style Start screen but enables them to call up desktop mode applications directly.  The Metro version of Internet Explorer can take you right to “desktop view.”  The Metro version of Control Panel has a “More settings” option that takes you to the standard desktop version of that same applet.  The operating system seems well at home on a tablet, but you can absolutely install it on a conventional laptop or desktop and use it as an upgrade.  Or perhaps that would be better deemed a retrofit.

No other software company has to do this.  Oracle, IBM and SAP focus on the Enterprise.  Apple focuses on the consumer.  Even hardware companies tend to divide into camps: Samsung and Sony and Acer look to the consumer and, I would argue, Dell looks mostly to the Enterprise.  HP tried to serve both demographics, but it seems close to focusing on businesses more exclusively.

But Microsoft is in a special place.  It can neither abandon the old nor deny the new.  It must serve both masters.  It must mediate, it must reconcile, it must negotiate coexistence.  It must cross a chasm, and that is hard.  But it then must bridge that divide, and that is harder still.  To do so seems foolhardy, and yet it is necessary.  It seems almost irrational, and yet it is oddly logical. 

Enmeshing such different worlds might appear doomed to failure.  And yet the sleeping giant that so many think Microsoft is, this company that started out making BASIC compilers for microcomputers in the 1970s, is taking on the challenge anyway.  Because it knows it must.

This week at //build/, many started to believe that it can.

AppleSoft Basics

There are plenty of posts and articles out there that provide retrospectives of, and pay homage to, Steve Jobs’ tenure as Apple CEO.  I’m not an expert on Apple or Jobs, and this is not one of those posts.

But Steve Jobs’ resignation from the CEO post does mark the end of a related era I know something about.  It’s the era that Bill Gates and Steve Jobs defined together.  And now that both of them have ended their CEO runs and receded to roles as Chairmen of the Board, it’s important to consider just how much these two men did together to pioneer the industry we now all work in and define ourselves by. 

Yes, I identify the era with both men, despite many seeing them as perennial adversaries who led companies that approach computing very differently. The fact is that the two men, and the two companies, have a long and storied shared heritage.  It dates back to 1977 when 8-bit computing became hot and when Microsoft BASIC ran on each leading machine of that time.  I started working with computers a year later, at the age 12.  I didn’t own an Apple II, but I used one at school, and remember distinctly the presence of Microsoft BASIC on that machine, albeit branded “AppleSoft BASIC.”  It’s a fitting name, and drives home an underpinning to this industry that many don’t realize or have chosen to forget.

I could pontificate some more on that, but it’s more effective for people to hear it in context.  With that in mind, I recommend to all as required viewing a 2007 interview of Jobs and Gates by Walt Mossberg and Kara Swisher at that year’s All Things D conference.  Here’s a link to the video:
It doesn't want to play full-screen, but your browser's zoom function should mitigate this problem.

Watch the full length interview video if you can; it’s really quite stunning.  It shows how much more these two companies have in common than they do anything in conflict, and how much the two men share in career history and mutual respect.  There are also humbling ironies here, including numerous references to how much bigger MS is than Apple, and Jobs talking about how Apple gets excited if its market share increases by 1 point.  (Another irony is that it's a Flash video and won't play on an iPad.)

Best of all though, if you advance to the 37:00 mark, you will hear Bill Gates speak (with Jobs politely listening) of a future where people will have multiple devices, including a tablet (which they will use extensively), a phone ("the device that fits in your pocket") as well a more conventional machine with a screen and keyboard.  Then Jobs adds commentary on how resilient the PC is and how its death has been exaggerated. 

Jobs continues by discussing post-PC devices, illuminating a difference in the two men’s outlooks that is not insignificant.  But by and large, it's as if they are of one philosophy.  In highlighting that broad unity, the interview kicks the whole polarized industry paradigm and leaves it on its ass.  I look at that as just one more valuable contribution to our field. 

Did Google and HP Thread WP7’s Needle?

I’m on vacation this week, and I didn’t intend to write a blog post.  But after the sea changes in the mobile computing industry and, ironically, my extra time to ponder it, I really couldn’t stay silent.

In the space of four days, Google may have effectively taken Android “private” and HP seems to have euthanized webOS in public.  It’s really hard to believe all of this is happening.  But we can at least have a go at understanding what it means and what might, or might not, come next for Microsoft as a result.

Hello Moto

On Monday, Google  announced its intention to acquire Motorola Mobility Holdings, the “baby Moto” that makes mobile handsets, tablets and even set top boxes.  Google apparently did this to bulk up its patent portfolio, and thus a credible deterrent against companies suing manufacturers of Android devices for patent infringement. 

All by itself, this move is astonishing.  Because in an apparent move to protect and support Android licensees, Google is acquiring one of the biggest of them and in doing so has almost certainly spooked the others.  More fundamentally, Google is acquiring a company that makes hardware, even though its whole pedigree, and forte, is in monetizing digital assets.  The notion that Google bought a company that makes and sells physical goods, and is happy about that, seems farfetched at best.

Why did Google do the deal?  Well, for one thing, It appears Microsoft was in talks with Motorola too.  If Google was behind Microsoft in the patent arms race before, imagine where it would have been – and where Android would have been – if MS got Moto.  Moto would have gone WP7 (their CEO had just last week announced he was open to the idea) and HTC, Samsung and LG might have been paying Microsoft more in license fees on Android than they would have had to pay to license WP7 directly.  To avoid this, Google has agreed to drop a cool $12.5 billion on a company that I bet it didn’t even want.

Google was caught between the proverbial rock and a hard place…or at least it was scared into thinking so.  Fear isn’t something we see much of from Google, and I don’t think fear-based decisions tend to be good ones.  Case in point: now HTC and Samsung, who are already WP7 OEMs, may feel the need to hedge their bets, by putting more chips on live tiles than little green robots.

HP: webOS Doesn’t Live Here Anymore

Three days later, albeit after the market closed, HP announced that it’s pulling the webOS-based TouchPad tablet off the market, and likewise webOS-based phones.  That was fast!  As I write this, I am still not certain which was on the market longer: HP’s TouchPad or Microsoft’s KIN.  But whereas Redmond killed KIN to make a better play in the smartphone market by focusing on WP7, HP is killing webOS to retreat and withdraw from from that market.

HP seems to have decided to cut its losses and forfeit the whole race to Apple and Google.  There is the chance that HP will try and license webOS to the Android OEMs who feel jilted by Google, and are looking for a port in the storm.  But if you were one of those OEMs, would you license webOS?  And would you be ready to provide the marketing it so badly needs?

Microsoft in the Catbird Seat?

For Microsoft, the timing of all this is incredible.  In the next 2-3 months, Microsoft will release the “Mango” update to Windows Phone and Nokia will release its first Windows Phone handsets, running that very version of the OS.  Meanwhile, in less than four weeks, Microsoft will finally unveil its Windows 8 tablet strategy, at the //build/ conference in Anaheim.

Right now, Microsoft has a smartphone OS that, in terms of features and capabilities, is comeptitive.  What Microsoft needs is kick-butt tablet technology with a strategy to match, and more apps and enthusiastic OEMs for its smartphone.  The //build// conference may very well give them the tablet piece.  Google and HP may have just handed them the phone piece that completes the puzzle.

It’s Microsoft’s To Lose.  But Will it Win?

Microsoft really couldn’t have asked for more.  The situation and timing are ideal.  But that doesn’t mean Microsoft will keep from tripping over its own feet.  Windows Phone has horrible retail presence and uneven, underpowered marketing.  Members of the Windows Phone team, foremost among them Charlie Kindle, have left the company.  And while Windows 8 could be a great tablet OS, Microsoft will also need great tablet hardware out there for it to run on. 

PC OEMs have not shown themselves competitive to Apple in hardware design, and one of the biggest of those OEMs, HP, has even announced that it may spin off its PC division.  Microsoft has seemingly never managed, or heavily influenced, the designs its hardware partners pursue.  That will need to change.  At the very least, Microsoft will need to impose hardware standards for Windows tablets in the same manner as it did for Windows Phones.

Even if that happens, there’s still a lot that could go wrong for Microsoft on the phone and tablet front.  But after the competitor events this week, Microsoft has only itself to blame if things don’t go right.