Mobile application development - lessons for an old dog

They say you can’t teach an old dog new tricks and we would like to modify that adage slightly to “you can teach an old dog new tricks, but you need to give him a shock therapy!”. 

And shock therapy it was for us when we first tried out the wonderful world of custom mobile application development. We’ve been in the business of custom software development for a long time, and when a client asked us to do their mobile app on iOS and Android a few years back – we just thought it was just another technology to move into but how wrong we were.

We had done pocketPC (windows CE), Symbian and Palm development in the ancient times – and then there was a gap of a few years when we had that iPhone app to do in late 2008. We did the app for sure and it was a great success too – but we knew that our process was all wrong. We only managed to get the app across the door because of sheer strength of our talents – but we took too long to make it, we messed the UI on our first attempt and we had no idea how to manage a project of this type.

We have moved a long way from those early days. We have learnt a lot in the process and know now that in the fast paced mobile app work the processes, interaction design, development methods and QA takes a completely new form. And once you know the truth, everything becomes simple and the old dog can do new tricks with its style again! We now have a strong mobile apps team making apps of all kinds on iOS, Android and Windows Mobile for happy clients.

I want to share today the lessons we learnt about non-tech aspects of mobile software development.

 

UI is everything and it’s totally different

This is the single most important thing we learnt. UI in the mobile space is completely different from anything you have learnt on any other platform. So our designer needed to start from scratch (and in addition we hired mobile UI experts too), learning the UI paradigm.

And to make things difficult UI is the most important thing in this space. If you don’t get UI right for the app then there is no point in making it. Mobile users just won’t give your app a second chance if you get a single thing wrong in the initial interaction. It’s an extreme version of the short attention span that website designers worry about.

This is the top thing you need to get right in your team. There are a lot of books, websites and training on this area these days. But one book stands as our Bible, we make it required reading for everyone (including developers) in our mobile apps team – Tapworthy by Josh Clark

Kill the PM as soon as you can

Coming from enterprise or large software world, we tended to think that every project needs good continuous project management. Not so in typical mobile apps – you need initial project planning for sure, someone coordinates the resources and finalizes the UI etc. But once it gets to dev stage (which is pretty early) the notion of the PM role should be gone. Developers can easily manage the process and coordinate with other sides and having an external role here just slows down the flow significantly. So the lesson learnt is plan out things and then don’t plan anymore!

Be addicted to apps

In no other platforms is it so important to be following the trends. The trends in graphics, interaction, placement of buttons, type of apps, how are freebies given out, you name it. It seems the whole apps using population swings to new direction at the first chance and knowing where people are moving is essential information. So everyone in the team needs to be downloading and using mobile apps like crazy – it’s the only way to keep up!

Build a collection of devices

No matter how great the custom mobile application code works on the emulator or the device in your hand you never know how it will behave in the device of your user. This is very true for Android but just as important for other platforms (even iOS). And in the crazy mobile hardware world, to get a device even an year old can sometimes be extremely difficult. The only way to go is to start building a collection of devices and not updating software all the time!

Stay informed about the appstores

This is something that is never quite needed in any other platform. But in the mobile space the delivery marketplace (e.g. Apple appstore, Google play etc.) is extremely important. They are like dictator states with their own set of rules which change at a moment’s notice. Knowing the appstore policies by heart, following news and blogs about them and reading mail that you would have usually considered spam from them are an important part of the mobile software building.

Know the basics in latest app marketing

In most other branches of software the non-techies take over marketing (and other such fuzzy things). But on this new and ever evolving mobile apps software scene everyone needs to have an idea about app marketing. Interaction designers need it to plan where to squeeze in the ask for money line (or to know if it is appropriate to ask for money at that point or not) and developers need it to know which part to speed-up the most, what tools to use or the politically correct library to use in the interface. I am not joking, it’s really a frontier science this mobile application software development!

Deliver before the deadline

OK, this one is always the best advice on paper. But amazingly this is expected in the mobile apps development. Its expected since it’s really one the things that may make the app survive as a business. The competition is extreme and any new niche (as if there are any) gets filled up instantly. So any delays are really disasters. As more and more companies get into this space this is becoming even more difficult – so we may have survived with delays in 2008 with our first app but today it would have been a disaster.

So you have to plan for early deliveries. You do the usual things you do in software projects for such thing – prioritize, compromise and sometime throw in more people (forgetting that pesky book about mythical man-months). But you do them right from the start!

I think that’s about all the non-tech lessons we took – but there are a lot of tech lessons too. Another day, another article.

N.B. Just in case you are new here: we are a custom software company  in Bangladesh making custom web, desktop and mobile apps for other companies and being very good at it! Check out this page to know more about our software development work culture and environment.