What Are The Best Tips And Practices For Creating Mobile Apps?
When learning programming or design, where do you start? It’s tough as a beginner, knowing that there’s much to learn in so little time. And when you’ve learned a new topic, how do you know whether you’ve truly mastered it? To shed some light on learning how to create mobile apps, I’ve set out 9 different places to go, people to meet and tactics to keep in mind.
Each of the 9 tips and best practices are valuable for anyone working in the mobile industry, beginner or veteran. Whether you want to learn programming, become better at design or are at the managerial side of things: these tips will help you, definitely.
1. Visit local Meetups or Hackathons, and learn from others
They’re active in any city: meetups. On any topic you can imagine: cooking, foreign languages, beer tasting, graphic design, board games and of course… coding! One of the more popular iPhone and OS X programming meetups is CocoaHeads, active in over 100 cities around the globe.
At a meetup you can meet other programmers and have an informal discussion or get-together about programming. Many of them also host “hackathons”, to work on your own project in a co-working environment, or to invent something new with other hackers (the good kind). Hackatons allow you to refine your skill, discover new methodologies and projects, and meet like-minded people.
2. Be mindful of usability and UI/UX design
It’s often said that programmers aren’t good designers. However, the fact that many people specialize in just one thing, doesn’t mean they only must do that one thing! Any person can learn anything, thanks to the flexibility of their brain.
A typical programmer is highly analytical, a good problem-solver and can think in abstract terms. Your typical designer is creative, an emotional thinker and has the ability to see the world through a user’s eye. Why not mix the two? As a programmer, be mindful of usability and UI/UX design. Pick up a course on graphic design on Udemy and train that pixel-perfect sense. As a designer, try out some programming and learn to see the world as a big connected system.
3. Define what your customer needs and work towards it in iterations
Back in the day, when I was still studying, we worked in group projects on many occasions. Often, we would apply the management method that’s known as “Waterfall Management”. Usually, immediately after getting the assignment, the coder in the group would start programming, the designer would create something visual and the others would start working on its business case. We would handle problems as they came along, with no clear goal or path before us.
That’s not a great approach to management. Properly managing a project means chopping up the work into small pieces, and delegating them to the appropriate people. You would start with the simple question: “What does our customer need?” and find an answer for it. Then, you’d create the first version of the product. A rudimentary form of it, version 1.0, and work from there.
Scrum, or agile development, made this iterative way of working popular. You define the scope of the project, and then continue working on each version of it in small phases.
4. Use the right tools for the job, even if you don’t know them
When you walk into a craftman’s workshop, what do you see? All kinds of tools and material, carefully laid out in an organized system. When the craftsman isn’t working, he keeps is shop clean and tidy.
The fact that the work of a developer or designer is solely virtual, doesn’t mean his or her workshop shouldn’t be kept neat and clean. And when working on a project, make sure you use the right tools for the job. Think about using a code versioning tool such as Git, and working with Photoshop (pixel-based) instead of Illustrator (vector-based). Fire up a virtual machine when working with complex back-end services, or use a product such as Parse when you don’t want to create a back-end yourself.
Scout around to discover new tools. There’s always something out there that makes your job easier. It’s said that Google employees get to spend 1/5th of their time on personal projects. Why doesn’t an indie developer do the same? Spend some time during the weekend to discover and try out new technology.
5. Create mockups and document flow diagrams
Planning a project well saves you a lot of time. You don’t just plan your time, but you plan the layout and visual aspect of the project as well. How is your customer going to use your product, and how can you support that?
By creating mockups you plan the visual layout of a product. Then, print the mockup on physical paper and cut out each and every app interface with scissors. Then, tap with your finger somewhere on the screen. What happens?
Document each of the interactions with the app in a flow diagram, and annotate it with text. This method is called “paper prototyping” and it’s one of the most effective I’ve used in my work. It may seem silly, but walking through an interface together with your co-workers, while performing all the user tasks, is a great way to visualize the workings a product.
6. Gather beta testers and test your work
Very often, your product isn’t used in the way you intended. Humans are weird sometimes, and although you designed your product with the utmost care, some users just don’t seem to get it. Right?
No, wrong. You don’t get it! You didn’t test your product with its actual customers or users, and because of that never confirmed the correctness of any design decision you took. Don’t worry, it’s never too late to test. Gather some friends and family (or hire a professional tester) and put your product in front of them. Don’t tell them anything, just see what they do. You might want to tape it on camera, or sit next to them to see what they do.
On many occasions, I saw a user do something that just made my jaw drop. Why are they clicking there and not there!? Testing your products really makes it a better product.
(Can’t decide on what to fix? Choose the quick fixes and the Super Obvious Fixes, or read “Don’t Make Me Think”.)
7. Don’t try to create a unique product
Creating a unique product is the bees knees, the pinnacle of perfection. When you create a unique product, customers will flock to you and throw money begging you to provide them your product. It’s what they say: be remarkable, and people will see you. Right?
Yes, see you. But have you ever bought a purple cow, because you saw one? Being unique and remarkable might get a potential customer in the door, but it won’t convince them your product is the best. They might as well get offended by its unique design and choose a more comfortable, mediocre product.
Don’t try to create a unique product. Invent something people can benefit from, something they want to use. Solve a problem, instead of desperately attempting to create something no one has ever seen before.
8. Benefit from App Store Optimization
Every day about 300 new apps get published in the App Store. Right now, all the stores together hold over 4 million apps. The majority of those apps does not have one single rating or review. Needless to say, the App Store is a full and crowded place. Each of those apps is begging for the user’s attention, and competing over the 1–10 second attention span a user has.
Applying App Store Optimization makes you stand out from that crowd. Many tactics can be used to speak to your potential customers in a clearer voice.
- Create an identifyiable icon for your app, something that stands out on their Home Screen.
- Present your app in it’s screenshots, showing a potential customer what they need it for. A customer must be able to answer this question from your screenshots: “What’s in it for me?”
- Write a compelling app description and do keyword research into the kind of words your users like, use and search for.
9. Know what you don’t know
The true key to mastery of any subject is acknowledging what you don’t know. That’s the only way to learn: find out what you don’t know, and then make it known. But how do you know, what you don’t know?
Discovery is key to learning, whether it’s learning a new toolset, a new word or a new concept. I have personally gotten much better at programming and marketing by teaching about it. It seems paradoxical, but it simply meant I had to revisit what I already knew. By doing that discovered new ways, new tools and new topics to learn. I could only do so by accepting that my knowledge was incomplete, and that there are many topics I know nothing about.
There’s this story about a monk and his apprentice. The apprentice is very eager to learn and complains to the monk he’s not teaching him fast enough. The monk asks the apprentice if he wants some tea, and the apprentice hands over his cup.
The monk pours tea into the cup. When the cup is full of tea, he doesn’t stop. The apprentice shouts: “Stop, you’re spilling the tea all over it!” Then, the monk stops and says: “The cup is as your mind. Before I can fill it, it has to be empty. Yours is filled with expectation, haste and fear. Empty it, so you can learn.”
Join 11.000+ app developers and marketers
- Every Monday: get curated app marketing news, resources, tools and goodies in your inbox
- Grow your app's userbase with the latest App Store Optimization and app marketing strategies
- FREE: Get the free step-by-step Get Started With Your App Idea guide to set yourself up for App Store success!
Comments & Thoughts
On The Blog
The 2-Day Weekend Project Plan: Make Your Ideas Thrive
Making your own apps is a challenge, and often aspiring coders make the mistake of not planning properly. They get caught up in the high of a great idea, but that motivation quickly burns out by the time they're facing the first real challenge. Here's a project plan that will definitely help you out. It enables you to move from idea to execution quickly, and test the idea in the meantime. Go go go!
How should designers make the final graphics of a website or mobile application?
Great question! What requirements or rules should be followed when delivering the final graphics file, to be used as the foundation of a website or mobile app.
Building an Instagram-Like App with Parse and Swift
Parse, the mobile app platform, has one particularly interesting product: Parse Core. One of its features allows app developers to store data in the cloud, without worrying about setting up servers and designing a REST API. Parse Core is also locally backed, like Core Data, which makes it a very good solution for online-offline back-ends. This tutorial explains how to create an app that’s backed by Parse. We’ll create an Instagram-like app.
3 Important Traits Every Aspiring App Maker Should Have, and 3 Ways of Getting Them
Ever wondered why successful people are successful? Why is it that they seem to attract success and not chase after it? And how does apply that to the App Making business? Learn the 3 traits successful people have and if you're new to those traits, learn how to develop them.