App development: Why does my app suck?

July 28, 2015 | by Aldo Bonilla

In App development, iOS

I recently encountered the Audi Boutique app and what I saw wasnt nice. It has a user design that doesn't work anymore, it looked as if it was targeted for iOS 4.3, there’s when it hit me, how does a company like AUDI accept this? 

Areas in which we should focus in app development

Who convinced them to deploy this? Did anyone inside the company assist them? How in the world is any developer comfortable with this app? I might sound pretentious but we shall not continue this way.

Audi boutique app development fail

A few years ago I also saw how Starbucks Mexico had to develop their app abroad because there was no one up to the challenge of making it right. Long story short, the Spanish developers also did an awful job and it had to be developed again. Maybe the most well-known case was Facebook in its early years, it crashed like if it was an NFL player in his sports car. And when it finally worked, the UI performed slowly and it consumed a lot of internet data. A terrible combination for wireless plans!

So how can we avoid failing when the big ones have fallen? Well. Of course, we first have to attend the basics of planning, scheduling and resource management. But after that, what does it change in the app world? Should I develop my app in an environment like phone gap or appcelerator? Should it be native code?

In my opinion, these are the 3 basic areas that we should focus on in app development:

1. App Design

App design is the first thing to focus in app development

Does my app cover all the basics in iOS? Remember we have standard screens, retina screens and now iPhone 6+ screens; therefore, our graphic resources must be in the correct sizes. Nowadays iOS and Android design are kind of similar, both of them are based on minimalism with a few changes. For example, in iOS we have translucency while in Android there is material design. Developing in web-based platforms doesn't mean we are developing a web page, it is an app!

2. UX

Working hard in app development pays off

This is about how our user interacts with the app, does the navigation make sense? Does my app behave like other apps? By this I mean that perhaps we have a side menu but, guess what? That is not a best practice for the iOS standard, the iOS standard tells us that we should have a tab bar menu on the bottom. I know some behavior is out of our hands because that’s the way our client wants it and, in that case, there isn’t always much we can do. Also, an important thing I have encountered a lot is that Android developers tend to put really hard buttons to hit for people with fat fingers, like me.

Remember we are developing a touch interface and our client is not going to use a mouse to hit that button, they are using their thumb that is like 46 px as minimum (that tip is for free, never mind, not all the heroes use a cape). So yes, before launching an app, have your team test it tirelessly. Have you bought an iPhone or iPod touch? I assure you it didn't come with a manual because the intention was to be used naturally, that everyone could use it with no further help. This includes all the apps. The thought process being “if our behavior is too complex to understand and we must include instructions on how to use it, I’m sorry but we are doing something wrong.”

3. Coding

So we all are familiar with this code clean and manage your threads right thing. But one aspect we must be very careful about is web services, remember that if we use a lot of mobile data our client isnt going to be happy and were going to end up in the bad reviews page.

There are around 1.6 million apps in the Google Play store, 1.5 million apps in Apple Store and 550 thousand apps for Windows Phone. So, it is time for your app to stand out against the others and forget about flappy bird versions.

Here we can find a guide for how our app shall behave and look: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/