Save Your Time
I wasted hundreds of hours messing with apps without a good plan. And I don't want you to waste it too. If you are a beginner, you can save some time using my experience. Few minutes of reading for few hour? That's a good deal. You can create an app on purpose or decide to "figure it out later". Later... Later, you will realize that your foundation is a mess and you have to refactor everything to make a change. Even small change. I know that it's your first app that doesn't have to be next WhatsApp but it's going to do something. No matter what it's going to do, it should do it right!
But Planning Takes Time...
Knowing Your Skills
How Should Plan Look Like?
I don't know how it should look like but I know how my first working app plan looked like. And it worked well. I recommend writing a plan for example on Evernote. Then you can download their app and use the widget as wallpaper. I will show you my simple MyWins plan that I wrote in 30min.
- What app is going to do? Main purpose.
- Who may use this app?
- Why would somebody use it?
- My Wins will allow you to store your successes.
- People that want to make a difference in their life and work harder.
- You can read about your wins in the morning to stay motivated and believe in yourself.
Data Types And Storage
- What data will it store?
- Will app store it online or offline?
- Which database engine I will use?
- DB tables and columns?
- It will store a lot of wins that contain: title, category, importance, start date, end date, description, and photos.
- Offline in a database. When it comes to photos, I will store them in memory and keep paths to them in DB table. It will work faster.
- SQLite because it's simple and enough
- Two tables: Success table that stores: success_id, title, category, importance, date started, date ended, description. Photos table that stores: photo_id, success_id, file path.
- What main intents will it need?
- Any additional ones?
- Will I use FABs?
- What do I want to store in app bar?
- Will app bar change in every intent?
- Main Activity, Insert Success Popup, Show Success, Edit Success, Show Photo
- Set Date, Edit Description, Edit Importance
- Yes, I want Main Activity FAB to expand categories. I could click on one and it will open Insert Success Popup. Once I show success, I want to click FAB to edit it, and then save it.
- Search bar icon that is shown if there is enough space. And hidden sort success options.
- No. I will show all options only in Main Activity.
Now I'm able to design this app. It took me only one hour to plan it and now I can save some time. Of course, there may be few changes but for sure not so significant. Next thing I would do now is a sketch of how it should look like. Do it or skip and go straight to design tool if you already know how app should look like. If you want to learn how to make simple but still good looking design go to Simple App Design: Picking Colors, Icons and Figma 1/3!