This post argues that both Apple and Microsoft are wrong with regard to what user interface approach to use where. It also presents suggestions on how to implement user interfaces that work well on all devices.
Touch versus pointerApple versus Microsoft ( Windows 8):
- Apple. Right: “People don’t touch their desktop screens”. Wrong: You must touch your screen when using your iPad with a Bluetooth keyboard.
- Microsoft. Right: Support both touch and pointer modes. Wrong: “People will want to use touch everywhere”.
Phone versus tablet versus desktopApple versus Microsoft:
- Apple: Right: Tablet user interfaces must be simpler than desktop user interfaces. Wrong: You need to completely reimplement a the user interface when going from phone to tablet to desktop.
- Microsoft: Right: Striving for reduced complexity makes sense on desktops (and not just on tablets). Wrong: People want the complete desktop experience on a tablet.
- Small (cell phones): minimal complexity, support the most obvious operations.
- Medium (tablets): moderate complexity, support 80% of the operations that users need.
- Large (desktops, notebooks): high complexity, support all conceivable operations.
How to implement cross-level user interfaces. That is a tricky one. Note that desktops can profit from a “simple mode” (tablet-like). Optionally, one switches to a an “advanced mode”. If we can figure out how to do that properly then my preferred solution would be to start with a simple mode and incrementally expose advanced features, on demand. Ideas for user interfaces that adapt their complexity to the current screen size are already out there:
- Enyo allows webOS apps to scale their UIs.
- Fragments are a mechanism in Android for splitting up a user interface so that the single fragments fit on cell phone screens, while multiple fragments can be shown on tablets.
OutlookA few more thoughts:
- This post ignored “couch user interfaces”  where your screen is much farther away and you often have a remote control.
- Two means of input were also completely ignored: gestures (Kinect) and voice (Siri). These have many applications, especially for couch user interfaces.