locked
how should store apps optimize experience for different form factors

    Question

  • I need to optimize user experience of my win8 store app for different form factors. While it is technically possible to have one binary behave differently on different form factors, it is much easier if we can submit different binaries for different form factors and have store install the appropriate binary for the target device. What can win8 app store detect? I assume it can distinguish cpu architecture (arm vs intel), what else, like screen size, sensor availability? I am particularly interested in the distinction between tablet and pc/laptop, and different screen size. How does Microsoft define tablet? I assume detecting the minimum hardware requirement for Windows RT is a good way to detecting tablet, like check the existence of gyroscope? Can store detect gyroscope and physical screen size and install different binaries for the same app for different form factor? Thanks. 

    Friday, September 28, 2012 4:16 PM

Answers

  • Your app should run well on all form factors.  Sensors are easy to detect and can be handled in the Windows Store app itself.

    Best Wishes - Eric

    Friday, September 28, 2012 8:15 PM
    Moderator
  • There is no good way to define and distinguish Tablet vs PC.

    You need a single binary which adjusts for form factor since the form factor may change at runtime. A single device may sometimes be a pure-touch slate with no keyboard, sometimes be a laptop with a keyboard, and sometimes a desktop with multiple monitors, keyboard and mouse.

    Your app needs to run well on all form factors. There is no way around this.

    The only distinction is by architecture, and that doesn't strongly limit the form factor.

    Regarding having different features for different architectures, see Certification Requirement 3.3:

    3.3 Your app must provide the same user experience on all processor types that it supports

    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.

     

    --Rob

    Saturday, September 29, 2012 1:05 AM
    Moderator

All replies

  • Your app should run well on all form factors.  Sensors are easy to detect and can be handled in the Windows Store app itself.

    Best Wishes - Eric

    Friday, September 28, 2012 8:15 PM
    Moderator
  • thanks for the answer. agreed that app should run well on all form factors and apps can detect sensors etc and adjust its ux and behavior accordingly, but the questions stand:

    what can store detect besides cpu architecture (x86/x64/arm) so it allow developers to submit different packages for different form factors that store can detect, instead of  have one binary trying to detect and optimize for all form factors? 

    If I started an app submission with a neutral package, but later added cpu specific components (like native winrt dlls), can I upgrade the app with new submissions? if so, can i later submit cpu specific updates, like a new feature for arm only? if so, do i just upload the arm only package, or i always need to upload packages for all cpu architecture, even if there is no change for a particular cpu? 

    how does microsoft define and distinguish tablet vs pc? 

    thanks!

     

    Saturday, September 29, 2012 12:47 AM
  • There is no good way to define and distinguish Tablet vs PC.

    You need a single binary which adjusts for form factor since the form factor may change at runtime. A single device may sometimes be a pure-touch slate with no keyboard, sometimes be a laptop with a keyboard, and sometimes a desktop with multiple monitors, keyboard and mouse.

    Your app needs to run well on all form factors. There is no way around this.

    The only distinction is by architecture, and that doesn't strongly limit the form factor.

    Regarding having different features for different architectures, see Certification Requirement 3.3:

    3.3 Your app must provide the same user experience on all processor types that it supports

    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.

     

    --Rob

    Saturday, September 29, 2012 1:05 AM
    Moderator