25 February 2017

Hafiz Adewuyi

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.

Ami ohun image; tone marked using Yoruba tone marking tool
À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 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.

Be prolific; courtesy of an infographic (How to diversify your life) created by James Altucher
Be prolific; courtesy of an infographic (How to diversify your life) created by James Altucher

True to my word, I made the Friday deadline at the last minute!

Announcing the Yoruba tone marking web application to my friends
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
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**

Subscribe to this Blog via Email :


Write comments
27 February 2017 at 18:57 delete

Hafiz, a few words regarding your statement: "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...":

You should remember that the benefits of good works may not always be direct or obvious. Yes, there may be apparent results that excite us (for example the amount of people that hopefully benefit from your shipping costs article) but there may be less obvious ripple effects that transcend the limits of our imagination.

First of these effects are those within us. In your case, the project has motivated you to do more, build more, innovate more, produce more things that would benefit others. In my view, this is sufficient as a benefit of building the app. Secondly, the encouragement such a project gives to others. It hopefully would etch in the mind of a number of people the urge to innovate and produce things that would also help others.

So, even though you don't see high numbers of pageviews, know and hope that the few people that came across it would pass it forward, in one way or another. And even though they don't, you would.

What is of utmost importance is that we do these things with the purest of intentions.

27 February 2017 at 19:06 delete

Thanks for these words Sodiq. Reading them made me feel like a soothing balm was applied to an aching muscle.

As you were able to glean from that paragraph, I've actually been anxious over the past few days because I place very high emotional stakes on how much attention the tool is getting. So, these words were timely.

Hopefully from tomorrow, I'll be able to stop myself from refreshing the "Recently marked" page on the website to check if anyone else has used it. I must have done that like 20 times today :)

Thanks one again, Sadiq

10 March 2017 at 14:49 delete

Hafiz! Mo ṣá ẹ́ látẹ̀wọ́ọ́! May God continue to add to your wisdom. You just made a nephew's Yoruba project a walk over. Well done bro. God bless you real good.

10 March 2017 at 15:33 delete

Thank you Foluwaso. You just made my day with this comment.

Ẹṣé fún àtẹ́wọ́ tí ẹ ṣá mi.

26 June 2017 at 01:48 delete

i must commend the overall effort and insight you have put into doing this, but there is a slight omission of "n" sound with the "d" intonation that would have been useful for a word like "nnkan" you might want to consider that inclusion.
Great job overall!

26 June 2017 at 01:59 delete

I must commend the overall effort and insight you have put into doing this, but there is a slight omission of "n" sound with the "d" intonation that would have been useful for a word like "nnkan" you might want to consider that inclusion.
Great job overall!

26 June 2017 at 06:50 delete

Hi Adenike,

Thanks a lot for your comment.

I will definitely look into correcting that. Thank you for pointing it out 😃

6 July 2017 at 00:51 delete

Hi Adenike. As regards the 'n' with the 'do' sound, I've been unable to find that character anywhere on the web. Any ideas as to how I can get an 'n' with that 'do' done mark?