Challenge: Plan the App
Challenge yourself to come up with the steps required to build the Bull’s Eye app.
I know what you might be thinking right now…you just started the course and I’m already giving you a challenge, right? Well not to worry this is just a thought challenge.
In this course, we’re going to be building a simple game called Bullseye. The game gives the player a random target value to aim for from 1 to 100. The closer the player moves the slider to the target value, the higher the point the player gets. And the player’s score is dispalyed on a popup dialog.
Your challenge for this episode is to take a look at the screenshot of the app and think of the steps needed to build this game. You could do this on a piece of paper so there’s really no need for big tech.
While doing this, split your list into two parts: “Must haves” and “Nice to Haves”
The must haves list should have the bare minimum functionality in order to ship the app. This is called a Minimum Viable Product or MVP for shorth. The features on this list should have everything to make the game playable.
While the second list the “Nice to Haves” should contain things like styling, extra cool features like the ability to play multiple rounds or restart the game.
And the advantage of this exercise to teach you how to think of solving a problem by first figuring out what you want to do before thinking of how you want to do it.
Alright!!! Go ahead and make a list of steps you’ll take to build this game. Goodluck.
How did your todo list turn out?
Now, before you say your list is right or wrong. There’s really no ultimate correct answer to this. People do stuff differently and that’s okay as long as you achieve the intended goal. So, as long as you come up with a plan then that’s fine.
For my programming todo list, I took the task of creating the game and then I cut it into small chunks. Breaking programming tasks into smaller chunks or tasks helps tackle problems better because it helps you find a clearer path to solve a problem.
Okay, here’s what my programming todo list looks like:
- Add an instruction label
- Add a target label
- Add a slider and make it go between the values 1 and 100
- Add a “Hit me” Button
- Make the Target Text Bigger
- Show a popup when the player taps the “Hit Me” Button
- Read the value of the slider after the player taps the “Hit Me” button
- Generate a random number for the target value, and
- Calculate and display the score
If we finish the items on this list then we can have a Minimum Viable Product popularly known as a MVP. It may not be pretty like an app you’ll get on Play store but at least you can play the game. We will check off the items in this todo list in this course.
To take the app from an MVP to a polished app, here’s what my “Nice to Haves” list looks like:
- Implement multiple rounds
- Implement restarting the game
- Make the app look pretty, and
- Add an About screen
This nice to haves list will be implemented in the follow up course, Your First Kotlin Android App: Polish the App. Now we have a plan for what we’re going to be doing, its time to setup a project in android studio.