Sunday, February 5, 2012

Create a new mobile app – first steps

This blog is listing and explaining the first steps for inventing and verifying a new mobile application. It shows the systematic steps you need to take before the coding should start.

There are hundreds of thousands of applications on iTunes or Android markets these days and it becomes more and more difficult to come up with a new idea. On the other hand there are many situations where simple and focused applications can help. Smaller communities of users may need very specialized or customized applications because of their job, hobby, disability etc. These are niche applications but world-wide they may address an interesting number of customers.

The motivation to write new apps may have different inspirations. Many developers are writing the applications for themselves. This is a fortunate situation since the developer understands very well the needs. Sometimes a developer is asked to write an app for his friends. This is also good, friends will be able to explain their needs and they will help with testing. Writing an application for a customer is a little bit more adventures. Customers sometimes do not know how to formulate the problem. Communication may be demanding. Agile software development is the answer, but requires cooperative customers. You may also spark an innovative idea. Everyday you face many situations and problems, which are difficult to solve or overcome. Make a note, may be a mobile app can solve them.

First, check the existing applications. It is very likely someone has already written an app you need. Finding and reviewing the apps is a tedious process. It is difficult to understand the functionality. They don’t come with a description, because they mostly rely on intuitive interfaces. To understand you would need to test them and this has its shortcomings. In many cases the apps are social or use data sharing. You must register and you need to find some friends who will cooperate, share the data. All this takes lot of time but it will help you to differentiate or enhance your new idea. Don't skip this step but do not spend too much time on it either. Remember your idea doesn’t need to be completely new, but it must bring at least some new features to be competitive.

If you don't find any existing app you may have hit a new idea. Start with describing it in the simplest terms. Select the application name and try to describe it using this template:

(project name) is developing (this offering) to help (an audience) solving (a problem).

Keep all very simple don’t start inventing new features. Work on a brief application description. Once the simple sentence is ready, explain your idea to your friends. Use web, twitter, blogs etc to get feedback. Explaining and getting feedback is the best way to understand the customer’s needs. Don't forget asking your friends for how much they would buy your product. You also may decide to provide the application for free for non-profit or humanitarian purposes. In any case you have to be sure someone will use it. Don’t be secretive. Many people have the same idea in the same time. Your task at this point is to make the problem formulation as simple as possible, understanding the essentials. You may need to modify the idea and repeat the process. What is the result? Either you will discover no one needs your app or you have a clear case.

Now, you know who are your customers, what they need and how much they would pay. The full featured application may have a lot of branches, it can be quite complex. We need to focus on basic features. Identify the essential action and its outcome. Sketch an app flow diagram describing a sequence of actions the user needs to go through to get the outcome.  To each action draw by hand a graphical elements. i.e. screens, buttons, pictures, icons, menus etc. Don't forget the errors pop ups, dialog boxes etc. The diagram will show the first scenario of your application.

Once the logistics is clear, it is the best time to try it on real users. Create the necessary buttons, text fields, etc. from the app flow diagram. Use some wire-frame tools, that let you create a clickable static screens. For example Keynotopia provides templates in Powerpoint for different apps. Export the screens in a clickable pdf and with a proper pdf reader you can simulate the whole app on a mobile device. HTML is also easy for creating static pages. Get back to your friends let them face your clickable mock up and observe how they accomplish the first simplest task. Get prepared, the interaction with the testers has two basic steps:

  • Quickly explain the task. 
  • Observe and note the problems.

Do the same with three to four people. It should be enough to discover the biggest design problems.  Fix the UI problems and do the same one more time. Most of the developers are skipping this stage. Don’t do it. This exercise will save you lot of time while coding.  You may repeat this stage several times but you will converge to a sensible solution. If you are patient and you successfully finish all the steps you are ready to start coding. As a reward you will produce much cleaner code.

I have reviewed very simple, known steps for inventing and testing usefulness of a new app. They may not apply for all apps, but they are showing how to systematically think about apps development. One more comment: this steps  don't need programming, but soft and organizational skills, therefore people with expertise in the targeted field will typically produce much better results then programmers.

The main reason why I have put this blog together is the course I’ll be teaching in the next semester. Students will learn the basic programming skills in Java. I believe, students need motivation, they need to understand what is the purpose of the course.  Main programming language for Android is Java and I hope, combining development of simple apps and learning Java will be attractive enough for most of them. I am really looking forward how this would work. Stay tuned I will be reporting how we are doing ...


8 comments:

  1. You have gives the amazing tips for the mobile apps development and it can be very helpful for the beginner who have to start learning about the mobile apps development. Also the tips which we have gather from your post is awesome for any beginners which will guided best.

    ReplyDelete
  2. I agree with your blog.That's a great to build new app..Thanks for the sharing..Keep it up!!

    ReplyDelete

  3. Your article has proven useful to me. It’s very informative and you are obviously very knowledgeable in this area. You have opened my eyes to varying views on this topic
    with interesting and solid content.
    web application development

    ReplyDelete
  4. i like share from article Obat Aborsi Aman

    ReplyDelete
  5. Worth reading article and useful. If you wish to get the best Mobile App testing services, then Salvus App Solutions avails you with the service of software testing, SEO, ASO, etc on different operating system.

    ReplyDelete
  6. Hey Admin !!!
    When i was 17 i used to try to make some different kind of apps, and i visited so many websites and blogs just to get help. And i found this blog very helpful. In last week i was searching for 2 things 1 is Microsoft Certification 70-410 and 2nd is how to create a new mobile app. While searching these 2 things i found this blog and for 2nd a website examcollection. These helped m a lot. To make mobile app for a beginner, definitely step by step is so easy to follow so this is a good post for new comers.
    Thank you for such a nice post !!
    Cheers !

    ReplyDelete
  7. You have gives the astonishing tips for the portable applications advancement and it can be exceptionally useful for the learner who need to begin finding out about the versatile applications improvement. I was watching a video of Meera actress new interview at the same time i was searching for Mobile apps. Likewise the tips which we have assemble from your post is magnificent for any novices which will guided best.

    ReplyDelete
  8. Hi admin,
    This is Sarmad Sultan. I have read this article and i have noticed that you have given us a very exceptional tips from this article. malignant peritoneal mesothelioma Well, i was examining malignant peritoneal mesothelioma for my university assignment.

    ReplyDelete