Here’s just a few interesting and lesser-known tidbits about the Windows Store I found from various Microsoft documentation published today to coincide the announcement event held in San Francisco.
From the “Certification requirements for Windows apps“:
2.4 Your app must do more than open a website or mimic the behavior of a website
Your app must provide a reasonable snap state; it shouldn’t be cut off when snapped. Your app must also support touch, keyboard, and mouse input.
Good to hear websites in a browser control cannot be applications (this is a copy of the 2.10 requirement from Windows Phone). Interesting to see that the snap state, which is a compulsory 320px view, will be tested for layout issues. It also seems to imply keyboard and mouse input support will be compulsory.
3.2 Your app must not stop responding, end unexpectedly, or contain programming errors
Tip Review the Quality data from your Dashboard to become aware of any problems your app might have so that you can correct them quickly.
Looks like Windows Store apps will automatically collect and submit crash exception logs which developers can access through the Windows Store Dashboard. This feature that was recently introduced to Windows Phone Marketplace developers.
3.3 Your app must provide the same user experience on all processor types
If your app has a different user interface or functionality when it runs on different processor types, you must submit a separate app for each processor type and describe the differences in the Description of each app.
If for some reason the application targets or has limitations for different processor types (x86, x64, ARM), it must be clearly distinguished. Whilst this shouldn’t apply for Metro-style apps since WinRT is common across architectures, some desktop applications might run into this issue.
3.5 Your app must fully support touch interactions
Your customers must be able to access all of your app’s functionality using only touch interactions and gestures.
3.7 Your app must not use an interaction gesture in a way that is different from how Windows uses the gesture
These two criteria seem to enforce the touch-first mentality of Windows 8. The first implies every functionality of the application must be discoverable and usable through touch, whilst the second enforces a consistent gesturing system with the OS and other apps.
4.5 Your app must protect customers from unintentional large data transfers over metered networks
When operating over a metered network, your app must offer the customer the option of permitting these transfers without limit or limit audio and video transfers to the following data rates:
- Video streams, which include download-only and two-way video-chat, must use an adaptive bit-rate technology and limit the transfer rate to no more than 256 Kbps.
- Audio streams, which include voice over IP (VOIP), must limit the data rate to no more than 64KBps.
When the customer’s computer is connected to a metered network, your app must obtain permission from the customer or wait until it has access to an unrestricted network before it performs any synchronization, upload, or download that requires a total transfer larger than Windows.Networking.Connectivity.DataPlanStatus.MaxTransferSizeInMegabytes.
When the customer’s computer is operating outside of its home network or connected to a metered network while over the data limit, your app must obtain permission from the customer before it performs any data transfer that is larger than 1 megabyte.
This appears to be the most unique criteria of the Windows Store compared to the Windows Phone Marketplace. Not only must the application be conscious of low-bandwidth networks but there will be quantitative quotas to which it must self-enforce. Considering how pervasive internet services are in apps, this will apply to a lot of developers.
From the “App Developer Agreement“:
k. Removal for Release Candidate. On or before the date on which Windows 8 Release Candidate is released, Microsoft may (but is not obligated to) remove any or all apps and content from the pre-release Windows Store, as well as from any devices onto which they may previously have been downloaded or installed.
When comes the Windows 8 Release Candidate (my own guess, Q2-Q3 2012), the Windows Store will get a reset in the ramp-up to general availability.
h. Roaming. Your app must be licensed and technically enabled to support “roaming.” Roaming is a Windows 8 feature that enables users to use your app on up to 5 Windows 8 enabled devices at any one time, unless you identify your app as eligible for distribution by only named OEMs, or on only an ARM or X86 processor. In such case, the app must support roaming to the eligible OEM or processor specific machines. Only the most recently distributed version of your app will be roamed to consumers.
By putting an app on the Windows Store you automatically license each user to use the application up to 5 different Windows 8 devices, unless you have restrictions by OEM or processor types. More on this below.
What are my rights for apps I get from the Windows Store? All apps made available through the Windows Store are licensed, not sold, to you. In most cases, that license includes the right to install and use your app on up to five Windows 8 Beta enabled devices simultaneously. If you attempt to install an app on more than five devices, it may be deactivated automatically from one of these devices, so that no more than five instances are activated at any one time.
If users exceed the 5 install limit, the app is automatically deauthorized from presumably the first computer in the list. I like the fact that users don’t have to trawl through where they’ve installed it and manually manage the authorization list.
For comparison, apps through the Apple Store can be installed on an unlimited number of devices.
What happens if I don’t want an app I already acquired? Because the Windows Store services begin immediately when you acquire an app, you do not have the right to cancel your purchase once you get the app. This means there is no withdrawal right or “cooling off” period for your use of the Windows Store, and all charges for apps are non-refundable, except as described in this section. Unless the law in your territory requires a “cooling off” period despite this agreement, you waive any right to a “cooling off” period. You may be entitled to a refund if you attempt to purchase an app from the Windows Store or make an in-app purchase processed by the Windows Store, but the app or purchased content fails to install on your device, or if you purchase an app that we later agree was erroneously described in the Windows Store product description page at the time of purchase.
It sounds like all purchases are final without much of a chance for refund unless you can prove the application fails to install on your device or the content does not match the description. Having said that it does note if local laws enforces a cooling off period, it might be permitted. Interesting to see how this would play out in practice.
In comparison, Apple’s store has a similar refund policy with the exception of Taiwan which has a 7-day cooling off period.