As we see more devices flood the market we run into challenges with the variety of specifications and building experiences for them. I wanted to explore whether it’s better to utilize the native controls for each device, or use a more consistent and custom UI (that may be on an existing desktop/Web app).
You can see several mobile phone apps below, on the left are Android OS versions and on the right are the iPhone versions. As you can see they look and feel like the same application but due to standard UI controls for that specific device the applications have slightly different controls.
Users are comfortable with the UI of their device, so making the application conform to those controls is important. It will allow them to navigate and use the application with the understanding of how native controls will work.
Another thing is the percentage of a single user constantly using the same app across multiple devices is slim. Not everyone is going to have a iPhone, Android, iPad, Windows Phone or a Blackberry. So having the application look and feel conform to the device in my mind is the correct way to approach it.
Here is a hit list of things to keep in mind when building for Multiple Devices
- Screen size
- Screen Resolution
- Orientation (Portrait and Landscape Modes)
- Physical Navigation Buttons
- On Screen Keyboards vs Physical Keyboards
- Gesture’s and Multi-touch
- Device Form Factor
- Left Handed vs Right Handed users and placement of UI elements
- Network Connectivity, hows does your app responded without it
So I know from a cost effective manner it’s hard to swallow that to effectively deploy the same application across multiple devices you will have to build different apps that are specific to that device, using the native code base to do so.
Now when it comes to the UX of the application that is the glue that ties them all together and makes them feel like they are from the same family.
Thanks to @iamfinch for some editing.