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 an app for a drone.
R: How many screens do I need?
Me: I haven't done it before, but it's a great idea. We can discuss it.
Me: The number of screens is not important. What matters is the communication between the two.
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. 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 send them to me for discussion.
R: I have assignments... Are you a developer?
Me: Yes, I am. What is your major?
R: Network engineering.
....
PS: One month later
R: Hello, are you busy?
Me: I'm here.
R: Do you know Java Web?
Me: I have some knowledge, but not much (embarrassed).
Me: Are you a student or working?
R: I'm not working.
R: I finished that drone app we talked about last time.
R: Thank you so much.
Me: (Thumbs up)
Me: Let me download and try it out.
R: (Sends installation package)
Me: (Installs and runs it, and finds that it's really well done, with screenshots of it running)
Me: Yeah, it's well done. You have good 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 is 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 records, 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 he had finished the drone app 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 achieve dreams.
After completing this app, R will start learning Java Web. Actually, this learning method is quite good. It is goal-oriented and actively learns relevant knowledge to solve problems, rather than starting from scratch and learning every single knowledge point just to make an app. This goal-oriented learning method can prevent getting stuck and, at the same time, because the goal is achieved quickly, it generates enough internal drive. 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 practical problems.