We use cookies on this site to enhance your user experience
By clicking the Accept button, you agree to us doing so. More info on our cookie policy
We use cookies on this site to enhance your user experience
By clicking the Accept button, you agree to us doing so. More info on our cookie policy
Published: Apr 18, 2015 by C.S. Rhymes
There are probably about a million different articles and blog posts online that have a very similar title to this, but I thought I would share my own thoughts with you as each person learns something different. You will probably have your own thoughts on what is important when building an app.
It’s probably quite tempting to get straight into the app development and start creating screens and writing code, but I think there is a lot of value of drawing screens on paper first. You may have a vision in your head of how you want your app to look and how it will work, but it’s only when you draw out the screens on a piece of paper that you start to realise important factors such as how to navigate between screens and how many screens you will actually need.
Your app idea may seem really simple but once you have started drawing out the screens you will realise that there are a lot of potential routes through your app to accomplish the goal of your app. This also helps you realise what the goal of your app is and then help you work out the best way of achieving the goal.
It’s a lot easier to draw a screen out on a piece of paper and rub out some of the elements and redraw them later on when you decide on a different method, rather than binning a load of code that you spent hours writing.
Chances are, someone has already made an app that you want to make. It doesn’t take long to do a few searches on app stores and online to find out if there are any similar apps. This research will help you decide if you want to carry on with your app and if it is worth the effort involved in creating it.
App stores are competitive and you need a unique selling point
Hopefully, you will not be deterred by the competition, but encourage you to make your app even better than what is already available. Think about how you can make your app unique and better than other existing apps. App stores are competitive and you need a unique selling point.
The biggest issue with making apps is that they are designed to work on specific platforms (such as iOS, Android, Windows Phone or Blackberry) so you generally have to code them for each specific platform. You may also have to develop a tablet version and a mobile version.
A responsive website can be designed to adapt to different device sizes and different platforms as they are browser based. There are downsides to responsive websites, such as the lack of support for offline usage and the lack of support for hardware such as gyros, etc.
Therefore, you need to weigh up the options and decide which option best fits your needs.
This may sound like a bit of a geeky thing to do, but the process of drawing a flowchart will help you identify any potential dead ends in your screen flow. Use the flowchart to think about a user using your app and what information they need to see on screen at that point in the process to help them proceed to the next step.
Using a flowchart will help you understand if any additional notifications or screens are needed if the user does something unexpected, such as pressing cancel rather than ok. It helps you think about where they should return to when they press the back button in the middle of completing a screen. Should they immediately return to the previous screen or should they be asked if they are sure first so they don’t lose their current progress.
Try and make your code reusable by different screens. Identify what actions are common between different screens, such as uploading an image, and write code for that function that can be called by the different screens that allow you to do the task. This means that you can maintain the code in one place and it will be updated everywhere it is used.
Try and make your code reusable by different screens.
Go through your drawings and identify these common functions and write out a list of them so you know what you need to build.
App development software, such as Xcode and Android Studio have emulators that you can use to see how your app works. The issue with these is that you use a keyboard and mouse to interact with them and not touch.
It’s amazing how different the experience is when using a touch screen to a keyboard and mouse. Clicking a link with a precise pointer on a mouse is much easier than trying to tap it with your finger on a touch screen.
This brings up another point, design for touch input and make targets easy to tap.
The success of your app depends on reviews on app stores. It may be tempting to release an app that is almost ready, in the knowledge that you can update it on the app store later, but the initial bad reviews can put off potential customers from buying your app. Test as much as you can to identify any bugs and crashes before you submit your app to the app store.
When you are ready to release your app, the work doesn’t stop there.
Try and get others to test out your app as well as they will do things you don’t expect. After working on a project for a while you behave differently to a normal user as you subliminally train yourself to use it in a certain way. New users won’t know what to expect so they have to learn to use it and in this process they will make mistakes through a bit of trial and error.
When you are ready to release your app, the work doesn’t stop there. Customers like a developer that listens to comments and improves their app based on feedback given. It’s reassuring to get updates to apps once a month as it shows that the app is being supported and is not just being released as a one off.
I hope this post has given you some ideas of where to start and some things to think about when designing, developing and testing your app. Let me know if there are any additional points that you think are important when building an app.
Share
Latest Posts
I recently had to write a test for a React component that opened a new browser window. To open the new window I made use of window.open() in my code. This made the component easy to write, but I had to think a bit differently about how to write the test for this.
There has been a lot of discussion on Threads recently about becoming a writer, but don’t give up your day job. I have seen a lot of arguments from all sides, some people saying they became a successful full time writer, others saying they would never give up their job, then there are others who became writers full time then went back to another job. Writing has always been a hobby for me, but this discussion has made me think more about why I write.
Version 1.1.0 of Bulma clean theme has been released. It has a small update that allows you to easily add social media links to the footer of your site.