“You will do foolish things, but do them with enthusiasm.”
― Colette
Hi internatinal friends. How have you been?
Today, let me write again but about my relentless enthusiasm towards Android programming. Since technologies are overtaking my life those days, I can’t stop interacting with them. For example, I build a Linux-based home file server from scratch because of my personal plan to stop relaying on capability-limited cloud storage, such as Dropbox. Also, maybe you can find me writing SQL codes on either OracleDB or Microsoft Access. Simply put, I can’t live without them, and what is amazing about them is the fact that they potentially expand my career opportunities in the future. The more I work on them, the wider my potential opportunities become. So, let’s dive into today’s topic: the 2nd round of my relentless fascination with Android programming.
Ever since the beginning of this year, I’ve been working on building my first ever Android app, and my goal always has been to release it to Google Play Store. It’s been more than eight months, and I’m still working on it. The app was supposed to be completed by the end of July, but as I predicted, its release is delayed. Hopefully, I can finish it up by the end of October, but it also could end up being an optimistic myth.
But still, I pretty much have been enjoying the process of the app building up to this point, and my enthusiasm for building this app never waned so far.
One of the major reasons why this app’s release has been delayed is because of a fundamental flow I found within its database. Here, let me explain. This app, called Power Budget Tracker (PBD) is = as you could have guessed from its name – is not only a budget spending tracker app, but also it allows you to manage all sorts of your finance, including, incomes, bank balances, foreign currency conversion, and many more functions to come. But the problem was how it handled currency’s data type.
Since I’m Japanese and my main currency is the Japanese Yen (JPY), how we calculate our currencies or money, in general, is a bit different from how those in the West calculate their own, such as US Dollars (USD). JPY doesn’t have the concept of Dollars and its subsidiary currency Cents. When it comes to Cents, 100 of them make up a dollar. Regarding JPY, we simply don’t have our equivalent to Dollar because we only have Yen that works exactly as Cents in the US. So, 1 Dollar equals to 100 Yen (Almost! Because of the recent weak Yen, it’s actually becoming 144 Yen, yikes!!).
So, the point is that we calculate our currencies almost always in Integer format, while Americans in decimal. And my app’s fundamental problem was the undeniable fact that it handled currencies in integers all thanks to my Japanese way of thinking. But when I came to the realization that other major western currencies are handled by decimal numbers, I instantly started building a new database that handles currencies in decimal and replacing old activities and fragments with new ones.
Build. Destroy, Re-Build. Basically, this is the process I’ve been through during the past three months. The re-building process actually didn’t take so much time, and now I’m working on building completely new functions that didn’t exist in the old system, such as API-enabled currency exchange rate calculations and many other ones that could appeal to power users.
The entire process of the app building has been quite similar to that of the never-ending construction of Sagrada Familia. With the arrival of new capabilities, such as the aforementioned currency-exchange-rate API, I can infuse new breath into the app, and this never-ending cycle fule my programming enthusiasms. I can’t stop coming up with new ideas once I start thinking about them. Data manipulation through SQL queries and API currency-exchange transactions let me enjoy my coding experiences on the playground. Especially, my appeal and enthusiasm for power users who might use my app in the future may have contributed to the app’s delay in its release.
Finally, I love things that logically make sense. When I do programming, everything has to make sense to let the whole mechanical process work to achieve my goal. When it comes to logical thinking, Android programming is my Disneyland where I can experiment with all sorts of features and data manipulation/automation with my codes. Android has never ceased to amaze me, and I will probably be a loyal and hardcore Google fanboy forever.
Happy coding!!