Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

5040857

Behind the scene of app development

Mobile applications are used almost every day all around us. But have you ever

wondered how they were made? If you have, you probably thought that big teams develop and

just write a bunch of code and create a lot of designs. However, this is not the case and I am

finding out this is not that simple and there are different varieties of ways that they can be made.

That complexity can vary based on what features the application (app) uses, and also depends on

and purpose of the app, then the app development can be shorter or longer. There are also

different ways to get the app out to the public. For example, you can post it on Google Play

which is Android and you can also post it on the Apple store. There is also the third option,

which is to post it as an apk file. This choice of where your app is going to be available impacts

what programming language you use to write it in. Apps need to be marketed and monetized so

they can cover the development costs and the design of the app needs to be usable. Without these

decisions and choices made, there would probably be fewer apps that are successful. I am

interested in trying to develop an application for Android. The application will be breathing

exercises, which would help people relax. This project will help me learn an interesting skill and

useful one. Hopefully, my app will help others relax in today’s busy environment. I will need to

learn how to use the Android app development tools. There are also different versions of the

phone program, so I will need to choose which I will work with. I might also learn about the

different design tools to make an app. So I decided on this senior project and a good Senior

Project question to connect to developing an app. Which is why my question will be: What is the

process of developing mobile apps?

1
5040857

The first step of app development is to make a prototype of the app. One way to make

prototypes is through wireframes: “Wireframes are conceptual layouts - also referred to as

low-fidelity mockups that give visual structure to your app’s functional requirements” (Invento).

These mock-ups are important since they help developers visualize their app and lets them know

what needs to be improved early on. This also helps them save time since “Your wireframes do

not need to be fully featured - just focus on representing core functionalities” (Shiverware). With

prototyping, developers also get an idea of what they will be programming. They also get to

know what improves over time and what will likely need more testing during app development.

This is important because in an interview I conducted with my mentor, Tanya Piskun, who is a

QA engineer she said, “I tried to develop, it was interesting because you learn from new ideas

from online course” (Piskun). This shows that people who do programming still learn new things

and while they are learning they are getting new ideas. Developers can then document these

ideas for apps through wireframes, and that can also sometimes give developers an idea of where

they might program a certain section of an app more. Them having a prototype of their

application is important: “With a ready prototype on hand, it’s time to put it into action.

Encourage as many people as you can to use it, so you can get the most diverse feedback

possible” (Strizic). This shows it might also allow them to get user feedback from people that

they know so they can change certain parts of their application. This will allow them to solve

some of the issues early on at the same time when they are getting user feedback for the

completed version of an application that they developed. Prototyping apps through wireframes is

the first great step in the app development process. It allowed them to go from just an idea from

an app to something that is visual and could be shown to others.

2
5040857

The next step is to program and design the user interface in the process of developing a

mobile application. For an Android, the resource that is used is Andriod Studio. This is the

program that is used to program Android applications. Meaning it is vital to learn how to use

Android Studio. To make a user interface you will need to use XML: “Specifically, XML sets the

layout of things like buttons and images, and defines the font, color, and any text that shows by

default. To make those buttons actually do anything, you will need to use a programming

language like Java or Kotlin, though” (Sincki). Meaning they have to know how to use XML is

important to make the user interface. This also describes most of the visuals are made visuals are

made by XML. For the users to be able to interact with the app the people programming the app

will need to know one of those two languages for Android. Designing the logo and then adding it

there program is when they would be doing this. “In Foreground Layer, Source Asset, select

Image Asset Type. Browse to the icon asset in the drawable the folder just now” (Tsen). When

they followed these steps if they are doing a program for Andriod in Andriod studio. They will

be able to then upload their logo design for the app. This logo would be will be visible as an app

icon. While programming, one of the important things is to think about how it will be interactive

and how will the user interact with this app. A simple way is to have a button so when the user

clicks on this button it can take to another page of the app or complete a task that your button

was programmed to complete. This is one of the things a person can program in Android Studio:

“Android's user interface objects do that too. Thus, you can tell your Button to execute certain

code when it is clicked” (Gargenta). This is an example to make an interactive feature that is

important in developing an app. While programming an application trying to find errors early is

important, because in an interview I conducted with Olexandr Hryhorvyev, who is an IT

Specialist, he said, “By my view the hardest part of creating application learn many mistakes in

3
5040857

code tied to that mistakes. That they can be small unnoticeable and hard to find” (Hryhoryev).

What this means is that a piece of code does not work because of a certain mistake. That mistake

can be hard to find and fix it. Meaning when programming it is important to work through the

code thoroughly and check to see if any errors were made in the code. Since, an error found later

could cause a lot of problems, especially later since later on the code might be connected to other

code and it may take longer to fix those errors so the program would work. To program an

application for Apple you will need to use “The Xcode integrated development environment

(IDE) includes everything you need to build and upload apps for iPhone, iPad, Mac, Apple TV,

and Apple Watch” (”What's Included…”). So even if they master Android Studio they will still

have to learn how to use XCode to get their application on the apple store. This process is able to

get your ideas gathered and to finally a working functional product. Probably completing an

application would be motivational for them. And to get them looking forward to the next steps of

app development.

After they have programmed an application. Another critical step next is to get user

feedback on the app they have just programmed. Also, since developers have programmed a

usable app with a good interface they want to get some user feedback by giving to other people a

chance to try a program. Before they get user feedback it is important to test the app themselves

and fix any errors they find so they can get better feedback and not just some basic features that

are not working. To try the app and fix any errors they can use a simulator: “For the most part,

running your application on the emulator is identical to running it on a physical phone”

(Learning Android). This is an essential tool since this is their first chance to try out some of the

features that they have programmed. They can then go back and fix bugs. This is a term that is

used in programming to describe errors in code. Fixing these errors allow them to focus on the

4
5040857

user experience with their app so they can fix it. When gathering information from users on user

feedback, “Too many questions might leave your users frustrated. Instead, focus only on the

questions that will help you make impactful decisions” (Babich). It is important to phrase

questions correctly to get good user feedback which is another important step in app

development. This also means getting your feedback is important to have the app ready for

publishing.

Getting an app published is the next step which is an app going to a Google Play or app

store that will need to be modified for posting and receiving updates. To start doing this

developers need to “select the Export and upload a key from Java Keystore option. This is the

only way in which you can retain the key and have Google Play use it for signing” (Android

Play Store ). Using Java Keystore is needed to get an app on the Google Play store at least for

certain versions. This is also needed since “A Java KeyStore is a file that contains certificates.

These certificates are used in the Java code. KeyStore and the certificates within it are used to

make secure connections from the Java code” (JavaTpoint). This is an explanation of why Java

Keystore is needed for certain versions of an app. Also in Andriod Studio there is also there is

anthore option create a certificate instead of adding keystore manually when you finished your

application: “Android Studio offers to open the folder containing your shiny, new APK file.

That’s great! Open the folder, and stare proudly at your work” (Burd). That is the same file that

you could upload to Google Play store. There is a newer version of programs that one can create

using Android Studio using Kotlin instead of Java. One source I found talks about it being used

more often in programming Andriod Applications recently: “We will also explore the question of

how Kotlin’s increasing popularity could influence Java into the future and if it might replace it

entirely, at least in the context of Android development” (Böllhoff). This also shows that

5
5040857

programming is still evolving and app developers are trying to learn new things, which means

that applications use versions of programs in those languages. They will be able to use the

features that are available on those versions. The app developers will have to use Kotlin instead

of Java and learning this new language is part of the process of developing an application. I

discussed these challenges with my mentor and she said “you need to know both programming

language it can be hard to switch between languages” (Piskun). This could explain why it is

difficult to create an application for both Apple Store and Google Play Store. Publishing an app

is almost the last step of app development. Getting an app published will allow them to make

money and potentially invest money into the app to make it better with application updates.

Publishing an application could also provide a new round of user feedback.

Finally, the last step of developing an application is creating updates for your app when it

was posted and the app needs to be updated to fix any errors. Or if you want to add new features

to the app or just make changes to existing things in the app. You can do this by “onUpgrade() is

called whenever the user’s database version is different than the application version” (Gargenta).

This is a command that can be used when writing code to develop an app update. Also, it is part

of the code when developing an update to your application for people who have your app

currently installed and will be receiving your update. Programming app updates are important

since they can be able to improve and fix any errors in the code that they might have found later.

To develop “We need to open the database for writing the updates” (Gargenta). In the database,

code can be overwritten. Meaning they can remove certain parts of the code or you can add

certain code. This is where the commands for your app will be located so when the rest of

building an update is complete. Then when the user updates their app the changes to the app

should have been made. To get their update on Android they probably need to use “Your app can

6
5040857

use the Google Play Core libraries to support the following UX flows for in-app updates:” (

Developers). Using this tool developers when developing applications for Android could use this

feature to send out updates to users who have their app downloaded. This wraps up this very

important last step of developing an app. Since updating your application they could change

features and redesign the application to want their idea of how the app should be. Finally, with

this, they are able to respond to user feedback they got for their application.

These findings were valuable to the author since they gave him good details and that is

structured almost step by step. Showing him why it takes so long to develop an app. The answer

to what is the process of developing a mobile application. The first step is to create a prototype

of a mobile app using wireframes, or just draw the idea on paper. This way you can get ideas and

understand what needs to be completed. Then start developing by designing the UI and then

programming the application. Programming the application is needed to make the app functional.

During this process, you want to catch any coding errors you have made so they are less of a

problem later on. After you have programmed the app and have a usable product and result. The

developers would want to get user feedback on a mobile application that they have developed so

they can improve their application. With the user feedback incorporated into the application so

they could finally publish their application. After this, they could finally update the application.

Updating the application can be for coding error fixes or to just improve the app. So this is my

answer to what is the process of developing a mobile application. For the author this subject

matters because he thinks it would be a great skill to have in today’s world since knowing how to

make apps is something that could be a valuable skill if done correctly. The author also wants to

expand his knowledge and also learn an interesting new skill. Developing an app would allow

him to think more creatively and maybe learn how to solve solutions to problems. People should

7
5040857

care about this because apps are all around us and we should appreciate those who create them

due to the amount of time and effort needed to create them. Apps also help improve people's

lives. Hopefully from reading this essay you have more understanding that apps go through a

long 5 step process with people developing the need to be able to adapt and learn new skills

based on what device you use.

8
5040857

Work Cited

“Android Play Store Deployment: Ionic Documentation.” Android Play Store

Deployment, Iconic Docs, 2023,

https://ionicframework.com/docs/deployment/play-store.

Böllhoff, Patrick. “Kotlin vs Java: Strengths, Weaknesses and When to Use Which.” Kotlin vs

Java: Strengths, Weaknesses and When to Use Which, K&C, 30 Sept. 2022,

https://kruschecompany.com/kotlin-vs-java/.

Burd, Barry. “How to Create a Publishable APK File for Your Android App.” For Dummies, For

Dummies, 26 Mar. 2016,

https://www.dummies.com/article/technology/programming-web-design/app-developmen

t/how-to-create-a-publishable-apk-file-for-your-android-app-140886/.

Developers, Android. “In-App Updates:Android Developers.” Android Developers, 2023,

https://developer.android.com/guide/playcore/in-app-updates.

Gargenta, Marko. Learning Android. O'Reilly Media, Inc., USA, 2011.

Hryhoryev, Olexandr Personal Interview. 5 March. 2023.

Invonto, Team. “Mobile App Development Process: Step-by-Step Guide for 2022.”Invonto,

Invonto, 21 Apr. 2021,

https://www.invonto.com/insights/mobile-app-development-process/#:~:text=Th

e%20app%20development%20process%20includes,the%20current%20mobile%2

0devices%20market.

JavaTpoint. “Java Keystore - Javatpoint.” Www.javatpoint.com, 2021,

https://www.javatpoint.com/java-keystore.

Piskun, Tanya Personal Interview. 5 March. 2023.

9
5040857

Shiverware. “7 Steps of App Development.” Shiverware Mobile & IoT Solutions, Shiverware

Mobile & IoT Solutions, 2019,

https://shiverware.com/app-development/7-steps-app-development.html.

Sinicki, Adam. “An Introduction to XML for New Android Developers – The Powerful

Markup Language.” Android Authority, Android Authority, 28 Apr. 2020,

https://www.androidauthority.com/introduction-to-xml-968598/.

Strizic, Marko. How to Make a Prototype for Your Mobile App, Decode, 17 Feb. 2023,

https://decode.agency/article/how-to-make-a-prototype/.

Tsen, Vincent. “Step-by-Step Guides to Add Android App Icon.” DEV Community, DEV

Community, 8 Jan. 2023,

https://dev.to/vtsen/step-by-step-guides-to-add-android-app-icon-596l.

“What's Included - Apple Developer Program.” Apple Developer , Apple, 2023,

https://developer.apple.com/programs/whats-included/.

10

You might also like