Users and developers alike can expect significant changes between Windows desktop applications and the new Windows Runtime apps making their debut on Windows 8.
Windows 8 is the latest version of Microsoft’s popular operating system (OS) that is set to launch all over the world on 26 October 2012, including South Africa.
One topic that’s received a lot of attention already is that apps using the new WinRT application programming interface and Microsoft’s new Modern UI Style (formerly Metro) can only be distributed through Microsoft’s new Windows Store.
South African developers recently gained access to the store and users will be able to buy apps with their credit cards in Rands, according to Microsoft.
For apps to be distributed on the store, however, developers have to pay a registration fee (R350/year for individuals, R700/year for companies) and submit their application to Microsoft for certification.
Common certification pitfalls
If an application does not need the Internet, developers should ensure that they are configured as such.
Jarrod Hermer, a Microsoft technical evangelist, explained at the 2012 Tech Days event in Johannesburg that WinRT apps have to use brokers provided by the OS to access certain parts of the system, such as Internet connectivity.
This is to give the user confidence that applications won’t access data they don’t want them to and allow users to block apps from accessing certain things.
Hermer explained that when a developer wants their app to use the file picker or camera, for example, they have to go through a broker. Developers should also keep in mind that users can revoke their app’s access to certain endpoints such as location data, microphone, and webcam.
Unlike desktop applications, WinRT applications can’t be given access to the whole filesystem.
Application data is stored in certain places, and apps can request access to user file libraries such as documents, photos, music, and videos.
Remote settings synchronisation
Another feature provided by WinRT, Hermer said, is the ability to store small amounts of application data on SkyDrive, Microsoft’s cloud storage service.
Through a user’s Windows Account (a new name for Live ID), every app gets a bit of storage for settings, but not for multiple megabytes of content such as audio and images, Hermer said.
User interface requirements and guidelines
Windows 8 also provides a feature called Snap view, which lets users run two Modern UI Style apps side-by-side, with one displayed as a side bar while the other takes up the majority of the screen.
Hermer said that WinRT apps must have a Snap view as there is no way to prevent a user from invoking it and your app may not crash when they do so.
The view need not be functional, Hermer said, though Microsoft recommends that apps have functional parity between the normal view and Snap view.
As an example of an app that had to implement a non-functional Snap view, Hermer showed how Fruit Ninja simply paused and displayed the game’s logo when snapped to an edge.
Microsoft also recommends that developers implement at least three “contracts”, Hermer said: Search, Share, and Settings. These are actions that show up in the Windows 8 “charm” bar.
Other contracts that apps may implement include “Play To” and “App to App Picking”, he said.
Hermer said that developers should also keep in mind that their apps will run on all kinds of devices with different inputs and display resolutions.
Apps should be designed with touch in mind, he explained, and then the WinRT controls will ensure the app works well with other input methods such as mouse and pen.
Jan Vermeulen was a guest of Microsoft at Johannesburg TechDays 2012