QUESTION

Select a mobile application of your choice from F-Droid ( https://f-droid.org/ ), a popular source repository for mobile applications. Your report should be formatted such that you could submit it to a high-quality computing magazine or research venue. For the assignment, complete the following:

1) Find an existing project on F-Droid.
2) Briefly describe why you chose this application.
3) List and summarize what can be learned from examining the project’s repository.
4) Determine interesting observations your readers can make.
5) Using this information, explain any challenges that you believe the developers needed to overcome.

Conclude by identifying which venue you would submit your report to and explain why.
You should also provide details about how the document should be submitted, including a URL.

ANSWER

FindMyDevice report.

Smartphones have been in the market for such a long time. Their prices continue to be
very high. It is because of the friendly and excellent features they do have. Many desire to have
these beautiful phones but cannot manage the prices for these devices. They, therefore, resolve to
steal from others to enjoy the devices without sacrificing to buy. They, at times, end up with the
devices. The people who have suffered the loss from the theft lose so many things. The massive
data they have stored for years is of high value that one cannot estimate. Some technologies are
in place to help retrieve the phones. However, some are very expensive for these victims to add
to the pain they do face. The paper discusses the mobile app named "FindMyDevice" that uses
the SMS to retrieve the device whenever stolen.

Reasons for choosing to Find my device application

In the digital world that we live in, the smartphone plays an integral part. Companies use
mobile phones for the effective running of their business. It is tough to find a company that does
not use smartphones for its operations. However, the high theft that exists in the world today
means that many employees endure much suffering when they lose their phones (Cipriani, 2020) .
They become disconnected from their respective work places. The disconnect comes with much
fear. In case the employer is not understanding, this can lead to loss of employment, which is a
double tragedy.
Apart from the connection that one loses, they also lose the data in their phone. The data
lost can be of the high cost. The person loses his data. The can data include his/her photos. The
photos can serve as reminders of times in the past (Cipriani, 2020) .

3
In most cases people it pains for many to lose these vital photos. The music that may
have cost the owner of the phone much money is also lost. If you think about retrieving it, you
become frustrated since there are no elaborate ways of getting the data unless the owner did
backups in the cloud. Another loss is the data from the company. Some companies invest much
in mobile devices for data collection and operations (Howarth, 2017) . Therefore, such a loss
would mean data worked that took days for collection is lost in twinkle of an eye. It is just costly.
Research shows that around 7 million phones are lost yearly. The lost is in a mobile
phone of theft or misplaced and can never be retrieved. The study also shows that 80 percent of
stolen/ lost phones do happen at the workplaces (Howarth, 2017) . The reason for this is that
many people trust their workplaces. They can therefore leave their phones at the desk and even
go for lunch without worry. This sense of over security at the workplace is what contributes to
such a high percentage. Many believe that they can easily retrieve their phone at the workplace
since they know all the workers. However, the thieves take advantage of this and use the little
opportunity to steal from them. The retrieval, in most cases, does not bear fruits. They become
frustrated, and this would cause struggles at the workplace. The research also shows that of all
the phones lost, only 7.3 percent are retrieved. The value is too low, yet the cost for lost data is
approximately $876,238. The most significant concern is why the retrieved number is minimal,
yet we are in a digital environment with massive digital solutions (Howarth, 2017) .
Retrieving a lost phone is not an easy task generally. Many have resort to using different
methods to ensure that their phone security at all times. The first method that is in place is the
use of locks. The locks vary from pin entry, passwords, patterns, face recognition, and
fingerprint scanning. These methods aim to ensure that if the phone is stolen, one does not
unlawfully access the phone's data. However, the thieves have countered this by using other

4
methodologies. One method commonly used is formatting the device. The deletes all the data on
the mobile device and enhances one to start afresh. The idea worsens the situation as one could
not retrieve their data even if they get their instruments back. To retrieve the phone, in most
cases, one has to report the matter to security. After registering the issue, the security officers can
use the trackers installed to trace back the device. The trackers come with a cost that the device
users have to endure. The security officers, in most cases, charge some high fees to help one
retrieve their devices. Such expense, in most cases, makes many back up and resort to buying
new ones since the price may be higher or equal to the cost of buying (Dragan, 2018) .
The proposed find my device app will help in increasing the number of phones retrieved
yearly. The app uses SMS to retrieve the devices easily. The owner of the phone uses another
device to send an SMS to the phone. The SMS is tracked to the device upon delivery. However,
the app does not entirely rely on the device's activeness. Even if the device is off, tracking can
still be done. The possibility of this is the use of the SIM cards that are trackable by the SMS.
With this application, one can trace the phone without involving third parties with the cost. It
uses the GPS to track phone location. The idea that looked very simple motivated me to choose
this app to get to know more about it. I believe in the underlying problems associated with phone
theft, as discussed above. The app can be of great importance worldwide as it will help curb this
problem and help as many as possible retrieve their phones in due time. It would also help lower
the retrieval cost as many escape data losses are associated with theft and mobile devices' loss. It
also takes a short time to retrieve the device. It will help to ensure that the lost connection is
regained faster.
List and summarize lessons learned from examining the project's repository.

5

There are many things that any person can learn about a project from a project
respiratory. Here are some of the key lesson that is learnable by all
Project development is a process.
From the respiratory, it is evident that developing an application takes time. In the
respiratory, it is observable that the app development began three months ago since the first
commit took place that time. From observation, the app development is indeed incomplete. The
idea makes one understand software development is not an event but a process that needs
constant effort to achieve the desired goals. It also brings a concept of patience when developing
any application. It is very vital for the production of the best applications.

Project management

Project management and version control is a vital component in the development of any
app. It helps the developers to complete the app in phases. It enables the development by
splitting the project into small branches that the developer works on them effectively. The
method enables the developers to work on a given branch of the application intensively and fully
develop it before publishing. The process continues for all the branches until every branch
completion takes place effectively. Therefore, the project can be public as versions. And any
upgrade leads to a new version of the production. Therefore, maintaining the project becomes so
easy with the respiratory as observed in the project (Hogan, 2019) .
Another aspect of project maintenance is the follow-up on the development process. The
use of the commit messages as exploited by the application helps one to follow the development
process. Whenever any update on the code occurs, a relevant commit message appended to the
code is to be written by the developers. With this, it is easy to maintain the code. In addition to

6
this, the developer can track the development record. The attribute is very important for
debugging the project and removing all the flaws present in the app. For example, if there is a
functionality that does not work properly, one can trace the time when the commit took place and
retrieve the changes that cause the malfunction and update the code appropriately. It would take
less time to do than going through all the lines of code. That would be tiresome and make the
development process hectic for the developers.
Teamwork

Teamwork is a concept that is important in software development. The writer of the
application allows any developer to help him in the development process. Therefore, any person
could contribute to the development of this app. The idea helps the developers to share their
ideas on a given application and enhance the development process. It brings the concept of team
building for any software application development. Teamwork is also effective for faster
application development. If a single person is developing an app, it will take him/her much time
and effort to complete it. Teamwork enhances the development speed by allowing each
developer to work on a given sector of the app, complete it, and deliver to the lead developer,
who publishes it after ensuring that all the development standards are up to date.

Writing readable code

When one reads the developer's code, it is evident that the developer ensured that the
code is readable. The readability enhances understanding of the code line after line. The concept
plays an integral part in any software development. If the code is not readable, other developers
will find it hard to read and understand it. It would make development impossible as no other
developer would feel free to assist in the code they don't understand at all. It is, therefore, vital

7
for any developer to write clean, readable code. It will help the developer and make it easy to
bring other developers on board for development. Therefore, all the concepts for writing readable
codes like proper spacing, use of code blocks, and others must be adhered to during the
development phase. Readably code also look beautiful and attractive. They make one have the
morale needed for software development, which is different when it is dirty and unreadable.

Interesting observations your readers can make.

Reading is one of the skills that almost every person has. During the process, some ideas
about the writer come to mind. Here are some of the very interesting observation one can make
while reading through the report.

How amazing this application would be

From the report, any reader can imagine the application. It brings a vivid picture to the
mind of how simple the app would be. It does not stop there as the reader is amazed at the
functionality of the app. It is interesting to note with the hectic time the apps for tracking phone
take, which would deliver the same scope within a very short time using just a simple text
message.

What can be incorporated in the application to achieve the outcome
One thing that comes to mind too is the tools needed to ensure that the app works
effectively. The reader's mind must get jiggled a little with how text helps track the phone and
develop an interest in the tools and development language used to develop the app.

What would be the requirement for the app?

8
The reader's mind would move to inquire what the system requirements would be to
install the application. With the vital information shared in this article, one would long see this
app after its full development. There would be a longing feeling for the reader as they would
wish to end the problem of lost phones. The longing would make the app get more market from
the reader. Therefore, if the development takes place effectively, it would reach a big market
share.

Challenges that you believe the developers needed to overcome.
The software development process faces many challenges in general. Here are some of
the problems the developer might have encountered
the developer does not understand the user.
The user forms an integral part of any application development. The developer must
understand the target user for the application under development. The users have their way of
thinking about how the software should work. Their thinking might differ from the thought of the
developer. Therefore, the developer could, in the end, develop the app to the end only to get
disappointed that the user feels that the application is not easy to use. In this scenario, the
developer `has to go back and start over the whole process. The endeavor is discouraging and
causes the developers to quit the process of application development or retard the process. Agile
development helps solve this. However, for this app, it was the developer's idea, and it seems he
only implemented the idea without considering the user experience in every step. It brought a
challenge in the end after development.
The end-users are the ones who will use the product under development. Users always
know the task to be performed but are never bothered to learn the features that help accomplish

9
that task. It was the developer's task to figure out how the task of developing an app that finds a
stolen phone using a text message. The developer had to look for project designers that have
experience with the end-user experience. The principal aim for this is to ensure that the project
developed has a friendly user face that will enhance the delivery of the right product. The
process would require some funds that could be a challenge for the developer.
Testing the product is an aspect that needs application. By testing the product, it would
help the developer to know the thoughts of the end-users. These thoughts are vital in
development as they would enhance changes that reflect users' demand for the system. However,
this poses a challenge to most of the developers. Some users might not be willing to help the
developer as they may render the application of no importance. Some might give wrong
feedback to make sure that the product development retardation happens. Such behaviors make it
difficult for software developers to develop the right product for the market.

Debugging

Programming at a time is so tiresome. Quality assurance is used to verify if the
application contains some bugs. An example of a scenario that the developer might have
undergone is illustrated below.
The developer might have taken weeks and months to develop the app in focus. And if
the application to quality assurance, several bugs in his application are provided. During the
development phase, it is difficult to identify the bugs leave alone sorting them. In this scenario,
the programmer may feel frustrated because he/she must go over the code line by line. The
practice is always time-consuming and tiresome. Some means are in place to ensure that the bugs

10
are minimized during development. However, the bugs continue to be one of the most significant
challenges developers face (Thakkar, 2017) .

Keeping up with Technology

Technology continues to change with time. The program that might be in use in the past
five years may never be in use. Therefore, the programmers must be up to date with the latest
technology. It poses a challenge to and developers as they have to read the new technologies.
After studying the latest technology, the developer must update the program to ensure it is
relevant to the newest technology. Therefore, the development is in constant study daily to
ensure that his technocrat is relevant to the world's technology (Thakkar, 2017) .
The studies come with a cost. For one to learn the technology, the developer must go
through many tutorials. The tutors are, in most cases, paid to deliver the services. With the
changing tech, the cost is continuous, which becomes a challenge for many to be up to date.

Time estimation challenge

Most developers find it hard to develop a schedule that they can meet during the
development period. The challenges associated with codding in most cases make working with a
schedule challenging. For example, the developer might have a schedule to complete a given part
of the application within a given period. After working for the entire period, he/she may realize
that the application is not working as required. Therefore, it will force him to restart the whole
process. Such restart will almost take the same time as the time that he/she took prior. The
technique poses a significant challenge for the developers when they need to work with strict
deadlines. In most cases, the developers don't meet those deadlines.

Sitting for hours

11
Software development is a thorough process. It takes a long period to develop. Therefore,
programmers have to endure long periods of sitting down for the development process. The long
periods cause pains in different body parts such as the legs, the neck, and back. It may cause
deformation in the long run.
Most studies show that sitting for a prolonged time has adverse effects on health. It may
cause cardiovascular diseases and obesity. Another consequence is tiresome legs since the legs
stay in a given position for a more extended period. The developer for this application might be
facing these health problems which could affect him/her for years (Thakkar, 2017) .

Adapting to the Latest Market Trends.

The global market continues to grow with time. New inventions come to the market daily. In the
past, most applications run on the desktop. As time goes, today the most application run on the
mobile platform. The question that concerns developers is how to keep your app in this vast
market that continues to grow with many new applications being developed daily. There are so
many efforts to curb this, yet it still poses a challenge to all the developers (Thakkar, 2017) .

Design Influences

Apart from the developer, many other stakeholders influence the development process.
There are internal and external factors that have a more substantial influence on this process. An
example of these factors is an application that is already in use. The application makes the
developer to developer to design something close to the applications in place. The idea is to
maintain the consistency of applications. The feeling helps easy useability of the app as the
developer supports standard interfaces in the world. It poses a challenge in that the developer
needs to compare different designs to ensure they are compatible with the classic designs. So the

12
programmer need not give his/her unique design that he/she may be well conversant with and is
forced to use the typical scenario (Thakkar, 2017) .

System & Application Integration

Integrating applications into any operating system is not an easy task. Any system
operates differently. Therefore, the developer has an extreme task to ensure that the app can be
integrated into the world's major mobile operating systems. The process is tedious to the
developer. He/ she can be forced to deliver different setups for each operating system. And this
will take time for its achievement.

Conclusion

The app under development can play a crucial part in the industry. Without a doubt, theft
relating to mobile is adamant in the world today. The developer had a great aim to achieve in this
app. With the information provided in this report, it is of great necessity that the app should be
fully developed. If the development implements all the required parameters for the app to
perform effectively, it would be one of the best apps to curb phone stealing.
The report needs to be in the public domain. Therefore, the information submission is to
the research gate site. The reason for selecting this site is that it has over 19 million members
with over 135 million publications. The idea is to reach as many people as possible to ensure that
the app becomes popular and curb this problem that continues to grow. The other reason for this
choice is the ease of submitting a report that the site has, making it a reliable way. The URL for
the report submission company is https://www.researchgate.net/.