Downloads

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.

DirectX*

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.

UI elements

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 Controls

New UI control elements are introduced with Windows 8.1 Preview, and provided here are a few examples, divided by framework:

JavaScript*

Hub

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.

Repeater

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.

ItemContainer

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.

BackButton

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++

AppBar

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.

Hub

Flyout

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.

Desktop apps

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.

Direct manipulation

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.

Considerations

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.