Lumia 950 & Windows Mobile 10 Review

Yesterday I upgraded to a Lumia 950, having been happy with my previous Lumia 930 and Lumia 1020. I should firstly point out that I was not running the Developer Preview on the 930 so this was the first time I had used Windows Mobile 10 (apart from playing with it for a few minutes in the Microsoft store). Here is a little summary of my experiences.

First impressions were really good, I like the hardware with the removable back cover and battery. Despite what some other reviews say the back cover is not made of cheap plastic, the material feels similar to the Lumia 930, although that probably means it will get marked and scratched very easily. Removing the back cover the first time to put the SIM card in is unnecessarily difficult. Microsoft would be better shipping it with the back cover detached, as that is the only time most users will need to take the back off. However the fact the back can be removed easily and the battery swapped was a huge selling point for me. Every phone I have owned prior to the Lumias, I used to carry spare batteries for.

Unfortunately after setting it up and doing a restore, my experiences with Windows Phone 10 were much less impressive. The first impression I got from the sample I tried in the Microsoft store was that it was slow, although I put this down to it being a shop model with 100 apps open simultaneously and not being rebooted for a month. Unfortunately there’s no other way to put it: the 950 is slower than the 930 in doing just about everything. The 930 (and 1020) had great performance but the 950 seems to constantly lag. Some things are just completely unacceptable, especially for such a high-end phone, like it still not being finished when left overnight to do the restore and reinstall apps. It also gets incredibly hot under CPU load, probably fine in normal usage but the temperature it had attained after doing the restore was unbelievable. It was the hottest I had ever felt a phone and would definitely reduce the life of the battery. Not good enough.

The restore was the worst experience I have had of an upgrade/restore, much worse than various WP8 and WP8.1. Apart from taking all night, numerous apps didn’t reinstall and had to be done manually, and there were a ton of updates in the Windows store that needed to be done on top of that. Oh and then the OS needed to do an update, instead of checking that first, making the process even more time consuming. Heaps of things were missing, all the music except the ringtone (because it’s not synced to OneDrive), the WhatsApp chat history, all Skype for Business call records and chat history and all photos. To be fair some of these are probably the fault of the apps but I still think they are worth mentioning as the upgrade process makes no mention of what won’t be restored. I don’t sync everything to OneDrive because there isn’t enough space.

Still none of the above was a huge deal, because the bits can be manually restored by syncing with the computer. The music is particularly annoying because the Windows Phone App for Desktop frankly is pretty bad and it loses the sync settings (which music you want synced) whenever you change your phone or laptop, and I’ve never discovered a way to save them. Again in fairness Windows Phone App for Desktop is much better than competitors’ apps like iTunes or Blackberry Desktop but it should be better.

Both of my email accounts kept coming up with “your settings are out of date” numerous times, even though they weren’t, and they had been saved and updated several times. The default notification settings didn’t work at all, and there are two different places you have to set email notifications so it’s confusing and unintuitive.

Then came the deal breakers. The first one might sound trivial but it is a huge deal to me. In the revamping of Outlook Mobile, Microsoft have removed the ability to set a complete flag on email messages. You can set a follow-up flag, of course, but not a complete flag. The iOS mail client and the Blackberry 10 one both have the same limitation, but is it now considered a feature because they’ve copied the competition? I dumped Blackberry at BB10 because they also took this feature out (it existed up to BB7.1). It is absolutely essential for me to be able to keep track of email and removing a feature that has existed since Windows Mobile 6, due to a UI refresh, is just beyond ridiculous. Oh by the way I don’t mind the new hamburger menus in Windows 10, they don’t seem to be a great improvement but I guess the UI paradigm is familiar to users from mobile websites and it works OK. But the swipe paradigm also worked well, so the hamburger menus just seem to be another case of following the herd.

The next one was with Office Mobile. Between MSDN and a non-profit organization I do some work for, I actually have two Office 365 subscriptions. For some reason one of them wasn’t picked up and I had to set up the MSDN one on my phone to get access to the full features of Office Mobile. Charging a $9/month fee to not have crippled Office apps on a phone is beyond ridiculous, and Microsoft fully deserve the considerable bad press they’ve got on this one. It’s fine if you already have a subscription, but when you buy a $900+ device that is touted as having these business features, you expect them to be included. So I had to set up the MSDN Office 365 account to get the Office features to work, and what an incredible pain that was. Firstly, it’s not linked to a Microsoft account (password), so there are two registration steps. Then, to get Windows Mobile 10 to recognize the license, you have to unlink all accounts from Office on Windows Mobile, and re-link the one with the license, as a “work account”. You’re limited to two accounts, too, and they appear to not be linked to the accounts on the device at all. After restarting the app a few times and fiddling it might eventually pick up the license. You also have to do it three times, separately for Word, Excel and PowerPoint. What a fabulous idea it was to split up the WP8.1 Office app (which worked fine, by the way) in Windows Mobile 10.

In the new “improved” Office apps on Windows Mobile 10 they’ve also removed the ability to access files from SharePoint on-premises. I doubt this is an oversight, it is a deliberate attempt to try to force customers onto Office 365 and it is just not acceptable, especially when it worked fine in the previous version. I would particularly like to point out that there are good third-party apps for both iOS and Blackberry (and I’m sure there are for Android too) that allow access to SharePoint on-premises. So it is the absolute least that you would expect for a Microsoft device, to work with their own products, when the previous version did! The Office apps even go to the point of bringing in the file history, but when you click on a file from SharePoint on-premises it comes up with a strange error message. The file management app and the file management within the Office apps seemed flaky and it was hard to figure out how to just delete a file. It all seems half-baked.

The OneNote app didn’t impress me much either, in general I found it harder to navigate than the WP8.1 version (to the point I actually thought my notes weren’t syncing), and when you go to the “Add Another Notebook” screen it hung for minutes before coming up with an incomprehensible error.

Skype for Business also doesn't have the new Windows Phone 10 UI (unbelievable considering how long Windows Phone 10 has been in preview) and I presume it still has the same hopeless bugs where push notifications don’t work properly unless the app is kept open and active. They've also added a new bug, causing it to not work with BMW Bluetooth.

There are a few other annoyances too, like the swipe-down gesture to access the notification screen doesn’t seem to work as well as it did on the 930 (I counted seven attempts on one occasion), unless you do it in exactly the right place. Windows Hello iris recognition, while in Beta, doesn't work well enough to be useful, and I don't wear glasses or contact lenses. The USB-C connector is not really an advantage for me because I have no intention of using a display dock, but I now need to get a whole new set of expensive cables. It also won’t work with the micro-USB BMW adaptor/aerial coupler thing in the car, as you can’t seem to buy Micro-USB to USB-C adaptors in Australia (and they are possibly dubious anyway due to being not standards-compliant).

All up this was a huge disappointment, and all of the above was from one morning of playing with the device. I hate to think what else I’ll find after using it for a week, if I can put up with it for that long. It is without a doubt, the worst phone I have ever bought. I have never felt so angry with any phone, let alone after just using it for a few hours. Microsoft should be ashamed of this very poor effort. I really wanted to like the Lumia 950, but I am seriously considering switching back to the 930 at the moment. Microsoft have just got to be able to do better, and frankly, this product does not feel like an upgrade form WP8.1, which really was a pretty good product. Most people who know me well would consider me to be practically a Microsoft evangelist, but in my opinion, Windows Phone 10 is something they should be ashamed of. It is hardly going to help increase market share, but it's also managed to annoy the existing loyal users.

I also recently had an incredibly painful experience with upgrading to Exchange 2016 (which is just unbelievably buggy) so I’m thinking of holding off considerably longer before upgrading my machines to Windows 10 at this point. It will definitely need some very thorough compatibility testing considering the reputation it has developed. I thought Microsoft had learnt their lesson from Vista and Visual Studio 2005 which were notoriously buggy products when first released. Obviously I was wrong.

Nasty Bug with Windows 8.1 Hyper-V & Docking Stations

I’ve just spent a lot of time over the last four days troubleshooting an incredibly annoying issue with my main work laptop. The good news is that I’ve discovered the cause and a workaround, but what an incredible amount of hassle and timewasting!

Don’t get me wrong, Windows 8.1 is a great product. I’ve been really impressed with most of it and overall I find it a great improvement over Windows 7, particularly in terms of reliability. It's fast and the user experience is great. However, my particular experience has been tainted by two bugs which, in my opinion, are absolute shockers. At least the one this post's title refers to is unlikely to affect the vast majority of users.

If you install Hyper-V on this particular Windows 8.1 machine (Dell Precision M4800 mobile workstation), then remove it from the docking station, when you put it back into the dock, you’ll find it goes into Automatic Repair mode reporting a boot failure. I say “this particular machine” because I’ve not tested this configuration on anything else, it’s likely not an isolated case. Delving into the errors they were a combination of ntoskrnl and ntfs.sys errors, etc. basically suggesting that somehow it gets into a tangle where it has no access to the boot drive. This makes troubleshooting really difficult because most of the stuff never ends up in the event log, so you can’t even see the actual BSOD error. In most cases just shutting it down completely and then doing a cold reboot works. On a few occasions, it was necessary to boot into safe mode (which always worked) and then reboot to get back into Windows. Occasionally, it did it on the first boot after pulling it off the dock, too.

Not exactly confidence inspiring and it made me continually concerned that one day it would crash completely and I’d be stuck with a completely dead laptop. Murphy's Law says this catastrophic failure will happen when I'm out of Sydney (and without the tools to fix it), or just before a really important client meeting which requires me to run stuff off the laptop.

I really don’t like that I can’t explain what safe mode was doing in terms of the subsequent boot. I understand it won’t load most of the drivers and hence gets around the problem, but who knows was it changes by just going into safe mode that made it work? It wasn’t a coincidence, I probably did this more than 30 times testing it to find the issue.

This has been a really infuriating ongoing issue that makes me very suspicious of Hyper-V in Win 8. I will be opening a support case with Microsoft to see if they can shed any light on it, but I haven’t got my hopes up in light of past experience. For the moment I’ll have to live without Hyper-V on this machine – at least uninstalling it did a clean enough job to work around the boot issue.

It’s also got to have been the absolute most timewasting issue I’ve tried to troubleshoot with Windows. First the docking station was replaced at the suggestion of Dell, suspecting it was a hardware issue. Then I tried moving the OS onto a different solid state drive to rule that out. I also hacked around with the UEFI settings somewhat as it seemed to be a mess with duplicate entries, but still no-go. Finally I concluded it must be a software issue so I did a clean install of Windows 8 on another drive, and successfully tested un-docking and re-docking. At this point I thought it must be some weird corruption in my Windows install so I should do a fresh install on the SSD I wanted for the OS drive, and give up. Well, in the process of loading up the miscellaneous drivers and bits and pieces, I broke the new install. Great. So I went back to the fresh install on the other drive, and loaded up the drivers one by one to test it. Still, it wouldn’t break. Finally I did a folder compare of the C:\windows\system32\drivers folder and realised the working OS didn’t have Hyper-V installed. What do you know, as soon as it was installed I broke the test install.

And the other bug? KB2919355. This has been widely documented as causing more than a few issues, and Microsoft actually re-released it. But they’ve failed to fix at least one issue. I’m yet to see a single instance of it installing successfully via Windows Update, and this is over probably 20 installs including about a dozen virtual machines, two laptops, an Intel NUC PC, and five different Intel servers with Server 2012 R2. It basically creates a reboot loop with Windows update endlessly trying to install it. 20 failures in a row, which I’ve seen, would have to hold the record. As it blocks you from receiving any future Windows updates, I hate to think how many unpatched Windows 8.1 systems are floating around. The fix is to download KB2919355 manually, then force Windows Update to check for updates again, which will let you install the rest of the updates.

Exchange 2010 SP3 Upgrade

This morning I had the (dis)pleasure of upgrading our Exchange 2010 environment to SP3. SP3 has been out for quite a while but I hadn't actually bothered to upgrade the production environment because there were so many issues reported on the TechNet forums with SP3, I figured it would be best to wait a bit and then other things got in the way.

SP3 is a really important upgrade for 2010 because it enables migration to Exchange 2013 and SP3 rollup 3 also fixes the ridiculous issue that OWA only runs in "light" mode under IE11/Windows 8.1.

Without a doubt it was the most painful Exchange Service pack upgrade I have ever done. It involved at least 10 full server reboots, hacking Active Directory with ADSIEdit and manually changing settings on the Exchange virtual directories using the IIS Admin tools. Because they are completely unsupported, I absolutely hate having to resort to these kind of hacks.

I had previously run the upgrade in a test virtual machine environment which went pretty smoothly. There was one extra pre-requisite to install and a couple of custom transport agents broke post-install due to SP3 updating some referenced DLLs, but apart from that it was pretty smooth.

In the actual production environment (which is still a pretty vanilla setup) it was a different story. First the prerequisite required a complete server reboot, which the test machine didn’t. Then the actual install of SP3 failed, some of the components succeeded but it failed on the Hub Transport role, skipping the subsequent roles and leaving the server in a crippled state.

The key part of the error causing the Hub Transport role upgrade to fail was “The virtual directory 'PowerShell' already exists under 'servername/Default Web Site'”. There was a suggestion on the TechNet forums to blow away an entry in Active Directory using ADSIEdit, specifically under Configuration\Services\Microsoft Exchange\Administrative Groups\Administrative Group\Servers\SERVERNAME\Protocols\HTTP. I believe that deleting the Powershell (Default Web Site) and Powershell-Proxy (Default Web Site) entries may have been enough, however I unfortunately followed the advice to delete the owa (Default Web Site) object as well.

This got the service pack through the installer but OWA was completely broken post-install and as the Exchange Management Shell could not see the OWA object anymore (as it had been removed) it was unable to delete it, and trying to create a new OWA virtual directory also failed.

If you do run into this situation with SP3 I’d strongly recommend trying just removing the Powershell and Powershell-Proxy entries using ADSIEdit, then using the Exchange Management Shell to delete the OWA virtual directory properly, to avoid having to hack around with IIS after the upgrade.

As the owa entry had been removed from Active Directory I basically ended up manually deleting the Owa, Public, Exchweb and Exchange virtual directories in IIS. It turned out IIS hadn’t deleted the owa/oma and owa/Calendar virtual directories either, but they were inaccessible via the GUI. You could hack the IIS metabase to get rid of them but I ended up re-creating the owa virtual directory manually to be able to delete the child ones, then also deleting the application pools MSExchangeOWAAppPool and MSExchangeOWACalendarAppPool.

Fortunately, after those changes, the New-OWAVirtualDirectory command was able to run without errors and the owa Active Directory object, as well as the actual virtual directories in IIS, were re-created successfully.

This was an incredibly messy hack and if it hadn’t worked it would have pretty much removed any possibility of getting OWA working, leaving the only course of action to completely reinstall the Client Access Role which I was really hoping to avoid. It seems that the New-OWAVirtualDirectory command isn’t very intelligent, as it doesn’t check whether individual components already existing before trying to re-create them, so there was no way to recover it using supported tools. As I thought I was going to have to completely reinstall the Client Access role to recover the Exchange server, there wasn’t really much to lose by deleting a few more bits from IIS.

I also found that SP3 changed the bindings on the Default Web Site in IIS, in that it added additional HTTP and HTTPS bindings with a host header name of localhost. This also broke the New-OWAVirtualDirectory command until those invalid bindings were removed (we have bindings on the same ports with no host headers so they seemed completely unnecessary, except that they generate SSL errors).

It was a good lesson in not hacking Exchange with ADSIEdit except as a last resort, as mentioned I believe the OWA problem could have been avoided by deleting the OWA virtual directory properly before the SP3 upgrade, instead of following the (Microsoft) recommendation on the TechNet forums to delete it from AD. Of course why SP3 sometimes doesn’t install properly without making such drastic changes in the first place is another matter.

Dialog Editor for WiX Toolset

Although I've worked with the Windows Installer XML (WiX) Toolset for several years, one of the most time consuming tasks is designing custom dialogs for an installer. This has mainly been because there hasn't really been a usable designer available, and it is further complicated by the fact that dialog layouts have to be described in terms of installer units instead of pixels in Windows installer. See MSDN ( for more info on installer units. So the usual technique is to edit the XML by hand, re-compile and run the installer up to that point, which takes a couple of minutes each time, even longer if the dialog happens to be part of the uninstall sequence.

Enter SharpDevelop. It has a WiX dialog designer which runs rings around the designer I used to work with in Wise Installer 6. Microsoft could actually take a few tips from SharpDevelop in terms of their Windows Forms designer and Visual Studio in general – I was very pleasantly surprised to find that it could open a Visual Studio WiX project without problem and manipulate the dialogs without butchering the XML code. It can even work with single files outside of a project. It isn't perfect, and I did find that some properties don't get properly persisted by the designer, but within the limitations of the installer environment, it works really well. Instead of trying to create some completely custom designer as most installers tools do (and end up with something ultra-fiddly and unreliable), it translates the coordinates and visualizes the dialog as a Windows Form, which is an environment actually intended to work with a designer. Simple and effective.

I'm not about to dump Visual Studio for SharpDevelop, but if you need to work with WiX dialogs at all, I'd suggest that the designer in SharpDevelop is a much more productive way to get the job done.

PayPal, eBay and the Buyer Protection Guarantee

This post is a tip on how you can greatly reduce the risk of being ripped off when purchasing goods on eBay using PayPal.

In the eBay checkout process, the PayPal “funding source” seems to always default to a bank account. There is an obscure link in the “Payment method” box on the right which says “More funding options” and allows you to use a credit card instead. Click this, and you’ll see a ”Funding confirmation” page. This tries to convince you to stick with bank account funding, and, conveniently for PayPal, the default (orange) button is “Don’t Change”. What you should do is click the “Change” button, which appears to be greyed out, and you will be able to use a credit card.

Obviously using a credit card has the advantage that you can collect rewards points, but there is a much more serious reason why you should always pay with a credit card when using PayPal, which I will explain.

Paying with a bank account instead of a credit card is in the interest of PayPal, but not the buyer. The lengths to which eBay and PayPal have obviously gone to make it difficult to pay with your credit card (the obscure link, and the nag screen described above) annoy me particularly, because I believe that the statements provided by PayPal are misleading, and their own financial interest in the matter is certainly not explained at all.

The main reason that paying by bank transfer is clearly in PayPal’s interest is that the fees charged to them would be much lower than the multiple fees charged when processing a credit card transaction (which could include the bank receiving the payment, the credit card company, a credit card merchant facility, and possibly payment gateway service). Despite the lower fee, PayPal still charge the seller the same transaction fee. In addition, PayPal’s risk of being the party which “loses out” if the transaction goes wrong seems to be greatly reduced, at least in Australia.

Whilst PayPal claim to have “100% protection against unauthorized payments” on the “Funding Confirmation” page, my personal experience is that this only applies if it means that PayPal wouldn’t lose out on the transaction. If the seller closes or overdraws their bank account and PayPal can’t recover the funds from them by any means, they won’t refund the buyer. I encountered a situation where counterfeit goods were returned with proof of postage, with the promise of a full refund, but the fraudulent seller went out of business and ignored all correspondence at that point. The email I received from PayPal stated: “We have decided in your favour, however, we were unable to recover any funds from the seller's account. As stated in the PayPal User Agreement, recovery of funds associated with a Buyer Complaint cannot be guaranteed.” So much for that "guarantee"!

Fortunately, because I had paid with a credit card, I was able to request a chargeback through the bank who had issued the credit card, who refunded the amount in full. I could only assume that the bank then issued a chargeback to PayPal, who processed the card, and PayPal then lost all of the money involved in the transaction unless they later found a way to recover it from the seller. I am fairly certain that even if the bank couldn’t recover the funds, in Australia, they would have been required refund the buyer. This risk would also explain why banks require a number of credit checks to open a merchant facility, unlike PayPal, who will give it to almost anyone.

PayPal really don’t like losing out, and seem to be exempt from this requirement. If it had been a bank transfer payment through PayPal, it would have been game over at the point of the Buyer Complaint being resolved without a refund. I have been told by two Australian banks that all they can do is send a letter to the other bank, asking nicely for the return of the funds. This incurs a significant fee and there is absolutely no guarantee of getting anything back.

There is one final word of warning, however. I have read that issuing chargebacks through your credit card company which cause PayPal to lose out in the transaction often cause PayPal to close your account. In my case, it didn’t. So make sure you leave the chargeback as your last resort option when paying by credit card. Try the PayPal complaint process first, and if that doesn’t lead to a satisfactory outcome, you can decide if it’s worth the risk of losing the PayPal account, and request a chargeback through your bank. If the transaction involves a material amount of money, losing your account is probably worth it! Just make sure you don’t leave any funds in your PayPal account which they may not return to you. You could always open a new PayPal account with a different credit card, if you lost your account, too.

Secure Erasing / Resetting Intel G1 SSDs

The first-generation Intel SSDs have a known issue where the performance degrades over time. While there was a firmware update originally released around December 2009 which partially addressed this issue, if like me, you've had one of these drives since before the firmware update, or you're frequently using disk-intensive applications, the G1 SSDs still suffer from performance degradation.

The G2 drives (34nm) do not suffer from this problem to the same extent because they implement TRIM, which is supported by Windows 7, and the Intel SSD toolbox software has provided the “Optimizer” feature for some time to assist with the performance issues generally. Intel for some reason completely left TRIM out of the G1 drives, and also disabled the Optimizer feature of the SSD toolbox for G1 drives, making it useless.

The well-known workaround is to perform a “secure erase” of the drive, and reformat the drive or use disk-imaging tools to restore your operating system. Unfortunately, performing the secure erase was not a simple process until recently. The suggested techniques required using Linux boot CDs and tools such as hdparm. I was completely unable to get it to work on two separate Dell laptops, and gave up on my first attempt at resetting the drive a few months ago. There are compatibility issues with the BIOS on many systems and the technique usually requires hot-plugging devices, and appears generally risky from the number of warnings accompanying the procedures.

The fantastic news is that Intel quietly released an update to the SSD Toolbox software in December 2010, which enables the secure erase feature on G1 drives and provides a supported secure erase technique which works from within Windows. No messing about with Linux boot CDs or hot-plugging drives. What you need to do is put the drive into another system as a non-boot drive, and you’re good to go. I am pleased to report a reasonable performance improvement after doing the secure erase with this method.

Despite the above issues with the Intel SSDs, I would like to point out that I have still found it to be an absolutely fantastic product and I will be buying one of the new 320 series SSDs as soon as they become available in Australia. Even with the performance issues, they still easily out-perform regular laptop drives, plus their operation is virtually noiseless, heat is greatly reduced, and you don't have to be worried about damaging the drive by moving or bumping the machine while it's running. This fact alone is why I could never go back to a regular drive in a laptop after using an SSD.

In another drive-related tip, if you need drive imaging/cloning software, there are some great commercial tools available, such as Acronis, but unfortunately these are rather expensive if you only occasionally need to do a simple drive clone and don’t need the full set of features offered by these products.  What many people don’t know is that Seagate offer an OEM version of Acronis True Image for free called DiscWizard. Note that the licensing conditions state that “The Software is licensed and distributed by Seagate for use with its storage products only, and may not be used with non-Seagate storage product”. People have reported that it requires either the source or destination drive to be a Seagate-branded drive. Seagate drives are popular enough that I have encountered the Seagate-to-Seagate migration scenario a number of times, and I’ve had good success with this product.