Highlights from Build 2017

I tend to describe Microsoft’s Build conference as a bit like Christmas for developers who use Microsoft’s tools and technologies to build software. This year was no exception – and there was plenty to be excited about.

As per usual, there is a vast amount of content published on Channel 9, most of which I have not gone through yet, but here are some of the top announcements that interested me the most:

Microsoft’s democratised AI offerings continue to grow and improve customisation

Microsoft have been promoting their Cognitive Services for a while now, and they’ve been getting more and more robust over time, now with 29 services up and running and available for developers to use.

One of the most exciting additions this year is the trainable image services. Being able to train AI to spot certain attributes on images is something that can have a huge impact on some of the technologies I build professionally.

The addition of Cognitive Services Labs allows developers to try out more experimental AI services, including Project Prague, a gesture recognition service.

It’s also worth mentioning that Satya said that, as solution architects and software developers, we should take accountability for the algorithms and experience we produce. We should be building inclusive systems which help empower people – in a way that they can trust. I agree with him.

Azure Cosmos DB is a shiny new multi-model global scale data service

As well as bringing much needed MySQL and PostgreSQL service offerings to the cloud, Microsoft have also announced their latest home grown cloud-native database service, Cosmos DB.

As a software architect, having Cosmos DB will allow me to make much better choices about the consistency of data solutions I am designing without having to worry about indexes or where the data will rest at run time.

The global distribution of Cosmos makes it a lot easier to make ensure that the data is as geographically close as possible to the end user. It’s essentially an extension of Document DB, but allows for a multi-model interface: key-value, column family, graph, and document.

As Cosmos DB is built on the Document DB technologies, there is already an emulator which can be used locally at development time. For me, this is a must when choosing cloud technologies.

For me the timing of the Cosmost DB announcement is really great, as a planet scale database is something I’ve actively been looking at for a new project I’m working on. I’m looking forward to learning more about it.

New tools for Azure developers and administrators

Azure is becoming one of the most important assets that Microsoft has. It’s the centre of many of their initiatives including AI, IoT, microservices, and more. Their continued work to strengthen this platform has made it easier than ever for developers to get up and running with all of these new services through a coherent set of tools and development kits.

New tools like the Cloud Shell and the Azure Mobile App are part of this. Unfortunately for me, the PowerShell version of the Cloud Shell isn’t available yet, nor is the Windows version of the Mobile App. However, the improvements to the Azure CLI are most welcome. Under the covers the Cloud Shell uses the shiny new cross platform command line interface for Azure and is already logged in and configured, making it super easy to get up and running. I’m a huge fan.

We’re still missing an Azure desktop app though – I still think there’s value in having a version of the Azure portal that doesn’t require using a web browser. Using Electron is probably the best way for Microsoft to achieve this and I’m unsure why they’ve not already provided a desktop app.

A powerful new feature called Snapshot Debugger will integrate with Visual Studio to make debugging production easier than it ever has been. You can create snap-points on certain lines of code which will instruct Azure to collect information as the application is used. It’s very impressive, and doesn’t affect people using the production application in any way.

I’m keen to try this out but it seems like it is going to be a powerful new way to fix issues in production without the security risks involved in pulling production data to a developer’s local machine for debugging. Awareness of production data is a must for companies who use customer data, and tools like this will help with adherence to the Data Protection Act and security standards like the popular ISO 27001.

Microsoft has a new mantra

A clear message from Build 2017 was that developers shouldn’t be placing all of their business logic and intelligence inside Microsoft’s cloud infrastructure, instead they should be considering how devices on the edge of this cloud could be leveraged to improve the solution.

Intelligent Cloud and Intelligent Edge

Not only does this make more sense, but it’s also something that Microsoft is uniquely positioned to provide. As a long term supplier of back office / on premise software, they’ve already got a foot in the door of many companies data centres. Improvements to Azure Stack and Azure’s IoT offerings allow logic to be moved between Azure’s cloud, to on premise data centres, and even to embedded edge devices.

Azure IoT Edge. is an example of how logic can move between the cloud and edge devices through a single management infrastructure:

  • Run AI at the edge to reduce latency and allow for offline-scenarios
  • Perform analytics and proactive decisions at the edge
  • Move logic from cloud to edge at any time
  • Management of edge devices from a central location
  • Simplify development
  • Reduce bandwidth costs

While these tools are very interesting to me, I have a feeling we’re still a little way off. The innovations here are huge and not to be taken lightly and I expect more to come over the next few years.

Cortana and Bot Framework improvements

One of the more obvious changes is that Cortana has come out of the phone itself and she’s now coming to other devices like the Harman Kardon’s Invoke intelligent speaker. (Yes, this counts as an intelligent edge device!)

General improvements have been made around the Bot Framework too. It’s now easier than ever to use natural language for common actions like taking payments from users.

Cortana Skills have been created to better link Cortana with services built on the Bot Framework and Adaptive Cards make it easy to write interactive cards which work across all platforms.

These integration improvements aside, I’m not convinced Cortana herself is moving fast enough and I’ll have to write up some more of my thoughts in a follow up to last year’s thoughts.

Windows 10 Fall Creators Update

Aside from the stupid name, it looks like there has been a steady progression for the Windows 10 platform.

The update brings a number of much-anticipated features including a cross-device clipboard, pick up where you left off, OneDrive on demand sync, and much more.

One of the best new features was the timeline view, which shows previously used applications across multiple machines. I’m not sure how well this will work for me, so I’m looking forward to getting my hands on it so that I can try it out.

Interestingly, the addition of a few apps to the Windows Store have caused quite a commotion:

  • iTunes – a must-have for iPhone users will be coming to the Windows Store. I don’t use it, but I understand the gravity of what this means to users and the pressure it will apply to Google to bring their apps to the store too.

  • Linux – we’ve had Ubuntu for a year, but now the Windows Subsystem for Linux has been updated to include Fedora and SUSE. Who’d have thought it would be Microsoft to really bring Linux to the desktop?

One of the more impressive apps was Windows Story Remix (the video is worth watching!), which takes advantage of many of the platform and service offerings to include an impressive experience for users who want to create video content with their photos and videos. While this isn’t something I do very often I certainly appreciate how well Windows Story Remix has been executed.

The fall update also brings the long-awaited replacement for the Metro design language…

Fluent Design System 😍

Microsoft’s design system has had a rocky past due the company being forced to drop its “Metro” identity early on in life, and it has hobbled along with the less memorable “Microsoft Design Language” since before Windows 10’s introduction.

Finally, they’ve sorted themselves out and come up with a new name for their design language.

While it is an evolution of the existing Metro principals (see my previous rundown), the new design’s new direction takes into account five key areas:

  • Light
  • Depth
  • Motion
  • Material
  • Scale

Fluent Design is something that really interests me, so I’m going to write more about this in an upcoming post.

Developer Tools, New APIs and much more…

It’s no surprise that there have been a load of improvements around the developer tools and other services too:

  • Visual Studio 2017 for Mac
  • 3rd party integrations for Microsoft Teams
  • .NET Standard 2.0 and XAML Standard 1.0
  • Azure Functions Improvements
  • Much more…

Exciting times!

What’s in your bag? 2016

I’ve always been a fan of these kinds of posts so every couple of years I do an update of what I keep in my work bag and what I have as my every day carry:

Knomo Kilkenny

The Bag

The bag itself a messenger bag designed for “11 inch laptops” by Knomo. I’ve had a look and it appears that it is now discontinued but it’s still going strong for me.

I got it back in 2014 to use with my Surface Pro 2. In my original post I speculated that “it will hopefully last even longer than the technology it will hold.” and I was right. It’s a perfect fit the Surface Book too.

I usually wear it just on one shoulder when going short distances but it it works fine across my body too. Previously I’d had larger backpacks for work, but these days the stuff I carry is so small and light that a messenger bag is the best option and just using one shoulder doesn’t cause any physical issues for me.

Surface Book

The main compartment of the bag is used by whichever Surface Book I am using at the time; I have one for work and another one for personal use.

The Surface Book is a beautiful machine and way better than the clunky and huge Dell or HP laptops I used to use for work.

It’s worth mentioning here that I do not carry a power adaptor with me by default. I have Surface power adaptors both in my home office and at work, plus the battery life is just fine for most situations where I am out and using the machine for work.

What's in your bag?

Notebooks

The middle compartment sometimes gets used for other things, but mostly it is where I carry my notebooks.

As a huge stationery nerd I often try out new pens and pencils – but one certainty is that I’ll have my Arts & Science leather case containing my Hobonichi, Field Notes, and whatever my pen of choice is at the moment.

Analogue Note-Taking

Check out my analogue note-taking setup for 2016 for more information on the setup I had at the start of the year, or follow me on Instagram if stationery is your thing.

Analogue and Digital Pens

In the front compartment there are a couple of pen slots – at the moment it is currently holding:

  • Surface Pen
  • Zebra Sharbo X ST3

While the Surface Pen has a magnet to clip to the side of the device, I find that I prefer to keep it in it’s own place when I am storing it in my bag. I don’t want there to be any chance of it falling off and scratching the laptop.

The Sharbo X is probably my favourite multi-pen and I use it a lot when taking notes in meetings. It’s really handy to keep this one in my bag so I have a pen, pencil, and highlighter to hand at all times.

small-items

Small Accessories

Finally, there are also a small number of other miscellaneous items I carry in a zipped pocket:

  • Small USB Cable
  • USB Type C adapter
  • micro SD card and USB adapter
  • Pen knife
  • Cleaning cloth

And that’s it! I really love how much lighter my bag is compared to previous years.

What’s your every day carry? 2016

I’ve always been a fan of these kinds of posts so every couple of years I do an update of what I keep in my work bag and what I have as my every day carry:

Every Day Carry

All-Ett Wallet

I’ve been using the same All-Ett leather sports wallet for just over four years now and I still love how small it is. I would definitely recommend this kind of wallet to someone who’s looking for something minimal.

I usually carry between four and six cards, some folded money, and any receipts or note cards I have recently collected.

The thought of replacing it has crossed my mind… not because it is in any way defective, but because I think I’d like to get a wallet which blocks radio signals passing through. This would block the contactless card inside from being used unless it is removed from the wallet.

Of course, All-Ett do a version which is just like the one I have with the addition of this blocking technology. I’ll probably get one of these next time I feel like I need an upgrade.

Windows Mobile

I’ve used Windows mobile phones for over a decade now, and I still feel most productive when I have a Windows device on me at all times.

I got the Lumia 950 XL a year ago and it’s still one of the best Windows phones on the market. Yes, I know that for many people the platform isn’t moving fast enough for them, but I don’t currently have any interest in switching – most of the apps I want are already here.

The top uses for my phone are productivity (Outlook, OneNote, Wunderlist), communication (Slack, Skype, Messenger), and entertainment (Groove, Audible, Pocket Casts). It has 200 GB SD card loaded up with tonnes of music and offline maps for use while driving. It’s also the the camera I use the most, and I have it synchronised with OneDrive so that everything goes up into the cloud.

One of the biggest complaints about the Lumia 950 XL was that it isn’t particularly eye-catching. I tend to agree, and the standard plastic back was quickly replaced with a premium cover by Mozo. I find it makes the phone feel significantly nicer in the hand, and the real leather on the back gives the phone a warm feeling and a nice grip.

Wallet and Phone

As well as the Mozo cover, I also use a leather sleeve from FitBag. I mostly use this when I’m travelling or putting my phone in my bag or my jacket pocket. It protects the screen complements my leather wallet really well. I have actually found that putting the phone in the sleeve makes me less likely to check it for no real reason – when in meetings, for example.

Overall I’m happy with the Lumia 950 XL for now, and I hope it’ll keep me going until Microsoft builds an ultra-portable Surface which includes ink support.

Microsoft Band

Since my last every day carry post there have been two versions of Microsoft Band, and I’m currently using the Band 2. The old Fitbit got me started with health tracking, but having a device on my wrist is much better.

I really like the Microsoft Band, but it’s possible that this might be the last version of it. Rumours are that the Band 3 has been cancelled and there’s no replacement coming. I have a spare Band 2 to keep me going for now, and I’m just going to hope that there is a Windows-power wearable device in the works.

Band and Lumia

KeySmart & Car Key

And last of all… keys. Everyone has to have some keys in their every day carry.

I got a KeySmart in June last year when I moved and had the opportunity to reduce the number of keys I have to carry around. I’ve dropped it a couple of times since and they’ve been just fine – and I’ve never had them come apart in my pocket or anything like that.

I love how they don’t jingle and move around when I run, but the lack of jingle also means I often double-double check I have them with me! As before, I keep them separated from my car key.

Highlights from Build 2016

Satya

Even though I have never attended a Microsoft Build conference in person I always learn so much from them.

Every year there are new platforms to try, lots of documentation to read, and many presentations and recoded sessions to watch.

I still have a lot of videos to watch, but here are some of top announcements from Build 2016 which matter to me the most as a developer.

Windows 10 as the best OS for Developers

A number of new features coming to Windows 10 in the “Anniversary” update were shown in the day-one keynote, and then even more features where shown at sessions throughout the conference. Solid improvements to the inking, biometrics, and the Action Center were all well received.

Windows Ink

Many of the features shown help fix minor annoyances in the system. For example, pressing on a live tile showing a preview of a news article can now take you directly to it, and notifications dismissed on the PC or tablet will automatically get dismissed on the phone too.

One of the most exciting new features was the addition of Bash (on Ubuntu) on Windows which is both technically very interesting and extremely useful for many development workflows. The new Ubuntu subsystem will allow any (command-line) Linux application to run natively on Windows. This instantly unlocks a massive amount of tools and utilities for developers, making common scenarios significantly easier from Windows.

Bash on Windows

As a huge fan of command line interfaces I’m going to go into this in more detail in a future article – but essentially Microsoft are positioning Windows to be the ultimate developer platform, no matter what operating systems you use for your solutions.

Azure is growing up with more data centres and services

Microsoft would prefer you use Azure when you deploy your applications though, and the day-two keynote showed that is still serious about the cloud.

Improvements which interested me the most included Azure Functions, Service Fabric, Containers, DocumentDB, and much, much more.

Azure

Azure is the future of Microsoft, and by the numbers they going strong. They’re expanding their datacentres and really betting big on the cloud. This is no surprise to Microsoft watchers, but it’s good to see steady improvements here. Many of which I will use.

Visual Studio keeps getting better

I spend absolutely huge amounts of time in Visual Studio so any improvements here have a very positive effect on my productivity.

Visual Studio 2015 Update 2 was released (with lots of improvements) and an early preview version of Visual Studio vNext was also shown. I’ve tried both and they’re definitely going in the right direction for me.

Visual Studio

I’m especially looking forward to some of the improvements coming in the Visual Studio installation experience moving forward. This should make setting up new development environments much faster, and the side-by-side installations means there’s much less risk when installing previews.

App development for Windows, iOS, Android

The mobile app development story from Microsoft is stronger than it ever has been. This year brings a number of improvements to the Universal Windows Platform (UWP) itself, and a more integrated store experience which now includes the apps on the Xbox One and HoloLens.

The Desktop App Converter lets you wrap up existing Win32 and .NET apps into UWP packages, allowing access to new features like UWP APIs – including Live Tiles. Even though I don’t currently develop any Win32 or .NET applications that I want to put in the store, this is an important step and I’m looking forward to the benefits of this as an app user.

Xamarin

For targeting non-Windows devices, the Xamarin platform is now the obvious choice. After recently purchasing Xamarin (and their amazing talent) they’ve decided to make Xamarin available for no extra charge with Visual Studio. And that includes shipping it with the free Community version. Very cool.

The combination of UWP and Xamarin means I can directly apply my C# and .NET skills to making applications for a wide range of platforms, sharing many code components. It’s really coming together nicely.

.NET and the continued move into Open Source

As well as making Xamarin’s development tools free to Visual Studio users, the folks over at Microsoft also announced their intention to open source the Xamarin SDK (including the runtime, the libraries, and command line tools), and give the governance of it over to the .NET Foundation.

Mono, the cross platform and open source sibling of the full .NET Framework has also been re-licenced to be even more permissive, and given to the .NET Foundation. (To be honest I actually thought this was already the case!)

.NET Core, the future replacement of both the .NET Framework and Mono, also saw steady improvements – my favourite of which was official F# language support:

$ cd hellofs/
$ ls
$ dotnet new --lang f#
Created new F# project in /home/julian/hellofs.
$ # I can now dotnet restore and run this F# app using .NET Core!

The Future of Cortana and Conversation as a Platform

So far everything I have mentioned has been mostly around solid updates to existing platforms, but this year’s Build included a slightly different way of thinking about productivity with the idea of Conversation as a Platform.

Conversation as a Platform

The Microsoft Bot Framework provides templates for creating bots with C# and JavaScript, as well as connectors to simplify their interaction with services like Slack and Skype. When linked with the new Cognitive Services, these bots can understand natural language and perform tasks for the user.

build-cortana

The demonstration of talking to Cortana through Skype was very interesting – where essentially Cortana can act as a broker between the user and other bots on the Internet which can act as experts in their field. I found this very compelling, and something I can see myself using.

As this is as subject that interests me greatly, I’ll be writing more about this over the next week or so.

And everything else…

Of course, there’s no way I could summarise everything I looked at so I have skipped a number of cool announcements ranging from Microsoft Graph to HoloLens.

The hard-working folk over at Channel 9 have videos for many of the events and topics, so be sure to check them out if you’re interested. I’m very thankful that these videos are all made available for everyone to watch, I really enjoy watching them.

Two Weeks with Microsoft Band 2

First off, all the sensors and technology in the first Microsoft Band is still in the new 2015 version, but now we have a barometer too, taking the count up to eleven.

  1. Heart rate monitor
  2. GPS
  3. Accelerometer
  4. Gyrometer
  5. Light sensor
  6. Microphone
  7. UV sensors
  8. Thermometer
  9. Capacitive sensor
  10. Galvanic skin response
  11. Barometer

The real changes are in how the device feels on my wrist.

The screen is now curved and made of glass, the main body is now metal and also curves around the wrist. The band itself is now significantly more flexible (as it doesn’t include the batteries) and the overall experience is one of a much higher quality device.

New Microsoft Band

I didn’t really have any problems with the original device feeling too bulky at the time, but when compared to this updated version it would be hard to go back.

There are other less obvious changes too. The software on the device is much nicer to use – the team has clearly been listening to feedback and made various screens much more useful. An example is pausing a run. The previous version was all too easy to accidently end the run by brushing the screen with your finger by mistake – now you need to swipe across and press the end run button.

The existing sensors have also been put to better use too. You can now set alerts for UV and use a smart alarm feature to wake up at the optimal time. Very handy.

Microsoft’s approach to personal health has changed recently with the shuttering of the MSN Health & Fitness app, and I’m hoping that they bulk up their new Microsoft Health offering with more of the smart insights we were promised – but I’ll save that discussion for another day… hopefully when the long awaited universal version of the app comes out for the Windows 10 desktop. It’s soon, right?

Microsoft Band 2

Using the Microsoft Band has helped me get fitter and feel healthier. The Band 2 does all of that and packs it all into a better looking and higher quality package.

I recommend it.