Hey all, During the phone and tablet development we have several times had to tackle the "it's supposed to look/behave/be like that on the phone, and like this on the tablet" problem.
In the shell we managed to stay away from "if (tablet) this; elif (phone) that" in favour of differentiating based on available space. Since then an argument was made that that's not good enough - we need to be able to have the 10' interface on a tablet, or the desktop interface on a TV - regardless of screen size. But whether the UI looks/behaves in a certain way can’t only be determined by the single factor of what interaction mode was selected. What’s more, each display needs to be configured separately (i.e. phone remains in touch mode when connected to TV with 10’ interface). Each device will have a default mode associated, and external displays we’ll try and associate a default mode based on some properties of the display itself, and then potentially and remember the setup for the future. We need to come up with a list of factors based on which we decide which layout, behaviour, user experience is applied. The list of questions that come to mind (in no particular order): * what mode was requested (touch, PC, 10', ?) * what input methods are available (pointer, touch, key, camera?) * component dimensions * which stage is the app running in * device form factor That seems like a lot, I know, but most of the time you would only decide based on a subset of those - it very much depends on the case at hand. Some examples: * search entry in dash - it moves “up” over the header title on the phone, because it wouldn’t fit otherwise - real-estate is enough to decide on the behaviour here * click-through notifications - only when there’s a pointer device - *not* whether it’s a desktop or a phone * directional navigation - only when there’s means of that navigation - a keyboard or a remote - *not* whether it’s a phone or a tv We need many more use cases to verify whether that approach would work, so bring them on! Maybe there are other factors to take into account? Or maybe you have ideas about a completely different approach to this? I hate to see "tablet, phone, desktop, TV" differentiation when we're trying to have a converged platform. We need, all of us, to work with a more holistic approach. Comments, rants, all feedback welcome :) P.S. Responsive Web Design seems very much related http://en.wikipedia.org/wiki/Responsive_web_design Cheers, -- Saviq, tvoss & Kaleo
signature.asc
Description: OpenPGP digital signature
-- Mailing list: https://launchpad.net/~ubuntu-phone Post to : ubuntu-phone@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-phone More help : https://help.launchpad.net/ListHelp