Tips and Tricks for Cross-Platform Mobile Design
Here at Digital Relativity, we always target at least Android and iOS, using tools like Monodroid, Monotouch and Titanium to help us pass code between platforms. Using cross-platform tools like these help developers share code between platforms and ultimately cut down on production time without sacrificing functionality or quality.
But sharing code is less than half the battle. Developing for multiple platforms simultaneously requires planning and strategy to ensure that no version of the app is considered “the other one,” and that every version is able to stand on its own.
Here are some tips to help ensure a consistent and awesome user experience,regardless of platform.
Stick to the Branding
It’s safe to assume that every client has some kind of branding. Some resources of some kind that can be associated with their business. This might be a logo, or a certain font. It might even be a certain color scheme. Since apps for every operating system look different, using company branding can help create some common ground between different versions to ensure that people know they are still the same app.
Some common uses of branding in development include (but are definitely not limited to)
- Use the Logo whenever possible. This is the face of the brand, and users will recognize that.
- Use colors and fonts consistent with the rest of the company’s products and packaging
- Label features in a way that is special to the brand. Core Image photo filters in a beer app? Beer Goggles!
Know When to Share
The whole point of using cross-platform frameworks is to be able to share code and resources across platforms. Get it? CROSS-platform.
But, that doesn’t mean that you should just lump all of your resources into one big pile. You need to know when you should share, and when you should give a particular platform some platform-specific attention.
Useful tips here include:
- Share code. This is the main reason developers consider cross-platform tools. But, sharing code is a tool, not an accomplishment. Don’t be afraid to get platform-specific to provide a good user experience.
- Share resources. This is another way to not only save time, but to provide a consistent experience. Resources can include sounds, icons, gradients or anything like that. But just like with code, it’s important to make sure that we’re not sharing just to share. For example, buttons look (and often function) different on every platform. There’s no reason to make all of your buttons look identical. Instead, consider sharing the button icons and labels but making platform-specific button elements.
- Share services. If you happen to have a developer on your team who can write server side code, writing server-side services can be incredibly handy. Instead of writing platform specific code or writing code that might need tweaked on a per platform basis, you can just set up an API to handle all of the heavy lifting “in the cloud.”
With all of these awesome tools for mobile development available, we have to be sure that we keep ourselves accountable to someone or something to ensure we stay focused and keep the final product in mind as we build it. When you’re knee deep in code, it’s easy to forget that you’re actually building something that real people will be using.
Here are some ways to help stay user-oriented through out the developer process:
- Stay true to the platform. If iPhone users wanted apps that look like Android apps, they wouldn’t have an iPhone. And vice versa. These users are users of the platform first, and your app second. You should always keep platform-specific UI conventions in mind when designing for multiple platforms.
- Stay true to the brand. There is no real reason to deviate from the branding foundation we talked about earlier. Keep the brand in mind when designing the UI and functionality. After all, the brand is what drove the user to the app in the first place.
- Stay true to the user. This is perhaps the most important aspect of all. We need to remain cognizant of the fact that the things we build are going to be used by real people, in the real world. The application should function in a way that makes sense to the everyday person.
Don’t let the naysayers tell you that cross-platform development sucks. People think that because they’ve never seen it done right. In the right hands with the right plan, cross-platform development can be your best friend.
Share your own cross-platform experiences in the comments below.
Tags: android, applications, Apps, development, iOS, iPad, iphone, mobile, mobile apps, Mono, monodroid, monotouch, programming, tools