Categories
Uncategorized

Microsoft Developer News Roundup: Metro No More, Visual Studio and .NET Final Builds, Speeding Visual Studio by Optimizing the Toolbox and Windows 8 Hackathons in Canada

Metro No More

Don't call it "Metro" any more

As luck would have it, Microsoft is discontinuing the use of the term “Metro”, the name for the design language behind Windows Phone 7 and later, all of Windows 8. It’s a great shame, because it was an unusually pithy and catchy moniker to come from a company that thought that giving products unwieldy names like “Microsoft Server 2008 R2“, “Windows Phone 7 Series“,  and “Windows RT” (Windows 8 for ARM devices) was a good idea.

According to The Verge, they’re working on a replacement term and have asked Microsofties to use “Windows 8 style UI” in the meantime. I’m just worried that the replacement term will be something like “Windows 8 Natural User Interface” or some other multi-word combination that fails to roll off the tongue.

Links

Visual Studio 2012 and .NET 4.5 Have Hit their Final Build

Stick a fork in them: the final builds of Visual Studio 2012 and the .NET 4.5 framework are done! If you’re an MSDN subscriber, you’ll be able to download both on August 15, 2012. If you’re a subscriber with Visual Studio Professional, Premium, Test Professional or Ultimate, you can register for a free one-year developer account for Windows Store immediately as well. No date has yet been announced for Windows Phone developer accounts for Windows Store.

The August 15th date is a “soft launch” of sorts for Visual Studio. The “official” launch happens at a “virtual launch event” on September 12, from 9:30 a.m. to 12:30 p.m. Pacific Time (UTC-7). You can find out more on the Visual Studio 2012 launch site as on the blog of Jason Zander, Corporate Vice President for the Visual Studio Team.

The timing of these final builds coincides with the August 1st announcement that Windows 8 and Windows Server 2012 were released to manufacturing (RTM) and would become generally available on October 26. It was in keeping with their goal to release their developer tools “on the same cadence as our platforms”, according to S. “Soma” Somasegar, Microsoft’s Corporate Vice President of the Developer Division.

Links

Speeding Up the Toolbox Bottleneck in Visual Studio 2012

On the Visual Studio blog, they’ve been writing a series of articles about boosting the IDE’s performance. In the latest article in the series, Visual Studio program managers Duke Kamstra and Chuck England discussed how they increased the speed of many common operations in Visual Studio by optimizing its Toolbox. In many test cases, these improvements sped up these operations dramatically — sometimes by orders of magnitude.

The Visual Studio team has been using performance data from PerfWatson, an extension included in the Visual Studio 2012 beta release which monitors delays on Visual Studio’s UI thread and if the user consents, sends performance and diagnostic reports when the IDE becomes unresponsive. Many of these “performance traces” were generated by the Toolbox, so the team profiled a number of solutions from customers as well as test solutions that would typify the source of a large, complex project.

From the performance traces, the Visual Studio team found a number of scenarios in which the Toolbox was a complete boat anchor that dragged down performance, particularly with large solutions. In one case, they observed that when closing a large solution, the Toolbox blocked the Visual Studio UI for an unacceptable 30 seconds. Even 3 seconds would drive you mad after a while.

They identified the following operations as the ones that provided the best opportunities for optimization:

  • Loading a solution
  • Opening a designer
  • Changing the build configuration (from Debug to Release or vice versa)
  • Building a solution
  • Closing a solution

The team followed a couple of principles in improving Visual Studio’s performance:

Don’t do anything you don’t have to do. The Toolbox ensures that the components it contains are up to date and relevant to the designer currently being displayed. The team discovered that Visual Studio updated the Toolbox window even when it was closed. They also found that when designers updated the Toolbox contents, they did so by clearing and then refilling it with all the components instead of simply adding or removing the components as needed.

Freeing the UI Thread. The UI thread responds to messages from the operating system and the user. Any long-running tasks on the UI thread prevent Visual Studio from responding to user input or messages from the OS to update the screen, making the IDE less responsive. They found that in many cases, work for the Toolbox was being done in the UI thread instead of being performed asynchronously in a background thread.

Kamstra’s and England’s discussion closes with this chart showing the performance improvements that their Toolbox optimizations made when using Visual Studio with their set of benchmark WinFoms-, WebForms- and WPF/XAML-based solutions:

Scenario

WinForms

WebForms

WPF/XAML

Load Solution with Toolbox and Designer Open

80%

89%

81%

Load Solution with Toolbox Open

32%

18%

34%

Open Designer with Toolbox Open

66%

93%

35%

Change Build Configuration with Toolbox Open

92%

54%

44%

Rebuild with Toolbox Open

10%

3%

-3%

Incremental build with Toolbox Open

7%

37%

42%

Close Solution with Toolbox Open

28%

16%

26%

 

For the most part, the operations they set out to optimize now run significantly faster than in earlier versions of Visual Studio 2012.

Windows 8 Hackathons in Canada: I’ll See You at the Toronto One!

Microsoft Canada calls them “Windows 8 Hackathons”, but what they really are is free training for Windows 8 development. If you can spare a whole day off work (I can!) and want to learn how to build Metro — er, Windows 8 style UI — applications, you might want to check this out. Once again, they’re free — all you have to do is register.

The upcoming Hackathons will take place in:

  • Toronto: Friday, August 10 at the Ted Rogers School at Ryerson (I’ll be here — this event is waitlisted)
  • Ottawa: Friday, August 10 at Algonquin College
  • Montreal: Friday, August 17 at the BMO Amphitheatre at Concordia

Links

Categories
Uncategorized

Thoughts on “Microsoft’s Lost Decade” and Its Windows 8 Challenges

The Vanity Fair Article

Kurt Eichenwald’s Vanity Fair article Microsoft’s Lost Decade is finally out, both in print and online. It’s a fascinating read, and as a former Microsoftie, there were moments while reading it where I winced.

Two Things That Stood Out for Me

Since mobile is one of my primary interests, these two facts from the article stand out for me:

The iPhone alone outsells everything Microsoft sells, all put together. For the quarter ending March 31, 2012 — the 2nd quarter of Apple’s fiscal 2012, the 3rd for Microsoft — the iPhone had sales of $22.7 billion, while the sum total of Microsoft’s sales was $17.4 billion.

54 days after Microsoft introduced the Zune, Apple introduced the iPhone. They had very different fates: the Zune had some nice features that set it apart, but failed to make a dent in the MP3 player world, while the iPhone redefined mobile phones in so many ways.

The IBMing of Microsoft

Creative Commons image taken by Ville Miettinen for GameGavel.com.
Click the image to see the source.

The three companies whose names get mentioned the most in the article are Apple, Google and IBM (16 times). You’re likely to have an Apple or Google product in your home (or pocket), but probably not an IBM one (and the ThinkPad doesn’t count; Lenovo’s been making them since 2005).

The article points out that what Apple and Google are doing to Microsoft, Microsoft did to IBM years ago. The Microsofties saw desktop computers as the next big thing, while IBM didn’t. They thought so little of desktops that the original PC was originally produced by their “Entry Level Systems” division, which suggests that they thought of the PC as a toy that you’d use until you were ready to graduate to a big-boy, real computer — one of their mainframes. Just as IBM half-hearted its way out of the PC revolution despite having an early lead and a lot of resources, Eichenwald paints a picture where Microsoft did the same, missing out on things like instant messaging, ebook readers and tablets and phones. IBM had tunnel vision about mainframes, and Microsoft had tunnel vision about Windows.

The Vision Thing

A problem that the Vanity Fair article doesn’t directly bring up is Microsoft’s lack of a lead technical visionary, someone whose role would be to predict the future by inventing it. This was Steve Jobs’ role at Apple, and Bill Gates’ at Microsoft. After Bill came, Ray Ozziewhose title was Chief Software Architect. Ozzie left in late 2010 and there are no plans to fill his position. The departures of two other “vision guys”, Robbie Bach and J Allard, both from the Entertainment and Devices division (who brought forth the Xbox) are only contributing to the vision vacuum. I think that this leaves them stuck in their current mode, best described as “Winning business [is] more important than making great products” by Steve Jobs or lacking “technical rigor” near the top, as Mini-Microsoft put it.

Where Microsoft is Doing Well

The article doesn’t cast Microsoft in a particularly good light, which means that Frank X. Shaw, Microsoft’s Corporate Vice President of Corporate Communications (that’s no typo; the word corporate appears in his title twice) has his work cut out for him. Back in November, he gave a pretty impressive “5 Minutes on The Verge” interview in which he left me with the impression of being more than just a suit, but also a guy with some half-decent tech cred. He also recently fired back at a TechCrunch piece that cites the Vanity Fair article, where he points out that Microsoft has done pretty well financially under Ballmer’s run. In his response, which appears on his Facebook timeline, he writes:

…let’s look at some numbers while Steve B has been CEO. How about:

  • tripled revenue from $23 billion in 2000 to $70 billion in 2011.
  • increased profits from $9 billion in 2000 to $23 billion in 2011.
  • returned $194 billion to shareholders via dividends and stock buyback.

Hmm, those look pretty good. And what about products that sell, you know, like windows 7 and Office of all stripes, and oh yeah, hmm, I’m forgetting something…let me think… oh, got it! During the same period, Microsoft also created entirely new businesses, such as Xbox, the gaming console in the world last year and Kinect, a pretty darn hot consumer electronic device. And, the company’s enterprise Server & Tools business grew significantly in the same time period, reaching $17 billion in 2011. Gee, lost has NEVER looked so good.

He’s right: Microsoft’s revenue and income figures for their 2011 and 2012 fiscal years (their 2012 fiscal year ended June 30) are pretty solid, and they’re even more impressive when you consider the current economic climate. They have grown steadily since Ballmer took over in 2000. The two “big dogs” are doing fine: Windows is still the most-used desktop OS and Office is still the biggest productivity suite in town. SQL Server has grown in leaps and bounds and become a true competitor to Oracle and DB2. C#, .NET, SharePoint and Xbox were launched at or near the start of the Ballmer era, and they’ve all found their places: C# and .NET are popular (C# is at the position on the TIOBE Programming Community Index this month), SharePoint is a $2 billion business, and the Xbox 360 is currently the most popular console on the market. Microsoft tech drives a lot of behind-the-scenes stuff. The money in your bank, the trucks that keep the store shelves stocked, that airline ticket you booked, your local, state/provincial and federal governments — a lot of that is powered by stuff from Redmond.

When you look at it from a non-mobile perspective, Microsoft is doing well. This is even more impressive if you consider how far giants like RIM and Nokia have fallen in less time than Ballmer’s tenure.

Still, it’s a far cry from the days when Microsoft dominated, when you had to worry about them was moving onto your turf and when the final line of startup business plans was often “And then we’ll get acquired by Microsoft”. It’s also not as impressive as the growth of companies like Google and especially Apple, the company they once gave $150 million from “pity cash”.

Executing Like it’s 1999

Simply put, if it’s something that could’ve been easily extrapolated from the state of desktop technology in 1999 — their stock in trade, at the time when they were on top — Microsoft is doing well with it now. Windows and Office were already around and in the number one spot. SQL Server was coming into its own: they released SQL Server 7, the first version that wasn’t based on the Sybase database they bought, that year. Java was being touted as a Microsoft killer, and one of Microsoft’s responses was to announce a new programming language called COOL (C++ Object-Oriented Language), which would eventually become C#. Content management systems were becoming popular, so it’s not a leap to imagine Microsoft making their own: SharePoint. PC gaming was being threatened by the Playstation, the most popular console ever at that time (in the end, over 100 million original Playstations were shipped; the Xbox 360 has shipped just shy of 70 million), so it’s also easy to see Microsoft responding by coming up with their own.

It’s also worth nothing that in 1998, the IT department had enormous specified the machines and software you used at work, and this would influence the sort of computer you’d use at home. Microsoft simply schmoozed the IT departments, which they’re pretty good at.

If it’s a technology that went in a direction that someone in the desktop-centric world of 1998 would’ve found surprising, then Microsoft isn’t doing well at it. When I was at OpenCola during the peer-to-peer era, the word from Microsoft was that IE6 was supposed to be their last browser (this explains the 5-year gap between IE6 and IE7). The future was supposed to be client-server or peer-to-peer applications, with users running a desktop application that would be pushed to them over the internet. They did hedge their bets and create ASP.NET, but they worked hard to make the development model as desktop-like as they could, right down to making it stateful. They were early to market with tablets, pocket computers and smartphones, but their approach was to simply shrink Windows and swap the mouse for a stylus. Their “like the desktop, but lamer” philosophy of mobile computing isn’t all that different from IBM’s “like mainframes, but lamer” approach to desktop computers.

The IT department has also been disrupted by what’s called “the consumerization of IT”. Nowadays, you tell the IT department which devices and computers you use, and that it’s their job to figure out how to support it. Now Microsoft has to schmooze consumers, and Xbox aside, that’s not their strong suit.

Windows 8’s Challenges

Microsoft’s big challenge with the impending release of Windows 8 across desktop, tablet, phone and console as rehabilitating the image of Windows as being the OS you have to use, as opposed to the OS you want to use. “I use a Mac/iOS at home, but they make me use Windows at work” as an increasingly common refrain, and with information technology increasingly appearing in the consumer market first and the business market second, they have to win the consumer market if they intend to keep winning the enterprise market.

Part of the goal of Metro, the tile-based, NUI-ready interface that appears across their desktop, tablet, phone and console operating systems is to rehabilitate its image with consumers, the ultimate end user of their systems, whether at home or in the enterprise. Microsoft wants it to be the OS that you tell the IT department it has to support. Metro takes a lot of its inspiration from airport and train station signage, and like that signage, it’s meant to get out of the way and give you the information you need as quickly as possible. It’s also a bit of a departure from the graphical “language” that iOS and Android have defined, which is a bit of risk-taking that’s uncharacteristic of Microsoft.

While good-looking and pleasant to use, there’s a chance that it might be too much of a departure and turn off users. For a great example of how people can see “good but different” as bad, read Charles Duhigg’s The Power of Habit; there’s a chapter in which he tells the story of how Outkast’s hit Hey Ya was initially a flop because it was too different from other hit songs of the time. With its many single-flat-colour tiles that eschew 3D or gloss effects and its use of motion to convey meaning, it looks rather plain in static photos. It looks much better in video and even more so in actual use. Microsoft will have to get as many people as they can in front of touchscreens, tablets and phones if they intend to get buy-in from the public.

Microsoft is also worried about backwards compatibility in a couple of ways. There’s the more obvious backwards compatibility with software built for previous versions of Windows, and they’ve taken care of this by giving Metro for Intel-based machines a mode that looks more like the Windows of today. There’s also the less obvious backwards compatibility with Microsoft’s long-standing philosophy that the PC is king and everything else is just an extension of it, an observation that gets hinted at in this joke that recently made the internet rounds:

Microsoft’s biggest challenge may also be its most ironic one: FUD. It was once a tool in their PR arsenal (it’s even referred to by name in the Halloween Documents), but as the existence of the Vanity Fair article and others like this recent one from CNet show, it’s now something they have to contend with. For them to succeed, they’re going to have to be willing to give up the old ways of fear, uncertainty and doubt for engage, evolve and execute. We’ll see how that works out for them over the coming months.