Week 11 (September 1 - 15): Publishing?
How do you publish apps?
This week I’m learning how to publish my app onto the Google Play store as well as the Apple Store. First I’m focusing on Google Play.
After quick Google searches, I discovered I need to use the website ‘Google Play Console’, a platform for Android developers to post their application, test it, and manage publication to the Google Play Store. I also found a starters guide for the Console platform called ‘Play Console Help’. This help page is created by Google to help new developers upload their apps onto Android
By following the steps above, I was able to add my app onto Google Play Console page!
Next, I realized that since November 13, 2023, new Google Play Console accounts need to meet certain testing requirements before they are allowed to upload their app onto Google Play.
I followed Google’s help page to their testing page for new developer accounts to read the requirements, as well as how testing worked.
I learned that first, I would have to go through a ‘Closed Testing’ phase for my app. This involves publishing a private version of my app onto the Google Play store, and gather at least 20 testers to download and test my application for 2 weeks. Once this had been completed, then I could apply for Production, and if my app meets Google’s guidelines, I’ll be able to upload a public version of my app onto the app store.
However, I face a problem as I don’t have 20 friends and family that have Android phones that can test my app, since most people in my inner circle use Apple phones.
Faced with this unique roadblock, I researched online to see if other small developers faced this problem, and if there was a solution to get testers for free or cheap cost.
Testing
That’s when I found a video created by a community of small developers advertising an app that they built to support developers that face this issue.
In this video, I learned how this testing community worked. Essentially, once you had enough credits, one could upload their app onto the Testers Community app, and developers using this app could download and test your app. When you test an app that is published on Testers Community, you’ll get credits. Once you’ve tested three apps uploaded from other developers, you would have enough credits to upload your app onto Testers Community once.
After watching this video and understanding how the Testing Community system worked, I realized that this was a viable way I could get testers onto my app for no cost at all.
However before I could start testing, first I had to finish developing the last functionalities my application needed
Final Touches
I want to add 2 more functionalities to my app before making my app available for testing: a floorplan design screen, as well as a notifications screen (useful when I want to send notifications to users) and profile screen.
First, to design a screen where users could drag and drop furniture onto a layout to create designs, I searched for apps with similar functionalities for inspiration. I came across an app with a function similar to my idea, called Floor Plan Creator.
I downloaded Floor Plan Creator and spent 30 minutes playing around with the app. The primary way Floor Plan Creator lets the user design floorplans is by dragging and dropping furniture from a top-down view onto a layout. I was able to enlarge, minimize, and rotate furniture pieces that I added to my layout.
By investigating Floor Plan Designer, I was able to brainstorm the fundamental actions my user should be able to perform when designing a floorplan. The user should be able to:
Add furniture pieces to their floorplan, sorted in categories.
Increase or decrease the size of items.
Move objects around in their layout.
Rotate furniture pieces any number of times once added to their design.
I also made a list of the furniture I wanted to include for the user to be able to add their layouts:
Plant
Lamp
Rug
Chair
Bed
Closet
Shower
Toilet
Sink
Stove
Oven
Fridge
Kitchen sink
Next, using Google Drawings, I created all of these furniture pieces as .png images so eventually I could save them inside my app for the user to drag onto their floorplans.
Now that I have created the png files of each furniture item, the next step is to develop a screen to design a floorplan. I’m allowing the user to design one room at a time, so each new layout will represent a single room. Therefore I’ve decided to let the user drag and drop these png images onto a square floor. I’m also adding the increase and decrease size of the furniture as ‘plus’ and ‘minus’ signs, which I’ve coded to expand the image dimensions. I’ve also added a button to rotate an image 45 degrees clockwise with each press of the button, by coding each button press to rotate the image right 45 degrees. I’m also adding a delete button in case the user wants to delete any furniture they’ve added accidentally.
Similarly to other floorplan design applications, I am grouping these objects into categories. I’ve chosen 4 categories: General, Bedroom, Kitchen, Washroom. I’ve chosen these 4 categories as these are the most common rooms in a house.
General:
Lamp
Rug
Chair
Bedroom:
Bed
Closet
Kitchen:
Stove
Oven
Fridge
Kitchen Sink
Washroom:
Shower
Toilet
Sink
Now when a user is creating a new layout, they are able to click ‘Add’ which will display these 4 categories, as well as the images in these categories. Once they click on one of the items, a new object corresponding to that item will be created onto the floorplan using the png images I have created, and the user will be able to drag it around and interact with it. Here I show a demo of this functionality:
I’ve also added ‘Reset’, ‘Download’, and ‘Save’ buttons that the user can use to save and share their floorplan designs.
Next, I’m adding a notification screen to allow me to communicate to users for example about update logs, or other important information affecting the app. To do this, I created my own custom app that I can type notifications from, and individual notifications would show up on the notifications screen.
I also worked on a website explaining how to use Dream Decor, the purpose behind creating it, and what Dream Decor provides to users. This is needed for uploading onto the Google Play Store, as they require a help website that users can go to if they need to contact a support team, or learn more about our application. Google Play Console requires me to include a help website that includes ways to contact the developers (me), terms and conditions, and ‘About Us’ page, as well as a place to provide feedback. I developed a help page including all this information that you can visit below:
https://ai-dream-decor.web.app/
I’m including this help website on the ‘My Account’ screen in the Dream Decor app. I’m also including other important things such as a place where the user can ‘Buy Premium’ to unlock unlimited uses of the AI Chat feature, as well as enjoying an ad-free experience on the app. Any users would also be able to rate the app on the ‘My Account’ screen. I have done this by connecting the app link that Google Play Console has assigned to my app to a ‘Rate Us’ button so that it will send users to the Google Play Rate Us screen.
I’ve finally finished all the functionalities that I wanted to include in my app. There are still things to tweak, but I can start uploading my app to testing on Google Play Console to get feedback, and eventually apply for production!
Public Testing
It’s finally time to make use of the Community Testing app that I found online. In my settings I had to make my app available to every country, as well as copying the “app web link” to be able to share my app through the community testing application. Next, on Community Testing app, I created a post on their app by submitting my app’s information such as app name, developer name, and app web link, as well as my apps logo. This is what that looked like:
Once I uploaded my app, I saw it was in the public space for apps
Within 1 day of uploading my app onto Community Testing, I already reached 12 testers opted in! I just needed to continue my closed testing for 2 more weeks, and then I’ll have reached the requirements to publish my app to the Google Play store!
Next Steps
Next week I’ll be attempting to publish my app onto the Play Store, as well as investigating how to do the same for Apple.