This article is part 2 of my blog series on how to create and build your native GNOME app. If you are missing the previous part, please click here.
In this second part, I will write about the ideation phase. If you already have a good idea and mockups, you can skip this part.
Define the problem that you want to solve
Basically, software is a tool to solve certain kind of problem, right? You don’t have to thinking about a good one to start with, especially if you are still learning on how to create an app. I will use my existing app (CubeTimer) as an example. The rest of the tutorial/blog series will stick to this example.
So this is the problem that I have before: there is no stopwatch app in Linux environment that behave like StackMat timer. StackMat timer is a device that used to measure time in official Stack Speeds and twist puzzle competition. The Stackmat work by touching your hand to the pad, once you raise your hand, the timer will start to counting. It will stop if you touch the pad again.
Define the basic function (and/or feature) to solve the problem
Based on the problem, I want my app have this functions at the minimum:
- To measure time with Stackmat behaviour
- To generate random notation to scramble the cube
- To record the last three attempts of the solving
Transform the functions/features to visible UI design
Once you have the basic function of your app, it’s time to draw some wireframe or mockup. You can use any software you like. Figma, Excalidraw, anything that works for you. The main goal here is to have a visual reference while you are developing the app.
Here is my wireframe that I designed by using Excalidraw: