Windows 8.1 is out in preview and it brings with it many exciting and powerful enhancements to the operating system and to how we write applications. Windows 8.1 is better than 8.0 – better for users and better for developers. It is a big release with a lot of new features, new guidelines and new opportunities.
To cover all the new goodness, we’ve divided our coverage into two parts:
1. What’s new in Windows 8.1 for Developers (the post you are reading)
2a. What’s new in Windows 8.1 for XAML Developers
2b. What’s new in Windows 8.1 for HTML Developers
Parts 2a and 2b will be released before the end of August. They will focus on controls and other language specific enhancements. I will write part 2a and my friend, colleague and boss, Phil Japikse will write part 2b.
Both developers and users will find many significant changes in Windows 8.1. The user-focused changes have been reviewed extensively and I won’t spend much time on them here. These include, among many other things):
Nearly all of these consumer-facing changes have implications for us as developers. Let’s examine some of the most important.
As Microsoft has learned more about how users interact with Windows 8, and observed what does and does not work in real-world applications, they have updated their user experience (UX) guidelines to reflect this new knowledge.
"When the facts change, I change my mind. What do you do, sir?" – John Maynard Keynes
Two key areas where the guidelines have changed affect searching and buttons.
In Windows 8 you were strongly encouraged to do all in-application searching through the search charm. When you opened Search it defaulted to searching the current app (in the figure, Netflix), though you could change to searching other places such as apps, settings, etc. (See figure 1)
In Windows 8.1, however, the search charm is universal; searching across applications, files and the web. (See figure 2)
Notice in figure 3, below, that the results in Windows 8.1 include images, music files, web sites, web searches, local files and more.
The new guidelines suggest having your own search box for in-app searching, as you can see in the Store application illustrated in figure 4,
In Windows 8 the guidelines strongly encouraged that all “chrome,” which included navigation buttons, be removed from the visible area, and that buttons (other than the back button) be placed in the application bar. In Windows 8.1 that guidance is changed. Buttons which are used frequently and are a central part of the user’s experience should be on the page itself, with supplemental buttons on the app bar.
The Settings charm now unifies all settings relevant to the user’s current context. These include system settings, application settings that let the user control an application’s access to devices and application settings that allow the user to specify their preferences while using the application.
The guidelines suggest having as few application-specific settings as possible, and that your application should respond immediately to changes in settings. Application settings should not be part of the normal workflow of the application, but instead should be settings that are not typically changed very often.
The pattern is to add “entry points” on the settings pane, and have these entry points open a flyout with the actual settings, grouped by common areas of concern.
In Windows 8.1 there is no snapped view, and the View State Manager is no longer involved in managing the window size. Windows can be resized fluidly down to a default minimum width of 500px. It is up to the developer to decide whether and how the view should change or adapt as the window is narrowed or expanded.
If you do allow your window to resize to 320 pixels width, the guidelines are that when it is between 320 and 500 pixels you should use a vertical view, use the smaller back-button style, make the left margin 20 pixels wide and use the 20 point size for the application’s header test.
In Windows 8.1 the user can have more than two apps open at the same time, so your window is not guarant4eed to be adjacent to either the left or right edge of the screen. Also, in Windows 8.1 a single application can open more than one window, and an app can launch another app. When one app launches another the default is for them to split the available real estate, but you can change that so that the launched app is wider or narrower than the original, or so that it replaces the original window.
The Telerik RadControls for Windows 8 HTML and XAML all work perfectly with the UI capabilities of Windows 8.1. As a developer, you can be confident that the RadControls will continue to enable you to write great apps regardless of the version of Windows 8 that you are targeting.
Figure 5 shows three windows open.
Windows 8.1 brings two new tile sizes (small and large) to complement square and wide. There are now four square tiles, so the tile that was called square is now referred to as medium. Their dimensions are 70x70, 310x310, 150x150 and 310x150 respectively and their new names reflect this (e.g., TileSquare is now TileSquare150x150.) Note that your application can have a large tile only if it also supports a wide tile. All apps support medium and small tiles.
Figure 6 illustrates the new tile sizes
There is no longer a need to go to full screen just to open the file picker. In 8.1 the file picker can be called by apps running in split screen and full-screen display.
8.1 also introduces the StorageLibrary class which lets users create and manage folders within their personal libraries (e.g., music). You can also now retrieve the parent folder of a storage item using the GetParentAsync method to get the parent of a StorageFolder file or folder. The KnownFolders property has been extended to include CameraRoll and Playlists.
It is no longer necessary to surround file retrieval with error handling thanks to the new TryGetItemAsync method, which just returns null if the file or folder can’t be found.
New app bundles make application submission easier. The new resource package allows you to separate the core app package from additional resources such as language or high contrast assets. The app bundle can contain more than one app package to supp9ort multiple architectures (e.g., x86 and amd64). The app bundle manifest is used to sort out the applicability of the contained packages.
The workflow for app bundles to be deployed in the Windows Store is as follows:
As mentioned previously, all of Telerik’s controls for Windows 8 are now ready for use with Windows 8.1, and fully support all the changes made in the preview. You can be confident that as you transition to 8.1, Telerik’s RadControls will be there to simplify the process of creating world-class applications.
Jesse Liberty is a Technical Evangelist for Telerik and has three decades of experience writing and delivering software projects. He is the author of 2 dozen books as well as courses on Pluralsight on Windows 8 and WPF. Jesse has been a Distinguished Software Engineer for AT&T and a VP for Information Services for Citibank and a Software Architect for PBS. You can read more on his personal blog and his Telerik blog or follow him on twitter
Jesse Liberty has three decades of experience writing and delivering software projects. He is the author of 2 dozen books and has been a Distinguished Software Engineer for AT&T and a VP for Information Services for Citibank and a Software Architect for PBS. You can read more on his personal blog or follow him on twitter