A first look at the Windows 10 universal app platform (original) (raw)

Earlier today at Mobile World Congress in Barcelona, I provided developers a first look at the Windows 10 developer platform strategy and universal app platform. I encourage you to tune in to our Build conference in April for the full story.

Windows 10 represents the culmination of our platform convergence journey with Windows now running on a single, unified Windows core. This convergence enables one app to run on every Windows device – on the phone in your pocket, the tablet or laptop in your bag, the PC on your desk, and the Xbox console in your living room. And that’s not even mentioning all the new devices being added to the Windows family, including the HoloLens, Surface Hub, and IoT devices like the Raspberry Pi 2. All these Windows devices will now access one Store for app acquisition, distribution and update.

For APIs specific to a given device family (e.g. a phone dialer), the universal platform also provides an easy way to light up that functionality within an app without having to resort to using conditional compiler flags.

Today I’ll briefly touch on how this new platform delivers on the three platform goals I discussed in January:

  1. Driving scale through reach across device type
  2. Delivering unique experiences
  3. Maximizing developer investments

You can expect us to go into all of the universal platform technical details at Build.

Driving scale through reach across device types with mobile experiences To understand why we converged Windows into one core and one developer platform, it’s worth examining how the customers’ relationship with their devices and the experience they expect has changed. The explosive growth in mobile devices over the last decade has led to the creation of totally new app experiences and has driven an extension of existing web experiences to enable developers to reach customers in innovative and unique ways. Until now, mobile experiences have largely meant app and web experiences built for mobile devices – most often defined by the phone you carry with you.

But this is increasingly too narrow a definition for a growing number of customers who want their experiences to be mobile across ALL their devices and to use whatever device is most convenient or productive for the task at hand.

We see this preference for mobile experiences manifest itself most profoundly in what customers search for in the Store. Just a year ago, the experiences customers sought on Windows phones were different from tablet, which were different again from laptops and PCs, and different from the game console. This has changed – rapidly. Today, the top Store searches for each device type overlap significantly, both across and within app categories.

Building a platform that supports this new world of mobile experiences requires not only supporting a number of screen sizes, but also providing flexibility in interaction models, whether it be touch, mouse & keyboard, a game controller or a pen. As a customer flows across their devices, they will often quickly transition from touch gestures (e.g. selecting a song or playlist, reading a news feed or document or viewing pictures from a trip) to keyboard & mouse for productivity (e.g. managing their playlist, writing a new blog post, or touching up that video or photo for sharing). To bridge the device gap (how many devices does a customer really want to carry with them?), the industry is seeing the emerging trend of multi-modal devices, like the 2-in-1 Surface Pro 3. Within app experiences, an increasing number of apps handle this exact scenario – except developers are bridging this gap by building one or more mobile apps, a desktop application, and a website. We believe this can and should be easier.

With Windows 10, we are leading a new path forward for mobile experiences – breaking out of the limited box of just mobile devices and empowering customers take full advantage of all of the screens in their life. For Windows, these mobile experiences are powered by our one Windows core and the universal app platform.

Gallo blog 1 v2

As we built the universal app platform, we set out to ensure that all Windows developers would equally benefit from this one core. The platform enables a new class of Windows universal apps – apps that are truly written once, with one set of business logic and one UI. Apps that are delivered to one Store within one package. Apps that are able to reach every Windows 10 device the developer wants to reach. Apps that feel consistent and familiar to the customer on all devices, while also contextually appropriate to each device’s input model and screen size. The new universal app platform completes our developer platform convergence by providing you with the ability to finally create one app that can run on mobile, desktop, console, holographic, and even IoT devices.

Delivering unique and personal experiences The universal app platform is designed to help you quickly build these new mobile experiences that are both consistent yet flexible, enabling you to deliver a unique, highly-personalized experience to delight and engage your customers across each device family you target. We do this by providing a number of platform capabilities that do most of the runtime adaptation work for you, and doing so intelligently, allowing you to focus on delighting the customer:

But we know that your mobile experience doesn’t end when the customer closes your app. There are a number of Windows shell advances that are enabled by universal platform advances, making it easier to keep your customers engaged and getting your apps launched more often. Examples include:

Lastly, I’d like to call out that the universal app platform is at the heart of Windows 10 itself with much of the shell running on the platform, in addition to a number of our key Windows experiences (e.g. a number of in-box apps, the Windows Store, and the ‘Project Spartan’ browser, to name a few). And the same animations, APIs, and controls used by these app experiences are available to you. You can feel confident that this platform has been ‘battle-tested’ and is ready for you to build mobile experiences that delight your customers, just as we are.

Maximizing investments in your app and web code Windows 10 is about making it easier for you and your code to do more and go further with a new platform built to maximize and extend your existing investments, both in your code and your skills.

We’ve designed Windows 10 to continue to support existing Windows apps and desktop applications on the devices for which they were developed. And we’re working to make it as easy as possible for you to bring those investments forward to the new universal app platform.

For our HTML developers, Windows 10 provides a number of advances for the modern web:

Gallo blog 2v2

Additionally, I’m pleased to announce that we will be delivering our first prototype of the Windows 10 Cordova platform in an Apache branch later next month – giving developers a preview of the update, and to get their feedback.

Getting ready for Windows 10 As I said, this is only a first look at the Windows universal app platform. We’ll have much more to share at the Build conference in April. If you’re not planning to attend the event in person, please save the date and plan to attend online – you can watch the keynotes streamed live or the recorded sessions the next day. Check out the Build 2015 website for more information.

In the meantime, we encourage you to get ready for Windows 10 by:

I look forward to sharing more with you at Build.