Monthly Review – November 2017

Standard in November 2017 featured Picks, a selection of the best and most popular posts from throughout the year, there has been almost a full year of posts on the blog already this year from a New Year’s resolution to keep posting every day this year and although it’s just been a repeat of existing content it has been good to look back on the events and topics that have been written about the past months on! in December takes a different path with some content that would have appeared on the blog had it existed at the time so will be ending the year with some new content to the blog but some unpublished content from the past and hopefully this will be of interest, have to admit that maintaining a blog for a whole year has been a challenge and the utmost respect goes out to those who do this for more than just a year, although that’s all that could be managed here there will be some more things coming in 2018 and the last post of the year will outline those plans, until then keep checking out! Picks


Future Decoded 2017

DDD North 2017

Windows 10 Creators Update

Windows Mixed Reality Headsets

Surface Book 2

Kinect, Gone

Windows 10 Mobile, Gone

Groove Music, Gone

Xamarin Tutorials

Microsoft Developers

.NET Core 2.0

C# Workshop

Xbox @ E3

Tutorial Insider

Xbox One X

Mike Oldfield May

Microsoft Event Shanghai

Microsoft Build 2017

Project Scorpio

Workshop Wednesday

Visual Studio 2017

Happy 20th Birthday Visual Studio

Microsoft Build 2012


Newcastle / Gateshead

Microsoft in 2017 Picks – Future Decoded 2017


Innovation Keynote

Mixed Reality Modern Workplace

3D in Office Suite, Mixed Reality Meetings, Mixed Reality Data & Analytics.
There are many companies working in this space. They are adding more markets for HoloLens with an extra 29 markets – this is because they want to broaden availability of HoloLens. Getting 3D content and files ready to run on HoloLens is a challenge and they acquired a company that helps make this process better and help optimise 3D files and formats so existing assets can be used with Windows Mixed Reality and HoloLens.

Starting next year the Remote Instruction capability will be coming to HoloLens allowing integration with Microsoft Teams and Active Directory. HoloLens is fully certified for protective eyewear regulations from United States and United Kingdom, allowing people to do their jobs with HoloLens with protective eye wear and there will be hard-hat accessories available next year to allow it to be used on site easily in a range of situations, for first-line workers.

How Mixed Reality is acting as a catalyst for bringing more information within the workplace , you can buy the Developers or Commercial HoloLens kits or using Windows Mixed Reality support a range of other headsets, there are many tools and SDKs to help make it easier to use Windows Mixed Reality, and there are many partners with demos and solutions based on Mixed Reality.

Rising Cloud Trends – Mark Russinovitch, Azure CTO

Azure are helping to promote and support trends in the cloud. Intelligent

Cloud, Intelligent Edge. AI, IoT + Edge, Blockchain and Server-less Computing.
AI – Microsoft Azure is democratising AI, need to bring in data, process data and make decisions and understand that data – digital transformation. Have frameworks to support AI such as Microsoft Bot Framework, also APIs such as Cognitive APIS to infuse applications with intelligence such as vision, speech, search and knowledge – allow you to detect faces, detect objects from still images or videos. These services are trained from services such as Bing but if need domain specific information you can train your own solutions by uploading images of own products to be recognised.

Also work into building intelligence into big data solutions – infuse these with capabilities such as supporting R. They also strive to deliver a platform optimised for machine learning, such as delivering a High-density GPU SKY for AI with 8 GPUs, also they have FPGAs integrated into Azure Hardware with FPGA-Accelerated DNN serving in a Hyperscale Cloud allowing real-time AI, with leading performance and there’s customer choice to select preferred DNN framework – codenamed Project Brainwave, this allows maximum use of hardware and max out Teraflops of usage potential available and with lower latency, this is currently used internally with Bing but will be available to customers.

Internet of Things – Build things, control anything, gain insights and take action. IoT + Edge – allowing to put insights and actions on the Edge with Azure IoT Edge based on Docker Containers which allows rich computation on the Edge and can refine the code that goes with devices. They are working on the machine learning workbench which can be deployed in a module over Azure IoT Edge – such as cameras that look at images in real time and get it to understand these images so only the relevant ones are pushed to the cloud – so it only identifies those interesting images. They want to build a richer environment and a highly available platform such as redundancy with multiple devices, allow the creation of a microservice that can run in the cloud or on the device – but larger devices can have rich microservice application models run in the cloud.

Blockchain on Azure – secure, shared, distributed and ledger. You can have a verified supply chain or inventory data, this is where block chain solves this where every party has their own shared view of the ledger and when this is updated then everyone sees it. Block chain networks are designed where no one trusts anyone such as Bitcoin which uses a proof a work to solve a complex cryptographic puzzle – in case of bitcoin if first to do this you get some bitcoin, the throughput is low and the latency is high. There’s also a lack of confidentiality – you must be able to see the transactions or smart contracts, you can see what everyone else is doing. Microsoft have been trying to make Blockchain more amenable to business with Confidential Computing – this is based on Trusted Execution Enclaves such as Windows Server Virtual Server Mode or Intel SGX, this secures all date while in use, customer workloads are invisible to host fabric and customer data is always encrypted. With Project Coco, Ethereum has been ported and allows high throughput with millisecond range compared to minutes on Ethereum as it has pre-defined targets and proof of work, the secure enclaves allow high throughput.

Server-less – the future platform for next generation applications, how do you architect your app to become server-less? Server-less – is an abstraction of servers, event driven/instant scale and supports micro billing. Uses may include adding new users to a CRM or any action you may need to perform and only pay for the use of the service only when the functions execute. Azure Functions are pieces of code that can be executed on triggers and only pay for these when they execute, there’s then a high-level abstraction with Logic apps which also can be used.

Storing Digital Data in Synthetic DNS – Karen Strauss

A future where we’ll be storing data in synthetic DNA molecules – this is collaboration between University of Washington and Microsoft. How you can engineer biological molecules for the benefit of the IT industry. We are generating more data than we can store – storage capacity is growing too slowly. With DNS you can store over 10TB in very small quantity of DNA, it’s a very dense storage medium – the equivalent of two super data centres of storage would be barely visible. DNA synthetic fossils survive as long as kept in the right conditions and the readers will never become obsolete – you can store it at -18 degrees Celsius and store it for over two million years.
DNA storage basics – made of four bases A, C, G and T. It’s possible to encode binary data by representing those bits as bases in the DNA, it’s possible to store 10-20 bytes in a single DNA strand – this is just the material, there’s no life. The system starts with bits and encodes into the bases, these are then synthesised or written into the molecule and this can be preserved so it lasts, then when time to read this and then sequence it then this can be decoded into bits again. There’s sequence number used to reconstruct the data from the pieces of DNA along with additional redundant data added for error correction like how physical drives like SSDs and HDDs do.

DNA is written base-by-base one molecule at the top to grow it to the correct length with the bases set, this can then be placed with in a cartridge for long-term storage. To read these there may be multiple files stored, it’s possible using a chemical process to extract the relevant piece of DNA, this could also be done using Digital Microfluidics to handle droplets of DNA to prepare DNA for reading or sequencing. DNA decoding – extraction of individual files, clustering of DNA sequences, majority voting of sequences, error correction and translation into bits.

Blockchain in the Enterprise – Craig Hajuk and Brent Truell – Azure Blockchain Engineering

Blockchain is such an important technology there’s a team within Azure focused on Blockchain, and shows the potential of distributed ledger technologies. “Bitcoin offers a sweeping vista of opportunity to reimagine how the financial system can and should work in the internet era, and a catalyst to reshape that system in ways that are more powerful for individuals and businesses alike.” Marc Andreesen

Bank Guarantees – the traditional bank guarantee process is laborious, physical documents can be lost or destroyed. The impact was a blockchain enabled platform to replace this.

Marine Insurance – insurance can be complex and managed through complex web of underwriters, block chain can have real time visibility with location and cargo condition and allowing the actual risk to be accurately assessed.

Block chain is a truly cross-industry phenomenon. What’s the excitement about? Block chain is a secure, shared, distributed ledger. Secure – uses cryptography to create transactions and are impervious to fraud and establish shared truth. Distributed – there are many replicas of the blockchain database, the more replicas the more authentic it becomes. Ledger – transactions are written to the ledger. Shared – value is link directly to number of organisations or companies that participate in them. It was built originally for a system where there’s no trust of anyone but implemented a Consensus with Proof of Work – a one-way hash that produces an output that has to be calculated correctly and the mining process is validating these committed blocks, these extend the block chain, if there is another block which disagrees then only the consensus ones will continue otherwise this will be a fork.

Blockchain and a shared source of truth – traditional system has centralised system with stored ledger, block chain system has distributed system with distributed ledger. Block chain technology supports two main goals: efficiency and transformation, the former makes existing things quicker and the latter introduces new processes and even redefine an industry process.

Determine if Blockchain is appropriate? Trust boundaries – does business process cross trust boundaries, or is it completely inside on entity? Do multiple parties update data? Are multiple parties in the process updating information throughout the process or is it only one party who does the updates. Is there an intermediary. Is there an intermediary or a middleman that has a role that could be made more efficient, impactful or eliminated all together?

So why isn’t everyone using blockchain right now? Blockchain wasn’t built for the enterprise – ledgers designed for public networks, lack the performance, confidentiality and governance capabilities needed for commercial use. Smart contracts require specialised skills, not designed to leverage existing enterprise tools and skill sets. Integration is difficult and costly, connecting to existing IT architecture requires significant investment.

What is Microsoft doing about it? Azure Blockchain: Ready for the Enterprise. Flexible – block chain on your terms, choose the right ledger for your scenarios, work with the partner you prefer, deploy on premises or on the cloud. Integrated – connect to your apps and services, identity and key management, ingest from other applications, processes and devices and analyse and visualise as you want. Powerful – for true enterprise workloads, the right level of performance, confidentiality and governance capabilities for any ledger.

An open cloud – broad support for a wide variety of ledgers including Ethereum, Corda, Quorum and more are available within a section with Azure for Blockchain. It’s very easy to create an Ethereum network for example with just a few values it’s easy to get started and deploy it and set up mining nodes and transaction nodes and other values to get something started easily, in a few minutes. To get Microsoft engineers to get their first network started on Ethereum was about three weeks, and now it’s done in minutes even for complex topographies. Deploy the topology of your choice – do single node for dev and test, simulate production for multiple divisions within a single organisation etc.

Coco framework – coco framework addresses key enterprise requirements. Scalability – database-like speeds for transaction throughput and latency. Confidentiality – richer and more flexible confidentiality models. Governance – configurable constitution to govern membership. Coco reimagines leger construction specifically for consortium use – can use the ledger of your choice and removes need for heavyweight consensus and use a software or hardware enclave.

Enterprise smart contracts – today you can codify a workflow as a smart contract. Wrap up a contract and place this into a ledger – can execute a reliable contract that will happen, how do you know people will do what they say they will do – this is what smart contracts enable, but the code of this smart contract executes on every single node and some can have complex computation involved. Microsoft with smart contracts for the enterprise – this is written in the tech of choice with code attestation travels with transaction, agnostic to blockchain below, smart contract to ledger binding. Pieces of code that get executed that then can write to the block chain and can scale these tiers independently – can trust that some code ran and produced the result needed without needing to know what the code was. Deliver a secure off chain computation that lets enterprises select the right technology for their scenario – can have a traditional three tier architecture and separation of concerns – could even just execute a stored procedure to do the work. Smart contracts at the moment require domain specific languages and code and vary significantly from other programming languages and makes it hard to scale your platform, but be able to break away into a standard language such as C# to execute the smart contract. Should be able to work in whatever language is appropriate and when want to write into the ledger that should be taken care of, only need to focus on the logic.

Blockchain App Builder – Accelerate your development, reduce cost and time – building blockchain apps takes months. Connect to apps and services – build apps that use common services you rely on for your other applications. A way to create end to end applications – where the ledger is just a small part of the application, where it exists in concert with the application. There will be a tool coming soon that will help stand-up a Blockchain environment, one that also connects to existing enterprise tooling and not be isolated in a “Blockchain Island”. This allows you to quickly do a deployment and this can be integrated into Active Directory and creates a user interface – just need to provide some configuration files to deploy some Smart Contracts and write to Block chain – you can work simply with contract logic to create something easily. This is coming soon, and the tools and support will become available in due course.

Azure Block Chain: Flexible – build on your terms, support for multiple ledgers. Integrated – connect to your apps and services and with Azure App Builder connect to apps and services you rely on in your infrastructure. Powerful – for true enterprise workloads, coco improved confidentiality and governance. Get started now, model your workflow with the Azure Blockchain App builder, visit the Azure Blockchain Solutions page, learn more at the Azure Blockchain Blog, contact your account team to connect with a blockchain expert, join the conversation at the Azure Blockchain MSDN Forum.

Empowering Keynote

Microsoft CEO – Cindy Rose

This is the fourth annual event – 12,000 attendees and thousands streaming online. There’s many uses of the cloud from NHS for Blood Donation to British Gas / Centrica managing their employees. Microsoft Mission – empower every person and every organisation on the planet to achieve more. Satya Nadella asked why does Microsoft exist? They are making a lot of changes and don’t need to make a complete break from the past – but a focus on culture is part of a strategy for change, also there’s a focus on renewal.

At Microsoft they believe that many new technologies form the bedrock of the next technology shift that will deliver many benefits but a risk of unintended consequences such as an impact on traditional jobs – 6 out of 10 employees in the UK are worried about their jobs with developments in technology automation. They have a Digital Skills programme to help develop new technology skills – they have a new UK Digital Skills website which is now live at

Developing Character Led Talent – Professor Amanda Broderick

It can be difficult to measure worker skills especially with new technology – or perceptions based on age such as Millennials but there could be up to five generations of workers working alongside one another. Graduate competencies for the fourth industrial revolution including critical thinking, creative participator, self-disciplined organiser, influential communicator, resilient problem solver, ethical leader, reflective achiever.

Microsoft are creating collaboratively and delivering digitally with digital skills and competency frameworks, digital career passport, industry co-creation to help revolutionise approach to talent development. Microsoft Apprenticeship Pledge is asking for your pledges and for you to reach out to your university partners.

UA92 – Gary Neville

UA92 – partnership between footballers and education. Working with young people with University Academy 92. As a footballer are taught to work well and be proud of what they do – the difference with UA92 is that Character Development is at the centre surrounded by academic discipline rather than the other way around in conventional university – people may have the same skills but what makes some one standout is that personality, so a character development based university could work to help with this. Ten principles that prepare students for life: Subject knowledge, life skills, work experience, survival, leadership, self & peer group analysis, participative learning, fitness, presentation skills, finance skills plus being digitally literate – these are the key skills that are needed, and this university can help make someone who not only has a degree but is “oven baked” and ready to go.

Disability Confident – Karen Jochelson, Head of Disability Issues, Department of Work and Pensions

Inclusive employment and assistive technology. Inclusive Hiring – people who develop a disability fid it difficult to get back into work, this is a massive tool of underutilised talent. The government is committed into getting one million disabled people into work, with schemes such as Microsoft’s Autism hiring process to allow candidates to demonstrate their skills in a less conventional way.

There is a disability confident scheme to help employers make their workplaces more accessible to those with disabilities, every government department is a member and gives preferred status for contracts to those companies in the scheme. Accessible design is good design that works for everyone, and provides an opportunity for innovation.

Innovating around accessibility – Haiyan Zhang

Over a billion people in the world have a disability – this is one of the really big challenges we face today, these challenges can help those with a permanent, temporary and situation loss of function, face old challenges with new technologies. We want to have employment and be productive to empower us to be successful – the needs of those with disabilities are the same as everyone else. Plea to developers is never underestimate the power and influence of your work and how it can change lives for the better by making assessable products, there’s also the benefit of AI to help make tools more accessible, such as getting description of images using cognitive AI to help blind people better relate to sighted colleagues, and provide more seamless ways of disabled people to interact with others, also open up opportunities for those with disabilities. Picks – DDD North 2017


DDD North is a developer event held each year in the North of England, October 14th 2017 saw this year’s event in Bradford at Bradford University where dozens of Microsoft platform developers gathered to attend the various sessions, meet up with fellow developers and more!

The power of mentoring – Simone Cuomo

Mentor – an experienced and trusted adviser, not defined by higher qualification, age or company position. Can be just a Mentor about a specific subject, you could be an expert on GIT or Accessibility.

  • Multiple – Have multiple mentors to support different skills
  • Reverse – flips the traditional model
  • Two Way – Both parties exchange mentoring on different skills
  • Virtual – Mentoring using new technologies to replace face to face.

Important People – Bill Gates, Mark Zuckerberg, Richard Branson, Elon Musk – these all try to push the boundaries, their success based on their mentors and they accept that they need support. Mark Zuckerberg’s mentor at the start was Steve Jobs.

Where Things Go Wrong – Think you know it all – Entrepreneurs with mentors show that they are willing to learn open to different perspectives and adaptable to change – Richard Branson.

Accepting your weakness is strength of his own – Simone Cuomo

Imposter Syndrome – Think know so much less than you do compared to others, 33% of young people are affected, people with good skills are the most affected and women are the most affected. We think we only know a little and everyone else knows the rest, but reality is people know about the same as each other but just about different things. Spend time with someone who might not be able to share their knowledge, get them to share what they know, support them in a social way and find out their best skills and that can become a trusted advisor to you and become your Mentor about a subject. Remember how hard it was to figure stuff out in the first place, and how you were able to learn the things you learned.

In learning you will teach, and in teaching you will learn – Phil Collins

Skill Chart – Fix, Create, Improve, Teach. More time means more time to know what you didn’t know, you’ll think you know everything before you find out there’s stuff you didn’t know. Someone can be really good at something but can they teach it, you can have someone to support that person to make them better to share their knowledge – understand boundaries, be able to teach and find your place.

End of Full Stack – Starting to specialise, there are things like accessibility that may require specialised knowledge , you can’t be the guru of everything. Need find people that you can trust that you can support.

Software Craftsmanship –work towards Mentor Craftsmanship, lead by example – do it yourself no matter your position, cure the imposter syndrome – no separation of junior or senior (or intermediate), accept your weakness – don’t make excuses for your position and what you don’t know about, inspire people – hard to define but can do something without purpose or reward, just own happiness or satisfaction, bring the greater good.

They do one, one-to-one every month and the prepare throughout the month by noting down things as they happen throughout that month, things they did well, things they didn’t do well. You can be directional, don’t need to undermine anything provided externally, can just be supportive and help foster mentoring, either way. Can help to admit you don’t know something, and can keep yourself grounded.

Meta-Programming in C# 101 – How Stuff Works – David Whitney

Metaprogramming? Sounds scary! Reflection is looking at the metadata at runtime e.g. properties, types, methods etc. Using GetType that’s Metaprogramming – ZOMG!

Reflection is inspecting the state of application at runtime, the “type” type is useful even if you didn’t realise. Type is one part of a rich meta-model – the model of your model, this is a series of types that describe the types in memory, the API is reasonable consistent to access info of items such as properties and types etc. Metaprogramming is the glue that holds this all together, things like Entity Framework are using Metaprogramming.

Write your own test framework in an hour – archetypal example of metaprogramming. Test Framework instrument code and build test for Test Runner that then uses reflection to execute them and get the results. Test: Code Discovery, Execution, Assertion, Result Gathering and Assertion. Have a simple “TestFinder” – loads the Assembly full of Test, then use reflection to find those tests, find the possible “TestFixture” (Class Decorator) with custom attributes, then get the Test Methods from those fixtures, then get all methods that have the custom attribute called “Test” (Method Decorator). Activate – Execute these by creating an instance and invoke the type object, then passing in the instance then return the pass result if it worked, if there was an exception, return a failure. Test Reporter just outputs the Test Result as a “.” If failed or “x” if successful. Assertion Library is glorified If statement, everything else is just normal code, complexity comes from Setup and Teardown or things like SpecFlow.

MVC Framework – Divides software into unconnected parts to separate applications but can make the intent of the application difficult. Model > updates > View > sees > User > uses > Controller > manipulates > Model > repeat. MVC is just a framework that calls user code – just inspects URL and loads controller and runs some code – just like a test framework, then gets some results and outputs this. MVC really just started as a “HttpHandler” that process requests – the lowest level in MVC, a basic handler. MVC is metaprogramming bound to HTTP, when handler is constructed use Metaprogramming to look for types that end with “Controller” – cache this into a list so can refer to them later so don’t need to repeat this lookup, then it’s all about “ProcessRequest” method, from context, get controller, pick method, create instance and execute method. MVC uses sensible defaults – it just works, for example when the controller is null then can just return a “HomeController” -based on the URL passed in to get any existing controller from the path of this object. “PickMethod” can use the incoming URL to get the method, if no matching Action method is found default on “Index”. You can use Model Binder to convert a request to a Model using reflection, without Views this is essentially a Web API Framework.

IOC Containers – Inversion of Control, core of it is Create, (Register Type), “SelectType”. Registration API can add types to a dictionary in it’s most basic form. Create – looks for constructors with the most parameters and try to satisfy this, look through all the dependencies, call the method to fulfil the dependencies over and over, which does risk recursion issues. Container finds all the things you’re looking for and creates them, can build a simple IOC container that just works for a small app.

None Framework / Real World Metaprogramming Examples – Do the right thing by default, have simple conventions, help introduce strong conventions to help with programming, can forcefully implement an approach that uses reflection and have paths defined by classes for example and have regular patterns so things just work. Auto-wiring components, common to have lots of lines of wired up bindings, end of putting it at the bottom. Use method to get all the types where classes are not abstract and where there are interfaces for the same type then can register them all in one go, don’t manually register them all again! Protecting code quality, every class should follow a naming convention e.g. all Factory classes end with “Factory” – you can have a Unit Test that checks that Factories have the right naming convention using metaprogramming to check all classes in a Namespace and see’s what name it has before it’s checked in. Test will help diagnose issues as exceptions with reflection can be hard to figure out.

What’s the point of this talk? Metaprogramming has a reputation of being scary! But it’s not. Reflection has reputation of being slow but it’s not as slow as it used to be and can always cache this data so it’s only done once. Don’t be scared, there’s a benefit of predictability in your code, can remove repetition and reduce code to the bare minimum even down to nothing. Lots of really cool stuff uses metaprogramming, should make the obvious thing work and not make the right thing not obvious and not be too secret or “magical” – make the magic obvious, you can mature meta programming libraries over time.

JavaScript Services: Building Single Page Applications with ASP.NET Core – Sandeep Singh

This is a fairly new part of ASP.NET Core. Find out where we are with development, hoe to get started with JavaScript services, various SPA features. Web Development before 2009 – HTML, CSS, JS, Server Side, Database. Modern Front End (2017) – Libraries (e.g. Angular, React, jQuery), Architecture (Flux, Redux, MVC), JavaScript (TypeScript, ES2017, CoffeeScript), Build/Bundling (webpack, gulp/grunt, rollup), Module Loaders (ES6 imports, System.JS, AMD, CJS), Package Managers (npm, yarn, bower).

Building SPAs can be complex… Q. How can ASP.NET Core help? It has something called JavaScript Services allows you to build client side using JavaScript Frameworks – “SpaTemplates”, “SpaServices”, “NodeServices” with the latest tools on Visual Studio 2017 these are available on File > New Project.

Can do “dotnet new” with angular and other templates, can install more “SpaTemplates” to allow you to use more templates such as Aurelia and Vue. Four main areas of “SpaServices” include webpack middleware, hot module replacement, server-side pre-rendering, routing helpers.

Web pack – is a module bundler, takes lots of files like “.sass” and dependent JavaScript files and packages these up to be served to the client. Web Pack has better-structured support and make it easier to organise code. Web Pack has entry points for where to start bundling, module loaders – how to transform assets, plugins and how to bundle them and output for where to output bundle. Hot Module Replacement – Web Pack can also do module replacement – will change code running in browser without refreshing the page, it injects the correct change into the correct place and only refreshes this. Can use the dot net core watcher to rebuild CS files when they have been changed. With hot module replacement you can make changes and see them update instantly. You don’t lose state and can develop on the fly and any errors just get displayed when using React. You can add other modules to handle other file types easily, just have to remember to rebuild if changing this configuration.

Server-side Pre-rendering – Isomorphic JavaScript or run the same JavaScript on the server than on the client. Solve slow initial load time, improved SEO, enable content preview on social networks, fall-back support for older browsers. This is implemented as a tag helper and can improve performance and then hook up event handlers once this has loaded.

Routing Helpers – An MVC app has routes, allows for fall-back route, handle 404, routing order matters – static files, MVC route, SPA fall-back, not a silver bullet if client-side routes complex e.g. /test.sub. This is enabled on start-up to Map the SPA fall-back route.

Have “Microsoft.AspNetCore.SpaServices” then “Microsoft.AspNetCore.NodeServices” for services that are dependant on this have a dependency on Node.js but you can use it by itself. Fast and robust way to execute JS on server at runtime, “SPAService” uses library to implement features, access to vast NPM ecosystem, can be used outside of ASP.NET Core. Console application can use these features if needed as well. Can use “NodeServices” to pass in a HTML and convert this as PDF using some JavaScript and HTML PDF library, you could also use other features as well such as audio manipulation or anything that Node can do.

Deployment – “dot net publish”, the webpack is executed with a production flag where it will do all the minification and will take care of everything for you so don’t have to worry about it.

SpaTemplates are useful for rapid prototyping, webpack great for streamlining DC, “NodeServices” allow access to NPM and packages not available in the .NET ecosystem, can be used with an existing Single Page Application.

Become a chatbot builder with Microsoft Bot Framework – James Mann

Why Chatbots? Distribution – over 4 billion global user using messaging platforms, 6 out of the top 10 apps used globally are messaging apps. You can get your service out easily to all these users as they already have what they need. There’s a messaging ecosystem such as Skype, Slack, Teams etc. There’s a virtual assistant device ecosystem such as Cortana, Alexa and Google Home. 2016 was the year of the Chatbot. Use Cases are everywhere – Customer Service, Shopping Experience, Help Desk and Employee Support. Could provide automatic responses as 1st Line Support to deal with common issues, let people book holidays at work via chat bots.

What is a Bot Framework? Bot framework allows you to build, host and maintain one chatbot and target multiple channels, such as all the current popular platforms and any new ones that appear too. Bot Framework Architecture – your bot’s web service ASP.NET Web API and Bot Builder SDK to provide the plumbing, Bot Connector – provided by Framework and includes messages, states, sessions etc and Channels are all those supported and configurable by Bot Framework.

Your first chat bot! Register your chat bot via the Bot Framework Portal and give it the web API end-point and connects the registration to your Chat Bot, then you can build your Chatbot using C# or Node.js, Distribute – that can be on Facebook, Skype and more. – you can sign up and get resources such as the SDK and Tools including Visual Studio Project templates and Bot Framework Emulator. Use nGrok to create a publicly accessible end point to a local endpoint for testing with other services – you get an end point and can change the configuration online to be this Endpoint for those services.

Modelling your conversation – you can use tools that offer different flexibility or effort to implement – can use QnA which is good for Questions and Answers, FormFlow is good for data capture / web forms scenarios, Dialogs which is good for multi-layered conversations, or Bespoke by rolling your own system but need to take into account scaling and session management.

Dialogs – entry point of a Chat Bot application is the main dialog and need to create decisions from there e.g. Check Balance, Make Payment, this then transitions into the relevant dialog such as Make Payment Dialog – where it says what to pay but maintains data in the main dialog. Dialog Transitions are used to maintain this with “Context.Wait” which waits for a user to send a message in the same dialog, “Context.Call()” call another Dialog and add it to the top of the stack or with “Context.Forward()” once dialog is done then “Context.Done()” is called to complete that part of the dialog / conversation. Need to maintain state and status of conversation – it serialises it to Blob Storage and can keep state and persist that between invocations.

Form Flow – Allows collection of information e.g. Parking Enquiry Chatbot, it makes it easy to automatically convert a class of values into a conversation and present the needed fields as questions, can use attributes to set wording of a question, the order the values are provided – these Prompt Attributes can be localised or set to use RegExs and can get the user to confirm. Proactive Messaging is way you can respond to conversations when an event has happened.

QnA Maker – can add intelligence and machine intelligence. Build, train and publish Q&A bots based on existing FAQs “”, you can import this via a file, URL or enter it manually which is then processed with machine learning and can then create a trained bot to then to use as an API end point that can be used by a Chat Bot. The FAQ source had the QnA extracted, indexed and ranked then through the Microsoft Bot Framework as a Chat Bot on any of the supported Channels, this is a simple as setting a Subscription Key and Knowledge Base Id in an Attribute. – this is a tool for Natural Language processing, Utterance (input) – is a spoken or written message e.g. what was said, the Intent (output) what was the user intending to do, Entities (Output), what was the outcome that was intended needed to change such as set temperature for a Home Automation Chat Bot, can have a more Intelligent Chat Bot where there is a Luis Dialog and then via get the Intents and Entities from the Utterance that was delivered to make it a more natural input with output that can be used to control elements such as heating for Temperature and more.

Create an account at, Download the Emulator + Node/C# SDK and start providing a conversation interface to your existing apps!

Enhancing your enterprise with modern Windows apps – James Croft

What is a modern application? Old applications aren’t touch friendly and elements or button tend to be too small for this. New applications such as Edge or Paint 3D are modern applications with larger input types.

Why UWP? Responsive design capabilities, allows for cross Windows 10 device deployment of single binary to Desktop, Tablet, Phone, Surface, HoloLens, Xbox and more to come! Controls built and design for multiple and new input types such as Gestures and Gaze, take advantage of newer APIs only available for UWP but still get access to some of the classic Win32 APIs.

Improvement in the App Mode – well defined structure to an app, communicate between other UWP apps, apps can be distributed from the Windows Store – automatically update on devices when new versions are available. Enterprise ready store available for distributing to business – an easier way of distributing and licensing, even simpler just distribute the “appx” and provides clean install and uninstall.

Converting apps with the Desktop Bridge, designed to migrate Win32 (classic) apps to UWP – WinForms or WPF – allows you to reuse the code, features and skills. It still runs as Win32 but is a wrapper for the app and allows access to the new APIs in UWP – Cons :some APIs make the app exclusive to desktop only e.g. Spotify , Pro – provides a step along the way to a full UWP application.

Crossing the Bridge, steps to Universal Windows Platform – create desktop “appx” package, enhance with windows 10 APIS available for desktop package, extend for more advanced capabilities in UWP, Migrate your UI to modern XAML, complete migration for true UWP

Bring your code, build your UWP – most code that is in a library can be used in UWP, using third-party NuGet packages in your Win32 app, if not possible you’ll find most code can be re-implemented for UWP using Windows APIS and this frees up development for the UWP specific XAML UI.

Get started with Windows Template Studio – Launched at Build, open-source in GitHub, Makes I easier to get started building apps for UWP, designed for all developer scenarios including LOB and follows best practices in development. Is a Visual Studio Extension you can install from the Marketplace and creates an application from parts such as Navigation Pane or use a Framework like MVVM Basic. Then you can add pages such a Settings Pages and Web Views or a Master / Detail page and will do all the necessary binding / code for these.

Take advantage of open source projects – community driven projects for you to use, UWP Community Toolkit provides easy to use helpers, controls & services including Microsoft Graph. UI for UWP from Telerik designed by control experts and is completely open source and includes controls such as forms, charting, gauges and data grid for free, or pay for support – which are enterprise level controls.

Going the extra mile – modern apps aren’t just Windows – you should also be considering cross platform, bring your .NET skills, learn platform UI and with Xamarin.Forms bring your XAML skills and it provides shared UI and shared code across all supported platforms. Business are more likely to adopt applications if they can choose the device they want to use.

Future proofing with .NET standard – designed to make it easer to transfer code between all flavours of .NET, support added for UWP providing a small set of APIS which was extended in 2.0 with thousands of APIS by targeting the Windows 10 Fall Creators Update

Taking advantage of “universal” Windows Platform – going portable with one device was possible with Continuum on Windows 10 Mobile. Providing experiences with ink – with pen-enabled devices, and can do it in one line of XAML for canvas or two for the Ink Toolbar, plus can add more features such as Ink Analysis. Take advantage of Surface Hub – designed to be collaborative and is a niche product but there is demand for apps for the product. Building custom experiences for mixed reality – this is the biggest extreme for UWP, blending real world objects with digital objects and is designed for the Enterprise space. There are also third-party headsets that run on the same platform of Windows Mixed Reality. Building custom experienced for mixed reality such as Trimble for architectural models, it also allows for adjustments to the models and allow these to be easily visualised. Black Marble have build a 3D application for Scene of Crime analysis, built in Unity. Picks – Windows 10 Creators Update


Today sees the release of the next update for Windows 10, The Fall Creators Update, which offers a variety of new features, improvements and enhancements and is available now for all eligible Windows 10 devices and customers.

Windows Mixed Reality

With Windows Mixed Reality, you can escape to the most immersive experiences – touring top travel destinations, getting inside the most exciting games, attending the most popular events, even travelling across time and space – right in your own home, with you at the centre of everything. Amazing experiences don’t need to be expensive or complicated. All you need is a headset and a compatible Windows PC. And, to enhance your experience, try out the extras like headphones and advanced motion controllers. A variety of headsets and motion controllers are available from leading makers like Acer, Dell, HP, and Lenovo. Headset-motion controller bundles start as low as $399[i]. Check here to see if your existing PC is compatible, or shop the exciting new models available this holiday season.


The reimagined Photos app now gives you the ability to add filters, text, 3D effects – and soon full 3D objects – and even digital ink to your photos and video clips for great storytelling complete with soundtracks, themes, and transitions. To help you get started, select the create button and two or more photos or videos and the Photos app will automatically bring together your memories into a video. Keep this cut to enjoy and share, remix it with just the click of a button, or edit it yourself to get it just right. To start creating your own personal story, go to the Photos app – free with Windows 10.

Mixed Reality Viewer

With Mixed Reality Viewer, you can see 3D objects – either from the community or your own creation from Paint 3D – mixed into your actual surroundings through your PC’s camera for powerful ways to bring your story to life. Start creating in Paint 3D and select Mixed Reality to view your creation in your real world or go straight to the Mixed Reality Viewer app, free with the Windows 10 Fall Creators Update, to get started.

My People

Quick access to your top people, where you can pin your top people to the taskbar for one-click access to those who matter most. Communication apps, starting with Mail and Skype, come up together custom-filtered by individual. Tap on your pinned contact to send an email or chat using Skype without having to open the apps. Sharing is as easy as dragging a file directly onto the pinned contacts in your taskbar. Or share directly via the ‘Share’ picker by choosing from the recommended list of your top people. Emoji from your pinned contacts are able to appear and animate right from the taskbar – an extra level of emotional connection and expression between you and the key people in your life.

Microsoft Store

You may have also noticed a new Microsoft Store logo on your Windows 10 device. We’ve unified the Microsoft Store on both Windows 10 and Xbox for a simpler shopping experience. Microsoft Store – whether shopping in a physical store, online, or through your Xbox or Windows 10 device – is the best destination to seamlessly discover, experience, download and buy the latest products and content from Microsoft and its partners, including hardware, games, entertainment, apps, and more.


Ransomware protections. To better protect against ransomware attacks Windows Defender Exploit Guard helps protect files from unauthorised changes by nefarious applications and your applications from unknown exploits. Additionally, Windows Defender Antivirus now has specific safeguards in place, along with default enhanced coverage that is delivered instantly via the cloud protection service. These and other security technologies protect against persistent ransomware campaigns like Cerber, Locky, and Spora, as well as global outbreaks like WannaCry, and Petya.

OneDrive Files On-Demand

When you save your files in OneDrive, now you can access them just like any other file on your PC without filling up your disk space. Easily tell which files are available online only or offline. Online-only files download on demand with a double-click, and you can make them online only again to free up space. Or you can select files to always be available offline. Click here to learn more about OneDrive Files On-Demand and how to enable it.

Windows Ink & Pen

Find My Pen – Windows can now tell you where you were when you last inked on your computer, which makes finding a lost digital pen a lot easier. Pen as PowerPoint clicker – Through the Bluetooth connection to your PC, your pen becomes a PowerPoint clicker. Present like a pro –advance your slides just by clicking the button on the back of the pen. PDF annotations and form filling – Now you can fill in PDF-based forms within Microsoft Edge, save them and print them. And with the annotations capability extended to PDFs, you can ink on PDFs, highlight text and erase your annotations. Better PDF viewing – When PDF docs show up sideways, you can now rotate them and even adjust file layout for easier reading.


Making Windows more accessible particularly to people with disabilities, Eye Control beta lets you operate an on-screen mouse, keyboard, and text-to-speech experience using just your eyes; requires compatible eye tracker, like the Tobii Eye Tracker 4C. Narrator intelligence – Added a feature to our screen reader to generate image descriptions using Microsoft Cognitive Services for images that lack alternative text. Dictation – added support to Dictate text in Windows using modern speech recognition services, which uses cloud-based intelligence. Picks – Windows Mixed Reality Headsets


Samsung HMD Odyssey


Samsung announced the Samsung HMD Odyssey. The Samsung HMD Odyssey provides a remarkable immersive experience with Dual AMOLED high-resolution displays, a 110-degree field of view, built-in premium AKG headphones, and built-in 6 DOF inside-out position tracking. The device is quick and easy to set up and delivers a premium virtual reality experience with superior picture quality.

Acer Windows Mixed Reality Headset


Acer offers their Windows Mixed Reality Headset with motion controllers. When the headset is paired with the controllers, you can take advantage of the full position and rotational tracking in the headset to easily create content or play games.

Dell Visor


Dell Visor features high resolution 1440 x 1440 LCD panels for a sharp and smooth 360° panoramic experience for an “as-if-you-are-there” view. It’s thoughtfully engineered for comfort and convenience with well-cushioned head and face padding that allow for comfortable wear, even for people who wear glasses.

HP Windows Mixed Reality Headset


The HP Windows Mixed Reality headset will also be bundled with motion controllers to provide great Mixed Reality experiences.

Lenovo Explorer


The Lenovo Explorer headset is ergonomically designed and optimized for comfort so you can immerse yourself in mixed reality experiences for long periods. It tracks your movements with superior fidelity and spatial awareness so you can move around naturally in an area of 3.5 by 3.5 meters (about 11.5 by 11.5 feet) without constantly reorienting yourself. No external sensors are needed, which means you can set it up in minutes by simply connecting a cable to your PC.

Source Picks – Surface Book 2


Surface Book 2 removes the barrier between the desktop and the laptop by giving mobile professionals the power of a desktop, the versatility of a tablet, and the freedom of a light and thin laptop in one beautifully designed device. Whether you’re a developer, a digital artist, a designer, or an accountant, you can bring your ideas to life anywhere, because Surface Book 2 is a portable powerhouse. Microsoft have made no compromises building the most powerful Surface laptop ever. When the team talks about Surface Book 2 they call it Beauty and the Beast. Gorgeous design meets unstoppable power in this laptop. With the latest 8th Gen Intel Core processors and NVIDIA GeForce GTX 1050 and 1060 discrete graphics options. Surface Book 2 is up to five times more powerful than the original and All this power and Surface Book 2 still provides all-day battery life – up to 17 hours of video playback.

Surface Book Top

Surface Book 2, which features a redesigned hinge to provide a smoother, faster detach into Tablet or Studio Mode. And when you detach to sketch an idea or watch a video, the Surface Book 2 turns into the world’s thinnest and lightest 8th Gen Intel Core i7 PC, giving customers a powerful portable studio for those who want a single, device that can follow you from concept to sketch to creation. Surface Book 2 brings you a full array of ports, including USB-A, USB-C, and full-size SD card reader which makes it easy to connect other devices, accessories and memory cards without the need for a bag full of dongles.

Surface Book Hinge

Surface Book 2 is designed to play as hard as it works. So when you’re done with work for the day and you want to game, Surface Book 2 is powerful enough to handle the most popular PC games at 1080p and 60 FPS – in some cases matching the graphics performance of game consoles like Xbox One. With built-in Xbox One Wireless support on the 15″ you can pair your Xbox One controllers and compatible headsets to play with no cords or additional dongles required. Surface Book 2 is ready for Windows Mixed Reality Ultra. Connect a compatible headset and controller for apps and experiences with crisper visuals and a higher refresh rate, including the highest-performance VR games. It’s designed for creators who see no limits, data scientists designing deep neural networks, engineers, architects, movie makers, and gamers, a tool for everyone who wants to achieve more is all enabled with Surface Book 2!

SurfaceBook2 Picks – Kinect, Gone


October ended with another product from Microsoft coming to an end, Kinect – which I also invested in including being in the Kinect for Windows Developer programme

October has been the month for Microsoft ending consumer products and services, starting with Groove Music, then Windows 10 Mobile and now Kinect. As it was announced this week that the Kinect sensor was no longer being manufactured. Kinect was the revolutionary motion sensor designed to be used with the Xbox to allow interaction with games like never before to understand gestures, body movements and spoken commands. The original Kinect sensor appeared for the Xbox 360 and combined an RGB camera, depth sensor and multi-array microphone running proprietary software and the sensor tracked full-body movement and individual voices, turning the player into the controller – this used technology developed by Prime Sense, a company later purchased by Apple and is the technology behind the iPhone X’s notch sensor array. I also was a great supporter of Kinect and joined the Kinect for Windows programme as one of a select few developers who used the newer Kinect sensor which included getting a prototype Kinect sensor and a production Kinect for Windows sensor – although I wasn’t able to fully utilise this as I much as would have liked due to personal reasons at the time.

For the launch of Xbox One a second generation Kinect sensor was developed which used a time-of-flight camera, this emits light signals and then measures how long it takes them to return and with such measurements, the camera is able to differentiate light reflecting from objects in a room and the surrounding environment. That provides an accurate depth estimation that enables the shape of those objects to be computed. Another feature of the Kinect stems from its infrared sensor which can identify objects in a completely darkened room and could recognise people and track bodies even without any light visible to the naked eye, plus identify a hand pose from four meters away, see the fingers of a child, or even remember an identity minus any room illumination. Plus a wider field of view made it possible for more players to play an Xbox One game at the same time with as much as many as six players could crowd into one scene or get a better experience if standing close by, further away, or even in the periphery of a room.

Both generations of Kinect sensor tried to bring motion control into the home and with improvements in the second generation made it even more accurate and reliable plus with integrations with voice commands for the console and later Cortana, this did seem like the sensor had a long life but with the Xbox One S not having the Kinect port built-in and required an adaptor it did seem like the Kinect sensor was taking a step back from being a main priority of the console and with the up-coming Xbox One X also lacking the port it was just a question of when, not if Kinect would be cancelled – and this decision came with an announcement this week that Microsoft shared with Co.Design that the Kinect sensor was no longer being manufactured and finally put an end to the speculation about what would happen to it. Kinect also featured on Windows with both the original Kinect sensor and the second generation sensor being supported as the product Kinect for Windows but this was also not as popular as anticipated – so now with the Kinect sensor officially being cancelled it marks the official end of motion controllers for the Xbox platform, it will be interesting to see what forms of interaction with the Xbox are in future, but for now it’s time to say goodbye to another Microsoft product, Kinect.

Source Picks – Windows 10 Mobile, Gone


October seemed to be the month for ending Microsoft products, the next in line for the chop was Windows 10 Mobile, which was finally put to rest and yet another platform along with Groove Music I’d invested in

This week saw another announcement from Microsoft regarding the future of one of their platforms, this time it was from Joe Belfiore about Windows 10 Mobile. Yesterday he stated after a question about it being time to leave the Windows Mobile Platform, that it “Depends who you are. Many companies still deploy to their employees and we will support them!” … “as an individual end-user, I switched platforms for the app/hw [hardware] diversity. We will support those users too! Choose what’s best 4 [for] you” which he posted on Twitter. He then followed this up with a couple of Tweets saying “Of course we’ll continue to support the platform, bug fixes, security updates etc. but building new features/hw [hardware] aren’t the focus” and “We have tried VERY HARD to incent [incentivise] app devs. Paid money.. wrote apps 4 them.. but volume of users is too low for most companies to invest”.

What this all means that Windows 10 Mobile is not longer going to be supported long-term with any new features or hardware and it’s essentially in support mode only from this point onwards and with little faith in the OS from Microsoft from one of their key employees and with Bill Gates stating the other week he’d switched to Android, it seems it’s now the end of Windows 10 Mobile – which joins Groove Music as another product dropped by the company due to reduced popularity, and again the efforts I’ve made on this blog have gone to waste including many hours of time creating apps for Microsoft’s mobile platform. There is some hope for the future of Windows 10 on smaller devices and maybe even smaller tablets and hardware similar to Windows 10 Mobile but essentially being Windows 10 on ARM rather than a different OS, just on a smaller screen. Microsoft is really going to have to do something different this month to help fans have faith in them, I’m finding it even harder to maintain my faith in them, I hope events this month and this year help maintain or sustain it, or when it comes time to choose a mobile handset to replace my Lumia 950 I may have to look elsewhere… Picks – Groove Music, Gone


Back in October it was announced that Groove Music will be ending, I’ll be switching to Spotify soon but as a consumer and a developer it was hard news to hear but as the end date of next month grows closer, here’s the article about it closing again. this month was due to feature Groove Music for Developers content including a multi-part workshop plus details on how to sign up and use the Groove Music API and would form part of a short talk at DDD North in Bradford, UK that I would have given to give an overview of this, all that will no longer happen due to the shock announcement yesterday that the Groove Music service will end along with Groove Music Pass, Purchased Music and the Groove Music API. I’ve been a Groove Music partner for some time and before that signed up for the developer pilot programme when it was Xbox Music and have done presentations about the service in the past and shared many Groove Music Mondays and Groove Music Picks on but now that all ends today, all the effort I’ve put into the platform and was going to was in vain, although it pails in comparison to all the hard work the Groove Music team has put into the product including producing a showcase UWP application and a best in class API service and hopefully they will all find other valulable positions within Microsoft and wish them all the best, but many like myself will miss Groove Music, it may be soon gone but it won’t be forgotten.

Groove Music was first named as part of the original Windows 10 release, although before that it was Xbox Music which aligned it to Microsoft’s Xbox brand and made it front-and-centre in Windows 8 and Windows Phone 8 as well as on the Xbox console itself, but before then it carried a dedicated brand – Zune. Zune was Microsoft’s music service and also a range of devices, if you’ve seen Guardians of the Galaxy 2 that might be the only time you’ve seen one, but there were some around – I owned the Zune 80GB and Zune HD 32GB myself. Zune Music also had it’s own service and API, although it wasn’t public, I made an application called ZuneCardr that used the Zune Cards system which was part of the Zune Social combined with this private API to bring the experience of being able to listen to your friend’s music on-the-go originally for Windows Phone 7 – this became the only Zune Social application and experience on the platform and gained over 330,000 downloads and was one of the first thousand apps available for Windows Phone when it first came out.

From Zune, to Xbox, to Groove – the music service from Microsoft has always had a niche but gave many useful features to consumers such as Radio, Curated Playlists and Music Videos, plus to developers delivered a world-class API experience allowing access to all Groove Music content and features even allowing streaming of music for Groove Music Pass subscribers. It’s sad to see such a great service close and know that the many years of hard work and dedication I’ve put in through the years will now be at an end, but that also applies to those within Microsoft who were behind the platform, I thank them for all their hard work too over the years and I’ll always think fondly of the contributions I made using the platform and will listen to my playlists one more time before the end.