Tag Archives: microsoft

Windows RT and Surface RT: Why Microsoft should persevere

Microsoft has reported a $900 million write-down on Surface RT inventory in its latest financial results. Was Surface RT a big mistake?

A loss of that size is a massive blunder, but the concept behind Surface RT is good and Microsoft should persevere. Here’s why.

Surface RT is experimental in two ways:

  • It was the first Microsoft-branded PC (or tablet if you prefer).
  • It was among the first Windows RT devices. Running on the ARM processor, Windows RT is locked down so that you can only install new-style Windows 8 apps, not desktop apps. However, the desktop is still there, and Microsoft bundles Office, a desktop application suite.

Microsoft had (and has) good reason to do both of these things.

Historically, DOS and Windows prospered because it was open to any hardware manufacturer to build machines running Microsoft’s operating system, creating a virtuous circle in which competition drove down prices, and abundance created widespread application support.

This ecosystem is now dysfunctional. The experience of using Windows was damaged by OEM vendors churning out indifferent hardware bundled with intrusive trial applications. It is still happening, and when I have to set up a new Windows laptop it takes hours to remove unwanted software.

Unfortunately this cycle is hard to break, because OEM vendors have to compete on price, and consumers are seemingly poor at discriminating based on overall quality; too often they look for the best specification they can get for their money.

Further, Windows remains a well understood and popular target for malware. One of the reasons is that despite huge efforts from Microsoft with User Account Control (the technology behind “do you really want to do this” prompts in Windows Vista onwards), most users outside the enterprise still tend to run with full administrative rights for their local machine.

Apple exploited these weaknesses with Mac hardware that is much more expensive (and profitable), but which delivers a less frustrating user experience.

Apple has been steadily increasing its market share at the high end, but an even bigger threat to Windows comes from below. Locked-down tablets, specifically the Apple iPad and later Android tablets, also fixed the user experience but at a relatively low price. Operating systems designed for touch control means that keyboard and mouse are no longer necessary, making them more elegant portable devices, and a wireless keyboard can easily be brought into use when needed.

Microsoft understood these trends, although late in the day. With Surface it began to manufacture its own hardware, an initiative which alongside the bricks-and-mortar Microsoft Stores (supplying trialware-free Windows PCs) aims to counter the corrosive race to the bottom among OEM vendors.

Windows 8 also introduces a new application model which is touch-friendly, secure, and offers easy app deployment via the app store.

In Windows RT the experiment is taken further, by locking down the operating system so that only these new-style apps can be installed.

Surface RT brings both these things together, solving many of the problems of Windows in a single package.

Why Surface RT failed

Surface RT is well made, though performance is disappointing; it seems that Nvidia’s Tegra 3 chipset is not quite sufficient to run Windows and Office briskly, though it is usable, and graphics performance not bad.

There were several problems though.

  • The price was high, especially when combined with the clever keyboard cover.
  • It may solve the problems of Windows, but for many users it also lacks the benefits of Windows. They cannot run their applications, and all too often their printers will not print and other devices lack drivers.
  • Surface RT launched when the Windows 8 app store was new. The new app ecosystem also has its problems (all these things are inter-related) and in consequence few compelling apps were available.
  • Microsoft’s built-in apps were poor to indifferent, and Office was bundled without Outlook.

I was in New York for the launch of Surface RT. There were “Click In” ads everywhere and it was obvious that Microsoft had convinced itself that it could sell the device in large numbers immediately. That was a fantasy. I suppose that if consumers had taken Windows 8 to heart quickly (as opposed to resisting the changes it imposes) and if the app ecosystem had flourished quickly then it could have taken off but neither was likely.

Surface RT positives

Despite all the above, Surface RT is not a bad device. Personally I was immediately drawn to its slim size, long battery life, and high build quality. The keyboard cover design is superb, though not everyone gets on with the “touch” cover. I purchased one of the launch machines and still use it regularly for cranking out Word documents on the road.

Reviews on Amazon’s UK site are largely positive:

image 

Surface RT is also improving as the software evolves. Windows 8.1, now in preview, adds Outlook and makes the device significantly more useful for Exchange users. Performance also gets a slight lift. The built-in apps are improving and app availability in general is much better than it was at launch, though still tiny compared to iPad or Android.

I have also been trying Surface Pro since receiving one at Microsoft’s Build conference last month. The Pro device has great performance and runs everything, but it is too bulky and heavy to be a satisfying tablet, and battery life is poor. I think of it more as a laptop, whereas Surface RT is a true tablet with a battery that gives pretty much a full day’s use when out and about.

Microsoft’s biggest mistake with Surface RT was not the concept, nor the quality of the device. Rather, they manufactured far too many thanks to unrealistic expectations of the size of the initial market. The sane approach would have been a limited release with the aim of improving and refining it.

I hope Microsoft perseveres both with Windows RT and with Surface RT. Give it better performance with something like Nvidia, Tegra 4, Windows 8.1, and improved app support, and it is near-perfect.

The future of Windows

Desktop Windows will remain forever, but its decline is inevitable. Even if it fails, we should recognise that Microsoft is trying to fix long-standing and deep-rooted problems with Windows through its Windows 8, Surface and Windows RT initiatives, and there is some sanity in the solutions it has devised. Despite a billion dollars thrown away on excess Surface RT inventory, it should follow through rather than abandon its strategy.

Microsoft financials: nearly a $billion lost on Surface RT but prospering in server and cloud

Microsoft has reported fourth quarter and full year results for its financial year ending June 30th 2013.

I am in the habit of tracking the results quarter by quarter with a simple table:

Quarter ending June 30th 2013 vs quarter ending June 30th 2012, $millions

Segment Revenue Change Profit Change
Client (Windows + Live) 4411 +259 1099 -1323
Server and Tools 5502 +452 2325 +285
Online 804 +69 -372 +6300
Business (Office) 7213 +889 4873 +745
Entertainment and devices 1915 +134 -110 -142

What is notable in the figures? Windows profits are down, not so much due to declining PC sales but rather this:

These financial results include a $900 million charge, or a $0.07 per share impact, related to Surface RT inventory adjustments.

That said, Microsoft reports that after adjusting for deferred revenue, Windows client decreased 6% quarter on quarter and 1% for the full year, so the PC decline is having an impact.

Business, which includes Office, SharePoint and Office 365, is performing well and the company reports $1.5 billion annual revenue for Office 365.

Server and Tools (almost all Server) continues to shine:

Server & Tools revenue grew 9% for the fourth quarter and 9% for the full year, driven by double-digit percentage revenue growth in SQL Server and System Center.

Even Online, which is essentially Bing-related advertising income, is showing signs of life, despite yet another loss:

Online Services Division revenue grew 9% for the fourth quarter and 12% for the full year, driven by an increase in revenue per search and volume. Bing organic U.S. search market share was 17.9% for the month of June 2013, up 230 basis points from the prior year period.

Windows Phone is hidden in Entertainment and Devices, which reported a loss despite $1.9 billion revenue. Microsoft says:

Windows Phone revenue, reflecting patent licensing revenue and sales of Windows Phone licenses, increased $222 million.

This means that Xbox is slightly down but overall revenue slightly up thanks to Windows Phone.

Overall both revenue and profit are a little higher than the previous year.

Losing a billion dollars on Surface RT is careless. Put simply, Microsoft ordered far too many of its experimental new ARM-based version of Windows, at a time when few new-style apps were available. I do not regard this as proof that the entire concept was wrong, though it is a significant mis-step however you spin it. See further post coming shortly.

Anders Hejlsberg says C# 6.0 to use Roslyn compiler, coming in next Visual Studio after VS 2013

A disappointment at Microsoft’s Build conference last month was lack of news about the next version of C#, version 6.0. C# architect Anders Hejlsberg did present a session, but it was on TypeScript, a language which compiles to JavaScript.

Aside: Hejlsberg talks about the new Xbox music app in Windows 8.1 (and Xbox One) which is written in JavaScript. It is a large app with 500,000  lines of code, and new features are now implemented in TypeScript (30,000 lines so far).

However, Hejlsberg did also talk about C# 6.0 at Build, during this Channel 9 Q&A, though you have to scroll through to reach the C# content (about 34 minutes in).

image

He confirmed that C# in Visual Studio 2013 is the same as before, but there will be new previews of the forthcoming “Roslyn” compiler soon, and that C# 6.0 will be in the “next Visual Studio after” which suggests Visual Studio 2014, presuming Microsoft sticks to its annual release cycle.

“We are at a point where the Roslyn compilers are done,” he said.

Roslyn, Hejlsberg explained, is the new compiler for “C#, and VB, and the language services in the IDE.”

Roslyn performance will be at least as good as the existing native compiler, says Hejlsberg. It is better suited to parallel processing so will take advantage of multi-core machines, “particularly for large projects.”

You can read more about Roslyn here. Microsoft describes it as “opening up the Visual Basic and C# compilers as APIs.” Practical benefits include features like instant porting of VB code to and from C#, and the use of C# and VB as macro languages within a .NET application.

Hejlsberg also says that Roslyn will enable a faster pace of evolution for C# in future.

Another aside: Xamarin, which provides a compiler for C# targeting iOS and Android, gets a nod of approval from Hejlsjberg. “I’m a great fan of their work,” he says.

Blogger (and former Microsoft Excel developer) Wesner Moise provides a transcript of the key points.

Adobe Creative Cloud giveaway at Microsoft Build: sign of a new alliance?

At Microsoft’s Build conference last week, one among a number of giveaways to all attendees was a year’s subscription to Adobe’s Creative Cloud. This was announced by Developer and Platform Evangelism VP Steven Guggenheimer during the day 2 keynote.

image

Creative Cloud costs $49.99 (or £39 + VAT) per month for an individual subscription.

Guggenheimer in effect said that the gift came from Adobe; he suggested that “you guys should send them a nice email”.

The stated purpose of the giveaway is to promote the Digital Publishing Suite (DPS). Creative Cloud comes with DPS Single Edition, which lets you create rich, interactive magazine content and publish it to the iPad and Android. Announced at Build was DPS support for Windows 8.1 in “late 2013”; a sign if nothing else that Adobe is taking Microsoft’s tablet platform seriously.

The odd aspect though is that Build is a developer conference and not quite the right target audience for DPS. On the other hand, there are numerous tools in Creative Cloud that are well suited to developers, including the Edge web content tools, PhoneGap Build, and of course the mighty Photoshop for image editing.

Adobe’s Adam Lehman was interviewed at Build about the Creative Cloud tools, especially Edge, here.

Microsoft is no longer trying to compete with Adobe on design tools. Expression Web and Expression Design have been discontinued. The Flash versus Silverlight wars are also consigned to history, making it easier for these two companies to work together.

Microsoft Build 2013: Love the platform?

The paradox of Microsoft: record revenue and profits, but yes, Windows 8 has been a disaster so far, and the company has lost developer and consumer mind share.

That might explain why there was no lack of availability for tickets to Build in San Francisco. With a smart PR move, Microsoft “sold out” of a limited first allocation, then made more available, and you could register right up to the day before. Attendance estimates are around 4,500.

image

The atmosphere was good though, and someone remarked to me that it felt a bit like an early Mix event, Microsoft’s web and design conference back in Silverlight days.

Blue was the colour; and for me Build 2013 was a Windows 8.1 event, though attention was also given to Windows Azure and Windows Phone.

Microsoft has two goals with Windows 8.1.

One is to placate users who essentially want Windows 7.1 and have been wary, confused, or worse, in their reaction to the Windows 8 Modern (or Metro, or Windows Store) user interface.

The other is to establish a new tablet platform, something which has yet to happen despite significant numbers of Windows 8 installations out there since the launch.

There was solid progress on both these fronts at Build, though whether it was enough is of course open to debate. Windows 8.1 is a nicer experience, especially for desktop users, and the user interface feels more elegant and refined than Windows 8.0.

No matter what you may have read elsewhere though, Microsoft is not backtracking. The focus at Build was on the new app platform and its improvements. Developers I spoke to were generally happy with these. “It’s caught up with Silverlight”, one told me.

At Build 2011 and 2012 there was some disappointment among developers, that Microsoft seemed to be pushing HTML and JavaScript above C# and .NET, for its new app platform. There was a perception at Build 2013 that this is no longer the case, though C# architect Anders Hejlsberg spoke on TypeScript (which compiles to JavaScript) rather than C# at his session; and a Microsoft engineer I spoke to denied that there had been any change of direction internally; the official line is that this is developer choice.

In practice, the developer choice tends to be C#, which dominated the session examples, and there was no more gossip about Microsoft abandoning .NET.

Windows seems to be on a one-year refresh cycle now. No date has been announced, but the signs are that Windows 8.1 will follow one year after Windows 8.0, which means RTM (the release build) no later than August and machines on sale in time for the winter season.

Much was already known about Windows 8.1, so were there any surprises? The main one was the evolution of Bing. The key phrase is “Bing as a platform”.

Bing is much more than just a search engine. We’re always a platform company. As we’ve been building this great search experience, we’ve actually been building this rich platform.

said Program Manager David Robinson in this session. Bing services are not just search, but also speech recognition (as seen on Xbox) so that developers can create “natural user interfaces” with voice control, text to speech, and 2D and 3D mapping with driving directions.

The other twist on this is the new search app in Windows 8.1. The way search works in Windows 8.1 has changed quite a bit. Search within an app should no longer rely on the Charms menu, and developers are expected to put a search box into their user interface. Search in the Charms menu is a system search, that integrates local and web results. Thus, if I search for Build, I get the Build apps, local documents mentioning Build, my own photos, web results relating to the building industry, word definitions, and so on. If I search for “Event viewer”, I get the control panel applet, a Wikipedia entry, a couple of Microsoft support articles, and then a general web search with infinite scrolling to the right. If I search for a celebrity, I get a rich multimedia view.

image

The search engine here is not pluggable; only Bing will work. This is smart strategic thinking, since it is at once a compelling app, an easy way to navigate Windows, and a way of building search share for Bing.

There are some details of search yet to be revealed. In particular, I asked how an app can integrate its own content into an “Everywhere” search, and was told it has yet to be announced (even though Windows 8.0 has a search contract that you would have thought would fit perfectly here).

My own experience of Windows 8.1 is positive, though since I have little difficulty with Windows 8.0 I am not a good test case as to whether it will win over those sticking with Windows 7. The Start button is mostly cosmetic, but I suspect I will find myself right-clicking it frequently to bring up the Win-X menu, now complete with Shutdown option.

Surface RT is greatly improved by the update. There is some performance gain, and the addition of Outlook to the RT desktop makes it twice as useful for businesses using Exchange or Office 365. Windows 8.1 also comes with Internet Explorer 11 with WebGL and some user interface improvements.

Microsoft does feel somewhat diminished these days, thanks to the decline of the PC and its smaller area of dominance, despite its continuing healthy financials. Can the company recover any of that ground? To do so it has to drive adoption of the tablet personality in Windows 8. Microsoft has made a poor start, but it may yet come together.

At a sparsely attended session on The Story of Bringing Nokia Music from Windows Phone to Windows 8 the Nokia Design Principles caught my attention:

image

The speakers conveyed real enthusiasm for the last of these, “Love the platform”, which is something I have not often encountered in the context of Windows 8.0, especially as the first release felt rough and not-quite-ready from a developer perspective. There is no doubting its potential though, and if Microsoft can win a bit more developer love with the 8.1 release, then we may see growth. 

Microsoft Build: Windows 8.1 for developers, Visual Studio 2013, Xamarin for cross-platform

Microsoft’s Build developer conference is getting under way in San Francisco.

image

Today Microsoft is expected to announce the public preview of Windows 8.1 together with technical details of what is in the latest Windows update. Sessions include What’s new in the Windows Runtime (the tablet platform in Windows 8), and what’s new in XAML (the interface design language for Windows 8) and WinJS (the interop library for apps written in HTML and JavaScript).

Gartner’s Hype Cycle for new technologies runs from the Peak of Inflated Expectations through the Trough of Disillusionment, eventually settling at the Plateau of Productivity. Inflated expectations for Windows 8 – the iPad killer – expired many months back and we are well down in the trough, with little momentum behind the Windows 8 tablet platform, OEM partners still searching for the right way to package Windows 8 and coming up with unsatisfactory and expensive hybrid creations, and iPad and Android tablets ascendant.

At this point, Microsoft needs to win over its core market, much of which is determined to stick with Windows 7, as well as injecting some life into the tablet side of Windows 8. The platform has promise, but it is fair to say that the launch has been difficult.

The advantage now is that Microsoft is in a period of incremental improvement rather than reimagining Windows, and incremental improvements are easier to pull off. More reports soon.

The schedule also includes news of Visual Studio 2013 and there is likely to be a new preview for this as well. A smoothly integrated development platform across Windows client, Windows Phone, and the Windows Azure cloud, with a dash of XBox One for game developers? Microsoft has all the ingredients but with questions about whether it is able to deliver, as it is currently losing the battle for the client (PC and devices).

One answer for C# developers hedging their bets, or just trying to take advantage of the huge iOS and Android market, is the Xamarin toolset which lets code in C# and .NET and share non-GUI code across all the most popular platforms. Xamarin hosted a large party for Microsoft-platform developers last night in San Francisco. Xamarin’s approach is winning significant support, since it ensures a native GUI on each platform while still sharing a large proportion of your code.  Mono and Xamarin founder Miguel de Icaza was there to evangelise the Xamarin tools.

image

There was also a giant Jenga-like game. Here’s hoping that neither Xamarin’s nor Microsoft’s development stack looks like this.

image

Not just Instagram: the Windows Phone (and BlackBerry, Firefox OS) app problem

I like the Windows Phone OS and use one day to day. However it has become impossible to do my job in technical journalism without either an Apple iOS or Android device alongside it. The reason is that I review gadgets and find increasingly that they come with app support – but only for iOS or Android.

The Fitbit exercise tracking gadget, for example.

image

Or the Corsair Voyager Air wireless hard drive, almost inaccessible from Windows Phone (you can do it with a firmware update and DLNA).

 

image

Or the Seagate Wireless Plus. Actually this one is better as it has a web UI, but no app.

image

My bank is Nationwide and has an app – uh oh.

image

It’s not just Instagram.

image

Where do Microsoft and Nokia go from here? Or other contenders like BlackBerry and Firefox OS? The answer of course is to sell lots of devices so that discontented users beat up the companies that do not support them. But selling lots of devices is difficult when the customer says, “it’s a nice phone, but it does not work with my portable hard drive. Or my bank. Or my Fitbit.”

The Mac survived versus the PC for many years with this kind of problem. It takes a loyal customer base and excellent 1st party and niche apps. There are still areas of strength which Microsoft and its phone partners could exploit (though they have been poor at this to date). Enterprise integration with Windows Server and System Center. Consumer integration with Xbox.

If the company can get it right with Windows tablets that would help too, especially combined with unification of the Windows 8 and Windows Phone app platforms.

Unfortunately for Microsoft though, the market has already decided that only two mobile platforms matter, and that will not be easy to change.

Microsoft and mediocrity in programming

A post by Ahmet Alp Balkan on working as a developer at Microsoft has stimulated much discussion. Balkan says he joined Microsoft 8 months ago (or two years ago if you count when he started as an intern) and tells a depressing tale (couched in odd language) of poor programming practice. Specifically:

  • Lack of documentation and communication. “There are certain people, if they got hit by a bus, nobody can pick up their work or code.”
  • Inability to improve the codebase. “Nobody will appreciate you for fixing styling or architectural issues in their core, in fact they may get offended.”
  • Lack of enthusiasm. “Writing better code is not a priority for the most”
  • Lack of productivity. “I spend most of my time trying to figure out how others’ uncommented/undocumented code work, debugging strange things and attending daily meetings.”
  • Lack of contribution to the community. “Everybody loves finding Stack Overflow answers on search results, but nobody contributes those answers.”
  • Lack of awareness of the competition. “No one I met in Windows Azure team heard about Heroku or Rackspace.”
  • Working by the book. “Nobody cares what sort of mess you created. As long as that functionality is ready, it is okay and can always be fixed later.”
  • Clipboard inheritance. “I’ve seen source files copy pasted across projects. As long as it gets shit done (described above) no one cares if you produced unmaintainable code.”
  • Using old tools. “Almost 90% of my colleagues use older versions of Office, Windows, Visual Studio and .NET Framework.”
  • Crippling management hierarchy. “At the end, you are working for your manager’s and their managers’ paychecks.”

There are a couple of points to emphasize. This is one person in one team which is part of a very large corporation, and should not be taken as descriptive of Microsoft programming culture as a whole. Balkan’s team is in “the test org”, he says, and not making product decisions. Further, many commenters observe that they have seen similar at other organisations.

Nevertheless, some of the points chime with other things I have seen. Take this post by Ian Smith, formerly a Microsoft-platform developer, on trying to buy a Surface Pro at Microsoft’s online store. From what he describes, the software behind the store is of dreadful quality. Currently, there is a broken image link on the home page.

image

This is not how you beat the iPad.

Another piece of evidence is in the bundled apps for Windows 8. The more I have reflected on this, the more I feel that supplying poor apps with Windows 8 was one of the worst launch mistakes. Apps like Mail, Calendar and Contacts on the Metro-style side have the look of waterfall development (though I have no inside knowledge of this). They look like what you would get from having a series of meetings about what the apps should do, and handing the specification over to a development team. They just about do the job, but without flair, without the benefit of an iterative cycle of improvements based on real user experience.

When the Mail app was launched, it lacked the ability to see the URL behind a hyperlink before tapping it, making phishing attempts hard to spot. This has since been fixed in an update, but how did that slip through? Details matter.

A lot is known about how to deliver high quality, secure and robust applications. Microsoft itself has contributed excellent insights, in books like Steve McConnell’s Code Complete and Michael Howard’s Writing Secure Code. The Agile movement has shown the importance of iterative development, and strong communication between all project stakeholders. Departing from these principles is almost always a mistake.

The WinRT platform needed a start-up culture. “We’re up against iPad and Android, we have to do something special.” Microsoft can do this; in fact, Windows Phone 7 demonstrated some of that in its refreshing new user interface (though the 2010 launch was botched in other ways).

Another piece of evidence: when I open a Word document from the SkyDrive client and work on it for a while, typing starts to slow down and I have to save the document locally in order to continue. I am not alone in experiencing this bug. Something is broken in the way Office talks to SkyDrive. It has been that way for many months. This is not how you beat Dropbox.

In other words, I do think Microsoft has a problem, though equally I am sure it does not apply everywhere. Look, for example, at Hyper-V and how that team has gone all-out to compete with VMWare and delivered strong releases.

Unfortunately mediocrity, where it is does exist, is a typical side-effect of monopoly profits and complacency. Microsoft (if it ever could) cannot afford for it to continue.

VLC efforts targeting WinRT with open source tools could enable more open source ports

An email from VideoLAN concerning the port of the open source VLC media player to WinRT, the tablet platform in Windows 8, provides insight into some of the technical difficulties facing open source developers.

Large Orange VLC media player Traffic Cone Logo

This is the heart of the problem:

The build process of VLC is not integrated with Windows Tools, notably Visual Studio, because VLC uses Unix Tools to run on all platforms. This is one of the reasons why VLC media player works on Windows, Linux, BSD, Solaris, iOS, Android, OS/2 and so many other operating systems.

In order to qualify for Windows Store distribution, apps must pass Microsoft’s security requirements, avoiding prohibited API calls. The VLC developers have done most of that successfully, but hit a problem with the Microsoft C Runtime, MSVCRT. Many open source projects use the ancient version 6.0 for maximum compatibility, but:

on WinRT, one MUST use MSVCRT 11.0 in order to pass the validation. This meant that we had to modify our compiler and toolchain to be able to link with this version.

When we asked Microsoft, some engineers told us that this could not possibly succeed, since the validation would not allow application compiled with 3rd party compilers to link with MSVCRT110. We did not want to believe them, since this would have killed the project.

And, they were wrong. We did it, but this took us way more time than anything we had anticipated. The final work was shared and integrated in our toolchain, Mingw-W64. All other open source applications will benefit from that, from now on.

Apparently the final piece of work is working out how to call the WinRT interop layer (the bit that looks like COM but is not COM) from C code. That is now working too so VLC is now completing the work of rewriting headers to call these new APIs.

This work could have wider consequences. Since VLC is open source, all these efforts are available to others, which means that porting other open source projects that use a similar tool chain should be easier.

This is especially significant for Windows RT, the ARM port, where it is not possible to install desktop apps.

VideoLAN’s work could be a great benefit to the WinRT Platform. Microsoft’s engineers should be doing everything they can to help, rather than (as the email implies) telling the developers that it cannot work.