Windows 8 App Development Questions and Answers



This list of Q & A is compiled from multiple resources (see links at the bottom). I have edited, added links and paraphrased original content at some places to provide context & improve readability

1. If we make an application for WinRT, how much work will be required to get it to work whenever Windows phone 8 comes out? Will WP8 support WinRT at all?
Jeff Brand: First, I am not a WP8 expert. You will need to do some rework, most of it centered around UX since the screen sizes are so different. It is my understanding that WP8 has an implementation (subset?) of WinRT, but there are some differences, especially around device specifc things (like a dialer, for example)

2. Is the process for submitting an update as time-consuming as the initial release?
Jeff Brand: As of right now, it seems to be about the same since they run the same set of tests and compliance checks. Again, it should get better. WP7 was slow at first, and they turn stuff around now in less than 48 hours, often in 24

3. Does the privacy statement need to be hosted within the app or is a link sufficient?
Jeff Brand: Pretty sure the guidelines say the privacy statement has to be available via the app, not just the store description.

4. Is there any way for an app for registering as a (file) printer/device? Like OneNote (desktop version) it does.
No.  You can register an app as a file handler, however. That means files ending with .myapp can automatically launch your app and are passed to it. This might be part of what you are wanting to accomplish

5. If I own 2 apps, is there some way to copy a downloaded app from one PC to another?
There are two ways to install a Windows 8 app - either through the store or through side-loading. Side-loading has native support on Win RT, Win 8 Pro and Enterprise only. Windows 8 Core can be "enabled" by installing Visual Studio. As far as I know, apps from the store can not be copied and side-loaded to another PC. At least I hope not for IP sake.

You can install on 5 machines (without additional cost) after you purchase from the store. It's how the new Office will be.

6. With all of the new devices coming out that support Win 8, what is the best strategy for testing to ensure the application works well across various devices without having to purchase a ton of hardware?
Jerry Nixon: Two answers. The first is that building on WinRT gives a universal experience. Unlike, say, Android that has a fractured set of interface devices, Windows 8 is constant so you need only to test on one.

The second part of that question has to do with capabilities. It would be smart to test on a device that has the capabilities you expect to use. And on a device that does not. Since the device itself is abstracted you don't need to test all of them (again, unlike android). I would also like to test on an Intel and an ARM.

7. Is it important to upgrade from RTM to the GA version? Or can I wait until the RTM license is invalid?
RTM is the General Availability (GA) version.

8. Is there a max size limit on how huge an app can be?
Package size limit is 2 GB

9. Is there a suggested minimum Internet bandwidth metric that apps which use the Internet capability should have?
Doris Chen: I am not aware if there is a minumum requirement for this. The internet should at least be good enough for any kind of download.

10. Is there any list of UI/functionality differences between XAML and HTML?
Both Javascript and C# have direct access to the WinRT API via language projections. C#/XAML may have a slight edge.

WinRT components can only be written in C# or C++. Javascript can only consume these components.



Related reading:
Top 10 Reasons why I choose XAML over HTML5
15 More Reasons why I choose XAML over HTML5

11. If I pull content from a website's API and have no control over the content, what is the correct age rating to choose for my app? I was thinking 16+. I remember reading something about an app like this being called a storefront app (or something like that)
From MSDN: Windows 8 app certification requirements:    (Section 5.1)
We understand that in some cases, apps provide a gateway to retail content, user generated content, or web based content. We classify those apps as either Storefront apps, whose primary function is to aggregate and sell third party media or apps, or Streaming apps, whose primary function is to aggregate and stream web-based images, music, video or other media content.

In some cases, it may be acceptable for a Storefront or Streaming app to include some content that might otherwise be prohibited in a single purpose app.

12. Is there a common set of icons and such for us to use in our applications, similar to how there is for Win32? Some examples are things like the open folder type icon, trash, new, refresh etc
MSFT provides symbols in the Segoe UI font. Use the character map to see them.
There are also some app bar icon styles predefined
Related:
Metro Studio - Syncfusion
MetroStation by yankoa on deviantART
The Noun Project - icons
Zurb Foundation Icon Fonts
Freesound - collaborative database of Creative Commons Licensed sounds

13. Can I run a task every time a user logs on, or every 24 hrs
Yes, you can do that. Your app needs to wire up a background task that would listen for a System Event - like user logs in - and if needed, any required conditions, i.e., the machine must have internet connectivity, then your background tasks gets some CPU time.

See go.microsoft.com/fwlink/?LinkId=227329 for a whitepaper on background tasks

Win8 apps have the ability to run background tasks. Win8 has some "built in" background tasks for things like playing music or download/upload of a file over http

Miscellaneous:

Getting started resources -
Create a "Hello, world" app (Windows Store apps using JavaScript and HTML)
Writing code for Windows Store apps (JavaScript)
Apptivate Resources page 

Articles on developing an app that interacts with a DB:
HOWTO: SQLite with Windows 8 apps
Take your Win8 Metro App to the Next Level with a SQLite DB

SQLite is supported well in Wins 8 RTM.

Indexed DB is one of the ways to do local storage.

You can reserve app names for up to a year, so if you have ideas - get the names reserved now

The Ad SDK is completely live. The ads being displayed on the other hand are not live until GA on the 26th.

Q & A derived from:
Apptivate Chat #1 with Jerry Nixon and Doris Chen
Apptivate Chat #2 with Jerry Nixon and Doris Chen
Apptivate Chat #3 with Jeff Brand

Comments