Category Archives: Microsoft Build 2018

Auto Added by WPeMatico

Announcing Windows 10 Insider Preview Build 17672

Hello Windows Insiders!
Today, we are releasing Windows 10 Insider Preview Build 17672 (RS5) to Windows Insiders in the Fast ring in addition to those who opted in to Skip Ahead.
Microsoft Build 2018 Recap

We’re still reeling from how awesome the Microsoft Build conference was this year. Our team and our friends from Deployment, Feedback and Flighting manned Windows Insider booth all 3 days and circulated through the conference learning all the cool new tech. We had over 800 people come by our booth and we had the opportunity to share what’s next for the program AND learn what we can be doing better to create a better Insider program.
We also had the pleasure of having three of our most passionate Insiders as our guests.

Ange Uwambajimana, Irving Amukasa and Raymond Dillion were chosen to attend the conference and present on stage with us because of their impactful work using technologies in their local communities. Ange has created an IOT IV Drip solution to account for the lack of enough nurses in her home country of Rwanda who look after patients who are re-receiving. Her story is based on a near-tragedy involving her brother who suffers from epilepsy.  Irving has created SophieBot, a “Cortana for reproductive health questions” to account for the fact that in many parts of the world, talking about sexual and reproductive health is taboo.  Raymond is working to digitally transform Ireland, get them out of the paper records business AND grow the next generation of tech enthusiasts.
These Insiders had a chance to meet many of our upper management, including Satya! Satya asked them quite a few detailed questions about how they were using our tech, what more we could do to make it easier to use. The best moment was when THEY started asking Satya some hard questions about AI. Each of the Insiders walked away with homework too.

We had three sessions talking about the benefits of being an Insider and a developer.
Insiders

Announcing the Insider Dev Tour 2018!

Hello friends!
Yes, the rumor-mill was right (this time!). It’s time for the Insider Dev Tour.
Each year after Build, we run a world-wide event tour to bring all the latest technology to you, in person. This year we’ve extended the event to even more locations through our partnerships with Windows, the Windows Insider program, and our developer and Insider MVPs.

The Insider Dev Tour is for developers and code curious folks interested in building intelligent experiences today using the latest Microsoft technologies. It’s also for those who want a peek into the future of what kinds of tech will be super-important in every industry. This event is open to anyone who can read code or WANTS to read code– beginner, expert, student, or hobbyist developer.
You’ll learn about Artificial Intelligence, the latest for desktop development, Microsoft 365, Progressive Web Apps, Office for developers, Mixed Reality, Microsoft Graph, and much more. You’ll learn little-known tricks and tips that will help you be more efficient and awesome in your careers, no matter what those careers might be.
The tour is an opportunity to connect directly with leads and engineers from Redmond, as well as regional industry leads and Microsoft Developer MVPs. We’re excited to meet you in person.
The event agenda and session details are all posted on the registration site. We hope to see you there!
Find your local city and Register Now! 
Thank you—and see you there!
Pete & Dona
#InsiderDevTour

Announcing the General Availability of Native Ads & Preview of Microsoft Ad mediation for Android developers

It has been about an year since the last Microsoft Build conference where we announced the Microsoft ad monetization platform – a server-side ad mediation platform from Microsoft that helps app publishers & web sites to maximize their ad revenue globally through innovative ad experiences & one stop shop integration, analytics & payout experiences in Windows Dev Center. It’s amazing to reflect on the progress we’ve already made in partnership with the developer ecosystem & Microsoft 1st Party publishers like Xbox, Xbox Casual Games and Mixer. We are happy to share several new and exciting announcements for the developer ecosystem to accelerate their monetization opportunities.
Windows developer ad monetization progress report
One of the key promises of the Ad monetization platform has been to help improve ad yield i.e. revenue per impression. Better Ad yield is a function of advertiser ROI i.e. advertisers bid more if they see higher value for the impression. One of the ways to improve the yield is through diverse set of advertisers participating in the bidding process. We’re happy to report that we have added many high-quality ad partners (typically these are advertising platforms where many advertisers bid on inventory) such as Taboola, Outbrain and Revcontent to serve demand on our ad inventory and have more ad partners across key markets participating in the upcoming months. Thanks in part to this, we are pleased that the total developer ad revenue for the July-December period has grown by 35% YoY. Ad yield for Windows developers on the UWP platform has more than doubled over the last year due to addition of strategic ad partners as well as our programmatic evangelism efforts like creation of the Windows Premium Ads Publisher program etc.

Figure 1: Ad partners that currently serve across ad formats for UWP developers
We are also very excited to announce the addition of a new ad partner, called “MSN Content Recommendations” to deliver Ads on banner and Native placements. Users will get to see Ads with rich content from MSN across several different verticals such as finance, health and fitness, lifestyle etc. The addition of this Ad partner will further help improve the fill rates for banner ad content toward 100%.
Competition between Ad partners augurs well for developers as there are more contenders for delivering quality ads, automatically improving yield for developers in the marketplace. We have made noteworthy progress with our machine learning algorithms which optimize every ad request in real time to maximize revenue for the developer. For every ad unit that is set to “Auto” optimization, we send each ad request to the most optimal configuration of ad networks chosen based on the app in context, user and device signals and past performance of each ad network on that ad unit. We’re happy to note that our improved algorithms have generated a 20% improvement in Ad click through rates and 15% improvement in RPM (revenue per thousand impressions) compared to the prior model.
Interstitial banner is an ad format that highlights the advertiser’s message more efficiently and has a higher engagement from users, leading to greater clicks and higher revenue. With the introduction of interstitial banner support in July 2017, we have seen high eCPMs for developers who have adopted this ad format into their apps. We added support for Revcontent since then and will be adding few more partners such as ‘MSN Content Recommendations’ and Undertone in the coming weeks.
Native ads:
We introduced support for native ads in the Microsoft Advertising SDK as an invite only preview program for game publishers & other app developers during /build 2017. During this phase, we added several native ads partners such as AppNexus, Microsoft app install ads and Revcontent to serve on the native ad placements. We are working actively to bring additional demand partners such as MSN Content Recommendations and Taboola in the coming weeks. These efforts will pay off for improving the yield for developers that build modern applications monetized through native ads.
Today, we are happy to announce that we are exiting the pilot phase and the Native Ads experiences are generally available to all developers.
One of our leading developers, PicsArt, who had been participating in the Native Ads pilot, had this to say about their Native Ads development experience:
“Implementation of Native ads was a smooth and seamless experience. From creation of ad unit to it’s addition in the application was easy and made clear with the help of the comprehensive documentation.”— PicsArt

Figure 2: A Native Ad from the PicsArt Photo Studio application
Universal user acquisition & engagement platform enhancements
We are happy to announce new set of capabilities to enhance the user acquisition and engagement capabilities in the Windows Dev center.
1) Acquire Users outside Microsoft Network: All the ad campaigns that you created up until now used to serve on the Microsoft’s 1st and 3rd party app and web properties as depicted in the picture below. However, some developers may have specific requirements for high volume of acquisitions or may be looking for very niche audience segments. Starting today, such ad campaigns by default will start serving on external websites and apps running on Windows 10 in addition to Microsoft internal ad surfaces. This feature will help developers find millions of users who can potentially download/use their app outside Microsoft’s 1st and 3rd party ad surfaces.

Figure 3: Difference between existing and new ad display surfaces
2) Video App Install Ads: We’re also announcing the beta program for video app install ads product where developers can use video ad creatives along with the banner/interstitial formats that we already support. We have seen amazing results with the top developers while running tests with CTR’s of around 5% when using video creatives which is almost 20X of the banner creatives. Though in beta, the program is open to all with campaign budgets higher than $10,000 and pricing of the video creatives for the first three months starting today will be $0.40 per thousand impressions. Post the promotional period, video rates will match with the industry averages for respective markets and will be auto-tuned by the ML algorithms to get the best cost per install during ad auctions.
3) Notification Analytics: Targeted push notifications are getting enhanced reports where the only available metrics were related to delivery rate and app opens until now. We will now give detailed reports for targeted notifications including positive clicks in the form of click through rate [CTR] and counts of actual actions by users on the notifications like click/dismissal/snooze/decay etc. Below are a few sample reports of the latest experiences that you will see in the notifications page starting today.

Figure 4: New notification metrics in the Windows Dev Center
Ad Viewability reporting in Dev Center
Advertising industry is moving towards valuing viewable impressions rather than just impressions delivered. Advertisers tend to bid higher for viewable impressions as they have an increased chance of their ads being seen by users.
We are happy to announce that you will now be able to measure the viewability of each of your ad units in the Dev Center Ads Performance Report.  The new ‘Viewability’ metric indicates the number of viewable impressions for every 100 ad impressions delivered. This metric allows you to determine the quality of your ad slot and allows you as a developer to make informed decision on ad placement in your app.

Figure 5: New Viewability Reports on DevCenter
For more information on the rules used to classify an impression as viewable and tips to increase viewability on your ad unit, please refer to MSDN.
Microsoft Ad Mediation platform for Android
We are excited to announce the preview of Microsoft Ad mediation platform for Android developers. This will bring in all the goodness of the Microsoft Ad mediation Platform to the benefit of existing and new Android developers. We have many exciting capabilities including iOS & Web Ads SDK planned later this year. Learn more about current features through our documentation and code samples.
Microsoft Ad mediation platform for Android developers brings the same mediation and optimization capabilities that are available to UWP app developers today. Also available are all the same premium Microsoft and third-party ad partners that are currently serving on UWP publisher surfaces.
This platform is open for all Android app developers and publishers and not just for developers registered with Windows DevCenter. Please reach out to us if you are interested in this platform and augment your Android apps with additional Ad revenue today.
Also read:
Below is a list of capabilities that we released over the past two years which can potentially help in your journey of ad monetization and user acquisitions. Do give them a read!

Area

Blog

Ad Monetization

Understanding the ad mediation configuration in the Microsoft ad mediation service

Announcing Microsoft’s Ad Mediation Service

Monetizing your app: Set your COPPA settings for your app

Earn more money by moving to the latest advertising libraries

Monetize your app: Know the user to serve better targeted ads

Monetizing your app: Use interstitial banner as fallback for interstitial video

Monetizing your app: Advertisement placement

Monetizing your app: Use Interactive Advertising Bureau ad sizes

Announcing the Windows Premium Ads Publishers Program

Best practices for using video ads in Windows apps

User acquisition & engagement

A complete user acquisition & engagement platform

Go Universal! Now your ad campaigns can reach users across Microsoft premium surfaces like MSN, Outlook and Skype

Make App Promotions Work: Acquire & Re-engage the Right Set of Users

Promote your App – Anywhere. Anytime.

Windows Developer Awards: And the 2018 winners are…

The excitement at Microsoft Build 2018 kicked off on May 6 with the annual presentation of the Windows Developer Awards, which acknowledge the hard work that goes into making great applications.
In a room full of the some of the best and brightest Windows developers, recognition went to Application Creator of the Year, Game Creator of the Year, Reality Mixer of the Year, Design Innovator of the Year, and Ninja Cat of the Year.
Apart from the Ninja Cat of the Year award, which was selected by an internal team of Windows experts, the top applications were voted on by the developer community.
Application Creator of the Year: Leveraging the latest Windows 10 capabilities
Winner: Affinity Designer 
Affinity Designer is the fastest, smoothest, and most precise vector graphic design software available. Whether for work or fun, the application revolutionizes the creation of everything from marketing materials and websites, to icons and UI. Features and functionality include real-time performance, perfect color and output, and multiple disciplines.
Game Creator of the Year: Outstanding game contribution to the Microsoft Store
Winner: Luna
Using Windows Mixed Reality, Luna immerses you in “Bird’s” peaceful summer, interrupted by it swallowing the last piece of the waning moon and getting blown far from home. Players unscramble celestial puzzles and create miniature musical worlds. The aim is to unlock each level‘s tree, plant, and animal spirits to help Bird reunite the fragmented moon and find its way back home.
Reality Mixer of the Year: Creator demonstrating a unique mixed reality experience
Winner: Space Pirate Trainer
Space Pirate Trainer transports users to the 80s arcade cabinet games of yesteryear, using today’s immersive experience. Through Windows Mixed Reality, users can fight off relentless waves of droids, with all the weapons and gadgets a Space Pirate could ever need.
Design Innovator of the Year: Beautiful look and feel
Winner: Huetro for Hue
Huetro for Hue easily connects with the Hue lighting system and syncs across Windows 10 devices to create new experiences. The colorpicker enables users to select specific colors or create new scenes using favorite memories. Ambiences allow for dynamic light shows. Alarms, Cortana, or NFC can be setup for home automation.
Commercial Developer of the Year: Focused on an enterprise audience
Winner: Wrike
Wrike mission “is to make teams insanely productive.” A SaaS work management and collaboration platform, Wrike supports millions of users, in more than 15,000 enterprises in 120 countries to manage work streams and organize everything needed to complete projects in one spot.
Ninja Cat of the Year: Special recognition
Winner: Oren Novotny
Oren Novotny is the chief architect of developer operations and modern software at application maker Blue Metal. He was selected as Ninja Cat of the Year for his contributions to the Windows community and efforts to make life easier for other developers. He serves on the .Net Foundation Advisory Council, is a member of the Visual Studio ALM Rangers, and has been a Microsoft MVP for the last four years.
Congratulations to all the winners!
Look for full profiles of each of them on our Medium channel in the coming weeks.

Early preview of Visual Studio support for Windows 10 on ARM development

Today, we are pleased to announce that Visual Studio 15.8 Preview 1 contains an early preview of the SDK and tools to allow you to create your own 64-bit ARM (ARM64) apps. These tools answer the requests of many eager developers, and the development made possible with these tools represents the next step in the evolution of the Always Connected PC running Windows 10 on ARM.
Earlier this year, our partners released the first Always Connected PCs powered by Qualcomm Snapdragon 835 processors. These Always Connected PCs are thin, light, fast, and designed with instant-on 4G LTE connectivity and unprecedented battery life – now measured in days and weeks, not hours. Thanks to an x86 emulation layer, these Always Connected PCs also allow customers to tap into the wide ecosystem and legacy of Windows apps.
Developers interested in targeting this new ARM-based platform can use these early preview tools to build apps that run natively on ARM processors rather than relying on the emulation layer. While the algorithms that make emulation possible are engineered to optimize performance, running your app natively allows your customers to get the most performance and capability from your app on this new category of devices.
Since this is an early preview, there isn’t official support yet for the ARM64 apps built with these tools. You won’t be able to submit ARM64 packages to the Microsoft Store, though you can post preview versions of ARM64 Win32 apps to your website. Stay tuned to this blog for more information as more support becomes available. In the meantime, you can use these preview tools to get a head start on developing your ARM64 apps and provide feedback before the tools are finalized.
In this post we’ll look at how to set up your environment to build ARM64 apps, whether you’re building Universal Windows Platform (UWP) apps or C++ Win32 apps.
C++ UWP App Instructions
To build ARM64 UWP apps based on C++, start by setting up your development environment:
1) Download Visual Studio’s latest preview at https://www.visualstudio.com/vs/2) Choose the “Universal Windows Platform development” workload3) Select the “C++ Universal Windows Platform tools” optional component4) In Individual Components, select “C++ Universal Windows Platform tools for ARM64”
The Visual Studio Installer should look like this when everything that is required is selected:

After installing, you can get started on your app:
5) Open your C++ Project in Visual Studio, or create a new one6) Right click on your Solution and select Properties, then navigate to Configuration Properties and select “Configuration Manager”7) Under “Active solution platform:” select “” and call it ARM64. Copy settings from “ARM” and check to create new project platforms8) If individual projects within the solution do not allow adding ARM64 as a platform, it may be because of dependencies. To learn more about the dependencies, you can modify those project files directly, copying the ARM configuration and modifying the platform to create an ARM64 configuration.9) Save everything
ARM64 will now be available as a configuration for the project to build. Note that only Debug builds are supported for ARM64 at this time. You can create a package for sideloading or use remote debugging (see instructions) to run the app on a Windows 10 on ARM PC.
.NET Native UWP App Instructions
To build ARM64 UWP apps that rely on .NET Native, start by setting up your development environment.
1) Download Visual Studio’s latest preview at https://www.visualstudio.com/vs/preview/2) Choose the “Universal Windows Platform development” workload3) Open your project or create a new one. Note that the Target Platform Minimum Version must be set to at least “Windows 10 Fall Creators Update (Build 16299)”4) Open the project file in your favorite editor and add a property group targeting ARM64. You can copy an existing property group, such as Debug|ARM, and modify it to support ARM64 with the changes highlighted below:

The UseDotNetNativeToolchain property is required to enable the .NET Native toolchain.
5) Save the project file and reload it in Visual Studio6) Right click on your Solution and select Properties, then navigate to Configuration Properties and select “Configuration Manager”7) Under “Active solution platform:” select “” and call it ARM64. Copy settings from “ARM” and check to create new project platforms8) Update to latest ARM64 version of the tools:
a. Right-click your project and select ‘Manage NuGet Packages…’b. Ensure “Include Prerelease” is selectedc. Select the Microsoft.NETCore.UniversalWindowsPlatform packaged. Update to the following version: 6.2.0-Preview1-26502-02
ARM64 will now be available as a configuration for the project to build. Note that only Debug builds of ARM64 are supported at this time. You can create a package for sideloading or use remote debugging (see instructions) to run the app on a Windows 10 on ARM PC.
C++ Win32 App Instructions
Visual Studio 15.8 Preview 1 also includes an early level of support for rebuilding your C++ Win32 apps as ARM64 to run on Windows 10 on ARM.
1) Download Visual Studio’s latest preview at https://www.visualstudio.com/vs/preview/2) Choose the “Desktop development with C++” workload3) In Individual Components, select “Visual C++ compilers and libraries for ARM64”4) Open your project in Visual Studio or create a new one5) Right click on your Solution and select Properties, then navigate to Configuration Properties and select “Configuration Manager”6) Under “Active solution platform:” select “” and call it ARM64. Copy settings from “ARM” and check to create new project platforms.7) Save everything8) Open the project file in your favorite editor. Under , declare support for ARM64 by adding WindowsSDKDesktopARM64Support, as highlighted below:

9) Save and reload the project
You will now be able to build the project as ARM64 and either remote debug on a Windows 10 on ARM PC or copy over the EXE files and run them directly.
You can also use the Desktop Bridge (see instructions) to wrap the built ARM64 binaries into a Windows app package that can be installed on Windows 10 on ARM PCs.
Conclusion
We’re excited to open up Windows 10 on ARM to developers looking to build great apps compiled natively for the platform.
Visual Studio 15.8 Preview 1 provides an early preview of the full support that will be coming later this year. You can expect more updates as we work to bring these tools to an official release and open the Store to accept submissions for ARM64 packages.
We hope you give these tools a try on your apps and would love to hear from you. If you hit any issues, have any questions, or have feedback to share, head to our Windows 10 on ARM development page at http://aka.ms/Win10onARM or leave comments below.

How to create accessible apps and immersive game experiences with new eye tracking APIs

Last year in the Windows 10 Fall Creators Update, we introduced Eye Control, an experience that allows customers to control Windows using only their eyes. We continue to design with individuals like Steve Gleason in mind, and always challenge ourselves to build products that create positive change. We understand, however, that fulfilling our mission statement – “to empower every person and organization on the planet to achieve more” – goes beyond the product alone. It starts with something more foundational: building a platform to empower all developers to create products and experiences that can help improve people’s lives and make a positive impact.
Today, we are excited to share the next step in our eye tracking journey. In addition to sharing improvements to Eye Control and broader eye tracker hardware support, we are announcing Windows eye tracking APIs and open-source code to enable app developers to build more accessible and immersive app experiences with eye tracking.
Let’s dive into the details.
New features for Eye Control
Since the launch of Eye Control, we have continued to work with Microsoft Research and people living with ALS (amyotrophic lateral sclerosis) or MND. We’ve listened to customer feedback to help make the product better for people with ALS, and for people everywhere who can benefit from using their eyes to control Windows. This feedback has influenced the next set of features we have added to Eye Control, advancing another step towards being in full control of your PC using only your eyes. Here are the three areas we are updating based on this feedback and collaboration:
Navigate more easily: We have added more ways to better control the mouse, like the ability to scroll any app or website, as well as the ability to more quickly click content.
Get there quick: Accelerate to common tasks with quick access to Start, Task View, device calibration, and Eye Control settings, all quickly accessible from the Eye Control launchpad.
Pause when you need to: Pause the launchpad when watching a movie, reading, or taking a break, to help avoid accidental interactions with your eyes

Eye Control launchpad in Windows 10 April 2018 Update
Eye Control is still in preview, and your feedback can help make it better. If you have feedback on how we can improve our products and services, you can use the Accessibility User Voice Forum or the Windows Feedback Hub. For help with Eye Control, contact the Disability Answer Desk.
Broader eye tracking hardware support
Last year, we announced our collaboration with Tobii to bring eye tracking hardware support to Windows on their range of accessibility and gaming eye trackers. Today, we are announcing our second eye tracking partner, EyeTech, to bring support to Windows as well.
Our goal is to support a breadth of eye tracking hardware on Windows, so customers can pick the device that works best for their needs and preferences. All of these eye tracking devices will work with Eye Control and the Windows eye tracking APIs so developers can build an app once and have it work with all supported hardware. We are continuing to work with the hardware ecosystem and hope to have additional partners to announce later this year. We look forward to seeing more eye tracker vendors bring broader hardware support to customers.
Introducing new Windows eye tracking APIs
On top of the Eye Control improvements and broader eye tracking hardware support, we are excited to introduce new platform tools to empower all developers to be a part of the eye tracking journey.
The Windows 10 April 2018 Update includes Windows eye tracking APIs – the same set of APIs we use to build Eye Control. These APIs provide a stream of eye tracking data that indicates where the user is looking within the bounds of the application’s window. We are also releasing an open-source Gaze Interaction Library in the Windows Community Toolkit to make it even easier to integrate gaze interactions into your UWP apps. We are starting to collaborate with partners like Tobii and EyeTech on this open-source library, and we welcome contributions from the eye tracking developer community.
We are already starting to see partners put our Windows APIs into action for accessibility apps. One great example is Snap + Core First by Tobii Dynavox, a symbol-based communication app to help more people easily communicate. We are also seeing eye tracking interactions create richer and more immersive gaming experiences. And with the support of UWP integration with Unity, you can leverage these APIs in your new or existing UWP Unity game.
With the release of these APIs, we are making sure customers are in control of their privacy. The first time an app needs to access a customer’s eye tracker, it requests their permission. Additionally, an app can only get access to eye tracking data that is within the app.  Remember, if your app collects, stores or transfers eye tracking data, you must describe this in your app’s privacy statement. You can learn more about how we handle privacy on our eye tracking privacy page.
Start developing!
We look forward to working with developers to enable a rich ecosystem of apps and experiences with eye tracking, and are excited to see what you all create. Here are some resources to help get started:
Documentation
Walkthrough of the Windows eye tracking APIs
Walkthrough of the Gaze Interaction Library
Getting started with UWP & Unity
API Reference / Code
Windows eye tracking APIs
Gaze Interaction Library on GitHub
We will be at Build showcasing these APIs, eye tracking hardware, Eye Control, and apps & experiences. If you are attending Build, please come find our booth to talk to us and learn more! For more on this and accessibility @ Microsoft in general, please check out www.microsoft.com/accessibility.

Windows 10 SDK Preview Build 17661 now available!

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17661 or greater). The Preview SDK Build 17661 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
This build of the Windows SDK will install on Windows 10 Insider Preview and supported Windows operating systems.
Known Issues
The contract Windows.System.SystemManagementContract is not included in this release. In order to access the following APIs, please use a previous Windows IoT extension SDK with your project.
This bug will be fixed in a future preview build of the SDK.
The following APIs are affected by this bug:

namespace Windows.Services.Cortana {
public sealed class CortanaSettings
}
namespace Windows.System {
public enum AutoUpdateTimeZoneStatus
public static class DateTimeSettings
public enum PowerState
public static class ProcessLauncher
public sealed class ProcessLauncherOptions
public sealed class ProcessLauncherResult
public enum ShutdownKind
public static class ShutdownManager
public struct SystemManagementContract
public static class TimeZoneSettings
}

What’s New:
MC.EXE
We’ve made some important changes to the C/C++ ETW code generation of mc.exe (Message Compiler):
The “-mof” parameter is deprecated. This parameter instructs MC.exe to generate ETW code that is compatible with Windows XP and earlier. Support for the “-mof” parameter will be removed in a future version of mc.exe.
As long as the “-mof” parameter is not used, the generated C/C++ header is now compatible with both kernel-mode and user-mode, regardless of whether “-km” or “-um” was specified on the command line. The header will use the _ETW_KM_ macro to automatically determine whether it is being compiled for kernel-mode or user-mode and will call the appropriate ETW APIs for each mode.
The only remaining difference between “-km” and “-um” is that the EventWrite[EventName] macros generated with “-km” have an Activity ID parameter while the EventWrite[EventName] macros generated with “-um” do not have an Activity ID parameter.
The EventWrite[EventName] macros now default to calling EventWriteTransfer (user mode) or EtwWriteTransfer (kernel mode). Previously, the EventWrite[EventName] macros defaulted to calling EventWrite (user mode) or EtwWrite (kernel mode).
The generated header now supports several customization macros. For example, you can set the MCGEN_EVENTWRITETRANSFER macro if you need the generated macros to call something other than EventWriteTransfer.
The manifest supports new attributes.
Event “name”: non-localized event name.
Event “attributes”: additional key-value metadata for an event such as filename, line number, component name, function name.
Event “tags”: 28-bit value with user-defined semantics (per-event).
Field “tags”: 28-bit value with user-defined semantics (per-field – can be applied to “data” or “struct” elements).

You can now define “provider traits” in the manifest (e.g. provider group). If provider traits are used in the manifest, the EventRegister[ProviderName] macro will automatically register them.
MC will now report an error if a localized message file is missing a string. (Previously MC would silently generate a corrupt message resource.)
MC can now generate Unicode (utf-8 or utf-16) output with the “-cp utf-8” or “-cp utf-16” parameters.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 17134.

namespace Windows.ApplicationModel {
public sealed class AppInstallerFileInfo
public sealed class LimitedAccessFeatureRequestResult
public static class LimitedAccessFeatures
public enum LimitedAccessFeatureStatus
public sealed class Package {
IAsyncOperation<PackageUpdateAvailabilityResult> CheckUpdateAvailabilityAsync();
AppInstallerFileInfo GetAppInstallerFileInfo();
}
public enum PackageUpdateAvailability
public sealed class PackageUpdateAvailabilityResult
}
namespace Windows.ApplicationModel.Calls {
public sealed class VoipCallCoordinator {
IAsyncOperation<VoipPhoneCallResourceReservationStatus> ReserveCallResourcesAsync();
}
}
namespace Windows.ApplicationModel.Store.Preview.InstallControl {
public enum AppInstallationToastNotificationMode
public sealed class AppInstallItem {
AppInstallationToastNotificationMode CompletedInstallToastNotificationMode { get; set; }
AppInstallationToastNotificationMode InstallInProgressToastNotificationMode { get; set; }
bool PinToDesktopAfterInstall { get; set; }
bool PinToStartAfterInstall { get; set; }
bool PinToTaskbarAfterInstall { get; set; }
}
public sealed class AppInstallManager {
bool CanInstallForAllUsers { get; }
}
public sealed class AppInstallOptions {
AppInstallationToastNotificationMode CompletedInstallToastNotificationMode { get; set; }
bool InstallForAllUsers { get; set; }
AppInstallationToastNotificationMode InstallInProgressToastNotificationMode { get; set; }
bool PinToDesktopAfterInstall { get; set; }
bool PinToStartAfterInstall { get; set; }
bool PinToTaskbarAfterInstall { get; set; }
bool StageButDoNotInstall { get; set; }
}
public sealed class AppUpdateOptions {
bool AutomaticallyDownloadAndInstallUpdateIfFound { get; set; }
}
}
namespace Windows.Devices.Enumeration {
public sealed class DeviceInformationPairing {
public static bool TryRegisterForAllInboundPairingRequestsWithProtectionLevel(DevicePairingKinds pairingKindsSupported, DevicePairingProtectionLevel minProtectionLevel);
}
}
namespace Windows.Devices.Lights {
public sealed class LampArray
public enum LampArrayKind
public sealed class LampInfo
public enum LampPurpose : uint
}
namespace Windows.Devices.Sensors {
public sealed class SimpleOrientationSensor {
public static IAsyncOperation<SimpleOrientationSensor> FromIdAsync(string deviceId);
public static string GetDeviceSelector();
}
}
namespace Windows.Devices.SmartCards {
public static class KnownSmartCardAppletIds
public sealed class SmartCardAppletIdGroup {
string Description { get; set; }
IRandomAccessStreamReference Logo { get; set; }
ValueSet Properties { get; }
bool SecureUserAuthenticationRequired { get; set; }
}
public sealed class SmartCardAppletIdGroupRegistration {
string SmartCardReaderId { get; }
IAsyncAction SetPropertiesAsync(ValueSet props);
}
}
namespace Windows.Devices.WiFi {
public enum WiFiPhyKind {
He = 10,
}
}
namespace Windows.Media.Core {
public sealed class MediaStreamSample {
public static MediaStreamSample CreateFromSurface(IDirect3DSurface surface, TimeSpan timestamp);
}
}
namespace Windows.Media.Devices.Core {
public sealed class CameraIntrinsics {
public CameraIntrinsics(Vector2 focalLength, Vector2 principalPoint, Vector3 radialDistortion, Vector2 tangentialDistortion, uint imageWidth, uint imageHeight);
}
}
namespace Windows.Media.Streaming.Adaptive {
public enum AdaptiveMediaSourceResourceType {
MediaSegmentIndex = 5,
}
}
namespace Windows.Security.Authentication.Web.Provider {
public sealed class WebAccountProviderInvalidateCacheOperation : IWebAccountProviderBaseReportOperation, IWebAccountProviderOperation
public enum WebAccountProviderOperationKind {
InvalidateCache = 7,
}
public sealed class WebProviderTokenRequest {
string Id { get; }
}
}
namespace Windows.Security.DataProtection {
public enum UserDataAvailability
public sealed class UserDataAvailabilityStateChangedEventArgs
public sealed class UserDataBufferUnprotectResult
public enum UserDataBufferUnprotectStatus
public sealed class UserDataProtectionManager
public sealed class UserDataStorageItemProtectionInfo
public enum UserDataStorageItemProtectionStatus
}
namespace Windows.Services.Store {
public sealed class StoreContext {
IAsyncOperation<StoreRateAndReviewResult> RequestRateAndReviewAppAsync();
}
public sealed class StoreRateAndReviewResult
public enum StoreRateAndReviewStatus
}
namespace Windows.Storage.Provider {
public enum StorageProviderHydrationPolicyModifier : uint {
AutoDehydrationAllowed = (uint)4,
}
}
namespace Windows.System {
public sealed class LauncherUIOptions {
ViewGrouping GroupingPreference { get; set; }
}
namespace Windows.UI.Composition {
public enum CompositionBatchTypes : uint {
AllAnimations = (uint)5,
InfiniteAnimation = (uint)4,
}
public sealed class CompositionGeometricClip : CompositionClip
public sealed class Compositor : IClosable {
CompositionGeometricClip CreateGeometricClip();
}
}
namespace Windows.UI.Core {
public sealed class SystemNavigationManager {
bool DoesBackButtonReduceViewBounds { get; }
}
}
namespace Windows.UI.Notifications {
public sealed class ScheduledToastNotification {
public ScheduledToastNotification(DateTime deliveryTime);
IAdaptiveCard AdaptiveCard { get; set; }
}
public sealed class ToastNotification {
public ToastNotification();
IAdaptiveCard AdaptiveCard { get; set; }
}
}
namespace Windows.UI.Shell {
public sealed class TaskbarManager {
IAsyncOperation<bool> IsSecondaryTilePinnedAsync(string tileId);
IAsyncOperation<bool> RequestPinSecondaryTileAsync(SecondaryTile secondaryTile);
IAsyncOperation<bool> TryUnpinSecondaryTileAsync(string tileId);
}
}
namespace Windows.UI.StartScreen {
public sealed class StartScreenManager {
IAsyncOperation<bool> ContainsSecondaryTileAsync(string tileId);
IAsyncOperation<bool> TryRemoveSecondaryTileAsync(string tileId);
}
}
namespace Windows.UI.ViewManagement {
public sealed class ApplicationView {
bool IsTabGroupingSupported { get; }
}
public enum ViewGrouping
public sealed class ViewModePreferences {
ViewGrouping GroupingPreference { get; set; }
}
}
namespace Windows.UI.ViewManagement.Core {
public sealed class CoreInputView {
bool TryHide();
bool TryShow();
bool TryShow(CoreInputViewKind type);
}
public enum CoreInputViewKind
}
namespace Windows.UI.Xaml.Controls {
public class NavigationView : ContentControl {
bool IsTopNavigationForcedHidden { get; set; }
NavigationViewOrientation Orientation { get; set; }
UIElement TopNavigationContentOverlayArea { get; set; }
UIElement TopNavigationLeftHeader { get; set; }
UIElement TopNavigationMiddleHeader { get; set; }
UIElement TopNavigationRightHeader { get; set; }
}
public enum NavigationViewOrientation
public sealed class PasswordBox : Control {
bool CanPasteClipboardContent { get; }
public static DependencyProperty CanPasteClipboardContentProperty { get; }
void PasteFromClipboard();
}
public class RichEditBox : Control {
RichEditTextDocument RichEditDocument { get; }
}
public sealed class RichTextBlock : FrameworkElement {
void CopySelectionToClipboard();
}
public class SplitButton : ContentControl
public sealed class SplitButtonClickEventArgs
public enum SplitButtonOrientation
public sealed class TextBlock : FrameworkElement {
void CopySelectionToClipboard();
}
public class TextBox : Control {
bool CanPasteClipboardContent { get; }
public static DependencyProperty CanPasteClipboardContentProperty { get; }
bool CanRedo { get; }
public static DependencyProperty CanRedoProperty { get; }
bool CanUndo { get; }
public static DependencyProperty CanUndoProperty { get; }
void CopySelectionToClipboard();
void CutSelectionToClipboard();
void PasteFromClipboard();
void Redo();
void Undo();
}
public sealed class WebView : FrameworkElement {
event TypedEventHandler<WebView, WebViewWebResourceRequestedEventArgs> WebResourceRequested;
}
public sealed class WebViewWebResourceRequestedEventArgs
}
namespace Windows.UI.Xaml.Controls.Primitives {
public class FlyoutBase : DependencyObject {
FlyoutShowMode ShowMode { get; set; }
public static DependencyProperty ShowModeProperty { get; }
public static DependencyProperty TargetProperty { get; }
void Show(FlyoutShowOptions showOptions);
}
public enum FlyoutPlacementMode {
BottomLeftJustified = 7,
BottomRightJustified = 8,
LeftBottomJustified = 10,
LeftTopJustified = 9,
RightBottomJustified = 12,
RightTopJustified = 11,
TopLeftJustified = 5,
TopRightJustified = 6,
}
public enum FlyoutShowMode
public sealed class FlyoutShowOptions : DependencyObject
}
namespace Windows.UI.Xaml.Hosting {
public sealed class XamlBridge : IClosable
}
namespace Windows.UI.Xaml.Markup {
public sealed class FullXamlMetadataProviderAttribute : Attribute
}

A new Microsoft Store revenue share is coming

Microsoft Store continues to evolve to be the best destination for Windows 10 users to discover and download Microsoft-verified applications that deliver predictable performance. Microsoft Store is also the best destination on Windows 10 for developers to reach new audiences and gain new customers. We’ll focus on the infrastructure, so you can focus on building the best app and growing your business as a developer. To that end, we are excited about the announcement Joe Belfiore will be making at Build 2018 regarding a new Microsoft Store fee structure coming later this year.
A better revenue share for developers
Starting later this year, consumer applications (not including games) sold in Microsoft Store will deliver to developers 95% of the revenue earned from the purchase of your application or any in-app products in your application, when a customer uses a deep link to get to and purchase your application. When Microsoft delivers you a customer through any other method, such as in a collection on Microsoft Store or any other owned Microsoft properties, and purchases your application, you will receive 85% of the revenue earned from the purchase of your application or any in-app products in your application
The new fee structure is applicable to purchases made on Windows 10 PCs, Windows Mixed Reality, Windows Phone and Surface Hub devices and excludes purchases on Xbox consoles.
A new way for developers to monetize
These changes to our current Microsoft Store fee represent a new way for you to monetize on the Windows platform. With the new fee structure, Microsoft is only accessing an additional fee when we contribute to you acquiring a new user. These changes enable us to create a world where developers are rewarded for connecting customers with experiences they love in a secure, reliable way.
The fee structure will be defined in detail in an upcoming revision to the App Developer Agreement later this year. Visit this page for current details and to sign up for a notification when the new fee structure goes into effect. Also, please refer to the FAQ below.
What applications will the new fee structure apply to?
Any consumer non-gaming app published to the Microsoft Store for PC, Windows Mixed Reality, Windows Phone or Surface Hub.
When does the new fee structure go into effect?
Later this year (2018). We’ll prompt you to accept a new version of the App Developer Agreement that outlines the Microsoft Store fee structure in detail. The new fee structure will apply to purchases made after the date listed in the App Developer Agreement.
Will the new fee structure apply to games or game subscriptions?
No. The new fee structure only applies to consumer apps on PC, Windows Mixed Reality, Windows Phone or Surface Hub. Apps categorized as Games in the Store will not be eligible for the new fee structure, even if they are available on those device types.
How does the Microsoft Store fee apply to subscriptions and other add-ons (in-app purchases)?
The new fee structure will apply to non-game, consumer app subscriptions and add-ons (in-app purchases). The fee applied to these purchases will be determined by how the user originally acquired the application. The new default 5% Store fee will apply for all transactions using Microsoft’s commerce platform and, if your customer uses a deep link to acquire your application, that’s all you’ll owe. The extra 10% customer acquisition cost will apply when Microsoft delivers you the customer through any other method, such as via a Store collection or a Microsoft Store spotlight.
All future subscription purchases and add-on (in-app) purchases for a user will be assessed the same fee percentage that was assessed when the user first acquired the application.
Will the new fee structure apply to purchases made via Microsoft Store for Business? Microsoft Store for Education?
No. The new fee only applies to individual purchases of consumer apps on PC, Windows Mixed Reality, Windows Phone or Surface Hub. If you allow your app to be offered via organizational licensing in Microsoft Store for Business and/or Microsoft Store for Education, the current Store fee will continue to apply to those purchases.
What about applications that are not games, but are available to customers on Xbox?
Any purchases made by customers on Xbox consoles, whether the product is an app or a game, will use the current fee structure.
What about applications that are available on both Microsoft Store for Windows 10 PC and Microsoft Store for Xbox One?
The new fee structure will apply to non-game consumer app acquisitions by individuals on Microsoft Store for Windows 10 PC (and the other device families mentioned above). The current fee structure will apply to acquisitions on Microsoft Store for Xbox One devices.
What will the fee structure be for applications that are available to earlier OS versions (Windows 8.x and/or Windows Phone 8.x)?
The new fee structure will apply to apps available on Microsoft Store on earlier OS versions (Windows 8.x and/or Windows Phone 8.x).

Do more at the intelligent edge with Windows 10 IoT

In the world of connected things, devices are getting more powerful. Advances in silicon, memory, and cloud technologies including machine learning and artificial intelligence are enabling devices to do more at the edge. These advances will expand use cases in manufacturing, healthcare, agriculture, and many other industries where an intelligent edge will unlock the power of the intelligent cloud in new ways.
Today, we are excited to announce a Windows AI Platform-enabled solution to put this power in the hands of every developer. In the next update to Windows 10, the Windows AI Platform with Azure Machine Learning together with Azure IoT Edge will bring hardware-accelerated machine learning model evaluation on the edge. By using instruction set optimizations on modern CPUs, hardware acceleration on GPUs that support DirectX 12, and a driver model for purpose-built AI processors in the future, the Windows AI Platform will deliver performance and efficiency on the broadest range of form factors.
At Microsoft Build 2018, we are showcasing this through a powerful demonstration. Imagine a production line in a steel factory equipped with cameras that can capture every square inch of steel passing through the line. Using traditional image processing techniques, it’s difficult to process and analyze this information, derive insights, and take actions in a timely and affordable manner. Using the Windows AI Platform available on every Windows 10 device, the machine learning model on the device will process the images at the edge and can detect anomalies on the steel surface instantaneously. With Azure IoT Edge, the device can be configured to send alerts or take a corrective action. With Azure Machine Learning, the ML model will be retrained and redeployed easily and quickly across devices. Such a deployment will enable a truly intelligent edge with hardware that is already available in market on a Windows 10 device with Direct X12 GPU.
Windows AI Platform powering edge solution at a steel factory.
At EmbeddedWorld2018, Microsoft announced 10 years of security updates and an expanded offering of long-life silicon for Windows 10 IoT Core. In close collaboration with NXP, we have begun a private preview of Windows 10 IoT Core on NXP i.MX 6 and i.MX 7 processors. Today, we are announcing that Microsoft and NXP will release commercial support for IoT Core with i.MX6 and i.MX7 with the next release of IoT Core.
Windows 10 IoT platform continues to evolve with feature investments including the Windows AI Platform, expanded silicon offerings, and long-term support commitment. We are excited about the possibilities and want to see what you do with this. To learn more about developing with Windows 10 IoT, enroll in our Early Adopter Program at EEAPIOTPartner@microsoft.com.

Do more at the intelligent edge with Windows 10 IoT
Tweet This

Introducing two new mixed reality business applications: Microsoft Remote Assist and Microsoft Layout

Hey everyone!
I am quite excited to share today’s blog. This morning I will be joining Satya Nadella at day one of Microsoft Build 2018 to announce two new apps coming to Microsoft HoloLens customers as a limited-time free preview starting May 22 — Microsoft Remote Assist and Microsoft Layout.
Last year I had the chance to speak at Future Decoded and talk about our vision for mixed reality in the modern workplace. In particular, I talked about expanding our focus from Information Workers to include Firstline Workers. Firstline Workers in any company are the first to the customer and the first to the problem. This includes people who primarily interact with customers, as well as people who create and operate products, machines, and spaces and who need to move around and use their hands to do their work.
We learn so much from others who are using what we create early on. Customer feedback is our most important development tool. Over the past two years since we started shipping HoloLens, we’ve been paying attention to the highest value workflows that cut across a variety of Firstline industries. In close partnership with hundreds of customers, we discovered that the highest value workflows are around remote assistance, space planning, training and development, product development collaboration, and access to spatial data from IoT devices.
Over the past several months, our team has been working hard to develop and deliver applications that will empower Firstline Workers to achieve more. It’s my privilege on behalf of everyone on our team to introduce you to Microsoft Remote Assist and Microsoft Layout, coming as a limited-time free preview for existing HoloLens customers starting May 22.
To learn more about how you can participate in the limited-time free preview starting May 22, please visit us here.
Microsoft Remote Assist — Collaborate in mixed reality to solve problems faster
With Microsoft Remote Assist we set out to create a HoloLens app that would help our customers collaborate remotely with heads-up, hands-free video calling, image sharing, and mixed-reality annotations. During the design process, we spent a lot of time with Firstline Workers. We asked ourselves, “How can we help Firstline Workers share what they see with an expert while staying hands-on to solve problems and complete tasks together, faster.” It was important to us that Firstline Workers are able to reach experts on whatever device they are using at the time, including PCs, phones, or tablets.
Our work led us to focus on three capabilities.
Collaborate with shared perspective
With video calling, made possible using Microsoft Teams, image sharing, and mixed-reality annotations, Firstline Workers can share what they see and collaborate with experts remotely. Workers and experts can annotate their shared view with mixed-reality ink and arrows, or insert images into their view, to pinpoint and solve problems efficiently.
Communicate securely
The ability to control access to remote communications with industry-leading identity and security measures. With Azure Active Directory login and Mobile Device Management, Firstline Workers and experts can focus with peace of mind on what matters most.
Increase efficiency
With mixed-reality annotations, live streaming, and video capture, we can enable Firstline Workers and experts to identify and address issues accurately the first time. This can help customers eliminate travel and expedite troubleshooting, increasing employees’ efficiency.
Here is a peek into what Microsoft Remote Assist will make possible.

Microsoft Layout — Design spaces in context with mixed reality
With Microsoft Layout our goal was to build an app that would help people use HoloLens to bring designs from concept to completion using some of the superpowers mixed reality makes possible. With Microsoft Layout customers can import 3-D models to easily create and edit room layouts in real-world scale. Further, you can experience designs as high-quality holograms in physical space or in virtual reality and share and edit with stakeholders in real time.
With Microsoft Layout we wanted to help customers see ideas in context, saving valuable time and money. Here is a peek into what Microsoft Layout makes possible.

We want to make sure you have what you need to prepare for the limited-time free preview of Remote Assist and Layout when they are released on May 22. To make sure your roll-out is smooth and seamless, additional information, such as device requirements, technical requirements, and network requirements can be found here.
As excited as we are about these apps, there is nothing more important than seeing how our customers and partners are using them. The workplace is changing now more than ever. While we live in a world where technology is everywhere, many people don’t have information where they need it most: in the real-world context of their work.
Today, as part of our presentation I was able to showcase how ZF Group, a German car-parts manufacturer headquartered in Friedrichshafen, is using Microsoft Remote Assist and Microsoft Layout on its factory floor. An early partner on our journey, it has been working with us over the past few months to help ensure these apps, even in preview, are crafted with insights from those who will be using them daily to get their work done.
Here’s a look into how ZF Group has been using Remote Assist and Layout over the past couple of months.

World-sensing devices will use spatial analytics to make data more valuable
Finally, we talked about the empowerment that comes from world-sensing devices that can provide invaluable spatial data and context for physical workflows that matter most. These environments are an untapped opportunity for getting work done more effectively. We’re taking this further by making sure this class of data will have enterprise-grade manageability and extensibility that integrates with existing applications and processes.
One of our earliest HoloLens partners, thyssenkrupp, is leveraging this work now to discover insights that will make it easier for its employees to complete some of their most important tasks.
Here is a look into the work our friends at thyssenkrupp are doing to leverage spatial analytics.

We will have a lot more to share in the coming weeks and months. Soon you will hear us share more on how we are going to help with training and development and collaboration on product design and prototyping. Our team loves doing work that really makes a difference for our customers!
And a reminder — if you want to be a part of the preview for Microsoft Remote Assist and Microsoft Layout, please visit us here.
As always, feel free to reach out to me on Twitter to share what you are doing with mixed reality.
Talk soon!
Lorraine

Introducing two new mixed reality business applications: Microsoft Remote Assist and Microsoft Layout
Tweet This