All posts by Long Zheng

[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

[tl;dr] Microsoft BUILD 2013 keynote: more refined “Windows, Windows Windows”

If you missed what happened earlier today at the Moscone Center in San Francisco, here’s a quick overview of everything Microsoft revealed (or revealed again) at the first keynote of BUILD 2013.

Steve Ballmer

  • Microsoft is on a more rapid development and release cycle
  • This BUILD conference is much sooner than previous developer conferences – 8 months since the last one
  • Windows 8.1 preview is available today to download, lays new groundwork for developers to do great work
  • Small ~8” Windows tablets are a very important form factor
  • New workhorse 2-in-1 tablets that are both powerful docked, lightweight undocked
  • All attendees get a free Acer Iconia 8.1” tablet and a Surface Pro to take home
  • One innovative (user) experience for devices for everyone from work to play
  • “Windows Windows Windows”. “The future of Windows is very bright”

Windows 8.1

  • Refines the Windows 8 vision, response to latest industry trends
  • Continuous improvements, over 800 updates to Windows 8 since release
  • New Windows 8 apps coming soon: Flipboard, Facebook, NFL
  • Telemetrics indicate over 2.3 million apps used on Windows, including desktop apps
  • Windows 8.1 “refines the blend” between desktop and modern experience
  • Start menu is more optimized for portrait mode
  • New on-screen-keyboard gestures allows swiping left-right on spacebar for suggestion selection, swiping up on keys for symbols
  • Updates to all inbox apps or new apps
    • Major improvements to Mail app with power-pane sidebar, filter emails by social, newsletters, favorite people
    • Redesigned Xbox Music app UI with share-to support that automatically finds songs from webpage and creates playlist
  • Search pane, with Bing integration – the modern command line
  • Smart search results integrate weather, maps, photos, travel, music – “not just a list of links but things you can do”
  • Live lockscreen slideshow and ability to answer Skype calls and take photos from lockscreen
  • More personalization options through wallpaper and colors
  • Drag-up gesture to access all applications from Start screen
  • Native SkyDrive file storage integration
  • Simple picture editing built-in
  • Improvements to desktop: Start button, boot to desktop, Start tiles float on desktop, default to tiles or all apps
  • Flexible app snapping sizes, automatically snaps two apps side-by-side from opening links
  • Multi-monitor multiple DPI scaling for connecting low-res displays with high-res displays: supported by all desktop and modern apps natively

Developer improvements

  • Existing apps are all supported by 8.1 and will run better
  • Over 5000 new APIs in Windows 8.1
  • Visual Studio 2013 developer preview available today
    • New powerful performance and power usage analysis tools built into VS2013
    • New support for debugging asynchronous processes
    • Simplified wizard for integrating Windows push notifications
  • Added hardware-accelerated support for MPEG DASH and WebGL in Windows 8.1 browser and native apps
  • Windows 8.1 WebView control can now be composited/overlaid with other controls
  • Windows Store improvements to make it easier find and buy apps
    • Personalised Store app picks powered by Bing recommendation engine with apps installed, ratings and similar people
    • Related apps, apps by developer for cross-merchandise opportunities
    • Automatic app updates for all Windows Store apps
  • New DirectX tiled resources support
    • Developed in collaboration with AMD and NVIDIA
    • Allows high-resolution textures to be dynamically loaded for a resource-limited graphics card
    • Only available in Windows 8.1 and Xbox One
  • Native 3D printer, driver and app printing support
  • Support for Lego Education robot

Bing platform

  • Bing now has 17.4% of US search engine market share
  • Powering Facebook, Yahoo and Apple Siri
  • Launching Bing as a platform for all developers
    • Giving the same capabilities as first party apps
    • New mapping control with 3D mapping/flyover capability
    • Text-to-speech and speech-to-text processing by Bing
    • Camera scanning API for text OCR
    • Providing apps eyes, ears and mouths

See all the photos from the keynote on my Flickr or embedded below

Seeing is believing: Photoshop CC camera shake reduction is mind-blowingly good

Yesterday Adobe released Photoshop CC, the latest version of the image-editing application that is now only available through a digital subscription.

One of the most exciting new features (besides the godsend editable rounded rectangles) is the camera shake reduction filter. In 2011 it was only a technology demo.

Features like this often looks great in a demo because the scenario is so carefully crafted it’s guaranteed to work exceptionally well, but falls over with less than ideal everyday scenarios. Having said that, sometimes, a few gimmicks actually work and leave me in amazement.

A combination of poor indoor lighting and a hyper puppy resulted in a blurry photo of an otherwise amazing dog pose. After installing Photoshop CC today, I decided to give the camera reduction feature a whirl. The result is nothing short of amazing. No it’s not perfect, but it turned an otherwise unfortunate throwaway to a pretty memorable snap.

If you’re a photographer, I’m not telling you to get Photoshop CC, but get Photoshop CC.

Work hack: use Google Docs to create an automatically updating TV kiosk presentation

At the co-working space my startup works from, there’s a large-screen TV in the open communal area that usually displays a looping kiosk presentation with announcements, event schedules and people’s names and photos running a PowerPoint presentation that had to be manually edited, transferred to the TV computer, opened and played.

In the spirit of startup hacks, I thought there had to be a smarter/faster/easier way.

After a bit of research and testing, Google Docs Presentations had almost exactly what I wanted – simple presentation editing tools, multiple people could edit the document together, changes are cloud-based and can be viewed full-screen with just a simple browser.

However, it was missing the ability to be automatically updated while being displayed, which is where I hacked together a quick HTML solution.

Using the native iFrame embed of Google Docs, I added a bit of JavaScript that forcefully reloaded the iFrame URL every few minutes, which did not require the entire page to be refreshed which means it can remain a browser’s fullscreen mode.

You can see a live sample here http://jsbin.com/ipilex/1.

One caveat is that Google Docs Presentations are locked to 4:3 aspect ratio, so it can’t properly fill a 16:9 or 16:10 display.

Although Microsoft SkyDrive’s PowerPoint Web App can also be embedded, it does not allow for automatically looping presentation which does not fit the purpose of a kiosk display.

I hope this helps someone out there who may have a similar TV kiosk set up.

SoundGecko v2.0 for Windows Phone

My startup recently launched a major 2.0 update to the SoundGecko Windows Phone app. It’s an audio service that lets you listen to news, websites and documents. It’s a free app you can download from the Windows Phone Store.

Windows Phone users have long voiced their opinions of second-rate or non-existent apps for the platform so when I was faced with the decision to “invest” in either our iOS, Android or Windows Phone app, I chose Windows Phone. (Our Android and previous Windows Phone app were tied in terms of functionality and user base).

Windows Phone users, don’t let me down.

Thank god Microsoft abandoned Windows Mobile 7 for Windows Phone

Once in a while I come across something I designed a little while ago which didn’t stand the test of time. The guilt and shame alone forces me to disown any involvement I had with such visual atrocities.

After seeing some UI concept videos today posted by UI designer Dave Brinda (who apparently worked with Microsoft on the Windows Mobile 7 project), I’ve never felt so sure Microsoft made the right choice to accept short-term losses for long-term gains. Scrapping the project in favor of the completely redesigning “Windows Phone” from the ground up was the right move.

(Dave now works for HTC and was responsible for designing HTC Sense on Android and HTC TouchFlo 3D on Windows Mobile which are quite respectable UI skins.)

Although of course these are just concept explorations, the direction certainly appears to be only a fresh coat of paint to what is a prehistoric scroll-menu based UI designed for pre-touch smartphones.

Here are a few notable screencaps from the video

Windows Mobile 7 concept

Windows Mobile 7 concept

Windows Mobile 7 concept

Windows Mobile 7 concept

Windows Mobile 7 concept

Windows Mobile 7 concept

Windows Mobile 7 concept

Windows Mobile 7 concept