Windows* 8.1 Preview – what’s new for developers [PDF 327KB]
Windows 8.1 Preview is out, and many people are testing and checking the new features and capabilities. As an update of a major version, 8.1 has no big changes in the way developers create their applications, instead it has more capabilities and a few small additions to API functionalities. All the changes are well documented by Microsoft on MSDN here and here, but we will highlight a few interesting additions or changes that caught our attention below.
Text to Speech
The new Windows 8.1 Preview introduces a new API for Speech Synthesis, Windows.Media.SpeechSynthesis that provides text to speech functionality for Windows Store apps. At the time of writing this article, 16 languages are available – including English, Chinese, Spanish, German, and Portuguese. Eventually you will be able to set the gender of the voice with the Windows.Media.SpeechSynthesis.VoiceGender variable, but at this time only David is available as male voice, for English Speech Synthesis.
Text to speech adds a nice touch for users, especially users with accessibility impairments. Some research has provided evidence that for many people, synthesized speech makes computers sound as likable as a human voice (Stern et al. 2006). Your application can take advantage of this functionality and improve the overall user experience.
In the new batch of code samples for Windows 8.1 Preview, check the Speech Synthesis sample at http://code.msdn.microsoft.com/windowsapps/Speech-synthesis-sample-6e07b218.
Windows 8.1 introduces DirectX 11.2, and with this update brings several improvements and new functionalities.
HLSL Shader linker
Graphics programmers will like this improvement. By adding separate compilation and linking of HLSL shaders, the new DirectX 11.2 allows programmers to create HLSL libraries and link them into full shaders at run-time. Several steps must be done including creating an ID3D11Linker object, loading the libraries (or shader) blobs with D3DLoadModule, and instantiating module objects with ID3D11Module::CreateInstance. Windows 8.1 Preview also introduces the function linking graph (FLG) to construct shaders consisting of a sequence of precompiled function invocations passing values to each other. This enables using C++ API calls to program shader structures.
For a full example on how to use the new HLSL Shader linker, check out this code example at http://go.microsoft.com/fwlink/p/?LinkID=310061.
Other highlights of Windows 8.1 Preview:
- Direct3D* low-latency presentation API: Windows 8.1 Preview includes a new set of APIs for DirectX apps to present frames with lower latency, allowing for faster UI response.
- Multithreading with SurfaceImageSource: Apps can also access and update SurfaceImageSource (SIS) XAML elements from a background thread. Get the XAML SurfaceImageSource DirectX interop sample at http://go.microsoft.com/fwlink/p/?LinkID=310060.
- Interactive DirectX composition of XAML visual elements: You can use the SwapChainPanel class to render DirectX graphics content in an app that uses XAML; SwapChainPanel is similar to SwapChainBackgroundPanel in Windows 8, but with fewer restrictions on XAML tree placement and usage. Get the XAML SwapChainPanel DirectX interop sample at http://go.microsoft.com/fwlink/p/?LinkID=311762.
Windows 8.1 Preview introduces new sizes of tiles and new ways to display more than two applications at the same time.
The minimum default users can resize application windows is 500x768px. However, depending on your application, you may want to offer even smaller window sizes, down to the non-default minimum of 320x768px. Note that while the application can become narrower, the height stays the same.
Your application must handle showing the appropriate layout for the different available sizes. Using the available templates in Visual Studio* helps to guarantee that, but you should also be sure your images and icons are available in quality scalable formats, like SVG.
Tiles are also available in different sizes, and the user can modify them. It is also a good idea to check that you have the image shown in your application tile available in all possible sizes, and include them in your package. It will make your application look polished and match the development efforts you put into the programming.
New UI control elements are introduced with Windows 8.1 Preview, and provided here are a few examples, divided by framework:
The Hub control separates the content into different sections and different levels of detail. This pattern is best for apps with large content collections or many distinct sections of content for a user to explore.
More than a replacement for the ListView control, a Repeater is a flexible, easy-to-use library to generate HTML markup from a data set.
This control makes it easy to create interactive elements that provide swipe, drag-and-drop, and hover functionality. Just add your content inside the ItemContainer.
As the control name suggests, it’s a button that provides backward navigation within your app. The BackButton can work the navigation stack and disable itself if there is nothing to navigate back to.
XAML – C#/C++
Using XAML makes creating an app bar with command buttons easier reflecting the platform design guidelines and behaviors. The default appearance of the icons is a circle, the content is set through Label and Icon instead of Content, and it’s possible to compact everything with the IsCompact property. Check out the sample code here http://go.microsoft.com/fwlink/p/?LinkID=310076.
The same as described before. See the XAML sample code here http://go.microsoft.com/fwlink/p/?LinkID=310072.
The Flyout control displays information or a request for user interaction. Different than a dialog however, a flyout can be dismissed by clicking or tapping outside of it. Windows 8.1 Preview also adds specialized instances of controls that act like flyouts: MenuFlyout and SettingsFlyout. You can see for example a MenuFlyout sample here http://go.microsoft.com/fwlink/p/?LinkID=310074.
Windows 8.1 Preview also includes some API improvements for developers programming or supporting native apps for Desktop.
High DPI support
Improved support for high DPI monitors (200+ DPI). Apps can take advantage of high-DPI and can change their pixel density if moved to a lower DPI monitor.
Updates to DirectManipulation APIs increase app responsiveness and add ways to interact with apps.
- Cross-slide is a new gesture used for selection and for initiating drag-and-drop via touch.
- Autoscroll allows users to automatically scroll once they reach the end of visible content.
- Native support for panning and zooming via a touchpad helps users without touch displays take advantage of touch capabilities of Windows 8.1 Preview.
Like we said in the beginning, these are only a few examples to give you an idea of what the updates and new functionalities are for Windows 8.1 Preview. If your curiosity is now peaked, download the Windows 8.1 Preview here and access the official Developers Feature Guide here.
Stern, S. E., John W. Mullennix, and Ilya Yaroslavsky. (2006) Persuasion and social perception of human vs. synthetic voice across person as source and computer as source conditions. International Journal of Human-Computer Studies, Vol 64(1), pp. 43-52.
Intel and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
Copyright © 2013 Intel Corporation. All rights reserved.
*Other names and brands may be claimed as the property of others.