Regardless of platform or coding language, to successfully create an app there is a general process I like to follow. When most people think of coding apps, they focus on the coding aspect, however that it just one piece of the process. So let’s take a look at my four steps of creating an app.
Step one of almost any good process involves planning. In the case of apps and games you want to decide some core features and functions. Once features are decided it is a good idea to start creating mock ups. This can be accomplished in a few ways. BlackBerry offers two great solutions; first they have a Wireframe design PowerPoint slides that have all the core components. Next if you are using Cascades and proficient at Photoshop you can use the Exporter Tool to create your UI in Photoshop. This will act as mockups and once you are complete you can import those mock ups into your QML and it will write the UI code for you. But my favorite method, and probably the most low tech solution imaginable, is good old pen and paper. I keep a few notebooks with design sketches and notes.
Also during this planning phase, is where you should decide things like what language, platform, price point, timing, and scope. Platform and language go hand in hand because if you want cross platform, something like Cascades may not be the best idea. Price point, timing and scope are less for the hobbyist and more if you are looking at it from a return on investment point of view. But even for a hobbyist, you should decide if something will be paid/free before going into it to know the level of support you may need to eventually provide. Timing is important especially in the case of time specific app. Probably not much sense to release an app for the Rio de Janeiro 2016 Olympics right now. And finally scope is to define the exact features that will be included. This is to prevent feature creep which could ultimately delay timing/release of your app indefinitely (more on this below).
This is the most obvious step of the process. Few things to consider here is to remember to review as you go. If you start ending up somewhere you didn’t want to be, you can go back to the planning phase and reassess. Then on the flip side of that, when you start coding you might start coming up with more ideas to make your app better, more in depth, feature rich, etc. And often times you can add in those features as you go. But in the case of big new features it may be best to shelf some of those ideas for a future update. If you fall into the phenomenon known as feature creep you may never end up releasing your app.
Obviously as you are coding, you check code for errors and see if the app operates how you intended. But at the end of the day, for usability testing, you are terrible tester. You know where all the buttons are; after all, you put them there.
So what I try to do is find a wide range of testers. I have a 9 year old niece (child), my wife (adult in the tech generation), and mother/mother-in-law (pre tech generation). Not only are they a wide range of ages but I pick people who aren’t afraid to hurt my feelings. Additionally, they all have different levels of technical backgrounds. Getting tester like the ones above will help you get a well-rounded product that has mass appeal.
One thing you may be asking yourself is why not test in the planning phase? I have come to the conclusion that nobody wants to look at sketches and notes, but everyone wants to play on phones. I have gotten much better feedback this way, even if it meant rewriting a lot code.
The final phase, updating, is an ongoing process. Even after you take in internal feedback and make those updates you will get a lot more feedback from end users. It is always a good idea to give your end users what they want to keep them happy. Plus often times they are your best means of marketing. Also remember all those great ideas you shelved for future releases as to actually release your product in a timely manner. After all, doesn’t everyone love version 2.0 of apps?
In closing, there are a few other things you should consider during you app making process beyond the four steps mentioned above. Throughout the full process it is a good idea to tease/market your app. Once you have released your app, reach out the BlackBerry fan blogs to see if they will do a review. Finally and most importantly have fun while doing all of this. Apps are meant to be fun (even if they serve a serious purpose). Feel free to sound off in the comments below with your app making methodology.