Category Archives: microsoft

Ah, Microsoft! Should it give up Windows Phone, adopt Android, abandon Windows 8 “Metro”? No, and here is why.

On Windows 8, Gruber puts it succinctly:

Rather than accept a world where Windows persisted as merely one of several massively popular personal computing platforms, and focus on making Windows as it was better for people who want to use desktop and notebook PCs, Microsoft forged ahead with a design that displeased traditional PC users and did little to gain itself a foothold in the burgeoning tablet market.

The implication is that Microsoft should make Windows “9” more like Windows 7, and give up trying to push Windows as a tablet OS.

And Charles Arthur argues:

To add to all the advice being ladled out to Satya Nadella, Microsoft’s new chief, here’s another piece: stop bothering with Windows Phone. It’s a waste of money which will never pay off.

Instead, focus the efforts of Microsoft and soon-to-be subsidiary Nokia on forking Android – because that way you can exploit the huge number of Chinese handset makers who want to burst out of China and sell to the rest of the world.

These pieces raise deep questions. Can Microsoft – which, you recall, announced record revenue for its most recent financial quarter – prosper in applications and services while ceding the client to Apple and Google?

Despite its record revenue, I do not want to belittle Microsoft’s problems. Windows Phone has some momentum, but only as a distant third in the smartphone market. Windows 8 is broadly unpopular and its tablet personality has not taken off or driven the big app opportunities that were hoped for. OEMs are withdrawing from the PC market, with Sony the latest casualty, while others such as Asus are experimenting with Android/Windows hybrids – this last a huge testimony to the failure of Windows 8 as a tablet OS.

And let’s not forget the Surface RT writedown, and the withdrawal of all OEM support for Windows RT, the ARM variant of Windows 8.

Stephen Sinofsky, who masterminded Windows 8, but left soon after its launch for reasons that are still not entirely clear, was not a fool though.

image

He saw, correctly, that while Windows 8 was a big risk, carrying down a path of incremental improvements to Windows 7 would not stem its decline. Instead, he crafted a new Windows that can still be “Windows 7” when configured and used that way, but which also runs a modern operating system:

  • Apps deployed from a store, isolated from one another and from the OS, seamlessly kept up to date
  • Roaming data and settings for all users, not just in carefully managed enterprises
  • A true touch-friendly OS, not just Windows desktop with better touch support bodged on top

I have no doubt that this is the direction for client operating systems. There is still a role, and will be for the foreseeable future, for open operating systems like desktop Windows, Mac OSX, Linux, which can run unrestricted applications and are infinitely tweakable, but such operating systems are high maintenance, vulnerable to malware, and painful when you buy a new personal computer and want to migrate.

My guess is that in Windows vNext we will see a softening of the division between the Windows Runtime “Metro” environment and that of desktop Windows. It is already known that previews of the next Windows update show Metro apps on the desktop taskbar, and more integration may become. Metro Apps in floating desktop windows? The taskbar present in both environments? Could there be provision for desktop apps, subject to some restrictions, to be deployable from the Windows Store as Apple has done for OSX? Such things are possible and at this point would help to drive Metro adoption by making Windows Store apps more acceptable to desktop users, but without losing the underlying benefits of the Windows Runtime.

What though of Windows Phone? It seems to me obvious that “Windows Phone” and “Windows Runtime” have to become one operating system. It is not yet clear how the mix of device form factors will settle in the coming years. It may not be dominated by tablets; I have seen arguments that converged “phablet” devices will eat into the traditional tablet market. The laptop-style device is by no means dead, as the success of Google’s Chromebooks demonstrate; I have gone off the clamshell design myself, but it makes sense if you want to have a screen and keyboard in a single device without the expense of hybrid designs where the screen pulls off to make a tablet. Operating system vendors need to be flexible and to support a variety of screen sizes and touch/keyboard/mouse configurations. For Windows then:

  • The Windows Phone runtime and the Windows Runtime need to come together as a single development platform. Phone apps should run on full Windows and Windows Runtime apps should run on the Phone subject to designing for smaller screens.
  • There will be some Windows devices that run only the touch-friendly environment, and some that run desktop Windows as well.

If you follow this reasoning, then abandoning Windows Phone makes little sense, unless you abandon both Windows Phone and the “Metro” platform in Windows 8, because they will become the same thing.

But why not do that then? Microsoft could let iOS and Android handle the phone/tablet/phablet platform, preserve Windows as a desktop OS for running Office, Photoshop, Autocad and so on, and focus on apps for iOS and Android including Office and rich clients for Office 365. Adapt Visual Studio so that it targets iOS and Android (maybe a deal with Xamarin?).

This scenario may prevail whether or not Microsoft encourages it, but it seems to me a doomed strategy that will result in a much shrunken Microsoft. The problem is that if you own the client OS, you can direct users to your own platform services, making it hard for others to compete at the same level.

Think of Apple and mapping. Apple was willing to take a significant blow to its reputation by rolling out an inferior mapping service with iOS 5.0, to meet a long-term goal of removing dependency on Google Maps. Mapping is strategic because via maps can come location-based marketing which is a big deal.

Now think of that from Google’s perspective. Despite having the best maps, it could not prevent Apple driving a majority users to its own inferior mapping service, because it did not own iOS.

This is not quite what Charles Arthur is suggesting though. His proposal:

Forking Android wouldn’t be trivial, but Microsoft could take the Android Open Source Platform (AOSP) that is already widely used in China and put new services on top. It is already licensing Here maps from Nokia (the bit that’s not being sold to it). It could add its own mail client and app store. It has its own search engine, Bing, which has needed a major mobile deal. As with Windows Phone, setting up or signing in to an outlook.com email account could be your first step. Everything’s ready.

Most useful of all, developers who have written Android apps would be able to port them over with minimal effort – as has happened with Amazon’s Kindle Fire effort.

In other words, he suggests that by forking Android Microsoft could continue to own the operating system on its own devices, but could get access to a wider range of apps.

Unfortunately there are too many downsides and too little benefit:

  • Google is working hard to make Android unforkable, via increasing the dependency on proprietary Google Mobile Services. Microsoft could make an Android-based device, but without Google Mobile Services it would be in effect a new variant, neither Android nor Windows Phone but something else. Amazon has done this with Kindle Fire, but is starting from the base of a successful line of eBook readers. Why would anyone buy Microsoft’s Android devices?
  • Microsoft’s remaining developer community would be broken irretrievably by yet another dramatic change of direction.
  • Whatever the differences may be between the Windows Runtime or Phone Runtime, and Windows Desktop, the differences between Android and Windows Desktop are even greater. The synergy between the two would be lost. The strategy for supporting multiple form factors outlined above would no longer be possible.

Last night I talked to a Microsoft partner about the state of Microsoft’s client platform. His company provides IT services and some software development for local businesses. He understands the unpopularity of Windows 8, but said that most objections disappear after a day of handholding. He sees the value of Windows Runtime in business for security and easy deployment. He is writing a Windows Runtime app as part of a solution in the healthcare industry, where tablets will be used. He worries about lack of security in Android.

One final thought. There are only two companies that own an entire stack from cloud to device, for businesses and consumers. One is Microsoft (strong in the enterprise, weak in consumer devices, weak in search). The other is Google (weak in the enterprise, strong in consumer devices, strong in search). I do not count Apple because it has no cloud application platform to compete with Office 365/Google apps or Azure/Google App Engine. I do not count Amazon because it has no Office 365 (software as a service) and no mobile phone (yet).

It would be a mistake for Microsoft to cede a key part of that stack to a competitor, leaving Google standing alone.

Reflecting on Microsoft’s choice of Satya Nadella as new CEO

Microsoft has announced it’s new CEO at last: Satya Nadella, formerly in charge of Cloud and Enterprise (in other words, the server part of Microsoft’s business).

image

The press release also states that co-founder and former CEO Bill Gates will be a little more active:

Microsoft also announced that Bill Gates, previously Chairman of the Board of Directors, will assume a new role on the Board as Founder and Technology Advisor, and will devote more time to the company, supporting Nadella in shaping technology and product direction.

Microsoft is a curious company, perceived as failing due to the rapid decline in PC sales and failure to break through in mobile devices, yet announcing record revenue. What is significant about this appointment?

First, it is internal. That means the board decided that the risk of appointing an outsider who might shake up the company and change its focus was too great. I am inclined to agree.

Second, Microsoft is replacing a marketing guy (Ballmer) with a technical guy. “The best code is poetry,” he says in his bio. This also is a smart move. The key influencers in the IT industry – developers, IT admins, geeks – relate best to executives who also have a technical background.

Third, it is building on success. Microsoft has struggled with Windows client and devices, but has charged ahead in server and is progressing fast in cloud, both Azure and Office 365. That is in part a credit to Nadella.

I have met Nadella on several occasions; he is less shouty than Ballmer and will likely come over better in most public appearances. I had an opportunity to put a few questions at the launch of Visual Studio 2012, shortly before the release of Windows 8, and wrote this up for the Register. I asked him, “Is Windows so much weighed down by legacy and the need to support existing applications that Microsoft cannot advance its platform?” His answers demonstrate a clear understanding of the legacy problem that still entraps Microsoft: too much change, and you lose the confidence of existing users; too little change, and your platform races towards irrelevance.

Nadella’s appointment may be perceived as cautious, on the grounds that as an insider he is less likely to introduce a radical chance of direction. There is much nonsense talked about Microsoft though, and critics can be self-contradictory, seeing changes made to Windows as negative while at the same time stating that Microsoft has done too little to keep pace with Apple and Google in devices. The Ballmer and Sinofsky era was more one of too much change than too little, and the challenge now is make those changes work, rather than to tip them out and start again, so a certain amount of caution is no bad thing.

On Google, Motorola, Microsoft and Apple

Google has sold Motorola Mobility to Lenovo at some kind of loss, prompting a few quick observations.

It matters little whether Google’s Motorola transactions were profitable in themselves. Google can afford it. This is all about strategy and the long term.    

Why did Google acquire Motorola Mobility? Primarily for the patents. The fact that it pushed Google into competing with its Android licensees looks now to have been an unfortunate side-effect. Google has shown no inclination to become Apple and make a virtue of controlling the entire stack from device hardware to web platform.

Why did Google sell Motorola Mobility (though not all its patents)? Maybe because it was trading at a loss, but more because there was no strategic benefit, given that it wants to foster its relationship with OEM vendors rather than undermine it.

Google is not a hardware company. It is an advertising company, but it is now more accurately described as a data company, with advertising the tax it imposes to pay for those data services.

Why does Apple remain a hardware company and not license OSX or IOS to third parties? Because it makes a virtue of controlling every detail of the user experience, and because it enables it to charge a premium price, since to get the software you have to buy Apple hardware (yes there is hackintosh but that is not mainstream).

Why is Microsoft doing more hardware alongside Xbox, with Surface tablets, and most recently with the Nokia acquisition? Because its hand was forced. The Windows brand has been damaged by too much poor quality hardware accompanied with too much trialware put there for the OEM’s benefit (it gets paid) rather than for the user’s benefit. There was too little innovation around tablet hardware for Windows 8. There was too much designing down to a price rather than up to a standard. Hence Surface. As for Nokia, the future of Windows Phone depends on it, since it has most of the market. Microsoft could not risk Nokia turning to Android or dialling back on Windows Phone.

Should Microsoft follow Google and dispose of Surface and in due course Nokia? Maybe, but not while the strategic importance of those two businesses remains.

If Windows Phones develops such a strong ecosystem and diverse hardware base that owning Nokia is no longer necessary, then I’d guess that Microsoft would be glad to dispose of it.

What about Surface, is it still needed? The case is less clear. Some hardware partners, like Lenovo, are now doing a reasonable job with Windows 8 hardware. That might suggest that Surface has done its job. Then again, there is the Windows RT problem. Only Microsoft and Nokia/Microsoft offer current Windows RT devices; and Windows RT is strategically important as the version of Windows that is low on maintenance and high on security, like Google’s Chromebook.

Note that Microsoft has not as yet started to offer conventional laptop or desktop PCs. The implication is that its primary goal is not to compete with its hardware partners, but to do something different that will move Windows forward.

 

OneDrive, SkyDrive, whatever: Microsoft needs to make it better – especially in Office 365

This week brought the news that SkyDrive is to be renamed OneDrive:

For current users of either SkyDrive or SkyDrive Pro, you’re all set. The service will continue to operate as you expect and all of your content will be available on OneDrive and OneDrive for Business respectively as the new name is rolled out across the portfolio.

I have no strong views on whether OneDrive or SkyDrive is a better name (the reason for the change was a legal challenge from the UK’s BSkyB).

I do have views on SkyDrive OneDrive though.

First, it is confusing that OneDrive and OneDrive for Business share the same name. I have been told by Microsoft that they are completely different platforms. OneDrive is the consumer offering, and OneDrive for Business is hosted SharePoint in Office 365. It is this paid offering that interests me most in a business context.

SharePoint is, well, SharePoint, and it seems fairly solid even though it is slow and over-complex. The Office Web Apps are rather good. The client integration is substandard though. A few specifics:

Yesterday I assisted a small business which has upgraded to full-fat Office 365, complete with subscription to the Office 2013 Windows applications. We set up the team site and created a folder, and used the Open in Explorer feature for convenient access in Windows. Next, run Word, type a new document, choose Save As, and attempt to save to that folder.

Word thought for a long time, then popped up a password dialog (Microsoft seems to love these password dialogs, which pop up from time to time no matter how many times you check Remember Me). Entered the correct credentials, it thought for a bit then prompted again, this time with a CAPTCHA added as a further annoyance. Eventually we hit cancel out of frustration, and lo, the document was saved correctly after all.

Another time and it might work perfectly, but I have seen too many of these kinds of problems to believe that it was a one-off.

Microsoft offers another option, which is called SkyDrive OneDrive Pro. This is our old friend Groove, also once known as Microsoft SharePoint Workspace 2010, but now revamped to integrate with Explorer. This guy is a sync engine, whereas “Open in Explorer” uses WebDAV.S

Synchronisation has its place, especially if you want to work offline, but unfortunately SkyDrive Pro is just not reliable. All the businesses I know that have attempted to use it in anger, gave up. They get endless upload errors that are hard to resolve, from the notorious Office Upload Center. The recommended fix is to “clear the cache”, ie wipe and start again, with no clarity about whether work may be lost. Avoid.

One of the odd things is that there seems to be a sync element even if you are NOT using SkyDrive Pro. The Upload Center manages a local cache. Potentially that could be a good thing, if it meant fast document saving and seamless online/offline use. Instead though, Microsoft seems to have implemented it for the worst of every world. You get long delays and sign-in problems when saving, sometimes, as well as cache issues like apparently successful saves followed by upload failures.

OK, let’s use an iPad instead. There is an app called SkyDrive Pro which lets you access your Office 365 documents. It is more or less OK unless you want to share a document – one of the the main reasons to use a cloud service. There is no way to access a folder someone else has shared in SkyDrive Pro on an iPad, nor can you access the Team Site which is designed for sharing documents in Office 365. Is Microsoft serious about supporting iPad users?

Office 365 is strategic for Microsoft, and SharePoint is its most important feature after Exchange. The customers are there; but with so many frustrations in trying to use Office 365 SharePoint clients other than the browser, it will not be surprising if many of them turn to other solutions.

Microsoft financials: record revenue, consumer sales declining in drift towards Enterprise

Microsoft has announced record revenue for its second financial quarter, October-December 2013. Revenue was bumped up by the launch of Xbox One (3.9 million sold) and new Surface hardware. The real stars though were the server products:

  • SQL Server continued to gain market share with revenue growing double-digits.

  • System Center showed continued strength with double-digit revenue growth.

  • Commercial cloud services revenue more than doubled.

  • Office 365 commercial seats and Azure customers both grew triple-digits.

says the press release.

Another plus point is Bing, which Microsoft says now has 18.2% market share in the USA. Search advertising revenue is up 34%.

It is not all good news. While Microsoft is doing fine in server and cloud, the consumer market is not going well, leaving aside the expected boost from a new Xbox launch:

  • Windows OEM non-pro revenue down 20% year on year (that’s consumer PCs)
  • Office consumer revenue down 24% year on year – partly attributed to the shift towards subscription sales of Office 365 Home Premium

As usual, I have put the results into a quick table for easier viewing:

Quarter ending December 31st 2013 vs quarter ending December 31st 2012, $millions

Segment Revenue Change Gross margin Change
Devices and Consumer Licensing 5384 -319 4978 -153
Devices and Consumer Hardware 4729 +1921 411 -351
Devices and Consumer Other 1793 -206 431 -455
Commercial Licensing 10888 +753 10077 +751
Commercial Other 1780 +391 415 +199

The categories are opaque so here is a quick summary:

Devices and Consumer Licensing: non-volume and non-subscription licensing of Windows, Office, Windows Phone, and “ related patent licensing; and certain other patent licensing revenue” – all those Android royalties?

Devices and Consumer Hardware: the Xbox 360, Xbox Live subscriptions, Surface, and Microsoft PC accessories.

Devices and Consumer Other: Resale, including Windows Store, Xbox Live transactions (other than subscriptions), Windows Phone Marketplace; search advertising; display advertising; Office 365 Home Premium subscriptions; Microsoft Studios (games), retail stores.

Commercial Licensing: server products, including Windows Server, Microsoft SQL Server, Visual Studio, System Center, and Windows Embedded; volume licensing of Windows, Office, Exchange, SharePoint, and Lync; Microsoft Dynamics business solutions, excluding Dynamics CRM Online; Skype.

Commercial Other: Enterprise Services, including support and consulting; Office 365 (excluding Office 365 Home Premium), other Microsoft Office online offerings, and Dynamics CRM Online; Windows Azure.

Here is what is notable. Looking at these figures, Microsoft’s cash cow is obvious: licensing server products, Windows and Office to businesses, which is profitable almost to the point of disgrace: gross margin $million 10,077 on sales of $million 10,888. Microsoft breaks this down a little. Hyper-V has gained 5 points of share, it says, and Windows volume licensing is up 10%.

Cloud (Office 365, Azure, Dynamics CRM online) may be growing strongly, but it is a sideshow relative to the on-premises licensing.

How do we reconcile yet another bumper quarter with the Microsoft/Windows is dead meme? The answer is that it is not dead yet, but the shift away from the consumer market and the deep dependency on on-premises licensing are long-term concerns. Microsoft remains vulnerable to disruption from cheap and easy to maintain clients like Google’s Chromebook, tied to non-Microsoft cloud services.

Nevertheless, these figures do show that, for the moment at least, Microsoft can continue to thrive despite the declining PC market, more so that most of its hardware partners.

Postscript: Microsoft’s segments disguise the reality of its gross margins. The cost of “licensing” is small but it is obvious from its figures that Microsoft is not including all the costs of creating and maintaining the products being licensed. If we look at the figures from a year ago, for example, Microsoft reported a gross margin of $million 2121 on revenue of $million 5186 for Server and Tools. That information is no longer provided and as far as I can tell, we can only guess at the cost per segment of its software products . However, looking at the income statements, you can see that overall Microsoft spent $million 2748 on Research and Development, $million 4283 on Sales and Marketing, and $million 1235 on General and administrative in the quarter.

Microsoft and developer trust

David Sobeski, former Microsoft General Manager, has written about Trust, Users and The Developer Division. It is interesting to me since I recall all these changes: the evolution of the Microsoft C++ from Programmer’s Workbench (which few used) to Visual C++ and then Visual Studio; the original Visual Basic, the transition from VBX to OCX; DDE, OLE and OLE Automation and COM automation, the arrival of C# and .NET and the misery of Visual Basic developers who had to learn .NET; how DCOM (Distributed COM) was the future, especially in conjunction with Transaction Server, and then how it wasn’t, and XML web services were the future, with SOAP and WSDL, and then it wasn’t because REST is better; the transition from ASP to ASP.NET (totally different) to ASP.NET MVC (largely different); and of course the database APIs, the canonical case for Microsoft’s API mind-changing, as DAO gave way to ADO gave way to ADO.NET, not to mention various other SQL Server client libraries, and then there was LINQ and LINQ to SQL and Entity Framework and it is hard to keep up (speaking personally I have not yet really got to grips with Entity Framework).

There is much truth in what Sobeski says; yet his perspective is, I feel, overly negative. At least some of Microsoft’s changes were worthwhile. In particular, the transition to .NET and the introduction of C# was successful and it proved an strong and popular platform for business applications – more so than would have been the case if Microsoft had stuck with C++ and COM-based Visual Basic forever; and yes, the flight to Java would have been more pronounced if C# had not appeared.

Should Silverlight XAML have been “fully compatible” with WPF XAML as Sobeski suggests? I liked Silverlight; to me it was what client-side .NET should have been from the beginning, lightweight and web-friendly, and given its different aims it could never be fully compatible with WPF.

The ever-expanding Windows API is overly bloated and inconsistent for sure; but the code in Petzold’s Programming Windows mostly still works today, at least if you use the 32-bit edition (1998). In fact, Sobeski writes of the virtues of Win16 transitioning to Win32s and Win32 and Win64 in a mostly smooth fashion, without making it clear that this happened alongside the introduction of .NET and other changes.

Even Windows Forms, introduced with .NET in 2002, still works today. ADO.NET too has been resilient, and if you prefer not to use LINQ or Entity Framework then concepts you learned in 2002 will still work now, in Visual Studio 2013.

Why does this talk of developer trust then resonate so strongly? It is all to do with the Windows 8 story, not so much the move to Metro itself, but the way Microsoft communicated (or did not communicate) with developers and the abandonment of frameworks that were well liked. It was 2010 that was the darkest year for Microsoft platform developers. Up until Build in October, rumours swirled. Microsoft was abandoning .NET. Everything was going to be HTML or C++. Nobody would confirm or deny anything. Then at Build 2010 it became obvious that Silverlight was all-but dead, in terms of future development; the same Silverlight that a year earlier had been touted as the future both of the .NET client and the rich web platform, in Microsoft’s vision.

Developers had to wait a further year to discover what Microsoft meant by promoting HTML so strongly. It was all part of the strategy for the tablet-friendly Windows Runtime (WinRT), in which HTML, .NET and C++ are intended to be on an equal footing. Having said which, not all parts of the .NET Framework are supported, mainly because of the sandboxed WinRT environment.

If you are a skilled Windows Forms developer, or a skilled Win32 developer, developing for WinRT is a hard transition, even though you can use a familiar language. If you are a skilled Silverlight or WPF developer, you have knowledge of XAML which is a substantial advantage, but there is still a great deal to learn and a great deal which no longer applies. Microsoft did this to shake off its legacy and avoid compromising the new platform; but the end result is not sufficiently wonderful to justify this rationale. In particular, there could have been more effort to incorporate Silverlight and the work done for Windows Phone (also a sandboxed and touch-based platform).

That said, I disagree with Sobeski’s conclusion:

At the end of the day, developers walked away from Microsoft not because they missed a platform paradigm shift. They left because they lost all trust. You wanted to go somewhere to have your code investments work and continue to work.

Developers go where the users are. The main reason developers have not rushed to support WinRT with new applications is that they can make more money elsewhere, coding for iOS and Android and desktop Windows. All Windows 8 machines other than those running Windows RT (a tiny minority) still run desktop applications, whereas no version of Windows below 8 runs WinRT apps, making it an easy decision.

Changing this state of affairs, if there is any hope of change, requires Microsoft to raise the profile of WinRT among users more than among developers, by selling more Windows tablets and by making the WinRT platform more compelling for users of those tablets. Winning developer support is a factor of course, but I do not take the view that lack of developer support is the chief reason for lacklustre Windows 8 adoption. There are many more obvious reasons, to do with the high demands a dual-personality operating system makes on users.

That said, the events of 2010 and 2011 hurt the Microsoft developer community deeply. The puzzle now is how the company can heal those wounds but without yet another strategy shift that will further undermine confidence in its platform.

Privacy, Google Now, Scroogled, and the connected world

2013 saw the launch of Google Now, a service which aspires to alert you to information you care about at just the right time. Rather than mechanical reminders of events 15 minutes before start time, Google Now promises to take into account location, when you are likely to have to leave to arrive where you want to be, and personal preferences. Much of its intelligence is inferred from what Google knows about you through your browsing patterns, searches, location, social media connections and interactions, and (following Google’s acquisition of Nest, which makes home monitoring kit) who knows what other data that might be gathered.

It is obvious that users are being invited to make a deal. Broadly, the offer is that if you hand over as much of your personal data to Google as you can bear, then in return you will get services that will make your life easier. The price you pay, loss of privacy aside, is more targeted advertising.

There could be other hidden costs. Insurance is one that intrigues me. If insurance companies know everything about you, they may be able to predict more accurately what bad things are likely to happen to you and make insuring against them prohibitively expensive.

Another issue is that the more you use Google Now, the more benefit there is in using Google services versus their competitors. This is another example of the winner-takes-all effect which is commonplace in computing, though it is a different mechanism. It is similar to the competitive advantage Google has already won in search: it has more data, therefore it can more easily refine and personalise search results, therefore it gets more data. However this advantage is now extended to calendar, smartphone, social media, online shopping and other functions. I would expect more future debate on whether it is fair for one company to hold all these data. I have argued before about Google and the case for regulation.

This is all relatively new, and there may be – probably are – other downsides that we have not thought of.

Microsoft in 2013 chose to highlight the privacy risks (among other claimed deficiencies) of engaging with Google through its Scroogled campaign.

image

Some of the concerns raised are valid; but Microsoft is the wrong entity to do this, and the campaign betrays its concern over more mundane risks like losing business: Windows to Android or Chrome OS, Office to Google Docs, and so on. Negative advertising rarely impresses, and I doubt that Scroogled will do much either to promote Microsoft’s services or to disrupt Google. It is also rather an embarrassment.

The red box above suits my theme though. What comes to mind is what in hindsight is one of the most amusing examples of wrong-headed legislation in history. In 1865 the British Parliament passed the first of three Locomotive Acts regulating “road locomotives” or horseless carriages. It limited speed to 4 mph in the country and 2 mph in the town, and required a man carrying a red flag to walk in front of certain types of vehicles.

red-flag

The reason this is so amusing is that having someone walk in front of a motorised vehicle limits the speed of the vehicle to that of the pedestrian, negating its chief benefit.

How could legislators be so stupid? The answer is that they were not stupid and they correctly identified real risks. Motor vehicles can and do cause death and mayhem. They have changed our landscape, in many ways for the worse, and caused untold pollution.

At the same time, the motor vehicle has been a huge advance in civilisation, enabling social interaction, trade and leisure opportunities that we could not now bear to lose. The legislators saw the risks, but had insufficient vision to see the benefits – except that over time, and inevitably, speed limits and other restrictions were relaxed so that motor vehicles were able to deliver the benefits of which they were capable.

My reflection is whether the fears into which the Scroogled campaign attempts to tap are similar to those of the Red Flag legislators. The debate around privacy and data sharing should not be driven by fear, but rather about how to enable the benefits while figuring out what is necessary in terms of regulation. And there is undoubtedly a need for some regulation, just as there is today for motor vehicles – speed limits, safety belts, parking restrictions and all the rest.

Returning for a moment to Microsoft: it seems to me that another risk of its Scroogling efforts is that it positions itself as the red flag rather than the horseless carriage. How is that going to look ten years from now?

Frank comments from Microsoft Product Manager on the Visual Studio 2012 user interface mess. “Secrecy is bad – it lets problems fester”

When Visual Studio 2012 was first previewed, it presented a new IDE style which featured all-caps menus and a mainly monochrome icon set which most developers disliked; the icons were too hard to distinguish. Microsoft has tweaked the design, restored more colour, and I hear fewer complaints today, but that essential design approach remains in Visual Studio 2013.

image

Microsoft product manager Brian Harry has made some frank comments on what happened, in a series of comments beginning here. The comments were made last month, but I had not seen them until today and consider them worth highlighting.

“The implementation of the new UI in 2012 was a mess” says Harry, explaining that the team assigned to create the new look was too small. Worse, it was too secret. “To aggravate this folly, there was a bit of a "cone of secrecy" around the new UI because we didn’t want it "leaking".  Even I didn’t get to see it until months into it,” he writes.

After a strong negative reaction to the preview, “we eventually came to realize we had a crisis on our hands,” says Harry:

Could we have reversed direction, of course.  We debated it vigorously – and for a while, I have to admit, I wasn’t sure.  Ultimately, I concluded that the only way was forward (not that it was actually my decision but I’m just stating my position).  I know some people will disagree with me emphatically and I respect that.  I am in the camp of people who generally like the new UI style.  I know some people think there aren’t any people in that camp but I’ve seen the survey’s and there actually are quite a lot of them.  I do believe there is continued room for improvement and we made some improvements over the past year (the Blue theme, for instance, is very popular – actually Dark is too; Light, not so much).  I’ve gotten completely used to all CAPS menus.  They never bothered me much and now, it just looks normal to me.  Contrast has gotten better.  Icon color has gotten better.  Icon shapes have gotten better.  I’d, personally, still like to see more liberal use of color (Team Explorer is mine and you can see we are a bit more liberal with color than much of VS :))  But all in all, I like the new UI and generally, people internally are happy with it too.

It was a journey and we made mistakes a long the way.  I think the biggest learning was – Don’t kid yourself into thinking you can do a ripple effect feature like that "on the cheap".  Another learning, for me at least, is secrecy is bad – it lets problems fester until they become crises.  Share, share, share.  The feedback is critical to course correction.

Now some observations of my own. My sense is that the flaws in the design stem from over-application of the content-first, “immersive UI” concept which is also seen in Windows 8 “Metro” or “Modern” apps. This concept makes perfect sense if you are browsing the web or reading a document: you want the screen furniture and tools to get out of the way as far as possible. If you are creating content though, the tools become more important. Arguably they become part of the “content”, if you define that as what you are focusing on.

I see the same design error in Microsoft Office 2013, which has a washed-out UI similar in many ways to that in Visual Studio 2012. If you are using Office mainly to consume content, it makes sense, but Office is a content creation tool, and the icons should be more prominent.

I am not sure of the logic behind all-caps menus except that they look vaguely modern and industrial; everybody knows that ALL CAPS is harder to read than lower case or mixed case, so this makes little sense to me.

In neither case is it that big a deal: I can still work productively and you get used to the UI.

Finally, you can tell from Harry’s remarks that the development team at Microsoft went all-out to try and please developers while also satisfying whatever corporate goals (misguided or not) were behind the new style. Kudos to them.

Platform Wars: Google injects Chrome OS into Windows, never mind the poor users

Google announced its Chrome browser in September 2008. Its stated goal was to run web applications better:

What we really needed was not just a browser, but also a modern platform for web pages and applications, and that’s what we set out to build.

Chrome was a hit, thanks to easy install, fast performance, and Google’s ability to advertise it on its own search pages and web applications (as well as some deals with OEM Windows vendors). Today, Chrome is the most popular browser worldwide, according to figures from Statcounter covering desktop, tablet and console browsers:

image

That’s 43.64% versus 22.76% for Microsoft Internet Explorer in second place and 18.9% for Firefox in third.

Most of those users are on Windows. Statcounter also reports that Windows worldwide has a 79.1% market share worldwide – not quite dead – though Windows 8 has a measly 7.29% share, just behind OS X.

Note that these figures are for usage, not current sales, which is one reason why Google’s Chrome S is lost somewhere in “other”.

Today though we are seeing the force of Google’s intention to introduce a “modern platform for web pages and applications”. Chrome version 32, which comes as an automatic update for most users, no longer has the look and feel of Windows. It has thin scroll bars that lack the standard single-step arrows:

image

If you choose the new “Windows 8 mode” which you will find on the Chrome menu, you get something which is neither like desktop Windows, nor like Windows 8. Instead, it is ChromeOS, injected into Windows.

image

Chrome’s “Windows 8” mode only works if you set it as the default browser, and if you choose the Windows 8 mode you lose the desktop version until you select “Relaunch Chrome on the desktop” from its menu.

image

What is the effect of “Windows 8 mode”? It has several advantages for Google:

  • It serves as an introduction to Chrome OS, increasing the chance of selling a Chrome OS device (Chromebook) that does not run Windows at all
  • It hides the desktop, making it more likely that you will choose a Google web app rather than a desktop or Windows 8 app for your next task

However, considered as a “modern” style Windows 8 app, it is poor. It is not touch friendly, it is multi-window, and it ignores the conventions of Windows 8 apps – this is really Chrome OS, remember.

Users are not impressed. The thing they hate most is losing the paging arrows on the scroll bars. Check the long comment thread here. For example:

This is ridiculous, and the "just deal with it" from some developers is really grating. I am -terrified- of when my Chrome will update because even using this page now I’ve used the sidebar & steppers. I have vision problems and I fear this update will make Chrome unusable for me. I’m using Windows and should have my scrollbar harmonised with Windows instead of an operating system I do not use.

This is a strategic move though and unlikely to change. Here are the key official statements in that thread. Here:

This is because we’re switching to the chromeos style. Passing to review-ui to make sure they are ok with this.

and here:

There is no easy way to go back to the previous scrollbars. There was a big change in the graphics stack from chrome 31 to chrome 32 which meant to unify 3 platforms: windows, chromeos and linux and that includes a shared widget theme.

Chrome may lose a few users to IE or Firefox, but it takes lot to get people to switch browsers.

The purpose of this post is to highlight Google’s strategy, rather than to pass judgement on whether or not it is a bad thing. It is part of a strategy to kill the Windows ecosystem, oddly echoing Microsoft’s own strategy of “Embrace, Extend, Extinguish”:

"Embrace, extend, and extinguish", also known as "Embrace, extend, and exterminate", is a phrase that the U.S. Department of Justice found was used internally by Microsoft o describe its strategy for entering product categories involving widely used standards, extending those standards with proprietary capabilities, and then using those differences to disadvantage its competitors.

says Wikipedia.

Speaking personally though, if I am running Windows then I want to take full advantage of Windows, not to have it morph into another OS to suit the goals of a competitor.

Figuring out Project Siena: a Windows 8 app to build Windows 8 apps

A couple of weeks back I took a look at Project Siena, a preview of a new tool for building Windows 8 apps. Project Siena features a simplified user interface builder, an Excel-like expression language, and data-bound controls. It generates Windows 8 JavaScript apps. Project Siena is itself a Windows Store app, and runs fine on Windows RT (the ARM version). I have been using it successfully on Surface 2, on which it runs sweetly.

When I first looked at Project Siena I tried to build the same first app that I have used for numerous simple tests of development tools over the years: a to-do list. I was impressed by how easy it was to create the user interface, but unable to work out the code to complete it. Unless I missed it, the key information is not included in any of the initial documentation. I found this disappointing, since it has been easy to work out the code in every other programming environment I have tried.

I gradually worked it out. Here is the app:

image

The idea is that you have a listbox, an input box, and two buttons. One button takes the contents of the input box and adds it to the list. The other button removes the selected item in the list. All the functionality you need for a to-do list (actually a simple memo control would do, but that would be a bit too simple).

In Siena, data is stored in Collection objects, and you can bind a listbox to a collection. By default, a new listbox is bound to an object called ListboxSample, but you cannot use it for this; if you try, you get a squiggly line error with the message that ListboxSample is not a collection.

image

Instead, you have to create your own collection object. In Siena, you declare a variable by using it and its type is inferred. Enter this for the OnSelect property of the Add button:

Collect(mycollection,{Value: InputText1!Text})

This is the code that took me so long to work out. The Collect function adds an item to a collection. If the collection does not already exist, it creates it. The first argument to Collect is a collection object, and the second, an item. What is an item? In effect, a record or row in a table. The syntax for an item in Siena is:

{Fieldname1: fieldvalue1,Fieldname2: fieldvalue2,…}

where the dots represent additional fields as required. Therefore, the code I entered for the Add button creates or appends an item with a single field, called Value, to a collection called mycollection.

Now you can select the listbox and tap Data and then Items. The collection called mycollection magically appears for selection. Select it. In the case of multi-field collections, you can also choose which field appears in the list. Only one field it seems; yes, Siena needs a grid control.

Then you can run the app, tap Add, and see the content of the input box added to the list.

The Remove button is easy:

Remove(mycollection, Listbox1!Selected)

However, our app has a flaw. The data does not persist. Next time you run the app, the list will be empty. This is easy to fix too. Go back to the OnSelect property of the Add button. Type a semicolon after the existing line of code, and then:

SaveData(mycollection,"mycollection")

This saves the collection to isolated storage on your PC. Alternatively, you could call a web service and save to the cloud, but I am not sure of the code for that yet.

Next, we have to load the data when the app starts. You can use the OnVisible property of the screen for this. Type:

Clear(mycollection);Collect(mycollection,LoadData("mycollection"))

Note that since Collect appends to the collection, we have to clear it first, to avoid duplicate items.

Now the app is complete.

What do I think of Siena after doing this? It certainly has its frustrations, but I like it. I do think that the designers have gone too far in pretending that code is unimportant; it is silly that you have to type into a single line editor. It would also have saved me time if Microsoft had provided a syntax guide and programming guide, rather than concentrating on how to show pretty pictures.

Who is going to use Siena, if anyone? That is the harder question.