Category Archives: microsoft

Notes from the field: manually migrating between Office 365 plans

Microsoft’s Office 365, which provides hosted Exchange, SharePoint and other services, comes in a variety of flavours, some of which include a license to run desktop Office. In some cases it is even possible to mix and match plans. For example, you can have some of your users on Enterprise 1 (E1) (no desktop Office) and some on Enterprise 3 (E3) (includes desktop Office). It gets more awkward though if you want to switch between “families”: the small business family and the Enterprise family. A table here sets out which plans are eligible for switching.

But what if you do want to switch between families, for example to take advantage of the good value Office 365 Midsize Business, which gets you hosted services and desktop office for £9.80 or $15.00 per user/month, compared to E3 which costs £15.00 or $20.00 per user/month? There are some extra features in E3, like Exchange archiving and legal hold, but the cost saving is substantial.

The answer is that you have to switch manually. Microsoft helpfully remarks:

Switching plans manually involves purchasing a new plan, reassigning the licenses, and then cancelling your old plan … If you have a custom domain, you’ll have to remove it from Office 365 and then add it again after you’ve switched plans. This will require some downtime of your services. If you’re switching to a plan in a different service family, you’ll need to back up all of your company’s information before switching plans.

Put another way, you are pretty much on your own. In Active Directory terms (Microsoft’s directory service), it means a new directory and therefore a new cloud identity for all your users. Any other services linked to that directory, such as Intune for PC and device management, will also need replacing.

I helped a small business make this change, so here are a few notes from the field.

The first step is to create the new Office 365 site. You can use a trial and purchase licenses later. It cannot have the name as the old site, for obvious reasons. Every Office 365 is part of the onmicrosoft.com domain. If your old site is mydomain.onmicrosoft.com, you can call the new site mydomain1.onmicrosoft.com.

These onmicrosoft.com subdomains are useful, since they are not affected when you move the custom domain (eg mydomain.com) from one site to the other. You can still use the old onmicrosoft.com domain to access the old site.

Then set up the users. In this case the business is so small it can easily be done manually.

1. Migrating SharePoint

Moving a SharePoint document store from site to another is painful if you cannot do what you would normally do, that is, backup the content database and reattach to a different SharePoint site. Microsoft does not provide any bulk export feature, though you can write your own code. There are third-party migration tools like Sharegate which probably works fine, but for a very small business it is not cheap, starting at $995 for a one-year subscription to the “Lite” version.

I found a quick and dirty solution using an Azure virtual machine. Create an Azure VM running Server 2012 R2, log in using Remote Desktop and install the Desktop Experience. Then navigate to the old SharePoint site, add sites to trusted sites as necessary, and “Open in Explorer” to use WebDAV and view the documents in Windows Explorer. Copy all the documents to a local directory. Then connect to the new site and do the same in reverse.

Why Azure? The idea is to benefit from fast connectivity between Office 365 and Windows Azure. This worked well and the documents copied much more quickly than I could achieve when connecting from my own network.

You do lose document history using this technique. Further, all documents will now be “last modified” on the date the copy is made.

Timing is a problem. In order to minimise downtime, you want users to be able to keep working on the old site for as long as possible. However, during this time they might add or edit documents in SharePoint. I did two passes, once before the cut-off point to get the bulk of them copied, and once after, using Search in Explorer to identify the documents added or changed.

2. Migrating Exchange

Exchange migration is also tricky. Office 365 includes Exchange migration tools but they are designed for moves on-premise to Office 365, not for moving between families. It may be possible to make them work, though this official advice is not promising:

Since they are different service family, and we cannot use such as  Cutover migration to achieve this goal, we just can use export and import pst. Moreover, we cannot parallel 2 user accounts which have the same domain in both 2 tenants, so the service may be impacted. Sorry for the inconvenience.

This support person is suggesting using Outlook to move a mailbox by exporting and importing data. It is an ugly procedure, especially if you are trying to do this without involving the users much. You would have to impersonate each user, connect in Outlook, download the entire mailbox, export it, and then connect Outlook to the new mailbox and import.

I used a third-part cloud service, MigrationWiz, instead. This connects to each hosted Exchange using either impersonation (an Exchange feature which lets a user connect to a mailbox as if they were the mailbox owner) or a user with full control permission on all mailboxes, and copies all the items across.

Unlike Sharegate, MigrationWiz is priced per mailbox, at $11.99 each for a multi-pass license. This make it affordable for a business of any size.

I found MigrationWiz excellent. It was not entirely trouble-free and I got some time-out errors on my first attempt, but these may well be the fault of Office 365 itself. The user interface is good with plentiful statistics on how your migration is going. It did not create any duplicate items.

The worst thing about MigrationWiz is that you have to give your mailbox administrator credentials to a third-party. In some cases that might rule it out; but the company says:

Mailbox credentials are stored using AES encryption. Once credentials are submitted by either the administrator or end-user, the credentials cannot be retrieved or seen. The credentials are immediately purged from the system once you delete the corresponding configuration to which it is associated.

The company is based on Microsoft’s doorstep in Kirkland, Washington, and given how detrimental a security breach would be to the company’s reputation I figured that the risk is small.

3. Moving the domain

How do you move your company domain from one Office 365 account to another? MigrationWiz has a help document on this which is mostly helpful. You do have to accept some email downtime. I did what MigrationWiz suggests, which is to point the MX records for the custom domain at an unreachable site, temporarily. You can do this in the middle of the night or at the weekend to minimise the inconvenience.

However, I did not like this advice:

Delete all users, contacts and groups from the source Office 365 account.  This step is important to ensure that no object reference the domain.  Just removing the email address from objects is not sufficient.

I am cautious and wanted to keep the old site intact with its mailboxes until the business says it is confident that everything has been transferred successfully. Therefore I tried doing this the way Microsoft suggests:

  • Remove all references to the custom domain from the old site. This includes making sure it is not the default domain, and removing any email addresses which reference it, not only from users, but also from mail-enabled groups or resources in Exchange. If you have a public web site using the custom domain, remove it from there as well.
  • Remove the custom domain from the old site.
  • Add the custom domain to the new site, verify it, and amend the DNS records as needed.

I was successful and moved the custom domain without having to delete the old user accounts.

4. Reconfiguring Outlook

What happens when users now run Outlook? Might Outlook prompt for the new password (presuming you changed user passwords), connect to the new site, and upload the contents of its old mailbox to the new mailbox, duplicating the work of MigrationWiz and leaving users with two of everything?

Apparently it does not do this, though my recommendation is to delete the old Outlook profile (mail applet in control panel) and create a new one before attempting to connect to the new account. Outlook will have to re-download the mailbox, though it is smart about downloading new and recent emails first.

5. Migrating Intune

If you also use Intune, you have to set up a new Intune account linked to the new Office 365 domain (even if the custom domain is the same), and remove PCs from the old Intune account. You do this by “retiring” them in the Intune portal. This is meant to set up a scheduled task on the client PCs which removes the Intune client. Then you can join the client PC to the new Intune account by running the Intune client setup from the Intune portal.

If this does not work, and the client PC remains stubbornly enrolled to the old Intune account, you can use this procedure:

  1. Open an admin command prompt
  2. Navigate to C:\Program Files\Microsoft\OnlineManagement\Common
  3. Run "ProvisioningUtil /UninstallAgents /WindowsIntune"

It will create a scheduled task and shortly uninstall all the agents. (be patient)

For more information on removing the Intune client, see http://douwevanderuit.wordpress.com/2014/01/30/removing-windows-intune-client/.

There is a downside to this. Imagine you have used Intune to suppress some update that breaks something on your client PCs. When the Intune client is removed, the PC will revert to using Microsoft Update until it is re-enrolled in the new Intune. During that time it may install the update you were trying to suppress.

Note:

On one machine we got this error when reinstalling the Intune client:

image

“The software cannot be installed. The account certificate must be in the same folder as the installer, or the user account must already be authorized to use Windows Intune”

My guess is that the new Intune setup is fining the old Intune account certificate and therefore failing. The fix is to download the setup manually from the Intune Admin portal. This setup is a zip which includes the account certificate (the .exe download is different and does not include the certificate – you must use the zip setup). This setup ran successfully and rejoined the machine to Intune.

6. Why is this necessary?

Everything worked and while it is not entirely pain-free, with relatively little inconvenience for the users.

However, how difficult would it be for Microsoft to adapt its “switch plans” wizard to accommodate this kind of switch, subject to the proviso that anything which depends on a feature that does not exist in the target plan would not be migrated?

In fact, I am not sure why it is necessary to have so many plans at all. Why not have it so that you can mix and match licenses from any plan?

Something that needs fixing in Office 365: sometimes you cannot log out

Microsoft is notorious for asking users to log in multiple times, even when you check “Keep me signed in”.

Now we have the opposite problem. Here I am in Office 365, logged in as the admin user:

image

I need a break and want to stay secure, so I drop-down the menu top right and choose Sign out:

image

Lo, I am still signed in:

image

And no, it is not just a browser cache issue or similar. You can still do administrative tasks.

I have seen references to the bug in Microsoft support forums, so it is known, but unfixed for ages.

I do not publicise this sort of stuff because of any antipathy towards Microsoft. Rather, I do it because it needs to be improved.

A closer look at Azure web sites: beware suspension

I am investigating moving this site to Windows Azure. The major benefit would be scalability. Currently it runs on a Linux VM which works very well, but in the event of a major spike in traffic (which is always possible with a news/comment site) it cannot scale.

Windows Azure web sites have nice scalability features. You can add and remove instances, or set up autoscaling based on a schedule or by CPU usage.

Unfortunately this does not come cheap. For autoscaling, you need a Standard web site, which starts at around £35 per month (1 core, 1.75GB RAM) for a Small instance, if you buy a 6 month plan.

Backtracking a little, Azure offers three levels of web site:

  • Free: Shared hosting, 1GB storage, 165MB per day outbound transfer
  • Shared: Shared hosting, 1GB storage, 5GB per day outbound transfer, up to 6 instances. In preview but currently around £7.00 per month per instance
  • Standard: Dedicated hosting, starts at £48 per month pay as you go, £35 per month 6 month plan.

For a quick test, I set up Brandoo WordPress from the Azure app gallery. Brandoo WordPress uses SQL Server rather than MySQL. MySQL on Azure is only available from a third party, ClearDB, which puts me off using it, unless you go a different route and use your own Windows or Linux VM to run it, losing the scalability benefit.

I started with a free web site. I have used free web sites in the past to prototype .NET applications, for which purpose they are excellent. The experience with WordPress was not so good. The site seemed to hang during the WordPress install wizard. My second go was successful, but the site was slow even just navigating the dashboard. Hopeless for any serious use beyond prototyping.

I converted the site to Shared hosting. The price is modest, and I wondered if the ability to scale manually up to 6 instances when needed might be sufficient. The performance improved markedly, compared to the free version. However I noticed these odd metrics in the dashboard: CPU time and Memory Usage, with notes like “Resets in 5 hours” or “Resets in 33 minutes”.

image

In particular, I noted that I had used nearly half of my allocated “Memory usage” just installing an empty WordPress site.

I am not familiar with measuring memory usage per hour and I am not even sure what it means. However, it seems that the consequences of exceeding either the CPU or the memory limit is extreme. The web site is suspended. See for example here:

Something strange happened today. My website on windowsAzure was suspended and inaccessible because my site had exceeded the CPU quotum. I am running the website in shared mode, but I had removed all quota. So why is my website suspended, I thought I would pay for the extra usage, not that my website would be suspended. What is happening here? And what should I do to prevent this from happening again?

See also Jonas Gauffin’s post Azure Failed Me (which has a more positive conclusion than you might expect from the title):

Today I were going to search my blog (http://blog.gauffin.org) about how to do a (almost) a generic type constraint for enums. But instead I got this screen: This site is currently not available. The scary thing is that I’ve got no notification what so ever about my site being down. So I browsed to the manage web site part of Azure and was greeted by the following screen: Suspended. As you see the CPU time has been consumed.

The same problem, I am guessing, hit this user, who has a tutorial on setting up a WordPress blog to Azure, but says at the end not to use it:

Also, even after perfect configuration of the website, Windows Azure was still showing some problems like this “This site is currently not available…” what a joke, the site is in cloud – global cloud – and not available, so when will?

though he apparently did not identify the reason.

It does not seem to me unreasonable that the free option suspends your site; it is free after all. The shared site is low-budget, but still paid for, and it seems to me that the problem of suspension should be spelt out more clearly. If you read:

A web site running in Shared mode benefits from high availability even with a single instance, but you can add up to 6 instances ("scale out") for even greater performance and fault tolerance.

you do not expect that the site will simply stop responding for up to a day if it exceeds CPU or memory limits that are often not easy to predict.

There are thousands of hosting services offering shared hosting or WordPress blogs at low prices, not least WordPress.com, and in general these sites do not get suspended because of exceeding CPU or memory limits.

The conclusion though is that if you want to use Azure for a site whose uptime you care about, you should plan to use no less than a Standard instance.

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?