Today I will describe for new developers what I did and learned in the short time I registered as a developer and released 7 Android apps. Please use this as a reference when developing and releasing apps in the future.
- Motivation
- The First Policies and Goals
- What I did
- Issues unresolved
- Issues resolved
- Paid services
- Lastly thank you for reading this article
Motivation
I wanted to challenge myself and see what I could do as an individual, so I registered as a developer at the end of last year. I have experience in development itself, but I have never had the experience to think about something from the beginning, create it by myself, and then have it used widely. I started this project with the hope of gaining such experience.
The First Policies and Goals
One of my policies was to first create as many apps as possible to decide how to proceed in the future. I knew that being successful in app development was not an easy task and that I needed a lot of experience to figure out what to do. Therefore, I decided that my first goal was to release 30 apps.
Another part of my policy was to spend as little money as possible. More precisely, I will be very selective about the services I spend money on. Paying money will certainly make things easier, but there is no guarantee that the apps I create will make money. I decided that I should be strict.
What I did
Determine the axis of technology
First, I decided on an axis of technology. Learning many technologies is important, but learning also takes time. In my case, I have a limited amount of time to devote to development, which is a hobby separate from my main job. Therefore, I decided that technology is a means to an end and that I would do my best to stay away from alternative methods. In my case, I decided to focus on kotin because I originally had experience with it, and although I was interested in flutter, flutter flow, etc., I excluded them from my scope.
Write down everything that comes to mind.
Before deciding what to create, I came up with ideas, including specific and niche situations, and who was in need and under what circumstances. I tried to think about what I wanted to create on a daily basis, without being conscious of what I wanted to create. This was to find a territory where I could make the most of myself among the many developers out there. For example, even if you think, “I want to make a memo app that suits me,” there are many memo apps out there, and unless it is very good or has special features, it is difficult to differentiate it. Therefore, I tried to look for ideas without considering my own point of view. Specifically, I saw a news report on TV about damage caused by bears, and although I do not climb mountains, I thought that a bear repellent app for climbers could be easily implemented and used by some people.
Decide what you want to gain from each application
I also needed to increase what I could do technically for the future. As I built the apps, I identified what I needed to gain in the technology necessary to achieve the functionality that went along with the apps. For example, learning how to use RealtimeDataBase to record scores for a game app, etc. At this point, I try to make sure that the technology I learn is as versatile as possible. It may be easier to create something better with a dedicated service, but I wanted to prioritize the ability to use it in other apps as well.
Commonality
When creating an app, I kept the basic structure the same and as simple as possible. I also implemented the classes that could be used in other apps in the base class so that they could be used interchangeably. I decided to prepare a separate project to manage the base part, although I did not manage it so well as to make it a library or a subproject. Whenever a certain amount of common code is finalized, it is reflected in that project, and when a new application is created, a new project is started based on that project. I decided to manage not only the logic of common parts, but also terminology files for terms that could be used over and over again. This made it less time-consuming to launch new apps as development progressed.
Don't be too particular
With the exception of security and other areas that must be kept in check, I made a conscious effort not to spend too much time fixing any areas that I had some concerns about. In the end, I should be concerned about details, but I can fix things that can be fixed later, unless they are too annoying. There is so much to do that getting caught up in the details will prevent me from finishing the whole job. New developers should be willing to put their priority on getting the product out there, even if it doesn't look cool.
Actively work on non-development tasks
I was not aware of this before releasing the app, but getting users to use the app is more difficult than making the app. I made sure to actively do everything I could think of, including advertising and launching a website, even if I had never done it before.
Issues unresolved
UI/UX
This is a matter of personal skill. I don't have a good sense of design and tend to put it off in favor of what works for now. I feel that it is necessary to create a set pattern in my mind as soon as possible because it leads to not only a bad look but also difficulty in use.
Promotion
I am trying to do a lot of different things, but I don't know what the right answer is. It seems like none of them are producing results, and it is hard to feel that I am making progress. Perhaps the most reliable way is to promote steadily through blogs and other media that can accumulate results.
Issues resolved
Closed Testing
This includes promoting my app. New developers are required to gather 20 testers due to Google policy changes. When I had the experience of looking around for developers to do testing for the first time when I launched my first app, I couldn't do this every time.So I decided to stop making other apps and make an app for closed testing.The details are described in other article. Fortunately, many developers used that app and I was able to gather testers for the other 5 apps I created using that app.
Paid services
Server to set up the site
I signed up for a free server because it was inexpensive and I was limited in what I could do with it. But to be honest, I think it would have been better to do it later. In the end, a dedicated service is better for SEO and searchability, and I should have waited until I had a good foundation before I made the switch.
ChatGPT
I signed up for ChatGPT for the purpose of developing an application using their API and to improve my work efficiency. It is a bit expensive, but this was definitely a good sign-up. It makes a world of difference between being able to use GPT4 and not in terms of work efficiency. Without it, there are many features that I would have given up making because I would not have been able to fully investigate them. I feel that the efficiency of not only the implementation but also the work in general has increased greatly. It is also great to be able to use GPT4 not only for development, but for everyday research as well.
Learning
As a new developer, I felt that the most important thing is to have the energy to try things out first, rather than the technical skills. Whether it is putting out an app or promoting it, it is not written in a reference book, and I first understood it by getting started. And it takes a lot of mental energy to do the work when you are not used to it. But when I tried it, I could manage it, and gradually I got used to it. It is probably best to start with the idea that you can handle it, rather than worrying about it.
Lastly, thank you for reading this article.
Thank you for reading this article. I hope this article has inspired you to try something new.
Top comments (0)