Microsoft Windows is currently the most popular general purpose operating system for PCs.

Being productive on Windows 10

I thought I’d write down some of my thoughts on how I’m productive on Windows 10 now that it has been out for a little while and all of my machines have been updated.

Including my phone and 7 inch tablet, I run Windows 10 on four machines:

The following discussion is only about the first two, which are both configured to be general purpose devices used for all sorts of tasks, including development and productivity. I’ll write about the phone and tablet another time.

Windows 10 Desktop

With Windows 10 the desktop is back on the PC and, as usual with my computers, there are no icons in sight. I use my desktop for temporary things, not as a place to keep anything for any extended amount of time. If I’m downloading a file to run it through a comparison tool or something like that, my desktop is fine.

I’m still using teal as the main colour for the user interface. I have used this on my workstations for a number of years now and, with Windows 10, the colour configuration is better than ever. You can choose to have it just as a highlight colour on top of black or have variations of the colour used throughout the Start Menu and Action Centre UI. I prefer the latter with this colour choice.

I feel like teal has worked really well for me, it’s fairly conservative and seems to fit into multiple uses really well:

  • It is not too bright, and offers good contrast with both black and white
  • It works well in both cool or warm lighting environments
  • It doesn’t become too saturated when used with high F.lux settings

For my Surface, I have selected a nice ultra-wide space wallpaper which fits nicely with the colours I choose. This has been a real favourite of mine since I first started using it, but I am unsure who the original artist is. I’d love to give them credit.

Windows 10 Taskbar

I have no applications pinned on my taskbar so I get a really clean environment when I have nothing open. I launch all of my applications from the Start Menu or PowerShell.

I’ve loved using live tiles since they were first introduced on the phone. I enjoy the benefits you get from the glanceable information and I find the grid based organisational structure is way more useful than just a menu. My initial thoughts were that having the Start Menu in the corner may not be as good as having it full screen like on Windows 8, but I quickly changed my mind as soon as I started using it on the insider previews.

Right now, I have grouped the tiles into four main sections with the bottom right configured slightly differently depending on which machine I’m using.

Windows 10 Start Menu

My current setup of tiles and most used applications is pretty much a snapshot in time though – I don’t feel like I have had enough time to really know what I want to have pinned here. At the moment I’m enjoying having a mixture of glancable information (Weather, Calendar, etc.) unread content counts (NextGen Reader, Mail, etc.) and launcher icons (Edge, Store, etc.).

I’m certain this will change quite a lot with use.

Windows 10 Cortana

Cortana has been a very welcome addition to the PC. I’ve been using Cortana on my phone since the original previe, and she’s very much a part of my computer use now. She has had numerous improvements over her first iteration and now that she’s available through all my personal Windows devices, using her for things like reminders and glanceable information has been easier than ever.

I use her on my Surface quite a bit, though I do sometimes have trouble with her listening to me when I say ‘Hey Cortana’, so I usually just press WIN + C to activate her, then she has no trouble understanding my requests.

All of my requests are typed when I use the Virtual Machine. Typing requests is as easy as pressing the Windows key. I find typing to be just as natural as speech, and really fast when I’m using a desktop keyboard. I also tend to use the VM when I’m in locations where speaking wouldn’t be very useful anyway.

I have had issues with using the location-based features on the VM, but I worked around it using a Fake GPS driver.

The Task View is a another new addition to the Windows task bar, and even though I regularly use the key combination WIN + TAB to activate it, I still like to have the icon on the task bar anyway. This screen also includes the ability to add a number of virtual desktops. Surprisingly, I don’t use virtual desktops as much as I thought I would – but I am really glad they there when I do use them.

I originally thought I would always split things out every time I used the computer. For example, I thought that all my communications apps would always be in one desktop and development apps would belong in another. It just didn’t really happen that way. As I was regularly switching between them, I quickly got confused when I had more than a few apps open.

Virtual desktops become useful for me when I really want to concentrate on one or two different activities. I move their windows around on the Task View and put them into their own desktop to get a distraction fee environment when I need it. Ad hoc desktops to help me focus have been much more useful than trying to set rules for myself.

CTRL + WIN + LEFT and CTRL + WIN + RIGHT are used to switch back and forth between desktops. (I’d like to see better support for this with a three finger swipe on the trackpad please Microsoft!)

Windows 10 Notification Area

The Notification Area has been shuffled around a bit in Windows 10. The keyboard icon is now integrated and right next to the clock, and there’s now an additional new notification icon for the Action Centre.

I only show the very minimum of icons here – Process Explorer, Power, Network, Sound. I often use a FuzzyClock application to change how the time is displayed down here too. I am not a fan of using the notification area as a place to minimize windows, or launch applications.

Process Explorer is Microsoft’s ultra-nerdy replacement for the Task Manager and something I always use on my Windows machines. I find it to be way more detailed than the built in version and it includes many features developers find useful. As you can see from the screenshot, you also get a glanceable indicator of CPU usage here too. I find that CPU usage is often the most important metric for how the machine is doing, as I don’t really care how much RAM is being used unless I am having problems with something. If I do have problem, full access to everything running on the machine is just a click away.

Windows 1`0 Action Centre

Action Centre is a welcome addition to Windows on the PC, and something I’m already well used to using, thanks to Windows Phone. The version that ships today is not perfect though. Over time I’d like to see better notification sync with the phone. I also find that the having a solid icon isn’t enough to really draw attraction to the fact there is a new notification pending. I’d like to see options here for flashing or some other more substantial indicator, though I have to admit, I probably wouldn’t want it to be like that all time.

In fact, when I’m trying to be super productive, I turn on Quiet Hours. I use this in combination with the Quite Hours feature on my phone to ensure I don’t get annoyed with notifications when I don’t need them. But they’re still a click away.

The utilities I have mentioned above, like FuzzyClock and Process Explorer, are tiny portable executables and don’t require some system-changing installation mechanism. All these small applications I use are stored in a Scripts folder I have been maintaining for years.

This folder lives in my profile under C:\Users\Julian\Scripts and is synchronised to a private Git repository hosted on Visual Studio Online. Inside there are a number of scripts to run automated tasks and setup my PowerShell profile to be exactly the same across machines. In addition to these scripts, there’s a Tools folder which contains all of these small utility applications as well as some larger applications which have been modified to work in a ‘portable’ way.


I spend a lot of my time in PowerShell and this folder is absolutely fundamental to how I complete many tasks on my Windows machines including, but not limited to:

  • Scripting languages and runtimes – Ruby, Python, IKVM
  • Text editors and UNIX utilities- Vim, grep, wget, curl
  • Windows Tools – Process Explorer, Autoruns
  • General Utilities – FileZilla, Far, WinMerge, Putty
  • Plus years of PowerShell and F# scripts, registry files and more

I could probably go into more detail around this in the future. If you are interested, let me know in the comments.

Not everything is installed this way though. Some of the biggest applications I use require installation from the web through subscriptions, like Office 365 and MSDN:

  • Outlook, OneNote, Visio and the rest of Office (from Office 365)
  • Visual Studio Enterprise (from MSDN)
  • Visual Studio Code, Node and Git (free)
  • Wunderlist, Slack and Skype (free)
  • 7-Zip, F.lux, Paint.NET (free)

And finally, there are a number of applications which either are preinstalled on Windows or I have to install from the Windows Store. The ones I use the most are:

  • Groove Music, Film & TV, Photos and other entertainment apps
  • MSN apps like Weather and Sports
  • Audible, Netflix
  • NextGen Reader

Applications installed through the Windows Store are super painless. I wish more applications could be installed this way. I’d like to see more parity with the phone too, and I’m sure that’ll be coming when Windows 10 Mobile ships at the end of the year.

Overall, I feel like I’m more productive on Windows 10 than I have been on any other operating system. I feel like things are only getting better in general – with things like SSH and containers coming soon, the future is pretty bright for Windows 10.

Using Cortana with a fake GPS driver on Windows 10

I’ve mentioned before that I like to offload some of my development and productivity tasks to Virtual Machines running on Microsoft Azure. On these machines I like to run Visual Studio, Office and any other apps I need so I can be productive anywhere.

One of the apps that helps me be productive is Cortana, so I was pleased to get her up and running on my Windows 10 VM.

Cortana can helpfully give you reminders and recommendations based on location, but can you guess what the problem is when using Cortana on a VM in Azure?

Location in Redmond

The location services think I am currently located in Redmond, Washington. Oh dear.

The cross devices functionality of Cortana gets very confused because of this. When I’m using my phone she thinks I’m in Leeds, but if I switch to using the VM she thinks I have suddenly appeared in the United States.

I had a think about how best to approach this issue, and currently I’m trying out a solution which seems to work well: using a homemade Fake GPS driver.

FakeGPS Sensor Driver

I went through the code in the Windows DDK and found an example for creating a GPS driver. Rather than getting the data from a real hardware devices, I hard coded the latitude and longitude. Once I had it set up in exactly the way I wanted, it was just a matter of compiling the C++ for Windows 10 and getting it installed.

Location in Leeds

Now this Fake GPS driver simply returns the geolocation coordinates which I want, and Cortana thinks that I’m in Leeds. Sorted!

This isn’t a perfect solution. For example you have to switch your OS to run in Test Mode, and obviously the location doesn’t automatically change depending on where you are. However my initial use shows me it’s way more useful than just letting the OS guess the location from the IP address.

Cortana on Windows 10

If people are interested in trying out this solution for themselves, I’ll share the code on GitHub. It shouldn’t be too tricky to add an interface to set the location as required.

Let me know in the comments.

Highlights from Build 2015

The Build 2015 conference has just taken place in San Francisco.

Like last year, this has been another huge event for Microsoft, and a big deal for the people who build solutions using their technologies.

There have been way more interesting things happening than I can possibly cover in one article, but I have decided to cover the three most important to me:

.NET, Windows and Azure.

An exciting future for .NET and Open Source

The future of .NET is the continued push to an open source .NET Core, which is at the centre of both the latest ASP.NET runtime and the Universal Windows app platform. In the future, this will expand and include other application types. In my opinion, they’ve picked the right place to start.

Applications running on the CoreCLR can be developed and deployed on cloud and server-based infrastructures running different operating systems including Windows, Linux and OS X. I have been watching the development efforts on GitHub for a while now, and I’ve set it up on my own machines running both Windows and Linux. It sure is a sight to see.

As well as the core runtime itself going open source, other technologies like Roslyn have enabled products that many wouldn’t have guessed would see the light of day. Having an open source compiler platform has enabled Visual Studio Code – a new cross platform text editor with Intellisense – to be built.

I was lucky enough to see Visual Studio Code before it was announced, and it changed the way I thought about collaboration with Mac users instantly. I’ll have more on this new text editor soon.

Visual Studio Code

With the RC of Visual Studio 2015 there have been some big improvements in the languages supported including both the more traditional C# and Visual Basic, and (my personal favourite) F#.

The Visual F# improvements in ‘every day’ activities are dramatic for anyone who has been using the language. This is all thanks to the new open source attitude, and the amazing community around F# who have helped to develop the Visual F# tools on GitHub.

This new world of cross-platform and open source .NET technology is going to enable some amazing scenarios for .NET developers like myself.

Windows 10’s application platform takes shape

The aforementioned Universal Windows app platform is really taking shape now. Gone are the days of very prescriptive (and maybe too forward-looking) design patterns of Windows 8, and in is the ‘do what’s right for your applications‘ model that has been working well for some for a while.

Universal Windows apps scale from the smallest phones and Internet of Things devices up to the large screens of the Xbox One and the Surface Hub. The most ‘universal’ of these apps are built with just one binary which includes a scalable UI. This allows you to even have the ‘desktop’ app experience when used on a landscape 5.7 inch phone, or when plugged into an external screen using an amazing new Continuum for Phones feature.

For app developers there are some interesting (and controversial) new ways for software venders to build for Windows. The biggest of which are the bridges from Android and iOS. These two are extremely important for the phone and work especially well for iOS games which don’t rely too heavily on the operating specific UI elements. Combined with the bridges for ‘classic windows’ apps and websites using Microsoft Edge, the Store should get a lot more apps on this Windows 10 wave of releases.

From a user’s view, Windows 10 has really rounded out, with the latest Insider Preview feeling a lot more polished than any of the previous builds. Seeing HoloLens run standard Windows Universal apps was a big deal too.

I’ll have more thoughts on these in the future as the Insider Preview continues, and more information for HoloLoens is released at E3.

Microsoft <3 Docker and other Azure improvements

Azure, and the Microsoft Cloud in general, continue to amaze me. Microsoft has managed to embrace this new way of building (and selling) software in at breakneck speed. Additional services were added throughout the platform all the way from storage and networking, to analytics and machine learning. Way too many for this article.

Two of the biggest highlights were the ability to run the complete Azure Stack locally, and Azure’s new Data Lake features too, something which Amazon has had a lot of success with.

Microsoft <3 Docker

For me though, the most interesting changes were around Docker support across Windows and Azure. Docker has been on my radar for a while, but I have yet to use it in production. I have plans to do so in the not too distant future.

Holographic Computing is Coming

Microsoft HoloLens

A bit like something out of their Future Vision videos, Microsoft’s Windows Holographic software and HoloLens hardware look to enable many of the augmented reality dreams technologists like myself have been imagining for years.

Truly I’m excited about this platform, and I’m keen to try out the product as soon as I possibly can, but I still have a large amount of questions.

What happens if you put your hand ‘in front’ of a hologram?
If you have a virtual 80 inch TV screen – what resolution does it have?
Can you stream Xbox games to it?
How long does the battery last?
Can other people hear the audio from the speakers located on the side?
How hot is the air that comes out of the vents?
How well does it work with glasses?
Will there be a holographic version of PowerShell?

It may be a while until all our questions are answered, but until then I’m going to simply imagine the possibilities this new form of computing will bring. Check out the videos below and have a look at Microsoft’s website to get an idea of what’s coming.

As someone who is always trying to simplify and keep things minimalistic, I always question new technologies to decide if they’re really worth investing in. One part of my believes I already have enough computing devices, but another part yearns to try new technology and find new ways to interact with the digital world. The HoloLens definitely seems like something I’m going to want to experience.

Will it be a success? Only time will tell. But future versions of the hardware will no doubt be smaller, and have better field of view. One day this kind of thing will simply be built into a normal pair of glasses – but that’s a little way off.

More to come soon.

Initial thoughts on the Windows 10 Technical Preview

Now that the second preview build of the Technical Preview of Windows 10 is out, I decided the time was right to share some of my initial thoughts on this early preview for Windows 10.

Windows 10 Universal Apps

First of all, it’s important to understand that, for casual computer use, I was very happy using Windows 8.1 on my Surface Pro 2, both on the touch screen and when plugged into a monitor, keyboard and mouse. I didn’t just “put up with Windows 8” like many folk seem to. I embraced it and it changed the way I used a computer.

I embraced Windows 8 and I loved using full-screen apps at home

Simplicity is something I am always striving for. For example, I don’t have any icons on my desktop and I only pin the minimal amount of apps to my taskbar. The majority of the apps I used at home were ‘modern’ full screen apps. This means that I could have Xbox Music playing in the background with no icon in the task bar or any other visible UI unless I have it snapped to the screen. I understand that for some users this was mind-blowingly hard to understand, but I liked the simplicity.

Windows 10 Taskbar

With Windows 10, performing a task, like listening to music, means that there is an icon in the task bar. This is better for the majority of users, but for me it takes some getting used to.

Using Windows 10 is already better for multitasking and getting things done

The first two builds of the Technical Preview have been focused squarely on the experience in the enterprise, and specifically, use with a keyboard and mouse inside of the desktop environment. Here are where things really shine in Windows 10.

Unlike the way I was using full screen Windows 8 apps at home, I use multiple screens and desktop applications when I’m at work. Three screens means I can multi-task between development applications like Visual Studio, SQL Management Studio and PowerShell at the same time, but I still have to minimize and swap windows around when switching to communication and note taking applications like OneNote and Outlook.

Windows 10 Task View

Windows 10 includes some fantastic virtual desktop features which help around this, and I’m really looking forward to running Windows 10 at work. I could use the Task View to switch between these two logical tasks rather than minimising multiple windows.

Unfortunately the Windows team couldn’t get everything done in time for the first preview. The biggest things that are missing for me are around using the touch screen, and modern apps in full screen. The good news is that we do know that future builds will include features like Continuum, that are specifically designed for hybrid computers like the Surface.

Touch screen is still coming, and hopefully it will be as great as the desktop

With two builds already, it seems that the velocity is pretty fast. I’m looking forward to getting my hands on new features. Windows 10 is shaping up to be one of the most important versions of Windows ever – in terms of both the features and the speedy development process.

Windows 10 has an improved Console

Windows 10 Console

It’s true, the Windows command line is making a comeback.

With Windows 10, a number of ‘experimental’ options have been added to the console host which work with both the classic cmd.exe and PowerShell. This includes features like CTRL-C and CTRL-V for copy and paste, plus new text selection hotkeys, resizing, transparency and more.

And, by the looks of Microsoft’s UserVoice forum, this looks like just the beginning:

In the dawn of time, the original Windows console was created. For millenia, geeks and developers (typically both) steeled their nerves and leveraged the console’s utility. After a (very) short time, a great lacking was noticed. And so, legions of ever intrepid command line mavens migrated to other platforms and other consoles, ‘til but a stalwart few remained. Now, today, with a small rumbling, the ancient, weary console heaves a great sigh and rises. The journey to legitimacy has begun.


If these kinds of features are important to you, don’t forget to give your feedback to Microsoft so that they know that the command line is still relevant in 2014.

Windows 10 Technical Preview

As a big user of software and services in the Microsoft ecosystem, finding out about the next version of Windows is always exciting. Yesterday, we got our first official look at Windows 10, and while we didn’t learn about many features which hadn’t already been leaked, we did finally get to hear Microsoft’s plan for its next generation Windows platform.

Windows 10 Product Family

The official picture above teases how this single release of Windows will feature multiple interfaces the operating system itself, scaling from the Xbox One and the large Perceptive Pixel multi-user business display, all the way down to embedded devices, phones and small tablets.

From a developer point of view, Windows 10 will support a new universal app model that spans across multiple devices. This means that an application can be written only once to run across all of these environments, end-users will only have to purchase the application once to use it everywhere. Universal apps for Windows 10 will probably be very similar to the ones announced at Build earlier this year.

Windows 10 Start Menu

New features like Task View and Snap Assistant are included in the technical preview, but the more obvious user interface changes look like they are still to come. For example, Continuum is a set of features which enable hybrid devices to switch between touch and desktop modes automatically, just by attaching or removing the keyboard.

Windows 10 Task View

Today, along with many other Windows enthusiasts, I signed up for the new Windows Insider Program. This new program is similar in concept to the Windows Phone Developer Preview, but it will also provide opportunities to provide feedback directly to the Windows team.

Trust me, I’m going to provide as much feedback as possible.

Is this the end of HealthVault?

MSN Health & Fitness

As part of the rebranding to MSN, the fantastic Health & Fitness app gained a number of smaller features, and lost one big one: synchronisation to Microsoft’s HealthVault medical data backend.

HealthVault first started back in 2007 in the United States as a medical storage system designed for families to share data with doctors and medical institutions. It expanded in 2010 to include the United Kingdom with grand plans to integrate the service into the UK’s National Health Service. It seems that these grand plans were never realised, as I’ve never been able to get access to my NHS data this way.

HealthVault for Windows Phone

I have been using HealthVault for years though. It’s my central repository for all my health information including steps from my Fitbit, blood pressure, emergency contact details and, until now, calorie intake and exercise statistics from Health & Fitness.

In my opinion, today’s removal of the HealthVault synchronisation is probably for technical reasons, but it may signal the beginning of the end for the service. I can’t imagine Satya’s Microsoft keeping two competing health platforms up and running for long. Especially with new competitors outside of the company from the likes of Apple’s HealthKit and Google Fit.

I was involved in a small private beta of the Health & Fitness app for Windows Phone in an effort to try and reduce the serious amounts of crashing that would occur on the app when tracking exercise with the GPS. It’s also no shock to anyone that has used it that entering information and waiting for it to synchronise was a slow process.

MSN Health & Fitness for Windows Phone

Synchronisation is super-fast on the new Health & Fitness app and the newly designed Azure-powered backend is probably a big factor in that speed, especially when compared to the aging HealthVault platform API.

The diet and cardio information entered into the app is also available on the new MSN portal that launched today. This is also super-fast and responsive. It’s no wonder they’ve made this decision for end users.

Finally, there is a possibility that MSN’s new cloud backend will eventually end up synchronising directly with HealthVault, rather than going through the device-based clients as it used to. But it seems doubtful based on my understanding.


Since writing this article, Microsoft Health has been announced. Microsoft has confirmed that backend data from this new health insights engine will be able to export to HealthVault. I can only assume that MSN’s Health & Fitness data will be updated to feed into Microsoft Health, and eventually into HealthVault. At the moment, this isn’t happening, but I’ll update the post if/when it is up and running.

Using Windows Reading List

When Windows 8.1 came out it included an application called Windows Reading List, which used the Share functionality of Windows to bookmark articles which can be read later.

Any application that shares the right kind of information can be used with Reading List, but the applications I use most often are Internet Explorer, Flipboard and the Bing applications.

Reading List

When you share an article to Reading List it asks you which category to use. I have set myself up with categories for software development resources, health and fitness information and general inspiration for life and work.

Adding articles on either Windows or Windows Phone will use your Microsoft account to synchronise automatically. This is completely seamless in both applications – meaning there are no options to configure these settings at all. I’m quite happy with this, but I know that some power users would prefer the option to choose how the information is synchronised with their computers.

Reading List and Internet Explorer in Reading Mode

When you use the application on Windows, clicking on one of the articles will open up another window next to the snapped reading list. I love this feature, and it really goes to show the strengths of multitasking with the modern interface in Windows.

Doing the same on the phone just opens Internet Explorer, the related application, or prompts you to search the store if you pick something that is incompatible. For example the Bing Wikipedia app isn’t currently available on Windows Phone, so clicking articles from this app prompt you to search the store.

Reading List for Windows Phone

The addition of the Windows Phone version of this application has really increased its use for me, however it’s obvious uses are diminished when used with older versions of Windows.

At work I use Windows 7 for my development machine, and there’s no way I can share interesting links found here with my Reading List. While I’m not expecting Microsoft to create a desktop app, a simple bookmarklet or browser extension would certainly do the job for collecting new articles to be read later.

Will Neovim rock on Windows?

Gvim on Windows 8

I have been using Vim on Windows since I switched to 64-bit and stopped working. Originally I just used the console version inside of PowerShell or the standard command line. In the last three years I’ve been favouring Gvim as my go-to text editor for smaller scripts and utilities.

I know for a fact I’m not using everything Gvim or Vim has to offer, but I’m quite happy with the way it works. For example, I have line numbers turned off, but I can turn them on very easily using a quick :set nu.

Very powerful, very fast.

There are some things I absolutely hate though. For starters, what’s this horrible border on the inside of the window, and how can I make it disappear without hacking the whole application and recompiling it? This isn’t Windows 95.

Ugly Border

I’ve looked for some time but I haven’t found a solution. But hey, I found out that people can make it look pretty on Ubuntu (handy!)

Enter Neovim

Neovim promises to be a refactoring (and reimagining) of the Vim text editor using more modern techniques. The plan is to have the core Vim functionality moved into a new library, which will allow the interfaces to be separated out in a modular way.

The thing that got me really interested? When they mentioned Windows:

Modern GUIs written in high-level programming languages that integrate better with the operating system. We can have GUIs written using C#/WPF on Windows or Ruby/Cocoa on OS X, for example.

True they’re not saying they will write a GUI using C# & WPF, but someone can. And I like the sound of that. Of course, it’ll be open source – and I’ll be able to edit the XAML to have no borders at all, if I like.

Also, here’s hoping we get better PowerShell integration out of this too.

It could be huge.

So, will Neovim rock on Windows? I sure hope so.


I always keep an eye on the Neovim project and recently I though I’d try out the Neovim-QT frontend which actually builds for Windows. Purely from an aesthetic point of view, I think it’s awesome already. But even now (over a year after this original post) there is a long way to go.