The Yoruba tone marking web application - My first completed pet project
Last night represents a major milestone in my life. Right now, I feel like a new father, and rightfully so.
At the start of every year since 2015 (two years after I started programming professionally), it has been a resolution to make something useful on my time and just put it out there on the internet. I felt (and still feel) indebted to the world every day, because a lot of things that make life easy for me were created from the sweat of strangers who owe me nothing. Well. It did not happen in 2015, neither did it happen in 2016. Not like I did not have ideas, not like I did not start work on some ideas a couple of times. I did. But largely due to a lack of skill in following through on challenging personal goals, I did not as much as get close to completing anything. Constant awareness of this ineffectiveness of mine is something I have had to live with every day for years on end; a major source of unhappiness.
About three weeks ago, I was writing an article (probably for this blog) and at some point, I included a Yoruba sentence in the article. The perfectionist in me wanted to tone mark that sentence, so I quickly searched Google to see if there was a simple web app which I could use to achieve this. After about ten minutes of permutating "add intonation/tone marks to Yoruba text" in my search queries, I gave up. In all the searching, the closest I saw to a solution for my problem was this online Yoruba keyboard which I could not figure out how to use to achieve my purpose. The only other option was to download a Yoruba keyboard to my PC. Of course, I thought that would be an overkill since I am not a regular creator of written Yoruba content. I gave up and left my Yoruba sentence without tone marks.
The seed to create a solution for people who need to add ami ohun (tone marks) occasionally was sown in my heart that day. I was sure that if I needed it, then there was certainly hundreds of other people out there who find themselves in a similar place each day. I did not act immediately, no. It would take something else to finally spur me on to making the first move to water that seed.
Last week, as part of a practical interview for a prospective programming job, I was required to build a simple web application in a few hours. Granted, it was a basic task for someone who has been programming for as long as I have. But given the time constraint and the fact that 50% of the work (front-end web development) is not something I get to do regularly at my current job, it was quite challenging. It took me three hours to complete the task due to a couple of hitches encountered; meanwhile, I had guesstimated two hours as being the worst case scenario ETA.
In the end, it happened that I did a good job, even though time taken was a bit on the high side. I could tell that the reviewer also thought I did fine (probably not great) since while he had a few negative things to say after reviewing the other applicant's work, he simply looked through mine, saw that it worked, asked me a few questions and moved on with his life.
I left the interview centre feeling quite fulfilled with myself. Mostly because I had solved one Javascript/HTML (front-end web development) challenge at the dying minute. The challenge was quite simple but solving it was the difference between pass and fail for me. My confidence in myself soared and before the end of that day, I made up my mind to work on the Yoruba tone marking idea. This way, I could kill two birds with one stone: exercise my fledgling front-end development muscles while at the same time creating something useful which is something I practically live for.
I know the dangers of procrastination. So that Friday night before leaving the office for home, I spent about one-hour thinking about my intended solution. At the end of the day, I had a pretty clear picture of what work lay ahead of me and the weekend was looking pretty exciting for me. I hacked at it all Sunday long and by Monday, I had completed a large portion of the application logic (backend). The backend of the Yoruba tone marker is a .NET Web API application with one simple controller.
On Tuesday, I completed the application backend and told a couple of friends (Benjamin and Sadiq) that I was working on something that I intend to complete before end-of-week. My motivation was something between seeking third-party approval and also, creating some accountability for myself. I - like most other people - want to know that what we're doing makes sense and one easy way to do this was to sound it off of my friends.
On each day of the week which ends today (Saturday 25th February 2017), I made sure to spend a few hours gaining traction on the front-end work. I believe that I lack the talent for front-end web development and design in general, so it took some willpower for me to dive into it. I reduced my inertia by sketching a wireframe on paper of what the Yoruba tone marker page would look like. Also, I did not have to think about theming. I just duplicated an HTML file in the Start Bootstrap admin template which I had used for the job interview from last week and modified it to achieve my desired layout.
By the start of Thursday, I had made major traction and so excited was I that I spent the entire day working on my pet project (please, don't tell my boss). By the end of the day, I was pretty much done. All front-end functionality (facilitated by Bootstrap and Angular JS 1) was in place with the only outstandings being finishing work.
At this point, a lot of my initial excitement about the idea had faded away and I was sure that no one was going to use this thing except me. On Wednesday, I sent an email to the curator of The Yoruba Blog in a bid to get an idea of how useful this tool was going to be in their content creation process. I'm yet to get a response up till now, even after sending my first tweet since probably 2014 at them as a reminder on Thursday. I hope the curator is alive and well.
Nonetheless, I tapped into all the stuff I've read that encourages me to be prolific and not a perfectionist and promised myself to put the Yoruba tone marker online by Friday; come rain come shine. Again, this urgency was due to my experience with numerous previous endeavours which failed because I lost focus for a few days and never got to regroup on.
True to my word, I made the Friday deadline at the last minute!
As soon as I uploaded the Yoruba tone marking web application to Somee: a shared hosting platform for .NET applications (http://www.somee.com) for free, I did basic tests to ensure that all was fine. Then I sent out the link to Benjamin and Sadiq, the only two people who knew I was working on the app. I wonder how similar the joy I felt on sending out that link is to what new fathers feel when announcing the safe delivery of their new-born child to friends and family. It had been long since I had felt that way. Simply happy with myself and with renewed confidence in my power to make for myself, the kind of life that I want.
As my old colleagues at Appzone would often say: "the reward for good work is, even more, work". For once, I agree with them. Having been impressed with the neurochemical flood from this achievement, my brain has been focused since last night up till now on finding a new way to make it happen again before long. Talk about achievement addiction. I want to work on something useful; not just exciting and challenging but which I am sure will get used by at least, one random stranger out there every day.
Allow me to plug here, what I consider to be one of my most successful creations so far. It's a blog post on shipping prices in Nigeria which singularly attracts over 70% of the traffic to this blog. It made its way (naturally) to the top of Google's search results for that focus phrase and adds some value to the lives of several tens of people who read it every single day. I think if not for it and a few other outlier posts, I would since have abandoned this blog. Merely coming back every day to look at the previous day's page views on my blogger dashboard inspires me to create more things that are of value.
To conclude, I hope that the Yoruba tone marking tool (my first baby) would be worth all the time I spent creating it to someone out there every day, just like my shipping article and hopefully better. I will extend it with tracking features before the end of next week so I can get a good sense of how useful it is after a few weeks. Also, I have several ideas on how to make the tool even more useful to its target audience but I intend to delay further work until I talk to someone who spends a large part of their time creating Yoruba content (remember I want to make something useful). Already, it is in the top Google results for Yoruba tone marker, so it's fine on discoverability. Also, since no one else would blow its trumpet, let me inform you that this tool is one in a million. From my research, there is no other free tool in the world that helps you tone mark pre-typed Yoruba text. Thank you, thank you.
On to the next one (I don't know what this would be yet)! I hope to get an idea which is simple enough and challenging enough and potentially useful enough before the end of next week. To digress, I seem to have learned to cut myself a bit of slack. I figure it's all part of growing up and knowing that the way to succeed is not by giving myself unrealistic deadlines to achieve goals.
Anyway, I hope I was able to inspire you to be creative by sharing this story. You can check out the Yoruba tone marker here if you have not done so already. What do you think about it? Come back here to say something nice **smiles**
At the start of every year since 2015 (two years after I started programming professionally), it has been a resolution to make something useful on my time and just put it out there on the internet. I felt (and still feel) indebted to the world every day, because a lot of things that make life easy for me were created from the sweat of strangers who owe me nothing. Well. It did not happen in 2015, neither did it happen in 2016. Not like I did not have ideas, not like I did not start work on some ideas a couple of times. I did. But largely due to a lack of skill in following through on challenging personal goals, I did not as much as get close to completing anything. Constant awareness of this ineffectiveness of mine is something I have had to live with every day for years on end; a major source of unhappiness.
About three weeks ago, I was writing an article (probably for this blog) and at some point, I included a Yoruba sentence in the article. The perfectionist in me wanted to tone mark that sentence, so I quickly searched Google to see if there was a simple web app which I could use to achieve this. After about ten minutes of permutating "add intonation/tone marks to Yoruba text" in my search queries, I gave up. In all the searching, the closest I saw to a solution for my problem was this online Yoruba keyboard which I could not figure out how to use to achieve my purpose. The only other option was to download a Yoruba keyboard to my PC. Of course, I thought that would be an overkill since I am not a regular creator of written Yoruba content. I gave up and left my Yoruba sentence without tone marks.
The seed to create a solution for people who need to add ami ohun (tone marks) occasionally was sown in my heart that day. I was sure that if I needed it, then there was certainly hundreds of other people out there who find themselves in a similar place each day. I did not act immediately, no. It would take something else to finally spur me on to making the first move to water that seed.
| Àmì Ohùn image; tone marking courtesy of Yoruba tone-marking tool |
Last week, as part of a practical interview for a prospective programming job, I was required to build a simple web application in a few hours. Granted, it was a basic task for someone who has been programming for as long as I have. But given the time constraint and the fact that 50% of the work (front-end web development) is not something I get to do regularly at my current job, it was quite challenging. It took me three hours to complete the task due to a couple of hitches encountered; meanwhile, I had guesstimated two hours as being the worst case scenario ETA.
In the end, it happened that I did a good job, even though time taken was a bit on the high side. I could tell that the reviewer also thought I did fine (probably not great) since while he had a few negative things to say after reviewing the other applicant's work, he simply looked through mine, saw that it worked, asked me a few questions and moved on with his life.
I left the interview centre feeling quite fulfilled with myself. Mostly because I had solved one Javascript/HTML (front-end web development) challenge at the dying minute. The challenge was quite simple but solving it was the difference between pass and fail for me. My confidence in myself soared and before the end of that day, I made up my mind to work on the Yoruba tone marking idea. This way, I could kill two birds with one stone: exercise my fledgling front-end development muscles while at the same time creating something useful which is something I practically live for.
I know the dangers of procrastination. So that Friday night before leaving the office for home, I spent about one-hour thinking about my intended solution. At the end of the day, I had a pretty clear picture of what work lay ahead of me and the weekend was looking pretty exciting for me. I hacked at it all Sunday long and by Monday, I had completed a large portion of the application logic (backend). The backend of the Yoruba tone marker is a .NET Web API application with one simple controller.
| Basic algorithm for Yoruba tone marking web application | Screenshot from my OneNote |
On each day of the week which ends today (Saturday 25th February 2017), I made sure to spend a few hours gaining traction on the front-end work. I believe that I lack the talent for front-end web development and design in general, so it took some willpower for me to dive into it. I reduced my inertia by sketching a wireframe on paper of what the Yoruba tone marker page would look like. Also, I did not have to think about theming. I just duplicated an HTML file in the Start Bootstrap admin template which I had used for the job interview from last week and modified it to achieve my desired layout.
By the start of Thursday, I had made major traction and so excited was I that I spent the entire day working on my pet project (please, don't tell my boss). By the end of the day, I was pretty much done. All front-end functionality (facilitated by Bootstrap and Angular JS 1) was in place with the only outstandings being finishing work.
At this point, a lot of my initial excitement about the idea had faded away and I was sure that no one was going to use this thing except me. On Wednesday, I sent an email to the curator of The Yoruba Blog in a bid to get an idea of how useful this tool was going to be in their content creation process. I'm yet to get a response up till now, even after sending my first tweet since probably 2014 at them as a reminder on Thursday. I hope the curator is alive and well.
Nonetheless, I tapped into all the stuff I've read that encourages me to be prolific and not a perfectionist and promised myself to put the Yoruba tone marker online by Friday; come rain come shine. Again, this urgency was due to my experience with numerous previous endeavours which failed because I lost focus for a few days and never got to regroup on.
| Be prolific; courtesy of an infographic (How to diversify your life) created by James Altucher |
| Announcing the Yoruba tone marking web application to my friend, Benjamin |
As soon as I uploaded the Yoruba tone marking web application to Somee: a shared hosting platform for .NET applications (http://www.somee.com) for free, I did basic tests to ensure that all was fine. Then I sent out the link to Benjamin and Sadiq, the only two people who knew I was working on the app. I wonder how similar the joy I felt on sending out that link is to what new fathers feel when announcing the safe delivery of their new-born child to friends and family. It had been long since I had felt that way. Simply happy with myself and with renewed confidence in my power to make for myself, the kind of life that I want.
The reward for good work is even more work
As my old colleagues at Appzone would often say: "the reward for good work is, even more, work". For once, I agree with them. Having been impressed with the neurochemical flood from this achievement, my brain has been focused since last night up till now on finding a new way to make it happen again before long. Talk about achievement addiction. I want to work on something useful; not just exciting and challenging but which I am sure will get used by at least, one random stranger out there every day.
Allow me to plug here, what I consider to be one of my most successful creations so far. It's a blog post on shipping prices in Nigeria which singularly attracts over 70% of the traffic to this blog. It made its way (naturally) to the top of Google's search results for that focus phrase and adds some value to the lives of several tens of people who read it every single day. I think if not for it and a few other outlier posts, I would since have abandoned this blog. Merely coming back every day to look at the previous day's page views on my blogger dashboard inspires me to create more things that are of value.
| Does Wiza Think daily pageviews - Shipping cost and Prices in Nigeria is the most popular post on the blog |
To conclude, I hope that the Yoruba tone marking tool (my first baby) would be worth all the time I spent creating it to someone out there every day, just like my shipping article and hopefully better. I will extend it with tracking features before the end of next week so I can get a good sense of how useful it is after a few weeks. Also, I have several ideas on how to make the tool even more useful to its target audience but I intend to delay further work until I talk to someone who spends a large part of their time creating Yoruba content (remember I want to make something useful). Already, it is in the top Google results for Yoruba tone marker, so it's fine on discoverability. Also, since no one else would blow its trumpet, let me inform you that this tool is one in a million. From my research, there is no other free tool in the world that helps you tone mark pre-typed Yoruba text. Thank you, thank you.
On to the next one (I don't know what this would be yet)! I hope to get an idea which is simple enough and challenging enough and potentially useful enough before the end of next week. To digress, I seem to have learned to cut myself a bit of slack. I figure it's all part of growing up and knowing that the way to succeed is not by giving myself unrealistic deadlines to achieve goals.
Anyway, I hope I was able to inspire you to be creative by sharing this story. You can check out the Yoruba tone marker here if you have not done so already. What do you think about it? Come back here to say something nice **smiles**