Ten Tips for Web Designers Who Want to Design iOS and Android Apps
Mobile apps are rapidly becoming everyday technology for more and more people. Sure, they’re still new, and not everyone has a smartphone…yet. But it has almost reached the point where saying mobile apps have become a big deal feels a bit like saying that paper is popular.
In fact, that last comment isn’t just a joke. Mobile technology is indeed becoming today’s equivalent of paper technology. But we don’t really think of ink and paper as “technology” any more, do we? It’s because they’re inseparable from our modern, everyday lives.
Mobile apps are becoming just as inseparable because increasingly, they’re about life content—the content of our everyday lives. More and more, we’re using mobile apps to look up or track world news, recipes, travel plans, update each other, and to access any number of other content types that we use regularly.
What is driving people to access so much content on such small mobile screens? As in real estate, it’s all about location. According to Marissa Meyer of Google, who spoke at South by Southwest about mobile app use, there are 150 million users of Google Maps—and 40 percent of them use it on mobile devices. And for those users who look up driving directions, their daily total of routes looked up on Google Maps add up to 35 million miles. That’s right: 35 million miles of driving directions per day.
But location isn’t just content. It’s also context. Mobile apps are popular because information needs are also ubiquitous. We want access to current news when we travel, look up recipes when we’re shopping for groceries, and update our network of friends about some exciting news. Right after it happens, where it happens, and often as it happens.
If you are interested in designing native, content-based mobile apps, what follows are ten helpful tips to consider. They’re based on the many lessons I’ve learned during my three years of designing apps for iOS and Android.
#1: Consider Using a Code Framework
When it comes to using JavaScript, there are two main camps of web designers: those who prefer to write their own custom JavaScript, and those who prefer to use a framework such as jQuery or YUI. I fall more into the second camp because I have more of a design background and less of a programming background.
So when it came to learning Objective-C for making iOS apps, I had a challenging time. And while I managed to design my first app by writing my own Objective-C, it took me several months (and I ended up needing a lot of help). And after that ordeal, I wasn’t very interested in giving it another try, either.
Fortunately, I discovered Objective-C code frameworks—and unless you’re a really strong programmer, I encourage you to skip learning Objective-C and do the same. NimbleKit, in particular, is a great one. It’s featured in the Development Tools section of Apple’s website, and contains a ton of prewritten Objective-C calls to native iOS interface elements and behaviors (and the newer Android version of NimbleKit does the same thing on that side of the fence).
NimbleKit can greatly accelerate your entry into app design, and save you a lot of headaches (and heartaches) in the process. The reason? Instead of writing Objective-C, you’re writing HTML, CSS, and JavaScript—languages that you already know as a web designer!
#2: Content Isn’t a Game
I have nothing against games. I personally do not design them (yet who hasn’t wished they could design a blockbuster like Angry Birds?). And I love to play games on my iPhone as much as anyone. But my point is that, in most cases, mobile content design should not be too much like game design. Games often incorporate built-in challenges such as user interfaces that require steep learning curves, and other deliberate barriers to reaching desired goals. This is fine (and even expected) in game design: that’s what makes it a game, right?
But unless you’re designing a content-based game, don’t make your content-based mobile app unnecessarily challenging to use. Which leads me to my third point…
#3: Become Familiar with Mobile Human Interface Guidelines
Apple has published a lot of material in its iOS Dev Center website about iPhone, iPod touch, and iPad interface guidelines. Once you sign up as an Apple Developer, all of this content is free—more than you’ll ever have time to read!
But definitely try to read as much of it as you can, because you should…
#4: Use Familiar UI Design Patterns
Designers are often tempted to be innovative with interface design (I know this—I always used to feel this temptation, and still do sometimes!). But do not confuse your enjoyment of doing creative work with needing to be creative with everything that you design. When it comes to many user interfaces—and especially those on small mobile screens—delivering something familiar is delivering pleasure and efficiency.
But wait a minute: This is mobile, and people who use mobile devices are usually creative types, right? Wrong.
#5: Design for Your Audience…of Average People
We designers who spend so much time with each other at work or attending design conferences can become so acclimated to seeing “creatives” with iPhones and iPads that we forget that we’re not the only fans of these devices. Indeed, mobile devices are designed to be used by everyone. Remember Apple’s embrace of life content? Everyone uses life content.
And keeping average users in mind is not meant to sound elitist, either. I don’t mean to suggest that “average people” need more simple interfaces because they’re not as “savvy”—rather, I mean that everyone benefits from simplicity and elegance. Though good design is sometimes perceived as being elitist from a style point of view (and definitely can be elitist, especially with material goods), good design on the web and on mobile devices can never be elitist if it wants to be successful. Simple, elegant, and even “everyday” is good.
But what about that content issue, again?
#6: Life Content Is Everyday Content
For me, embracing this has been critical to my opportunities as a designer. More often than not, designers are shaping the content or business needs of others into useful web or mobile services or products. We need to look for and recognize opportunities in what other people need, people who may be nothing like us.
Let’s consider one of my mobile app markets: medical apps. There are two things to glean from this example:
- I’m not trained in medicine, so it’s not my area of content expertise.
- Niche markets can be significant opportunities.
In fact, other than news, retail, or social media, most content is not mainstream (and often, the more specific the content, the more value it can have).
And here’s a final paradox: Medical content might not be mainstream, but it can still be everyday content for the people who need it, even when it’s content for a niche market. Which leads me to the next point…
#7: Collaborate with Others
An Objective-C code framework such as NimbleKit can allow you to build a great native app by not having to collaborate with a programmer, but don’t think you should go it completely alone. If you have app ideas that have value to others, that’s great. But it can be just as effective to collaborate with a content provider who has a big idea and opportunity, and come up with a fee-for-service or revenue sharing model to fund the app’s design (and split the proceeds, if it’s not a free app).
So don’t let a lack of app ideas discourage you from designing mobile apps: Just look beyond yourself. With the exception of blogging, you probably don’t design websites with your own content, either. Approach mobile app design as a new service offering, and work with other people and their app ideas.
#8: Broadly Consider Your Content Options
Don’t think that smaller screens mean fewer content opportunities for mobile apps. Designing apps for mobile devices can actually broaden, rather than diminish, the range of content that is available.
As just one example, consider geolocation. Where someone is now (and where they might want to go) can be the most important information that you can include in an app. If a product, service, or organization is based in a physical place, geolocation is relevant. And while regular browsers and computing devices are beginning to support geolocation, it’s still largely the domain of mobile devices… and apps.
#9: Test for Usability and Readability
Accessibility and user experience for mobile app content is not necessarily any easier just because the screens are smaller. Don’t make assumptions that just because an interface or formatting option makes sense to you, it will make sense to your apps users. Test early and test often.
Most importantly, don’t let usability and content evaluation sneak past you just because the work is harder than emailing someone a URL. True, mobile app evaluation requires you to sit down and directly spend some time with someone who is trying out your app. But the feedback you get is worth every minute (and, as Steve Krug demonstrates to us in Rocket Surgery Made Easy, in-person usability is also a great way to evaluate websites).
#10: Design Multiple Apps, on Multiple Platforms
If you start designing mobile apps for Apple’s iOS platform, as many web standards and NimbleKit designers do, don’t forget that NimbleKit for Android is comparable to use. And despite Android having many similarities to iOS, there is a lot of value (in terms of both experience and opportunity) in designing Android versions of your apps for sale or distribution via the Android Market. It exposes you to slightly different user interfaces and experiences, and exposes your or your client’s content to another portion of the mobile app market.
Finally, remember that designing native apps with web standards means that you can easily repurpose a native app into a web app, too, should a project’s goals support that. If you use a code framework like NimbleKit, the app’s interface and content are created using HTML, CSS, and JavaScript! It’s just a matter of stripping out some calls to the code framework, modifying your app’s stylesheet, and perhaps adding some additional platform and device detection (there are a variety of methods for doing so).
Final Thoughts
Designing content-based apps, and using a code framework like NimbleKit, is an incredible opportunity for web designers who want to stretch their established standards-based design experience in a new direction. I hope these tips are helpful as you embark on this new adventure!