A first look at the Windows 10 universal app platform
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:
- Driving scale through reach across device type
- Delivering unique experiences
- 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.
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:
- Adaptive UX: enables your app’s user interface to fluidly adapt at runtime based on how the customer is interacting with your app and the available device capabilities – rendering an experience that is contextually appropriate.
- Screen layout: In addition to base app model improvements, we have improved the ViewStateManager to make it easier to create more adaptive experiences. This means that your universal app projects no longer require separate project heads or UI definitions for small and large screens, although we will still provide the option of separate UI definitions should you prefer it.
- User controls: Windows 10 will determine, at runtime, how the customer is interacting with your app and render the appropriate user experience (e.g. on a laptop with a touch-screen, an app fly-out control will provide larger touch-targets if tapped with touch, as opposed to clicked with a mouse).
- Natural user inputs: Windows 10 helps you build an app experience that is more personal and more human, by making it easy to incorporate natural user inputs into your app, such as natural speech, inking, gestures, and user gaze. Because Windows handles all of these inputs, we free you from needing to worry about how to parse the input for meaning – you only need to worry about which inputs are appropriate for your app and we’ll determine if they are present and parse the intent for you.
- Cloud-based Services: Windows provides a number of services for use in your apps, such as Windows Notification Services (WNS), Windows roaming data and the Windows Credential Locker. With Windows 10, we are making more Windows services available to developers, including an expanded Cortana AI, OneDrive, and Application Insights. Beyond Windows, we continue to make it easier to take advantage of Microsoft Azure using services like Azure Mobile Services and the Azure Notification Hub.
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:
- Cortana integration: Apps now appear (and can be launched) directly in Cortana search results, with installed apps given highest priority in the search results.
- Action Center: Windows 10 brings a more consistent and actionable notification experience to all Windows devices.
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:
- New rendering engine: The new engine frees you from having to do platform-specific work to deliver a consistent mobile experience and is included in Internet Explorer 11, in our new ‘Project Spartan’ browser, and will be used by the WebView control.
- ‘Project Spartan’: The ‘Project Spartan’ browser itself is a Windows universal app and updated via the Store – helping ensure it is always kept up-to-date.
- Web Apps: Windows 10 will make it easy for you to create a Windows app that packages your website for publishing to the Store. Once installed, your website can update and call Universal APIs from JavaScript, creating a more engaging user experience.
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:
- Joining the Windows Insider Program to get early access to Windows 10, as well as notification when we make a preview of the developer tools available.
- Start building universal apps for Windows platform. Today’s universal apps are well positioned to take advantage of the new universal app platform, including new capabilities like adaptive UI.
I look forward to sharing more with you at Build.
No comments:
Post a Comment