Category Archives

Using the Windows Template Studio with #MVVMLight

.NET, Build, MVVM, Technical stuff, Universal Windows Platform UWP, Visual Studio, Windows 10, Work
1 Comment

Here is a story of a great collaboration between Microsoft and the community.

Last year in August, as I was speaking at VS Live in Redmond, I was asked by my friend Clint Rutkas for coffee because he had an idea he wanted to run by me. Now if you know Clint, that is usually really intriguing and I was really excited to hear about his idea.

Clint told me about the project he was thinking of starting. This was just conceptual at the time, but his idea made a lot of sense: Why not make the process of creating a new Universal Windows application a lot easier. Why not help people with all the tedious tasks that you get right after File, New, Project.

Usually when you get started, you need to add a bunch of pages and helpers to your application. The Blank application template is just that, blank. In MVVM Light, I added a project template for the supported frameworks (Universal Windows Platform, Xamarin.iOS, Xamarin.Android, Windows Presentation Foundation, Silverlight).

2017-05-24_11-09-27
The MVVM Light templates in Visual Studio 2017

However creating a meaningful project template is really difficult. You are constantly navigating between “too much content” and “too little content”. If you have too much, the developer ends up having to remove a whole lot of code, which is tedious. If you have too little, then the developer needs to spend time adding the basics, as well as sometimes having to look for guidance on how to do common things like navigation, dialogs, a Settings page, etc.

Building a wizard

Of course I thought of building a wizard to help people getting started. This is not easy though. First of all, the Visual Studio automation can be complex. You need to support multiple versions of Studio, and the extensibility model changes from version to version, so that is a big commitment. And this is where Microsoft has a huge advantage, they own the extensibility model, they know in advance is something is going to change, and they have the resource to create and maintain the code. And since the WTS is open source and available on Github, you can also contribute, and help make this project even better.

Installing the Windows Template Studio

Before you get started, you will need to add the Windows Template Studio (WTS) to Visual Studio 2017. Thankfully this is really very easy. In Visual Studio 2017, just select Tools, Extensions and Updates. Click the Online item on the left, and enter Windows Template Studio in the search box on the top right.

2017-05-24_09-47-08
The Extensions and Updates dialog with WTS

In Visual Studio 2017, you are now required to close the application to install the extension, so after the download is complete, close Studio and it will get installed.

Getting started

2017-05-24_11-16-46

The WTS starts in the File, New, Project dialog. Under the usual Universal Windows templates, you will see the entry for the WTS. Select it, give a name to your new application and press OK.

The project type

2017-05-24_11-19-16
The project type and framework dialog

The next screen is about the foundation of your app. You can select a type of navigation (currently you can select an app with a navigation pane, or an app with tabs), or simply a blank template without navigation.

The framework

Then comes the framework selection. This is where you will notice MVVM Light front and center. The other options at the moment are Code Behind, or a basic “no-name” MVVM implementation which can be useful in situations where the usage of 3rd party frameworks is completely forbidden.

The pages

2017-05-24_11-20-12
The pages dialog

The next step is probably the one I am the most excited about. It is usually so tedious to add the same pages over and over in every application I create. Here, you can choose to add pages such as blank page, map page, master/details, web view, settings etc. I can’t stress enough how much of a time saver this step is.

Note that the studio also supports you in finding out which licenses the 3rd party frameworks use. For example, if you add a Settings page which uses JSON.Net for the serialization of the settings, a link to the license is added to the Summary pane on the right, and so you don’t have any surprise.

The features

The features dialog is as exciting. With one click, you can add new experiences to your application such as Suspend/Resume, Background tasks, notifications, live tiles and more.

2017-05-24_11-54-40
The features dialog

This is probably the easiest way to offer a fully featured application to your users.

Why only MVVM Light at this time?

Microsoft ran numbers of the Nuget downloads and saw a confirmation that MVVM Light is the most widely used framework to build MVVM applications on Windows. In addition, its modularity and simplicity of use makes it a prime candidate for the first version of the WTS. However this is an open source project and so the developers of other projects (such as my good friends at the Prism or MVVM Cross projects) are already working to add support for their own framework in the WTS.

What about other application types?

At the moment, the WTS only works for Universal Windows applications. However nothing would prevent it to be updated for other application types. Personally I would welcome Xamarin support! And here we can predict that this will probably happen sooner or later, supported by the community of open source developers. I can see a lot of advantages in adding support for Xamarin or even WPF desktop applications. So I encourage everyone to head to Github and start contributing!

Resources

Here are some videos and links to get started:

I hope that you also see the potential of this great tool and that you will contribute.

Happy coding!
Laurent

GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Live blogging the Microsoft Build keynote, day 2 #msbuild

.NET, Build, Conferences, Technical stuff, Universal Windows Platform UWP, Visual Studio, Windows 10, Work, Xamarin, XAML
No Comments

And the show continues on day 2! In this post, I will be live blogging the Microsoft Build keynote on day 2. This should be a very exciting event with focus on client development, Windows and Mixed Reality. Get ready!!

Live blogging the Microsoft Build keynote, day 1 #msbuild

.NET, Build, Conferences, HoloLens, Technical stuff, Universal Windows Platform UWP, Visual Studio, Windows 10, Work, Xamarin, XAML
No Comments

Build day 1 is a wrap and you can find all the live notes taken during the keynote in this post!

My plans for Build 2017 #msbuild

.NET, Blog, Build, Conferences, Technical stuff, Universal Windows Platform UWP, Visual Studio, Windows 10, Xamarin
No Comments

Days are passing and the time is getting closer to pack my stuff and fly to Seattle again. This will be my first trip to my third home this year, and I am really impatient to be there. I just love that place.

Getting there

I will be arriving in town on Saturday evening, quite late. My plan is to pick a rental car and get to the hotel in Pioneer Square and get to bed :) The next morning, based on experience, I will be up super early (thank you jet lag). This is a droning day! I am not 100% sure yet where I will drive but I am considering getting close to Rainier National Park if the weather is good enough. Alternatively maybe take the ferry to Bainbridge to make footage of the islands. Or maybe the Snoqualmie area. Or maybe all of the above. This will be a day like I love, driving around on my own schedule, relaxing, flying, filming, editing pictures at a cafe… Should be a lot of fun if the clouds are cooperating!

Visiting the office

Monday will be an office day. Seattle is an important hub for Valorem, and this is the office where it all started for me. I love going there and seeing the new and improved space. So as usual I will be looking forward to meet new colleagues and meet old colleagues again!

The conference: Live blogging

During the conference itself, I will try something new this year: I will be live blogging the keynotes and the sessions that I can attend. In previous years, I was always taking notes during the events and posting these notes to my blog every so often. Surprisingly, this has been quite popular, even though these are my raw notes without much commentary. I found out that not everyone can watch the live stream, and people were reading my notes and getting some of this keynote feeling there. But of course posting a blog post is a lot slower than taking the actual note. So this year I installed a new plugin on my blog called 24LiveBlog. This will allow me to publish my notes about the keynote in real time as well as hopefully post pictures too. That should be a fun exercise!

You will be able to follow the live blogs at the following URLs. However please note that these links will only be active on and after the keynote day 1 and 2 respectively!

Keynote day 1 (Wednesday May 10, 2017): http://blog.galasoft.ch/posts/?p=1601
This keynote will take place from 8AM to 11AM PST
(4PM London time, 5PM Zurich time).

Keynote day 2 (Thursday May 11, 2017): http://blog.galasoft.ch/posts/?p=1606
This keynote will take place from 8:30AM to 10AM PST
(4:30PM London time, 5:30PM Zurich time).

I am really looking forward to this exercise and hope that it will be useful to you all!

Wednesday: Mix2017 party with iHeartRadio and Valorem

Yes yes I know, the name is really significant… this is not a revival of the MIX conference! I know we all miss this amazing conference… No, the Mix2017 event is Valorem’s and iHeartRadio’s party at Build!

Join iHeartRadio and Valorem for #Mix2017, a fantastic night where music meets mixed reality. iHeartRadio’s DJ will mix your favorite music and Valorem will mix your reality with exciting HoloLens experiences on Wednesday, May 10, at the Living Computers Museum + Labs. As a bonus, event attendees get free admittance to the museum.

More details and registration on the Valorem website! I hope to see many of you at this event!

Happy coding!
Laurent

GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Build keynote (day 2) Part 4

Build, Windows 10
No Comments

 

Qi Lu (Office 365)

  • Reinventing productivity
  • Largest user base (1.2 billion users!)
  • 3 billions minutes of Skype calls daily!
  • Connect to MS Office services
    • Unified API and SDKs
    • Single sign on (Azure)
    • Real time data
    • Intelligence
  • Microsoft Graph demo
  • OneDrive file picker integrate in DocuSign, allows to select files from OneDrive directly
  • Recipient selector can select users based on topics etc, even mistyped names
  • Shows custom integration of add-ins in Office
  • Starbucks CTO Gerri Martin-Flickinger
    • Shows integration of gift cards into Outlook
  • Conversations as a platform
    • Human language as extensible UI
    • Ubiquitous
    • WeChat in China
  • Announces general availability of Office 365 group connectors
    • Allows to connect services into the group conversation
  • Skype Web SDK integrates Skype within a website
  • Visit dev.office.com to start building
  • Incredible innovation

Steven Guggenheimer, John Shewchuk

  • Muzik demo
    • Programmable buttons
  • Project Murphy
  • Spotify video
  • Shows some additional UWP samles
  • Vuforia demo (VR middleware), turns 2D images into 3D meshes
  • Students, Imagine Cup
    • Group of 8th graders on stage
    • Their experiment goes in space on May 31st
    • Built with Lego and Microsoft!
GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Build keynote (day 2) Part 3

Build, Windows 10
No Comments

 

Back to Scott

  • Service Fabric
    • Age of Ascent, massive multiplayer game

Scott Hanselman

  • Service Fabric demo
  • Demos the Age of Ascent game
    • Huge number of transactions
    • Auto scale
    • Shows deploying to production while the game is playing
    • Game can self heal after a bad upgrade / coding error. Health monitor is looking for flaws and auto correcting them

Back to Scott

  • Azure Service Fabric is generally available today
  • Data + Intelligence
    • New services such as speech, vision recognition etc
    • Integrates in any app
    • AccuWeather video, runs on Azure
  • DocumentDB
    • Global Databases
    • Replicate data for multi region
    • Low latency, high consistency
    • Protocol support for MongoDB (can use MongoDB tools etc)
  • The Walking Dead game demo, runs on Azure
    • DocumentDB
  • Power BI Embedded
    • Pay only for what you use
    • In app data visualization
    • Milliman demo
GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Build keynote (day 2) Part 2

Build, Windows 10
No Comments

 

Scott Guthrie

  • Good to see the Gu on stage for more goodness!!
  • More regions for Azure than Google and AWS combined
  • Huge datacenters
  • Fast adoption of Azure at the moment
  • Enterprises are not an afterthought but a key point
  • Ready for enterprise, including security, privacy, certifications, etc
  • License to operate on mainland China
  • > 85% or Fortune 500 companies use Microsoft cloud
  • MS was always centered on developers
  • Choose to use Azure for Infrastructure only, or high level set of services
  • Lots of startups and small firms too

Web and Mobile

  • Xamarin
    • Acquired by Microsoft
    • More than 1.3 millions users
    • Loved by developers, trusted by enterprises
    • Nice customer video

Miguel de Icaza

  • Xamarin is very excited to join Microsoft
  • iOS emulator remoted into Windows so you can use touch in the emulator!
  • Android emulator on Windows and Xamarin inspector, allows you to run code on the fly, edit it while running, code completion etc
  • Can even run documents with text in between, for example for samples etc

Back to Scott

  • Xamarin will be FREE starting today
    • even for the free Visual Studio community edition
  • Xamarin will be open sourced and part of the .NET foundation
  • HockeyApp demo
  • Xamarin test cloud demo
  • BMW on stage
    • Automated driving, digital services
    • Amazing integration of intelligence, detecting obstacles etc
    • Build on Azure, open mobility cloud
  • Schneider Electric
    • Created smart devices for years
    • Logical step to add IOT
    • Azure IOT suite
  • Can integrate IOT business logic in azure in different ways
  • New Azure service:
    • Azure Functions
    • Serverless compute
    • Trigger on events + external servuces
    • C#, Node.js code
    • Open source runtime

Cameron Skinner (IOT)

  • Cool IOT demo, when a temperature sensor goes under 20 degrees, sends a message to his shirt using Azure Functions

 

GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Build keynote (day 2) Part 1

Build, Windows 10
No Comments

Here we are again! Another keynote and as far as I heard you don’t want to miss it!

Yesterday was quite the whirlwind of meetings, events, parties and a whole lot of excitement. My feet are killing me, I didn’t sleep much but I am happy about everything. One really exciting event for my colleague Rene and I was the HoloLens presentation that we gave in the so-called HoloLens hub. You can read more about our HoloLens development experience in Rene’s blog.

The glamorous life of a speaker (taken before our #HoloLens presentation /cc René

Posted by Laurent Bugnion on Wednesday, March 30, 2016

Another highlight of course was the meeting the Regional Directors were offered with Microsoft CEO Satya Nadella. It was a very good discussion, in an informal tone, a very relaxed session. It confirmed a lot of my opinions about Satya, and the impression that Microsoft is in good hands with him.

So this just happened, side meeting with the Microsoft Regional Directors and Satya Nadella #Build2016

Posted by Laurent Bugnion on Wednesday, March 30, 2016

Let’s get started!

GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Build 2016 Keynote highlight #5

Build, Windows 10
No Comments

 

Alex Kipman / Kudo Tsunoda (HoloLens)

  • Today, HoloLens starts shipping
  • Kudo and Alex hug on stage, emotional moment
  • Shows community-suggested ideas that MS built
  • Galaxy Explorer
    • Code will be made available on GitHub
    • Community helped to brainstorm the features
  • Bluescope
  • Japan airlines
  • Demos an anatomy learning experience using HoloLens
  • NASA uses HoloLens in the International Space Station (amongst other places)
  • Airbus, Lowes and others mentioned as partners

Satya Nadella is back

  • Conversations as a platform
  • Cortana
    • Becoming smarter every day
    • Marcus Ash
    • Cortana works on the lock screen with Hey Cortana
    • Experience ships in Anniversary update
    • Cortana can track emails and add information into Outlook
    • “Hey Cortana, send Mark the Powerpoint document” and Cortana finds the document and asks if this is the right one
    • Can send a text from the PC directly
    • Notices that an appointment is during lunch –> offers to book a table, order lunch, etc
    • Can interact with universal apps too
    • Cortana finds taxi receipt in email and proposes to add it to UWP expense report app
    • “What toy store did I go to last year at Build”
      • This is an action that can be configured via a web dashboard
    • Request an invite to the Cortana developer preview
  • Skype, Kik, Line, WeChat, Slack
    • Demos assistant integration in Skype
    • “conversation canvas”
    • Works on Android, iOS, Windows
    • Visual video mail
      • Shows a transcript below the video message
    • Cortana is always there in the corner
      • Highlights keywords in the text
      • Shows information card about keywords
      • Cortana is acting as a conversation partner on Skype too
      • “chat with Cortana”
      • Brokers the conversation with a bot
      • Shows a conversation between the user, Cortana and a hotel reservation bot
    • Developers will get access to a Skype bot SDK
    • Skype for HoloLens video
  • Cortana intelligence suite
    • Allows developers to build bots
    • Cognitive services
    • Machine learning
    • Microsoft Bot Framework
    • Connects existing bots with Cortana
    • Build new bots with a bot builder
    • Define semantic terms
    • Use machine learning to build natural language understanding
    • Can easily teach the bot to better understand natural language interactions
    • If bot doesn’t understand a request, can transfer the conversation to a human operator
    • Lots of machine learning APIs are made available
    • Vision recognition API can help recognize objects with a confidence score
    • Shows an enhanced voice recognition demo
  • Shows an amazing demo of visual recognition running in smart glasses and telling a blind man what is happening around him
    • App can also read a menu
    • Built on top of the Cortana intelligence suite
GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook
 

Build 2016 Keynote highlight #4

Build, Windows 10
No Comments

 

Terry Myerson

  • There is really no better time to be a Windows developer
  • HoloLens
    • World’s first fully untethered holographic computer
    • See what real customers are doing with it every day

Phil Spencer

  • Gaming at Microsoft
  • Fully open development ecosystem
  • Shows an app downloaded from Steam, ran through a converter and published as a Universal Windows app.
  • Use an XBOX One console as a dev console
  • Can switch to dev mode with button press (and a reboot)
  • Deploys a UWP to the XBOX One
  • Remote deploy, remote debug
  • Controller just works (all the UWP controls are optimized for it)
  • In fact you can plug a controller on the desktop PC as well and controls work for it
  • Access to the same universal APIs such as speech recognition
  • Leave developer mode to go back to retail mode on single button press
  • Preview available today
  • Commitment to turn every XBOX One to a dev kit
  • Single unified store
  • Bringing Cortana to XBOX One
  • New features will be announced at E3 in June
  • DirectX 12 is the fastest API adoption this decade

 

GalaSoft Laurent Bugnion
Laurent Bugnion (GalaSoft)
Share on Facebook