Today I'm sharing a little story about execution. This article is not related to technology, but rather about learning methods. Maybe after reading it, you can also create an app to control a drone. Let's start with a few screenshots to give you an idea of the control interface and the flight screen:
Now let's take a look at our conversation:
R: Hey, can I ask you a question?
Me: I'm not an expert, but we can exchange ideas.
R: Do you have some free time now?
Me: Can you just send me the question directly? I'll see if I can help.
R: I have a few questions.
R: I want to create a drone app.
R: How many screens do I need?
Me: I haven't done it before, but it sounds like a great idea. We can discuss it.
Me: The number of screens is not important. What matters is the communication between the app and the drone.
Me: As for the number of screens, it depends on your design. It can be more or less.
...
R: The main problem is that I haven't learned programming before, so I don't know where to start.
Me: If it's a hobby, you can learn it after work. If you encounter any problems, you can ask me for help.
R: I have assignments... Are you a developer?
Me: Yes, I am. What is your major?
R: Network engineering.
...
PS: One month later
R: Hey, are you busy?
Me: I'm here.
R: Do you know Java Web?
Me: I have some knowledge, but I'm not very good at it (embarrassed).
Me: Are you a student or do you work?
R: I'm not working.
R: I finished that drone app you mentioned last time.
R: Thank you so much.
Me: (Thumbs up)
Me: Let me download and try it.
R: (Installation package)
Me: (Installed and ran it, and found that it was really well done. There are screenshots of it running.)
Me: Yeah, it's well done. You have great execution. I thought you were just talking casually at first.
R: (Modestly) Now I'm going to learn Java Web.
...
Going back to the question of creating a drone control app, R wanted to use a drone kit to assemble a drone and then write an app to control its flight and perspective. The communication between the app and the drone was done through Bluetooth. R spent about a month on it, and at the beginning, he didn't even know how to connect his phone to Android Studio. The final result was still good. If you were given the same resources and time, could you accomplish it?
As mentioned in the chat record, I think the most difficult part of making this app is the communication between the drone and the app. It wasn't until a month later when R messaged me saying that the drone app was finished that I realized that the most difficult part of any problem that can be solved with technology is not the problem itself, but rather the perseverance to overcome known difficulties and the determination to pursue dreams.
After completing this app, R will start learning Java Web. This learning method is actually quite good. It is goal-oriented and actively seeks relevant knowledge to solve problems, rather than starting from scratch and learning every single concept just to make an app. This goal-oriented learning approach can prevent getting stuck and, at the same time, because the goal is quickly achieved, it generates enough intrinsic motivation. In the workplace, work takes up one-third of the day, which means it takes up a significant portion of our energy throughout the year. Therefore, it is important to learn in order to solve real problems.