locked
Recommendations for avoiding problems caused by RoamingSettings?

    General discussion

  • In our app we have settings which affect rendering, as such we were loading roaming profile settings on app startup so that the first frame can be displayed with the correct settings - however we have discovered that this makes our ability to pass the WACK tests non-deterministic because the API calls are not asynchronous.

    Whilst this is easy to "fix" I'm curious what the recommended approach is... I feel that whatever we do it will lower the quality of the user experience. If we kick off a thread to get the settings and they come back e.g. 3 seconds later (I have seen the API block for 3000ms) the user will get a visual pop. If we prompt the user at this point if they want to use roaming settings then the user will be slammed with a message box on every app startup in the more common case where the settings are gotten from the local cache very quickly.

    It feels to me like the functionality provided is close to unusable in this case. Perhaps having a 100ms timeout or something, especially considering that it involves potential network communication, would help, but its not a perfect solution by any means. Whilst not a hard bug it feels like this is bad behaviour on the part of the API in that I can't think of a situation where anyone would want to use it if it behaves as it currently does... it also seems counter to the general trend of forcing threaded architecture upon programmers in WinRT.

    Now, the ideal solution in my mind is that Windows would fetch roaming settings on app install. Given the 100k limit on settings (we use 20b as it happens) this feels like a reasonable thing to do... combining that with a 100ms timeout on the call and the existing "DataChanged" even functionality would make the roaming settings functionality viable for our app. Perhaps this is already supposed to be happening but the functionality is bugged.

    Friday, June 15, 2012 2:36 PM

All replies

  • How about the speed of skydriver, them are the same server.

    NEU_ShieldEdge

    Monday, June 18, 2012 11:48 AM