Failing Since 2012 – S01E05


Previously on ‘Failing Since 2012’ S01 E01E02E03 & E04, Dinker Charak, Founder of Roo Kids app, talked about how his startup ended up creating & supporting 23 products, purged some products to bring the count to 7 and realized even 7 was a lot. Now read on …

Failing. Not failed!

The Second Purge (Early 2015)

7 products. Each a whole start-up in itself. Small team. Limited resources. 

This meant only one thing: Go all in on one of these, drop rest and not to get distracted by any more spin-off & focus.

Finding Our Sunday Passion

So which product should we choose from 7? One we would love to work on even on a Sunday and whose growth will give us a reason to celebrate on weekends?

We went back to our earlier method that I had described in Episode 3.

The Analysis

We dropped the criteria for which all 7 were doing well. We chose following 7 factors to score each product. One with maximum score would win!

1. Virality: We defined virality as growth driven by a user where they had to bring other users to the product / platform for it to be of use. Eg: If I download Skype to chat with friends, I have to ensure that those friends also download Skype, register and add me as friend so we can chat. And those new users would bring in others.

2. SEO: Can the product benefit from SEO and how easy will it be to search-engine optimize it.

3. Clear Pain Point: Does this product solve a very obvious pain point? A yes is preferable.

4. Monetizability: How easy is to monetize this product using existing models like ads, subscription, etc.

5. Uniqueness: Do we stand out among other offerings in Kid’s app market? While first mover advantage was not something we sought, some degree of uniqueness is was preferred.

6. Global Market: We wanted to reach out to global markets. As we are based in India, it is a market of interest for us. Indians prefer to be on Global platforms. A quick look at top apps in any B2C (non-ecommerce) category quickly confirms this. So if we did well globally, we would automatically do well in India.

7. No User-Customer Conflict: I have talked about User-Customer conflict inEpisode 1. This conflict is very evident in Kids’ products. The users are the kids and the customers are the parents. It is a tight rope to walk while balancing interests and ROI for both.

Below is the result of the analysis:


So, Roo Kids it was!

Roo Kids

The first thing we had to decide was which device to target first. We had learnt the lesson to not go all out till we get sufficient feedback from the market.

Our studies showed that while Phones were personal devices, the iPad gets passed around in the home most. It was replacing the Home PC as the default family device. So we targeted it first.

Once iPad version was out, we were able to reuse the code to add iPhone layout and release an iPhone/iPod version.

Android took time to start. We were seeing enough traction, usage and feedback from iOS versions. But as soon as things stablized, we released an Android version.

We got lot of requests to add Kindle Fire support. Many parents had bought it and the device had a strong reputation for being child-safe. With some changes (In-app purchase, notification, gathering device token, etc), we reused the Android code and released the Kindle version.

How’s Roo Kids Doing?

The app has been out for enough time for us to know if our analysis was right. Is it what the analysis promised it to be? Let’s see:

This includes messages sent to another user, message sent to canned-response chatbots like Echo, Puzzle, Science for Ages 8/9, stickers, images and doodles.

Stat commonly used to measure active users on Social Networks and Messaging apps. Number of unique users who have used the app at least once in a month.

These stats look very encouraging. The analysis was right and it was a good call to go all-in on Roo Kids.

Encouraged by user response, we are now expanding Roo Kids products to include some cool features and become default safe social for kids.

We are also fundraising and welcome all interest / queries from investors.

The next article will be a season finale of sorts where I will discuss lessons learnt that other startup (in general) and startups for kids (in particular) will hopefully find useful.


Originally posted on LinkedIn (E01, E02, E03, E04, E05, Startup Lessons) and Roo Kids App blog as a single post here

Failing Since 2012 – S01E04


Previously on ‘Failing Since 2012’ S01 E01E02 & E03, Dinker Charak, Founder of Roo Kids app, talked about how the startup ended up creating & supporting 23 products and had to purge some products to bring the count to 7. Now read on …

Failing. Not failed!

Keeping At It (Rest of 2014)

23 products in 2 years by a team of 4 is crazy. We had to do it to explore the landscape. Now that we learned what we had learned, we purged bunch of products to focus on just 7 of them. We worked on all 7 of them for almost all of 2014. These products were:


For a Martial Arts movie buff, nothing is more exciting than picking a name that ends in Fu! Hence, ContestFu.

We took all the contests from and rebranded as We continued to run online contests under the new brand where we gave two prizes: 1/ the most voted, and 2/ the best entry picked by staff.

To vote, one had to Like, Tweet or Register + Up Vote the entry. This ensured growth. The entrants were going around asking people to visit and vote for them.

Initially we gave iPod Shuffle as prize. But as we conducted more contests, we had to bring down the value of the prize.

The product was ready! We wanted to monetize it now. A new person joined the team with just one mission: Get schools to use ContestFu to organize art contests. We would charge schools, charge parents or get a sponsor.

We were quite successful!

Small schools were extremely open to the idea. Some schools allowed us to charge $1.00 (INR 50) per student. Some schools paid for the students and some schools asked us to feel free to get a sponsor.

We even conducted art contest in a big chain school. They had 108 branches and around 3,500 students participated in the contest. It was a wonderful time!

But we had tough time with well-know schools and international schools. They were our hope for larger revenues. Things did not go as expected.

Turns out all such mega-brand schools have Biz Dev guys. Their job is to help schools get extra revenues. So whenever we pitched Art Contests to such schools, we used to get asked how much we could pay the school as fee. Their logic was that the school was giving us access to kids of HNIs (High Networth Individuals) and foreigners. This certainly was of some worth to us as part of our investor pitch.

This dashed our hopes of making money from such schools by organizing contests for them.

Other thing with selling to schools is that each sales cycle is exactly same as selling to the school before. Typically, once you sell to one client, subsequent sales cycle is small as you have brand reputation, case studies of benefit to buyer, etc. But in case of school, we had to start from scratch with each new school we approached.

At times mentioning that another school had used us for Art contest was actually a detriment.

While we got very encouraging response from small and medium sized schools, we just did not have bandwidth to target them. The return per school was low and we need more feet on ground to cover more schools. This meant a whole different kind of org than what we wanted to be.


This was a WordPress based site built on a commercially available theme. We wanted to keep the dev time minimum and focus all available time on producing content.

We posted ‘Top 10’ kind of articles a lot. These were very popular and got lot of traffic from Google and other search engines. Some of these articles are still online:

Top 5 Ways To Make Your Parents Feel Special
Top 10 Indian (Bollywood) Movies For Kids
Top 5 Interesting Things To Do With Kids On A Rainy Day
Top 10 Largest Circulated Education Magazines In India
5 Interesting Reason Why Kids Love Chocolate
10 Coolest and Beautiful Carnivorous Plants

We also wrote review of kids apps. Initially we did it for free. But soon the number of requests overran us. We started charging for review. People would pay us via Paypal for write review.

We reviewed only those apps that were for kids or parents. This meant the overall quality of the apps we review was high. We gave an app score between 1-5 based on three criteria:

Learn, Fun and User Experience.

We made good money from this. App developers found us and we did not have to go out hunting for business. We had very good SEO and Google Page Rank and Alexa Page rank. It was a wonderful time!

But, ads and review fees cannot sustain a whole company. The scale of revenue growth was also not there. Also, we were not natural content creators. This meant a whole different kind of org than what we wanted to be.


Our flagship website was now a gaming site. We had around 700+ odd games on it. We had games for various categories, for various age groups, for different platforms, sorted by popularity, sorted by recently uploaded, sorted by last played, etc.

We saw amazing growth in page views. In fact, founder of another startup told me that he was talking to his kid sister and she told him that she loved playing kiddie games on this site called He knew me well and was quite excited for me. It was a wonderful time!

But, we had tough time getting ads for this site on regular basis. We kept getting rejected even by Google Ads. Kids games get commoditized very fast. Once a game is popular, multiple versions show up. We were not too keen on being game designers either. Just gathering games on our platform to be a SEO magnet wasn’t exciting either. This meant a whole different kind of org than what we wanted to be.

Kill My Time

This iOS app came from a web app & a Facebook app of same name and another web app called My GK Fun.

This product did not get purged and made it to final 7 as it required almost zero-maintenance as an iOS app. There were around 700 or so questions. The UI was good and engagement was high.

It was a paid app. So it just hung around in App Store and once in a while someone would buy it. It was revenue earned from just one time investment. Users did download it and we made some $ from it.

My Sketch Roo

Our ‘kids love sketching’ idea now lived in two forms: 1/ and 2/My Sketch Roo iOS app.

My Sketch Roo had a very simple interface. When other sketching apps on iOS were trying to be super-sophisticated and feature rich, we chose to be simple. We did not let sophistications or features come in-between kids and their sketches.

We took the app to next level by adding coloring books. Kids could download these books and color them. This was both fun and educational. Our English alphabet based coloring books were very popular.

We see regular downloads and some of the coloring books are in-app purchase. However, this is just another app. Not something that will take us, as a startup, to another level. Though better positioned than ‘Kill My Time’ but still not something we could peg our future on.

Roo Kids

Roo Kids is a safe & fun instant messaging app for kids with minimum yet critical parental controls.

All though our experiments, our original idea that kids need a safe social alternative did not wither away. We kept thinking about it. Out of all the learning, came Roo Kids.

The thing with Facebook and GMail like product was that lots of data gets retained on the server. That was a big safety risk. Whatapp was extremely popular. So we decided to give Instant Messaging a try. Once a message is delivered, it is removed from our servers.

VCs love X for Y analogies. So, we got described as ‘Whatsapp for Kids’ and at times ‘Whatsapp for Kids with Safety’.

We knew parents wanted kids to explore, learn and master the digital world. But, talking to them we realized there were 2 very critical concerns the parents had:

  1. Kids talking to strangers, and
  2. Kids getting distracted during homework time or sleep time.

We took on these two concerns head-on. The key features of Roo Kids that addressed these concerns were:

  1. Parents get to review and disapprove anyone in their kid’s Contact list. Thus no stranger or unwanted person could sneak in,
  2. Kids can block any user or message with immediate effect, and
  3. Parents can set curfew time slots during which the live chat will not work.

The app was targeted towards kids of ages 6-12 years and to be used under parental supervision. We build iPhoneiPad and Android versions.

We believe that it is good for kids to experience a restricted app such as Roo Kids before moving into social networking sites, which provide less safety.

Finally we had a product-market fit that we wanted to keep working on and could bet our future on!

War of Fascinating Galaxies

If a kid knows about Princess Apsa, Prince Kowal, the Sombrero Galaxy or the Hoag’s Object, they have definitely played with the WarOFGa Trading cards.

We started with 2 sets of 19 cards each for $1.00 (INR 50). One had a pink back and one a blue back. One of those ‘for boys’ and ‘for girls’ things. The content was all same and just the color was different. Interestingly, the pink sets sold more across genders.

We then sold packs of 32 cards for $1.50 (INR 75). These continued to sell very well at city fairs and other places. It was a wonderful time!

But like before, we just could not get them to sell online. We did not want to develop distribution channels like other offline product either. This meant a whole different kind of org than what we wanted to be.

So all of 2014 we did well with most of our 7 products and were making small revenues from them. We had also learnt a bunch of new lessons in 2014. Turned out we were still stretched thin. It was time to rethink what we should focus on. Maybe another purge?


Originally posted on LinkedIn (E01, E02, E03, E04, E05, Startup Lessons) and Roo Kids App blog as a single post here

Failing Since 2012 – S01E03


Previously on ‘Failing Since 2012’ S01 E01 & E02, Dinker Charak, Founder of Roo Kids app, talked about the first two years of the startup. Now read on …

Failing. Not failed!

The First Purge (Early 2014)


Our first one and a half year journey was full of experiments, twists, turns, pivots and blind chase. This resulted in 23 products. Each a start-up idea in itself.

It was clear that we could not do it all and had to drop one that were digressions, had not future or just could not be maintained by our small team.

Team Size

One thing that I have not talked about is our team size. Mostly by intent and at times by co-incidence, the team size has always been 4 and that includes me. When one left, another joined in and the team size remained same.

It was quite a feat for a team to 4 to create 23 products in 1.5 years. But we had to drop some if this small team had to maintain products and keep the quality high.

Purge Begins

We listed out all the products and variants. Then we assigned them a score based on following factors:

1. Virality: We defined virality as growth driven by a user where they had to bring other users to the product / platform for it to be of use. Eg: If I download Skype to chat with friends, I have to ensure that those friends also download Skype, register, add me as friend so we can chat. And those new users would bring in others.

2. SEO: Can the product benefit from SEO and how easy will it be to SEO optimize it.

3. Busy-Parent Proof: Does this product require lot of parent’s time? Or, will it still be useful with minimal parental intervention. The less time it required, the better.

4. Ease of Adoption: Does this product require a lot of set up and users really have to jump though lots of hoops before it can be used?

5. Clear Pain Point: Does this product solve a very obvious pain point? A yes is preferable.

6. Engagement: How engaging is the product.

7. Monetizability: How easy is to monetize this product using existing models like ads, subscription, etc.

8. Low Maintenance: Does the product need lots of maintenance? Does the underlying platform update often and product may need regular work to stay compatible (very much an issue in app)? Low maintenance is always good.

9. Low 3rd Party Dependency: Eg: Facebook Apps depend a lot on Facebook’s policies and these keep changing. It may lead to rework or even at times total nixing of the product.

10. Copy Proof: How easy is for any random Tom, Dick or Harish to create a copycat?

This is what the analysis looked like:


Based on these 10 factors, we narrowed down to a smaller list of products we will work on.

We then grouped similar ones and created a more focused set of products we will work on.

Rest everything was purged. Deleted and taken offline. This was not that easy. We had worked a lot on these products and naturally were emotionally attached to these products. These were like our babies and it almost felt like we were harming our own babies. But it had to be done.


We now came down to just 7 products. And rest of the year was focused on these seven products: – Art, Sketching, Sketching Contests (as in we dig parenting) –  Articles Targeting Parents and Kids app reviews
Roo Kids – Instant Messaging App
Kill My Time – A quiz app – Games for Kids
Warofga – War of Galaxies Trading Cards
My Sketch Roo – Sketching iOS app


Originally posted on LinkedIn (E01, E02, E03, E04, E05, Startup Lessons) and Roo Kids App blog as a single post here

Failing Since 2012 – S01E02


Previously on ‘Failing Since 2012 S01E01‘, Dinker Charak, Founder of Roo Kids app, talked about the first few months of the startup. Now read on …

Failing. Not failed!

When The Going Get Tough (Up To 2013)

Last few month of 2012 and all of 2013 saw us churn out products at an alarming rate.

Curated YouTube Content

Once we decided we would focus on kids (rather than parents), we started with adding videos. Our staff selected these videos and channels. Parents could suggest videos and they would go live once approved by our staff.

This lead to something that was not new for us: Parents liking the idea. ‘Finally there is a site where I can feel assured the videos my kid is watching is safe.’

But this also lead to something that was totally new for us: Kids started using our site. Our traffic grew! And we started to get cooperation of the parents!

Kids Games

We started putting up games on Many of these we sourced from sites like Some like Kill My Time, Diwali Blast, Noisy Nathu, etc were built in-house. This section did very well.

Sketching Apps – My Sketch Roo and Trace My Pix

The idea of a sketching app came in a company meeting where we were brainstorming on what next. Once the idea was on the floor, every one latched on to it. This was all we discussed in rest of the meeting.

My Sketch Roo was an HTML5 Canvas based app where one could draw and save a sketch. The sketch would show up in public gallery once our staff approved it.

Soon we had kids making sketches and saving them in their profile on Not only were we fun as a product, we were interactive and had user-generated content. Over 20K sketches have been made using this app.

Then we built a variant of this web app where you upload an image and sketch over it to create a petty accurate sketch. We called it ‘Trace My Pix’.

As the usage grew, we noticed parents were sharing the sketches on Facebook (Twitter wasn’t that popular). Pretty soon Facebook became a critical part of spreading the content and getting more users.

However, kids were not our only users. Grown ups started using the apps a lot. The idea of sketching appealed to both grown ups and kids. There was no real way to stop grown ups from using it.

The product, rather than the audience we wanted to target, was defining us. “Let us embrace this and see how far we can pull it.” That is when we thought of creating a kid’s version and a grown-up version.

My Sketch Roo as Facebook App

We created Facebook apps of both My Sketch Roo and Trace My Pix.

On, which we built for kids, we were seeing grownups use our app to make sketches. On Facebook Apps, which we built for grown ups, we started seeing kids use our app to make sketches!

Kids on India were on Facebook. We had heard about it. But we were seeing it for real now.

Art Contests

You create a sketch and you share it. What next? We decided to hold regular sketching competitions. For every contest we used to pick a theme and awarded two prizes. One prize went to the entry with most number of Likes + Tweets + Up Votes and the other prize went to staff’s choice.

The logic was simple. The more Likes, Tweets and Up Votes we get, the more people know about us and we get more traffic. But these entries may not always be the best. So staff picked the one we thought was the best. A combination of quantity and quality.

Let Teen Be

As we came to terms with presence of kids on Facebook, we realized that many times this was happening with full knowledge of parents. So we decided to create a dashboard for parents of teens on Facebook.

We were worried it might come across as a creepy app meant for helicopter parents. So we presented it as a minimal monitoring by parents. Key aspects being: keeping track of who the friends are and what the teen is posting with public visibility. The parent had to send a request to the teen and teen had to allow the parent’s request for this dashboard to work. This helped in establishing a trust with the teen.

We even sent out a press release that got some interesting write-ups. This app became very popular.

My Public Profile

In early 2013, there were many grownups that were not very Facebook savvy, Facebook hadn’t figured out Privacy well and users were never sure what was visible on their public profile.

We got couple of queries asked if there was a way for parent to know what is visible on their own public profile.

We created a variant called My Public Profile. This showed the pictures and posts that were visible to public. We showed it for past 7 days. In order to see beyond past 7 days, the user had to invite 10 more friends to use the app. Once 10 friends started using the app, the user could see public posts from the time the profile was created on Facebook. Due to this in-built virality, this app was very popular.

All our vital we showing good progress. Except one: Revenue. It was time to sit down and think about earning revenue. As they say, fund raised is not same as revenue generated.

War of Fascinating Galaxies

I like writing short stories. I even self-published a collection called The Murmurs of the Dawn many years ago. So when it came to creating an real world product, I decided to fall back on something I really enjoyed: Sci-fi and Physics.

Taking to parents and other founders, I realised that in India people prefer to pay for something tangible. Eg: They may use online service, but it will be to buy something tangible like a book, dress or a ticket. So we decided to make something tangible for the kids.

I used to hang around in toy stores and try to figure out what products sell most. And I had to do this without seeming like a creep 🙂

It was User v/s Customer play out all over again. This time our focus was on users. It was obvious to us within a week of these field trips that Trading Cards were big. Kids loved them. Never had enough of them. They came in small packages. They were easy to make. And, not so expensive that parents will think thrice (they always think twice before buying anything).

So we created a sci-fi backstory and some interesting characters. We created a set of trading cards in which 40% of the cards were about the characters from our sci-fi backstory and 60% were about cool Physics stuff. See what we did there? Balance Users and Customers. We talked about the physics stuff to the parents. We talked about characters & sci-fi to the kids. They loved it and the kids absorbed the physics stuff too.

We created games that could be played using these cards and made videos demonstrating those games. Though it was all games and fun, there was also some serious learning happening.

These cards sold like proverbial hot cakes. We sold them in fairs, apartments, etc. If a kid played any of the cards games with us for even just 30 seconds, they would end up buying buy it!

But, we could not replicate this success online. We could never sell them in quantities we would have loved to, without them being an online hit. And we just could not crack that.

Still this was our biggest revenue generating product.

We recently added images form these trading cards as stickers in Roo Kids. You can read part of the backstory here.

Blog For Parents

As the popularity grew, we were seeing some interest from brands for advertising. These brands wanted to advertise to parents. But our site was for kids and we did not want to show ads. Also, it was tough to get ads going in Facebook Apps. So we decided to add a blog section with content for parents.

We were learning a lot about parenting and what kids liked. So we started writing articles around our learnings. We also added articles that were ‘Top 10’ like of lists, etc.

We started getting requests for review by founders who were creating app for kids. We decided to do it for free. This turned out to be a blessing in disguise for Roo Kids app. Without having to do any outreach, all kids app creators were find us and contacting us.

We were getting to know what sorts of app are being created and how well they are doing. This became a very important learning and motivation for creating Roo Kids app.

Chasing Audience

Almost till end of 2013, we churned out products & pivoted at rate of one every 2 months. We blindly went where we got more users, registrations, interactions, page views, etc.

We ended up with 14 products. And now it was time to consolidate and refine.


Originally posted on LinkedIn (E01, E02, E03, E04, E05, Startup Lessons) and Roo Kids App blog as a single post here

Failing Since 2012 – S01E01

warofga art

Failing. Not failed!

We are failing everyday and that is how a startup is different. It is a daily struggle to not be part of the ‘90% who failed’.

I started in 2012 and it has been quite a journey till Roo Kids Chat App. Always a right time to look back and revisit the lessons learnt. For the journey is not over yet.

Get Set, Go – The First Few Months in 2012

Gungroo was build with the vision of a safe & secure messaging for kids. That is how we started and that is what we are today. But somewhere along the way …

Private Family Network

The product started as a private network for families where an admin could allow kids logins to be created (without an email) and family members joining using their email address.

Instead of 1, Gungroo needed 2 passwords for a user to login. This was a crazy idea ( The reason was simple: people like to pick bad passwords. They always do. Just by making it 2 passwords, we were increasing safety by order. ‘hello123’ and ‘password123’ are bad passwords. But ‘hello123password123’ is a whole different level.

But, no parent came. Not even the parents who had liked the idea and wanted to jump on such a product. Was it the very plain looking UI, the 2 passwords thing (it did confuse people & our UX guy disapproved of it) or what? But from the number of times I heard, ‘yes, I will create an account and set up soon’ it was obvious: our product needed a lot of setup time.

We did notice that friends whose work places had banned Facebook were using Gungroo a lot. No one in IT knew about Gungroo and they used it for all intra-office gossip.

Moderated Client for GMail

We moved on to add the next planned feature: a moderated client for GMail. The way it worked was that a parent creates a GMail account for the kid using parent’s real info. They never share the password with kid. Then they setup GMail on Gungroo. When an email arrived in GMail’s inbox, Gungroo imported it using IMAP, sent to parent, parent inspected it, approved it and then the kid gets it in her inbox on Gungroo. And vice versa for sending. Cool!?

And, no parent came. Not even the parents who had like the idea and wanted to jump on such a product. Was it the very plain looking UI, need to approve each and every message, email not being as hot vs social media or what? But from the number of times I heard, ‘yes, I will create an account and set up soon’ it was obvious: now our product needed even more setup time.

Moderated Client for Facebook

We moved on to add the next planned feature: a moderated client for Facebook. The way it worked was that a parent allows Gungroo’s Facebook app to read and write on the wall. When kids used Gungroo’s interface to post on Facebook, it was sent to the parent for approval and on approval it was posted to the parent’s wall via Gungroo’s Facebook App. All likes and comments on that post were imported to Gungroo and shown to the kid. Thus Gungroo acted as a safe & moderated client to Facebook. Cool!?

Guess what, no parent came. Not even the parents who had like the idea and wanted to jump on such a product. Was it the very plain looking UI, need to approve each and every message, right audience not knowing about the product or what? But from the number of times I heard, ‘yes, that is a great idea’ it was obvious: our product and we were targeting wrong set of people.

Users v/s Customers

This is when I realised why kid’s products are so tough. The users are the kids and have their own thing going. The customers who will pay for it are parents and they have their own preferences. There was no way we could balance the two and both happy. We had bet on the parents. Parents are busy and have a whole world of worries to keep them busy. Setting up Gungroo was something that had to be done as soon as …

We decided to bet on kids instead. If kids like something enough, they will find a way for their parents to pay for it. This was not a space where a parent could influence the kid much anyway. The only space where parents can strongly influence their kids is in education. No wonder edutech does so better.


Originally posted on LinkedIn (E01, E02, E03, E04, E05, Startup Lessons) and Roo Kids App blog as a single post here

Indian Script Code for Information Interchange or ISCII

Indian Script Code Information Interchange ISCII

1 Character Encoding

1.1 Introduction

Internally, the computer handles information as numbers. So a word like, “word” is stored and handled in numeric representation. The character, are handled as numbers with help of a method called ‘Character Encoding’.

In the simplest case, for English characters we can use:

a = 00; b = 01; c = 02; d = 03; e = 04; f = 05; g = 06; h = 07, i = 08; j = 09;
k = 10; l = 11, m = 12; n = 13; o = 14; p = 15; q = 16; r = 17; s = 18; t = 19;
u = 20; v = 21; w = 22; x = 23; y = 24; z = 25.

So if we want to encode, “word” using the above encoding, the word will look like this inside a computer’s memory:


Now if we want to represent, “a word” we realise we can not do so as we do not have a character encoding for ‘blank’. We can write “aword” but not “a word”. So we add a new character to the above list.

a = 00; b = 01; c = 02; d = 03; e = 04; f = 05; g = 06; h = 07, i = 08; j = 09;
k = 10; l = 11, m = 12; n = 13; o = 14; p = 15; q = 16; r = 17; s = 18; t = 19;
u = 20; v = 21; w = 22; x = 23; y = 24; z = 25;
"blank" = 26

So “a word” using the above encoding will look like this inside a computer’s memory:


Now if we want to represent, “A word” using above encoding, we face another problem. Our encoding has numeric code for only small case alphabets and not upper case. So we need to add that too. And how about punctuation marks? We need to add that. How about some often used symbols like Rs to represent rupees, @ used in email addresses, %, +, – and others used in mathematics? Or characters that represent a number like 0, 1, 2, 3, etc?


ASCII stands for American Standard Code for Information Interchange and pronounced as “ask-key”.

In the early days of computing, people realised that even though the problem of encoding characters or assigning them numeric values had a simple solution, but without a standard, it could lead to a very confusing situation.

To explain, let us look at above example. Say computer manufacturer A builds one using the same encoding as above. But computer manufacturer B decides to use, for some reason:

a = 10; b = 11; c = 12; d = 13; e = 14; f = 15; g = 16; h = 17, i = 18; j = 19;
k = 20; l = 21, m = 22; n = 23; o = 24; p = 25; q = 26; r = 27; s = 28; t = 29;
u = 30; v = 31; w = 32; x = 33; y = 34; z = 35;

Whereas B’s representation of “none” is 23242314, if the same code is carried to A’s machine, it becomes “xyxo”.

Realising this could lead to incompatibility and confusion, a standard for character encoding was decided upon.

Much of the credit for this standard goes to Robert W. Bemer’s work in 1965. The work started in 1963 and by 1968, a standard seven-bit code that was finalised by ANSI (as ANSI X3.4 standard). It was called, American Standard Code for Information Interchange or ASCII.

This standard included non-printing characters (like blank, etc), typographic symbols, punctuation marks, English lower case and upper case characters, numbers and other symbols.

As it was a 7-bit code, the maximum number of possible characters it could encode was 128. Starting from 0, the numbers went up to 127. It was around this time that another standard was decided upon – that a byte would be 8-bit. The 8th unused bit was used for parity check and in some systems for mark end of a string.

As usage of computers spread to other countries, this standard was referred to as US-ASCII. ASCII and its national variants were declared international standard ISO 646 in 1972. So, the names were of the form ISO-646-xx, where xx was a two-character country code (CA – Canadian, CN – Chinese, CU, DE, DK, ES, FR, HU, IT, JP, KR, NO, PT, SE, UK, YU and so on). No, there was no IN for India.

A general symbol for currency was chosen as “¤” as many socialist countries did not want to use “$”.

As computing progressed, people realised that 128 characters were not enough. Especially when more countries began to participate in computing efforts. Also, the practice of having a parity bit was no longer needed or considered a good idea. It was time for an upgrade.


EBCDIC stands for Extended Binary Coded Decimal Interchange Code and pronounced as “eb-sih-dik”.

It was an extension of the 4-bit Binary Coded Decimal encoding. It was devised in around 1963-1964 timeframe by IBM and was the predecessor to ASCII, which was finalised in 1968. EBCDIC is an 8-bit encoding vs. the 7-bit encoding of ASCII.

Being an 8-bit code, the maximum number of possible characters it could encode was 256. Starting from 0, the numbers went up to 255 It was around this time that another standard was decided upon – that a byte would be 8-bit. The 8th unused bit was used for parity check and in some systems for mark end of a string.

It is a very IBM specific code and not used much out of their mainframe family.

1.4 Extended ASCII

Extended ASCII is also referred to as 8-bit ASCII.

Realising the shortcomings of 7-bit code, an 8-bit version was standardised. This included the US-ASCII encoding as first 128 characters (0-127) and another 128 (128-255) were added. It was first used by IBM for their PCs. Eventually, ISO released a standard, ISO 8859 describing an 8-bit ASCII extensions. The US-ASCII based one was ISO 8859-1 (popularly called ISO Latin1). The one for Eastern European languages was standardised as ISO 8859-2, for Cyrillic languages as ISO 8859-5, for Thai as ISO 8859-11, and so on. No, none was standardised for any Indian language. ISO 8859-15 or Latin-9 was a revision of 8859-1 to include the euro symbol.

As usage of computers spread to more countries and more information was being shared using character encoding, limitations of this encoding began to surface.

One was that 256 codes were not sufficient for encoding characters for many languages. Also, overlapping codes, based off different ISO 8859-x standards, led to strange characters showing up if the standard did not support. It was time for an upgrade.

2 Unicode

2.1 Introduction

In 1991, a new standard was proposed. It was called Unicode and aimed at providing one big character encoding table that has all characters of almost all languages being used in computing or otherwise and internationally used symbols.

Unicode is a 16-bit code. As compared to 256 of extended ASCII, it can encode (provide numeric codes for) up to 65536 (0-65535). The extended ASCII codes we also preserved. The first 256 characters encoded were same as extended ASCII. Thus, to convert ASCII to Unicode, take all one byte ASCII codes, and add an all-zero byte in front to extend them to 16 bits.

While as on one side, it meant that simple text files were now double the size, on the other hand, a standard was achieved that could serve as cross-language character encoding method.

2.2 Indian Languages Supported

There are 18 Indian languages (on the last count) listed in the Eighth Schedule of Indian Constitution.

They are: Assamese, Bengali, Gujarati, Hindi, Kannada, Kashmiri, Konkani, Malayalam, Manipuri, Marathi, Nepali, Oriya, Punjabi, Sanskrit, Sindhi, Tamil, Telugu and Urdu.

Out of these, characters from scripts of following languages are currently part of the Unicode standard (4.0) : Urdu, Hindi, Bengali, Punjabi, Gujarati, Oriya, Tamil, Telgu, Kannada and Malayalam.

The Unicode standard is a work in progress. There are many proposals that are being considered for inclusion. One of them being investigated is for encoding Vedic characters.

2.3 Codes for Indian Scripts

Language       Script            Code (hex)
                               Start     End
Urdu           Arabic          0600      067f
Hindi          Devanagri       0900      097f
Bengali        Bengali         0980      09ff
Punjabi        Gurumukhi       0a00      0a7f
Gujarati       Gujarati        0a80      0aff
Oriya          Oriya           0b00      0b7f
Tamil          Tamil           0b80      0bff
Telgu          Telgu           0c00      0c7f
Kannada        Kannada         0c80      0cff
Malayalam      Malayalam       0d00      0dff

The code for Rs symbol is 20a8.


3.1 Introduction

ISCII stands for Indian Script Code for Information Interchange and commonly read as an abbreviation but also at times (“is” as in this) “is-kii” making it sound like two Hindi words, “is” and “kii”. In Hindi, it is referred to as “Soochna Antrvinimay kay liye Bhartiye Lipi Sahita”.

It was established as a standard by Bureau of Indian Standards (IS13194:1991) in 1991 and is based on an earlier Indian Standard IS 10401:1982. ISCII is an 8-bit standard in which lower 128 characters (0-127) confirm to ASCII standard. The higher 128 characters (128-255) are used to encode characters from an Indian script. Unicode has largely preserved the ISCII encoding strategy in their encoding. Though allocating different codes, Unicode is based on the ISCII-1988 revision and is a superset of the ISCII-1991 character encoding. Thus, texts encoded in ISCII-1991 may be automatically converted to Unicode values and back to their original encoding without loss of information.

Indian languages Urdu, Sindhi and Kashmiri are primarily written in Perso-Arabic scripts. But they can be (and sometimes are) written in Devanagari too. Sindhi is also written in the Gujarati script. Apart from Perso-Arabic scripts, all the other scripts used for Indian languages have evolved from the ancient Brahmi script and have a common phonetic structure, making a common character set possible. By manually switching between scripts, an automatic transliteration is achieved.

As per the standard, following mnemonics are used for Indian scripts:

DEV: Devanagari, PNJ: Punjabi, GJR: Gujarati, ORI: Oriya, BNG: Bengali, ASM:Assamese, TLG: Telugu, KND: Kannada, MLM: Malayalam, TML: Tamil, RMN: Roman.

This ISCII-91 DEV is character encoding for characters from Devanagari which is used to write Hindi, etc. ISCII-91 ORI is the character encoding for Oriya and so on.

3.2 Indian Language Supported

Character encoding for following scripts has been standardised by the ISCII and they can be used to write Indian Languages. The scripts are:

Devanagari, Punjabi, Gujarati, Oriya, Bengali, Assamese, Telugu, Kannada, Malayalam, Tamil and Roman.


4.1 Introduction

INSFOC stands for Indian Script Font Codes.

Originally designed along with ISCII, ISFOC has not been standardised by BIS yet. A new draft, however, has been written in 2003.


TTF stands for TrueType Font. It is a font standard developed in the late 1980s. The biggest advantage of using TrueType was that a user could increase or decrease their size without losing the quality. In earlier fonts, if a user used any non-standard size, the fonts used to get jagged and lost the clarity and visual quality.

OTF stands for OpenType Font. It is a font standard announced in 1996. They are Unicode based and hence can support any language Unicode supports. Being based on Unicode, they can support up to 65,536 glyphs (as characters/symbols are referred to in Fonts).

USP stands for Unicode Script Processor. This is a technology developed for Complex Scripts like Arabic, Hebrew, Thai, Indic, etc.

UTF stands for Unicode Transformation Format. There are several mechanisms to physically implement Unicode based on storage space consideration, source code compatibility, and interoperability with other systems. These mapping methods are referred to as UTF.

One of the most popular UTF mapping methods is UTF-8. It was created by Rob Pike and Ken Thompson (yes, it is those guys. They even titled the standard paper, “Hello World” in several languages.

It is a variable-length encoding which uses groups of bytes to represent the Unicode standard for the alphabets of many of the world’s languages. Thus, it may use 1 to 4 bytes per character, depending on the Unicode symbol.

All Internet protocols have to identify the encoding used for character data. So, as per IETF requirements, UTF-8 is the, at least one encoding supported, by all Internet protocols.

4.3 Fonts for Indian Script

ASCII, ISCII, Unicode, etc come into the picture in the back-end for storing and processing of text/data. For front-end visual rendering, fonts come in the to picture too.

In the case of Indic Scripts, displays usually need an on-the-fly conversion from ISCII-to-Font and Font-to-ISCII. This is needed, for example for conjunction of characters and mantras. Absence of such rendering can lead to the display of ISCII character in order in which they are stored instead of how they expected to be seen visually.

For example in Hindi, the small “ee” matra is after a character but visually is placed before it. A display that has the on-the-fly conversion from ISCII-to-Font will show it before the character. But a display not having on-the-fly conversion from ISCII-to-Font will show it after the character, for the same ISCII file. That is not how one expects the small “ee” matra to be placed.

Another example from Hindi. The “halant” symbol is placed under a character. A display that has the on-the-fly conversion from ISCII-to-Font will show it under the character, but one without will not.

This complexity in the rendering and editing of Indic Scripts, the display of Indic scripts is referred to as the script being non-linear in nature. Some of the challenges in Indic scripts rendering are:

  • Glyphs have variable widths and have positional attributes.
  • Vowel signs can be attached to the top, bottom, left and right sides of the base consonant.
  • Vowel signs may also combine with consonants to form independent glyphs.
  • Consonants frequently combine with each other to form complex conjunct glyphs.

4.4 Searchability

As Indic fonts have not been standardised and INSFOC or any Font-Encoding-Standards has not been developed, most Indic language supporting websites and software vendors had to developing their own fonts. This led to totally incompatible with each-others.

This incompatibility leads to these issues:

  • Text composed in the editor using one Indic font can not be opened/edited in another editor using some other font.
  • As the vendors would have to pay to support other vendor’s fonts, that would increase the cost of their product. That discourages compatibility.
  • Indian Language processing remains limited up to word-processing, DTP, printing only.
  • Web page and email messages composed in the editor using one Indic font can be viewed only if the font also attached/downloaded and installed on the receiver’s end. This leads to a user having to install unnecessary number of Fonts and manage them.

This has led to hundreds of web pages all over the net in Indic languages, none compatible with the another. This severely handicaps web search engine who are unable to provide meaningful search result from those web pages, virtually making the information inaccessible.

With inputs from Hariram Pansari – hrpansari at yahoo dot com