For several years now, applications (apps) on our mobile devices have made everyone’s life easier in areas like education, social networking, and productivity. As a result, people spend a lot of time on their smartphones and tablets throughout the day. Some of my fellow students may be interested in developing apps of their own, but don’t know how to begin.
Since I got my smartphone, I have been installing and playing around with different apps. This aroused my curiosity about how they’re developed. Being a student of computer science engineering, I eventually decided to make an app for my graduation project. At first I was confused and did not know where and how to start. As time passed, I became absorbed in the project. The app that I dreamt of was a simple one that shared information about facilities on campus and restaurants and coffee shops near the university. Even with a computer engineering background, I was a complete novice. I failed many times, but my passion and perseverance helped me to finish the project.
How did I do it? First, I sketched out a block diagram of how my app would be organized. Then I analyzed the designs of similar apps from Google’s app market and played around with them for more than two weeks to gain a proper understanding of how they worked. I learned a great deal. The app I planned to make was going to have a lot of content, so I first collected data by taking lots of pictures of all the places I wanted to share on the app.
The design of the user interface (UI) was also crucial. At first I had no idea where I even wanted to put the menu buttons! Fortunately, I was able to get help from development books and websites. I tested the UI using an emulator I had created on my personal computer. When I saw that it worked, my happiness knew no bounds. I finished my app with that UI, coded it then tried it on my device.
It didn’t work. I was stressed. I soon became disturbed and unbalanced. Instant noodles, bread, and coffee were my staple foods during that period. I suffered from insomnia and loss of appetite as I was completely lost in my project. I even skipped some classes due to all-nighters and bad health. I felt like giving up on my project, but I didn’t lose hope. The finished product was an app that worked only on my device, but not on others. I hadn’t considered that every device has its own resolution and screen size (VGA, QVGA, HVGA, and WVGA) and dpi (dots per inch: ldpi, mdpi, hdpi, xhdpi).
As the saying goes, “Where there is a will, there is a way.” If you want to become an app developer, you will need to dedicate yourself completely to the task. Even simple apps can be quite complex. Fortunately, there are a lot of programs and websites (HyperNext Android Creator, Basic4Android, andromo, apps-bar, and appsbuilder just to name a few) that can help you create simple apps without a deep knowledge of programming. But if you want to make advanced apps, you really must have a good understanding of Java and xml for designing a screen layout.
So that’s what’s involved in making an app. If this is something you think you’d be interested in, give it a try. You’ll be proud of yourself for doing so. Who knows? Maybe one of us will make the next hot app.