[tl;dr] Windows 8.1 new developer API tidbits

Today at the Microsoft BUILD 2013 conference, the WinRT team quoted there are “over 5,000 new APIs in Windows 8.1” available to developers that enable more powerful Windows Store and Windows desktop apps. Finally.

There’s no exact listing of the entire 5,000 new APIs, but I found a document that provides an overview of the major new additions and changes. Here’s a quick rundown.

App packaging

  • Apps can use a “resource package” for regionalised text and image assets. The appropriate one is downloaded for the user.
  • A new “appxbundle” can be used to sideload a Windows Store app using a single file (replacing a folder).

Asynchronous programming

  • WinJS adds a Scheduler, a universal priority-based schduler that allows better asynchronous apps

Controls (HTML)

  • New controls: AppBarCommand, BackButton, Hub, ItemContainer, NavBar, Repeater, WebView
  • Updated controls: ListView drag-drop, ListView reorder, ListView layout CellSpanningLayout, performance improvements to ListLayout & GridLayout

Controls (XAML)

  • New controls: AppBar controls, CommandBar, DatePicker, Flyout, Hub, Hyperlink, MenuFlyout, SettingsFlyout, TimePicker
  • Updated controls: FlipView force animation, headers for controls, PlaceholderText support for input controls, WebView airspace improvements, rendering XAML to bitmap, ScrollViewer “frozen” areas, many other improvements

Devices

  • Human interface Device (HID) protocol support for Windows Store apps
  • Point of services (POS) device support with barcode and magnetic stripe readers
  • USB device support for Windows Store apps to communicate with custom USB devices without in-box class drivers
  • Bluetooth device support for Windows Store apps to use RFCOMM and GATT APIs and Bluetooth BR/EDR/LE transports

DirectX programming

  • Windows 8.1 adds DirectX 11.2 support
  • HLSL shader linking, inbox HLSL compiler, GPU overlay support, DirectX tiled resources, Direct3D low-latency presentation API, DXGI Trim API and map default buffer, frame buffer scaling, multithreading and SurfaceImageSource, interactive Microsoft DirectX composition of XAML visual elements, Direct2D batching with SurfaceImageSource

Files

  • Windows Store app file picker can now be used in a snap view (previously it was only available full screen)
  • StorageLibrary API to manage personal libraries within an app
  • File comparison with “IsEqual” method
  • Native “KnownFolders” for CameraRoll and Playlists
  • Manually add app content to be added directly to the Windows index
  • New SkyDrive experience as default file storage location and storage management settings

Multimedia

  • New support for formats, codecs, processing: Common File Format (CFF), new Media Foundation Transcode Video Processor (XVP) software mode, extended YUV signal range (Y: 0-255), and support for generic compressed/uncompressed audio/video samples
  • Photo API improvements: sequence rapid fire (low lag ~30fps) mode, scene mode post-processing, LED torch mode, flash mode, white balance, exposure mode, EV compensation, focus mode, ISO mode, region of interest, field of view, photo while recording video, uncompressed AVI & WAV, audio effects discovery
  • XAML MediaElement built-in transport controls and full-window rendering
  • HTML5 video Media Source Extensions (MSE) and Encrypted Media Extensions (EME) support)
  • Programatic Play To access for Windows Store apps
  • Adobe Flash audio and video support for Play To from Internet Explorer
  • Play To video-to-audio-only

Networking

  • New native HTTP Client API for HTTP and REST web service calls
  • Support for custom HTTP request filters
  • Background transfer enhancements for simplified background downloads/uploads
  • Background networking allows apps to receive network packets when device is in low power connected standby
  • Connected standby improvements to support ethernet and mobile broadband adapters
  • Geofencing support for system alerting apps when device is in range of a geographical point
  • Wi-Fi Direct support for creating network socket connections with Wi-Fi Direct devices

Security

  • App fingerprint authentication for users
  • WebAuthenticationBroker now supports automatic credential filling
  • Smart card reader support and TPM Virtual Smart Card creation
  • Built in account management for Settings contract
  • Expanded trust management and certificates for encryption, signing and authentication
  • Selective wipe to remove folders and files by command from a server
  • Improved Windows To Go booting from a USB composite device with smart card function

Windows Store

  • Windows 8.1 targeting for new apps and app updates
  • Consumable in-app purchases and support for more than 200 in-app purchase entries
  • Automatic app updates enabled by default (can be switched off
  • Windows Store and Windows Update support for proxy authentication
  • Redeemable credit codes for Windows Store apps and in-app purchases
  • Improved searching and Store pages

User experience/user interface

  • New variable Windows Store app sizing (default minimum of 500px unless overridden for 320px)
  • New support for multi-monitor Windows Store app display outputs
  • New tile sizes (70×70, 310×310)
  • In-pane search charm displays for app search suggestions and results
  • New Share charm data format for web links and application links
  • Charms can be invoked from multiple displays
  • New people/contact and events/calendar integration
  • Built-in text to speech synthesis for multiple languages
  • Alarm app lock screen support

5 insightful thoughts

  1. The most interesting addition for me is per-monitor DPI settings. It’ll be a nuisance to support DPI changes while an app is running, but it’s a nice feature for users. Not having to logoff to apply DPI setting changes is nice.

Leave a Reply