Category Archives: microsoft

Time for another look at “pure .NET”

Back in the Nineties there was a lot of fuss about “pure Java”. This meant Java code without any native code invocations that tie the application to a specific operating system.

It is possible to write cross-platform Java code that invokes native code, but it adds to the complexity. If it is an operating system API you need conditional code so that the write API is called on each platform. If it is a custom library it will have to be compiled separately for each platform.

Over on the Microsoft .NET site, developers have tended to have a more casual approach. After all, in the great majority of cases the code would only ever run on Windows. Further, Microsoft tended to steer developers towards Windows-only dependencies like SQL Server. After all, that is the value of owning a developer platform.

Times change. Microsoft has got the cross-platform bug, with its business strategy based on attracting businesses to its cloud properties (Office 365 and Azure) rather than Windows. The .NET Framework has been forked to create .NET Core, which runs on Mac and Linux as well as Windows. SQL Server is coming to Linux.

Another issue is porting applications from 32-bit to 64-bit, as I was reminded recently when migrating some ASP.NET applications to a new site. If your .NET code avoids P/Invoke (Platform Invoke) then you can compile for “Any CPU” and 64-bit will just work. If you used P-invoke and want to support both 32-bit and 64-bit it requires more care. IntPtr, used frequently in P/Invoke calls, is a different size. If you have custom native libraries, you need to compile them separately for each platform. The lazy solution is always to run as 32-bit but that is a shame.

What this means is that P/Invoke should only be used as a last resort. Arguably this has always been true, but the reasons are stronger today.

This is also an issue for libraries and components intended for general use, whether open source or commercial. It is early days for .NET Core support, but any native code dependencies will be a problem.

Breaking the P/Invoke habit will not be easy but “Pure .NET” is the way to go whenever possible.

Notes from the field: Office 365 pain following Windows 10 upgrade

I got involved in looking at a PC where a few Office 365 problems had arisen following an upgrade to Windows 10 (prompted by Microsoft supposedly ending its free upgrade offer).

In particular, SharePoint online was crashing Internet Explorer. Internet Explorer? Don’t Windows 10 users stick to Edge?

Unfortunately Edge is problematic with certain sites. It works OK with Office 365 but there are some issues. For example, open a SharePoint document library in IE and you get the very useful option to “Open with Explorer”, an Explorer UI for your cloud-hosted files.

image

Try this in Edge and you get:

image

Note how the help information does not tell you how to fix the problem.

For reasons like this, the user still had a shortcut to SharePoint online in IE on the Windows 10 taskbar. Click it though, and IE would crash with its “Internet Explorer has stopped working” dialog.

Probably an add-on, I thought. This was proved right when I opened IE with add-ons disabled – try running:

"%ProgramFiles%\Internet Explorer\iexplore.exe" –extoff

– and found that SharePoint online worked fine. After some experimentation, I discovered that the SharePoint Export Database Launcher add-on was causing the problem. Disabled it and SharePoint worked fine.

image

This add-on is installed by Microsoft Office. It prompts a couple of thoughts.

I do not know if every Windows 10 PC is similarly afflicted, but problems like this do suggest a lack of quality control in some areas. It is also unfortunate that when you install Office 365 Professional Plus you do not get any options; you get everything. Including, in this case, a buggy add-on.

Second, I wish Microsoft would pause from its energetic feature work with Office 365 and sort out the core functionality of working with documents in SharePoint online. As someone pointed out to me on Twitter today, the situation with OneDrive sync clients remains a mess, and when it goes wrong it is not always easy to troubleshoot.

Incidentally, I cannot resist telling you how to fix another OneDrive for Business issue. Here’s the problem: you open a document library in a web browser (even works in Edge), hit Sync, and OneDrive for Business fires up. If this is the first document library to be synced you might be prompted to sign in. So you enter your email address, hit Next, and then enter your password and click Sign in. Sometimes though nothing happens and you can’t sign in. What’s the fix? Don’t click Sign-in, press Enter!

The battle to own Windows Explorer shell overlay icons, or why your OneDrive green ticks have stopped working

There are a number of dark areas in Windows that do not work quite right. MAXPATH anyone? But here is another one that I have only recently become aware of.

If you use applications such as Mozy, OneDrive (Business or Personal), Adobe Creative Cloud, Tortoise (a developer utility) or Dropbox, you will be familiar with the idea of files in Explorer showing little icons to indicate their state: synced, not synced, in conflict, excluded and so on.

image

A common complaint is that while everything still works, the little green ticks (or whatever) no longer appear.

The reason for this is simple, if depressing. Well, there are two reasons. One is that Windows has a limit of 15 overlay icons. If more than that are specified (by multiple applications) then anything over the limit does not work.

The second is that multiple applications cannot apply overlays to the same file. So if you tried to set up your Tortoise repository in a OneDrive folder (do not do this), one or other would win the overlay battle but not both.

The overlay configuration is stored in the registry, at HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShelliconOverlayIdentifiers\

If you visit this location in RegEdit, you will notice something interesting:

image

Some of these entries, including AccExtIco (Adobe Creative Cloud), OneDrive (personal OneDrive) and SkyDrivePro (OneDrive for Business), have a leading space in their name. Why? That is because the authors of these applications want THEIR stuff to work right, so by including the leading space they get to the top of the queue.

(I also have entries for SkyDrive as well as OneDrive, registry bloat caused by the name change no doubt).

Microsoft’s support article on the subject therefore suggests renaming these entries to have TWO leading spaces:

Rename the following registry keys. To do this, right-click the folder, select Rename, and then rename the folder. When you rename the folder, add two spaces at the beginning of the name.

You can see where this is going to end … Adobe will install its entries with three spaces, Microsoft will come back with four, and so on. Possibly.

It is also an imperfect solution. On a machine suffering from this issue I performed an Office repair, which restored the old entries with a single leading space while not removing those with two leading spaces. More bloat.

If you get this problem, the best solution is to remove applications so that there is no conflict. If you want to use Mozy for backup, Dropbox because it works, and two OneDrives because they are nearly free, well, you are not going to have all your icon overlays working and that is that.

Microsoft financials April-June 2016: on track but continued drift away from consumers

Microsoft has announced its latest financials, and I have made a quick table summarising the year-on-year comparison for the quarter. See the end of this post for what the confusing segment categories represent.

Quarter ending  June 30th 2016 vs quarter ending June 30th 2015, $millions

Segment Revenue Change Operating income Change
Productivity and Business Processes 6969 +308 3000 -167
Intelligent Cloud 6711 +415 2190 -443
More Personal Computing 8897 -346 964 +359
Corporate and Other -1963 -1943 -3074 +5384

A few observations.

Office 365 is Microsoft’s current big success. According to the company’s press release, Office 365 revenue grew 54%, which is huge. However, on-premise sales declined which meant that overall revenue growth in “Office commercial products and cloud services” was only 5%. Still, that’s a successful transition.

The picture was similar in consumer Office, with Office 365 consumer increasing by 23.1% while overall revenue grew by only 19%.

Dynamics CRM is moving to the cloud. Microsoft says that Dynamics CRM online grew by more than 2.5 times, while overall revenue grew only 6%. The maths may be deceptive, if CRM online grew from a small base, but it is a clear trend. Not to be confused with Dynamics 365, which is ERP/Business process management, though Nadella is also bullish on the latter.

Azure revenue grew 102%.  Microsoft’s cloud results are not quite as sparkling as those from Amazon Web Services, but still impressive.

Enterprise Mobility is growing. This is a suite of tools built around InTune, Microsoft’s Mobile Device Management solution.

Surface is doing OK. Revenue up 9% thanks to Surface Pro 4 and Surface Book.

Windows news is mixed. “Windows OEM non-Pro revenue grew 27% and OEM Pro 2%” says the release, which given the weak PC market is decent. Windows 10 is at 350 million active devices, which Nadella said in the earnings webcast is the fastest ever adoption rate for a new version Windows; hardly surprising given the free upgrade offer and high-pressure upgrade marketing.

Xbox news is mixed. Gaming revenue is down 9%. Xbox Live revenue grew 4% but Xbox console revenue is down.

Windows Phone dives towards oblivion. Revenue is down 71%, from a base that was already tiny.

Microsoft cares less and less about consumers. “We will deliver more value and innovation” in Windows, says Nadella, “particularly for enterprise customers.” I also note the remark in the press release that “Search advertising revenue excluding traffic acquisition costs grew 16% (up 17% in constant currency) with continued benefit from Windows 10 usage,” suggesting that part of the Windows 10 consumer strategy is to use it as a vehicle for advertising; this is known in the business as “adware” and does not encourage me; it will push canny users towards Mac or Linux. In the earnings call, Nadella said that 40% of search advertising revenue is from Windows 10 devices. “The Cortana search box has over 100 million monthly active users with 8 billion questions asked to date,” said Nadella.

A reminder of Microsoft’s segments:

Productivity and Business Processes: Office, both commercial and consumer, including retail sales, volume licenses, Office 365, Exchange, SharePoint, Skype for Business, Skype consumer, OneDrive, Outlook.com. Microsoft Dynamics including Dynamics CRM, Dynamics ERP, both online and on-premises sales.

Intelligent Cloud: Server products not mentioned above, including Windows server, SQL Server, Visual Studio, System Center, as well as Microsoft Azure.

More Personal Computing: What a daft name, more than what? Still, this includes Windows in all its non-server forms, Windows Phone both hardware and licenses, Surface hardware, gaming including Xbox, Xbox Live, and search advertising.

Office 365 users: beware Outlook’s mysterious Not Implemented error

Outlook broke on my laptop the other day. Well, it still received mail, but many operations threw up an error, “Not Implemented”.

It was particularly annoying that the error affected sending emails, but the error dialog only showed when I tried to force a send and receive. Therefore, emails were stuck in the outbox with no notification.

This error can indicate a corrupt installation, but in my case it was simply an Office 365 mess-up. In particular, the problem was connected to a an automatic upgrade from Office 2013 Professional Plus to Office 2016 Pro Plus, for users on Office 365 E3 subscriptions.

Users are meant to see an upgrade notification before this occurs. I don’t recall seeing this, but it is possible. I suspect my problem was related to an issue that caused Microsoft to pause “Microsoft-initiated upgrades” on May 9 2016. Perhaps I clicked the upgrade offer back in May and had forgotten about it.

As far as I was concerned, Office 2013 had not in fact been upgraded. I use Office applications by clicking shortcuts on the taskbar, and these were still for Office 2013. I had not seen any notification of an upgrade completing.

When I got the error though, I looked a little more deeply and found that I had both Office 2013 and Office 2016 (the latter described as Microsoft Office 365 Pro Plus) installed. Control Panel – Programs and Features also showed that both were installed on 16th June 2016, two days after “Microsoft-initiated upgrades resumed for computers that had downloaded the Office 2016 upgrade files prior to May 9 2016.”

The fix was simple. Remove Office 2013. This removed my taskbar shortcuts, but I could then reinstate them with the 2016 versions and everything worked.

Just a small issue perhaps; but certain aspects of this are disappointing.

One is the incorrect error message. I know raising the right error message is challenging, but it is important.

Second, I doubt the automatic upgrade is meant to leave both versions in place. Why cannot Microsoft figure out how to remove the old version, install the new one, and even preserve my taskbar shortcuts with their equivalent upgraded versions?

Microsoft and LinkedIn: some early thoughts

Microsoft has announced its most expensive acquisition yet, taking over LinkedIn for $26.2 billion. The transaction is expected to close later in 2016.

Why? It’s about combining data from Office 365 with LinkedIn’s data on who works where. According to Microsoft, it’s “the word’s first economic graph, a digital mapping of the global economy,” said Microsoft CEO Satya Nadella. “If you connect these two graphs, that’s where the magic starts to happen.”

image

LinkedIn is not just a social network with a business flavour, but also offers online training thanks to its April 2015 acquisition of Lynda.com.

“A professional’s profile will be unified,” says the presentation, “and the right data at the right time will surface in an app, whether Outlook, Skype, Office or elsewhere.”

There is obvious synergy with Dynamics CRM for customer relationship building and “social selling” – which, at its best, is the ability to be there at the right time with the right offer for your product or service, having nurtured a relationship over a long period.

There is even an offer to “empower developers in new ways with rich APIs and new training opportunities.”

Will it work?

Microsoft is not good at acquisitions. That is in part because of its own internal politics, leading to tragedies like the takeover of Danger in 2008, a strong company with a strategic product that was so mismanaged following the takeover that it lead to the Kin disaster. Then there was Nokia, a perfect fit for Steve Ballmer’s strategy of “win at all costs” with Windows Phone, and a perfect misfit for Nadella’s “cloud plus any device” approach, leading to the dismantling of the acquired assets and most of the employees with huge destruction of value.

What about Yammer, acquired for $1.2 billion in 2012, to “accelerate Yammer’s adoption alongside complementary offerings from Microsoft SharePoint, Office 365, Microsoft Dynamics and Skype?” It is near-invisible today. Or Skype, $8.5 billion in May 2011? Skype still has lots of users, but Microsoft has failed on the technology side, fiddling with numerous different Windows and mobile clients and designs, making users unhappy, with poor connections, and absorbing Messenger to no benefit. Lync, Microsoft’s enterprise instant messaging system, has been renamed Skype for Business but still uses different technology.

Still, let’s presume the acquisition works and that LinkedIn continues to grow. Will it make sense for Microsoft? Will it make sense for Microsoft (and LinkedIn’s) customers?

Who are LinkedIn’s customers? In the first quarter of 2016, the quarterly revenue figures looked like this:

Talent solutions (recruitment): $558 million

Marketing solutions (advertising): $154 million

Premium subscriptions (users who pay): $149 million. Of LinkedIn’s 433 million members, just 2 million pay for subscriptions.

Why would you pay for a LinkedIn subscription? I’m speculating, but I’d guess that a paid subscription is excellent value for recruiters and fair value for job seekers, but little value for others. That means the recruitment aspect is if anything understated by the amount in Talent Solutions.

Those other 431 LinkedIn members are not customers. They are users whose presence forms the value of the service to the recruiters.

Microsoft could in principle find other ways to get value out of those users, by making them customers for its productivity offerings. I doubt that that this is the primary intent though. The intent is more about “the magic” of all that lovely data combined with Azure’s powerful analytics capabilities. Somehow that is meant to yield value in unexpected ways.

Google has enormous success with this approach. It services users highly value, such as search, Google Apps, YouTube, Maps, the Android operating system. Then it exploits the presence of those users to offer them contextual advertising. It becomes the portal to your life taking a little cut every time you spend money.

How does this work in a business context? This is not clear to me. What is the synergy between Office 365, which is essentially internal IT services outsourced to a public cloud, and LinkedIn, which is essentially about contact building to find work or sell services? I would say, not all that much. Yes, LinkedIn can be integrated into Office 365 such that it is easier to find freelance help for a need that arises, for example. Making it easier to leave your company by finding another job though is not likely to go down well with Office 365 customers.

Can Microsoft make LinkedIn an essential business destination, like YouTube for video or Google for search, to enable the kinds of contextual opportunities that drive Alphabet’s business? Anything could happen, but it is miles away from that at the moment. Is it the best source for business news? No. Is it the best way to keep in touch with colleagues? No, that’s your internal IT system (could be Office 365), or maybe Facebook or Twitter for social contact. Is it the best way to keep in touch with friends? No, that’s Facebook. And so on.

If you are talking Dynamics CRM, then there you can absolutely see the synergy, but that is not big enough to justify the $26 billion cost.

One of the issues is that LinkedIn is not loved. There is constant bombardment with contact requests which are just a chore. There are emails like this:

image

which mean little to me because honestly it is not a network I value – being mostly composed of people who have asked to “link in” with me in the hope that I may be useful to them by writing about their stuff. Others tell me they get constant invitations to apply for jobs; IT recruiters can be an aggressive bunch and no doubt it is the same in other professions where there is skills shortage.

In other words, getting from here to a point where LinkedIn is woven into our business lives in a mutually beneficial way looks like a difficult journey.

This might explain the lame illustration of how great life will be after the acquisition.

image

I have a meeting and Cortana is going to give me all kinds of information about the person I am meeting, social as well as professional. This is great for a salesperson going in to make a pitch. It might not be so great for the recipient of that pitch who may want to keep the meeting brief. It raises tricky questions about the overlap between personal and business data.

I recall the Outlook Connector, an add-on to Outlook that surfaced a panel of information about a person drawn mainly from Facebook. I found it intriguing but sometimes uncomfortable, that when someone emailed me for some business reason I would news of their recent holiday or some such.

Privacy and trust

One reason for choosing Microsoft over Google for cloud email and document services is that whereas Microsoft’s main business is in providing IT services, with Google you are always aware that its main business is advertising and that it wants to mine your data. Now that Microsoft wants to create “the world’s first economic graph” that distinction is less sharp. Microsoft wants to mine your data as well, in other words, and possibly not to your advantage. Now we will have to be alert, on Office 365, for checkboxes that say “Share this on my LinkedIn Profile” or “Notify my LinkedIn contacts” or some such.

I was disappointed not to hear more on the privacy and trust issues in the webcast following the announcement. It was left to a question at the end on maintaining the distinction between public and private data. “Nothing gets connected without customers opting in,” said Nadella. I would like to have heard that first. I would also like to be reassured that Nadella means “opting in” rather than “failing to opt out”, which is more the norm in this area.

The new Microsoft

What is the new Microsoft? The LinkedIn deal seems to be significant in several ways. It shows how the company is further tilting towards business rather than consumer customers. And it is not technology. Microsoft is buying data and an internet destination, not technical innovation. To me, Microsoft is at its best when it simplifies and democratizes technology – yes, it can do this, and I’d instance things like Excel, the original Visual Basic, Access, and more recently, things like HoloLens and Windows Phone (the best phone UI). You can even see this in Office 365; it has its complexities but compare it to setting up multiple servers with Active Directory, Exchange and SharePoint and you will get the point.

Right now I am not seeing the magic.

How to run Android Studio on Windows without disabling Hyper-V

Update: This post is out of date; you may still be able to get it to work but there are stability issues with the emulator. Microsoft has announced a better solution, if you are on the latest Windows 10 April 2018 Update or later, and you can now use the official Android emulator with Hyper-V. See also my more recent post here.

Original post:

If you run Windows and use the Hyper-V hypervisor, which is used by Visual Studio as well as being handy for testing stuff in virtual machines, then you will encounter an annoyance if you go on to install Android Studio, Google’s official IDE for Android.

The problem is that Google’s Android emulator uses Intel’s HAXM (Hardware Accelerated Execution Manager) which uses the same CPU virtualization extensions as Hyper-V. This means it is incompatible. It is not only that you can’t run Hyper-V and HAXM simultaneously; the PC has to be configured at boot to use one or the other.

The solution (if you do not want to disable Hyper-V) is to use Microsoft’s Android emulator, which is a free download here.

image

In order to use this with Android Studio, you need to run the emulator first. Then, in Android Studio, go to Run – Edit Configurations and select Show Device Chooser Dialog under Deployment Target Options.

image

Now run your project, and select the VS Emulator, ignoring the invitation to “Turn off Hyper-V”:

image

Now you can debug your application in the Visual Studio Emulator – which is pretty good.

image

Microsoft SQL Server is coming to Linux. What are the implications for Windows Server?

Microsoft is porting SQL Server, its popular database manager, to Linux. According to Executive VP Scott Guthrie:

Today I’m excited to announce our plans to bring SQL Server to Linux as well. This will enable SQL Server to deliver a consistent data platform across Windows Server and Linux, as well as on-premises and cloud. We are bringing the core relational database capabilities to preview today, and are targeting availability in mid-2017.

Why do this? The short answer is that like any other software company, Microsoft wants to sell more licenses, and porting its premier (and excellent) database manager to Linux extends its market and helps it compete more directly with the likes of Oracle and even MySQL.

image

However that begs a second question, which is why has Microsoft not done this before? After all, SQL Server has been around forever. The first release was in 1989, jointly with Ashton Tate and Sybase, and was for OS/2. The first Windows release was 1993. There was a significant leap forward in SQL Server 7.0, in 1998, which I think of as the beginning of the product as we know it today.

Microsoft in the nineties and in the first decade of the new millennium was all about Windows. Dominant on the desktop, the idea was to build synergies between Windows desktop and Windows server so that running server applications like Active Directory, Exchange and SQL Server was the obvious choice. The Visual Studio development environment pushed developers towards Visual Studio in subtle and not-so-subtle ways. Some programming language innovations like LINQ to SQL (a form of Language Integrated Query) only worked with SQL Server. It was not quite lock-in, it was always possible to use a different database engine, but SQL Server was always the default, used in all the examples and documentation, and the best understood when you needed support.

Today Microsoft’s circle of dominance is breaking down. Windows still has desktop dominance, but the importance of the desktop is less, thanks to mobile devices which mostly do not run Windows, and a move away from desktop applications towards web applications that do not care which operating system you use. Active Directory is still important, but cloud computing giants like Google and Amazon are encroaching on that space.

“Only on Windows Server” has become a liability rather than the key to keeping customers locked to Microsoft’s platform.

You can see this in the company’s development strategy, which is migrating towards a cross-platform implementation of .NET as well as embracing iOS and Android via the recently announced Xamarin acquisition. You can also see it in the Azure cloud platform, and Microsoft’s partnership with Red Hat for Linux on Azure. The company is happy to take your money whatever operating system you choose.

It is early days though, and Microsoft is still a Windows-centric company. SQL Server on Linux, expected sometime next year, will probably not be feature-complete compared to SQL Server on Windows – I am guessing, but things like .NET Stored Procedures may be tricky to get right, as well as features like in-memory databases that are tightly integrated with the operating system.

It is worth noting that cross-platform is actually a burden as well as a strength and may involve compromises. It will be fascinating to see how performance compares on equivalent hardware.

Microsoft is now betting than opening up new markets for SQL Server is more important than keeping customers hooked on Windows Server – especially as that last strategy is failing in the cloud computing era.

Finally, there is the question I posed in the title of this post. How does moving key server applications to Linux impact the appeal of Windows Server? After all, Linux licenses are generally cheaper than Windows Server and in some cases free. The answer is that it is one less reason to buy Windows Server, presuming SQL Server works properly on Linux.

You can see this as a process of commoditizing the operating system so that in time expensive server operating system licenses are a thing of the past. This is probably not a good trend for Microsoft. It can still prosper though if you rent your virtual infrastructure from the company and use its cloud services, like Azure and Office 365.

Another way of looking at this is that there is more pressure on Windows Server architect Jeffrey Snover and his team to make Windows Server better than Linux, so that you want to run it because of its merits, not because it is the only way to run SQL Server or Exchange.

Outlook 2016 attachment mysteries and annoyances

Microsoft Outlook 2016 has a new feature which the company highlighted when it first appeared, which is that it sends attachments as links by default, if they are stored in network-accessible locations. The idea is to prevent proliferation of different versions if several respondents make changes and email them back. It also means that everyone has the latest version. Good stuff, right?

I am not sure. Of course Outlook is meant to give you the choice about whether to send as a link or as a copy, but we all know that busy people just click and expect it to work; they mostly will not think through which method is appropriate in a particular case, or in some cases, even understand the difference. One of the implications of sending links is that the document received may not be what is sent. For example, consider this scenario:

1. Hmm, shall I send the minutes of our last meeting to this person at supplier X? Better check there is nothing sensitive in it. [Checks]. OK, send.

2. Colleague happens to look at minutes, thinks, why did we not minute our difficulties with supplier X? Adds section of sensitive information and proposal to switch to supplier Y.

3. Person at supplier X receives document …

OK, my scenario is somewhat contrived, but you can see the underlying issue.

There is also the question of whether the mechanism behind this feature is really robust. It is not in fact a simple feature. What is meant to happen is that Outlook detects whether your document can be sent as a link, and if it can, interacts with SharePoint to create a magic link with either view or edit permissions. In my experience, it is easy to end up sending an attachment that cannot in fact be accessed by the person at the other end.

I have an internal SharePoint and soon figured out that I had to prevent Outlook from sending documents as links. The URL I use for SharePoint internally is not accessible externally, which is perhaps a flaw in my setup, but not one that has ever caused problems before. In any case, I would prefer not to give out any magic links to documents in my SharePoint; it just seems an unnecessary security risk.

In the case of Office 365, note that external sharing may be switched off, in which case links will not work. External sharing may also be disabled for specific sites.

image

Maybe Outlook 2016 is smart enough to detect whether or not external sharing is enabled, but if so, this does seem to go wrong sometimes. I have seen cases where users send an attachment link, but the recipient cannot access the document. Rather, they click the link and get a “can’t be found in directory” error or similar.

image

Another issue is that Outlook 2016 does not always offer you the choice of link or attachment. Here is how it is meant to work. What happens sometimes though is that the attachment does not end up in the “attached” header at the top of the email, but rather in the body. In this scenario, you actually end up with a small Word table (Outlook messages use the Word editor) that cannot be converted into a standard attachment:

image

Note the little icon, an embedded image, which includes a cloud to give you a clue that this is not really attached. It also seems to mess up text formatting; note that my typing is now Times New Roman rather than Calibri. Another Outlook mystery.

This problem only seems to happen if you select a file from Outlook 2016’s recently accessed document list, which appears when you click the new Attach File button:

image

So how do you prevent this behaviour? Given the difficulties it can cause, I thought Outlook might have an option to disable sending attachments as links, or at least to prevent it happening by default. I have not found such an option yet. One point to bear in mind is that in previous versions of Outlook it was not easy to send a document from SharePoint at all, unless you could access it from Windows Explorer. This means using WebDAV (“Open in Explorer”), or the still-problematic OneDrive for Business client. So the dropdown with recently accessed SharePoint and OneDrive documents is new and potentially welcome functionality.

Here are a couple of workarounds though. If you format an email as plain text, which you can set as default if you choose, then you will not get the embedded link that cannot be changed. Instead, you will get the dialog with options to link or attach a copy:

image

What if you want Outlook 2016 to behave like Outlook 2013 and earlier? Well, the Attach File with the dropdown is not customizable directly, but you can add an old-style Attach File button. To do this, start a new email, right-click the toolbar, and click Customize the Ribbon. Right-lick the New Mail Message section on the right, and choose Add new group. Then select the Attach File command on the left, and the new group on the right, and click Add. I have called my new group Custom:

image

The effect is that you now have two Attach File commands, one of which behaves just like Outlook 2013:

image

My custom Attach File is on the right in the image above, does not have a drop-down list, and simply selects a file using an insert file dialog.

I appreciate that these are workarounds and not complete solutions.

Did Microsoft really think through this feature? Why the bugs? Why no easy way to disable it? I wish I knew.

Microsoft Office 365 and desktop friction

Microsoft would like us to think of Office 365, its hosted email and collaboration service, as “cloud”. And it is in many ways; you can even get all your email and Onedrive-stored documents direct from a web browser.

The truth though is that Microsoft has been careful not to disrupt its desktop Office software too much. Most users, in my experience, choose Office 365 in part because of its integration with Outlook, Word and Excel. You can install the software from the Office 365 portal, and open and save documents from Onedrive for Business.

Another part of the service is online chat and conferencing, for which you need the Skype for Business (formerly Lync) client on your PC.

There is an issue here though. Part of the attraction of “cloud” is that you do not have to manage software; but in the case of Office 365 you do have to manage the software that is installed on your PC. Microsoft’s investment in click-to-run installation has helped to simplify the setup, but under the covers it is as complex as ever.

Take the case of a small business I know, which was on the Office Midsize Business plan. Microsoft has retired this plan, so when it came to renewal time the customer had to change to a different plan. If they wanted to keep *all* the features of Midsize Business, including the Access database app, they could migrate to the Enterprise E3 plan – at £14.70 per month, nearly double the £7.80 per user/month for Midsized Business. On the other hand, they could migrate to the Business Premium plan for the same cost and, well, *nearly* the same features. The horrible details are here.

They didn’t use Access so Business Premium seemed OK. On the cloud side, the migration was straightforward. However, since Access was no longer included they had to remove and reinstall Office, as well as the Skype for Business client.

In this particular small business, most of the users needed some assistance with this operation. Unfortunately there is no single button to click that will remove the old Office and install the new one. You have to remove Office using Control Panel, then reinstall it from the Office 365 portal. Removing Office removes the old Skype for Business client, but putting it back means choosing a separate installation option in the portal, which most of them missed. One user somehow ended up with two versions of Office 2016 installed, neither of which worked properly. Office would not activate, reported an error, and offered to repair itself. This was not going to work, since it was the wrong version of Office.

Even when it goes smoothly, the business of removing Office and reinstalling both the desktop software and Skype for Business takes a long time, over an hour.

Overall, life in the Office 365 era is easier than it was in the days of 27 Office floppies, one or two of which were bound to be unreadable. Nevertheless, it is friction, and not fulfilling the seamless promise of cloud.