ATR: From a TextEdit and a Button to a successful application
Posted by Mohamed Amir

Since I moved to study my PhD in Germany, I wanted to get a smartphone.  The decision was clear for me that I should buy an Android, especially with my limited budget; I ended up getting an HTC Wildfire.   Arab users usually suffer when using Android because it lacks reshaping the Arabic letters, i.e. Arabic letters are shown disconnected, and to make it worse in my case, I found that any Arabic text is displayed as squares on my phone as shown below:

Screenshot from www.masrway.com on my HTC Wildfire

I started looking into the Android market for an application to help me.  I found plenty of applications that claim they can read Arabic text.  Because my cheap HTC Wildfire has a not so common low resolution screen with low density, many applications weren’t supported, and out of those that I could install on my device some didn’t work and some were asking for root permissions.  I have followed all tutorials I could find to root my device to install Arabic font, but in vain.  This specific HTC model is impossible to root with software solution (up to my knowledge when writing this post).

At that point of time, my main concern was Arabic SMSs, because all other content I could just read later when I have access to my laptop.  The easiest solution I found was copying the SMS, sending it by email and then reading it from my laptop.  Of course, after repeating this task for 2 SMSs, I decided to work on an application to fix this problem :-) .  As a software engineer, I wanted to build the most generic solution ;-) .  I wrote an application that has one TextEdit and one Button, and instead of copying the SMS to an email, I was copying it to the application and the button does the magic and shows the SMS.  This was fine with me because I rarely get Arabic SMSs. Nevertheless, most of my Arab friends here in Germany are using Android, and they also need to read Arabic SMSs on their phones and no applications on the market fit them all.  This is when I decided to write an application and release it.

I started working on the application which I named “Arabic Text Reader”, and I was testing on my device (which helped me produce the worst case scenarios ;-) ) to make sure the application will be supported everywhere with zero dependency on the configuration of the device, I decided to make it as simple as two tabs, one for SMSs and one for the generic feature of copying any arbitrary text.  I searched for icons free for commercial use, and I designed the logo myself, and BINGO.  Arabic Text Reader was released in the Android market as a free application.  With the big number of other applications that claim to provide the same feature of reading Arabic SMSs, it was tough for our application to grab people’s attention.

With the uprising in Egypt, I badly wanted to follow the news on the go, and one of the most important sources was Twitter.  I started reading about Twitter Android API to add Twitter support to Arabic Text Reader (ATR).  This is when the application started to be downloaded more and more and people started to ask for more features.  One of the most asked-for features was Facebook support.  I handed over the application to a team of two engineers back in Egypt that added Facebook support and are continuously adding more features and improving its usability.

Although I am still not able to read the previous webpage on my mobile phone, but the most important information in this page are usually tweeted from couple of accounts, and I can easily read them now on my Android.

ATR is now a very successful applications with increasing user base day after another.  The lesson we learnt is we should always focus on getting our application working on all devices before adding more features to it.  Users will wait for a feature to come, but they will not wait for an application to work!

You can read more about ATR here.




  1. ما عندكش فكرة البرنامج ده قد إيه حيحل لي مشكلة بقالي كتير بأعاني منها.. جزاكم الله كل خير

  2. QuinDev

    جزانا وإياكم يا عَمر
    Keep updating this application because we have many features to come in shaa Allah. Please, give us feedback and/or suggestions in order to be able to improve it more and more.
    Thank you.

  3. Ahmed Eldawy

    This is a very nice blog post. I had similar experience (working with worst phones) when I was developing JavaME application under my passed away Nokia 6680. I liked the last part very much “Users will wait for a feature to come, but they will not wait for an application to work”.
    Keep up the good work.

  4. Another thing to add is that when the end user of the application is the developer, you get a high quality application. On the other hand, when a developer is building an application for a third party, no matter how a good developer he is, the final product comes of less quality in usability and functionality.

  5. QuinDev

    Thank you Ahmed for your comments, but I don’t fully agree to your argument regarding the developer being the end user. In many occasion you add features and checks you would never add if you are the only user of the application, and you spend more effort on enhancing usability just because not only developers will use your application.




three + = 6