A Case For Ugly Applications

Reddit Sticker
Reddit Sticker (Photo credit: cambodia4kidsorg)

Ugliness level is definitely a subjective criteria. But I can take liberty in generalizing it in the similar way we generalize beauty. Website of Apple is beautiful, Reddit is ugly. If you agree, we are on the same page. Till few months back, design aesthetics was one of the primary consideration I had before working on any application. But then things changed with a simple understanding – the beauty of a website or an application is not always relevant to its functionality. And then there are live examples – Amazon.com, Reddit.com, Coolmath.com, Craiglist.com, berkshirehathaway.com, HackerNews and to some extend Facebook. Also Tally (accounting software), Google docs and Wikipedia.

Unless, the purpose of an application itself is to look good, which can be a good purpose for selling say lifestyle products, it need not be aligned with a good-looking website. If the purpose is to increase sales, the primary design decisions should be derived from the sales metrics. Amazon would have come with their design after millions of split testings and optimizations. If the purpose is engagement, that should be the primary purpose and Facebook is a good example. Coolmath website conveys that they are not marketing their products and probably their target customer is more comfortable with using such website. Similarly Reddit and HackerNews meet all the test in usability and functionality for their target audience, the look and feel does not matter.

A nice look and feel of your application or website is neither a necessary condition nor a sufficient condition. Aligning it with the purpose is more important. And the only way to do it is using real metrics based on user testing. What looks cool or beautiful can serve no purpose and your target audience might not care about it.

Sponsored Post Learn from the experts: Create a successful blog with our brand new courseThe WordPress.com Blog

WordPress.com is excited to announce our newest offering: a course just for beginning bloggers where you’ll learn everything you need to know about blogging from the most trusted experts in the industry. We have helped millions of blogs get up and running, we know what works, and we want you to to know everything we know. This course provides all the fundamental skills and inspiration you need to get your blog started, an interactive community forum, and content updated annually.

Startup on Cloud – Part 2

This one is continuation of my earlier post – Startup On Cloud (Or 9 Cloud-based Tools For Startups). I came across some more tools that startups can leverage. We, at Eduflix.tv, are either already using some of these or plan to use in future.

1. ClickTale/ Userfly

Image representing ClickTale as depicted in Cr...
Image via CrunchBase

ClickTale tracks the user experience on website and helps in improving the user experience and conversion rates. Userfly is another alternative and I am sure there would be many such services available. These services track the mouse moves, clicks, scrolls etc and create videos of customers’ browsing experience. The heat maps generated can also help in making some important design decisions.

2. ClickDesk

We use Clickdesk to provide live chat service on our website. Being a consumer service company it helps us in having inbound interaction with our users. We have multiple ways in which users can reach us – feedback form, email, phone number and live chat – and it seems that users prefer live chat more than anything. The experience has been good so far if we discount the irrelevant or junk messages we get sometime (no fault of Clickdesk).

3. Intercom

Intercom is clean and simple CRM for tracking users and communicating with them. Intercom helps us to know when our users log in and to message them inside the app itself. It is not very feature heavy application but the its simplicity makes us always logged on to it in spite of having our won in-house CRM system.

4. Workflowy

After trying out tens of tools, Workflowy was an end to the search of a good project management tool. Like Intercom, it’s the simplicity of Workflowy that makes it so usable and worthy of occupying one permanent tab in my browser. A to-do list can grow to be very complex, specially for startup teams since there is too much multi-tasking (and lot of things to do!). Fortunately, there is workflowy that makes all the lists look simple. “One list to rule them all”, rightly quoted in Lifehacker. With simple collaboration tools, now it is not just a personal to-do list.

5. Google Website Optimizer

My earlier post covered tools from Google but I missed out this one. There are many other A/B testing tools available but nothing beats “free service” for startups running on shoe string budget. Google website optimizer helps in split testing landing pages or other important pages in web app. Sometimes, taking empirical is better than taking decisions based on past experiences or gut feeling.

6. LaunchRock

For creating a good “launching soon” page. We used this to create a launching soon page for our QnA platform and it saved us lot of time by not worrying about hosting, css, html etc.

7. Wildfire

Image representing Wildfire Interactive as dep...
Image via CrunchBase

When we set up the fan page for Eduflix, I did not know about Wildfire or Wildfire-like services. It took almost a day or half a day to create a welcome page. This time could have been easily saved had we known that there are services to create such pages. Wildfire came in handy when we redesigned the welcome page [although now we don’t have any welcome page]

8. Unbounce

For creating the landing pages and A/B testing the pages. We have around 10 landing pages for our website and creating a new page and creating variants to split test it always take up lot of extra work. Although we havent used it yet, in future we plan to use some service like Unbounce to make this process faster.

This completes the list as of now. Would love to hear more about such services that can speed up processes in a startup.

After writing this post, I realized that all the tools discussed above are for marketing. In part 3 of this series, I will cover technologies and frameworks that can be used in product development.

Lessons Learnt As An Entrepreneur For One Year

Customer relationship
Customer relationship (Photo credit: Claudio Cicali)

It has been a year I have been a full-time entrepreneur. Like any other entrepreneur I have had my share of peaks and troughs, the latter more than the former. We, as a startup, also made lot of good decisions and several mistakes. In the hindsight, it is always easy to rationalize our acts but it is equally important to analyze and learn from success as well as mistakes. Here are some lessons I can think of –

Product-market fit is more important than creating processes for scaling up: So you are driving fast to reach your destination, but what if the way you chose is itself wrong? Startups like ours face a lot of uncertainty. There are hundreds of things that can go wrong.    Sometimes, we spent a lot of time in thinking about [and doing] things like creating the cheapest delivery service or increasing the size of the team. These things are definitely needed but concentrating on these things unless you are sure that your product will work is just like driving fast at the risk of choosing the wrong way. Scaling up, setting up most optimized delivery processes etc can be de-prioritized over quick validation whether the product will really work.

You cannot find answers in meetings: We also spent a lot of time in discussing about the right markets, product features, business models, ideas etc. We also felt disappointed lot of times when we were not able to find the right answers to our questions. One thing that I learnt is that no matter how much you research or read, there is no alternative to test your hypothesis. So instead of finding answers in the meetings, we should discuss more about tests that can be done as quickly as possible to get the answers.

There are two type of tasks in a startup: Any task in a startup can be classified into two parts – customer-centric tasks and non-customer centric tasks. Although all tasks in a business are customer-centric since the primary objective of business is to create a customer. I define customer-centric tasks as only those tasks that are directly related to customer – be it sales, support, customer feedback, product delivery etc. While non-customer centric tasks are indirectly related to customers – setting processes, server benchmarking, designing visiting cards, stationary, making perfect facebook page etc. Now when I look back, we spent a lot of time on non-customer centric tasks. While these wer also important but some of these could have been conveniently postponed for later time after customer-centric tasks were taken care of.

You cannot do too many things at the same time: There was a time when we were considering 3 to 4 business models and working on all of them simultaneously. This testing was required to understand the market better but being a small team, it took a big toll on our mind share. Then there are growth models – we worked on multiple of them at the same time. I think it would have been lot better had we experimented with one model at a time and ingested the learning going forward.

You should measure the right metrics: Numbers that look very encouraging can start looking very depressing if looked from different perspective. It can also be vice versa. And if you are making decisions based on these numbers seen from a wrong perspective, it can have serious repercussions. We were lucky enough not to fall for any vanity metrics  [ for eg. 10K FB fans or 800 registrations etc]. We are also trying to come up with right metrics to measure our business.

Not hiring is better than hiring mediocre people: At least not when you are starting up. We were lucky to get really awesome people and it was great to see how much they were able to contribute considering the zilch experience they had. On the other hand we also made couple of mistakes – hiring unfit people. The worst part here is not the monetary cost to company but the amount of mindshare and overheads involved in keeping them  in sync with the company’s culture and business objectives.

Things that you think are important may mean nothing to customer: So we designed a cool feature in our product, we discussed about it for hours and we were happy about it. Then customer says “oh ok” or doesn’t even notice it. I think by middle of the year, we started to realize, to some extent, what matters to our target customer and what does not. We might be still biased about it but now we are aware about this bias. Our customers are not “us” and hence what we think is cool does not matter to business. And to add to this, what customer says is not necessarily what customer wants and it’s the latter that matters more. Fortunately, we did not make many mistakes in investing heavily on unwanted product features.

And the biggest of them all – There are some things you will learn only by doing, sometimes learning the hard way. You can read hundreds of books or get advice from many wise people, you cannot learn swimming unless you jump in water. Before starting, if I were given objective type questions to answer based on the above points, I would have answered most of these according to what I have learnt now. But it would have been like knowing the theory of freestyle or backstroke swimming – which is almost worthless.

[These views are biased on what I think and it may be or may not be different from what my company, team or cofounder thinks. Also there is high probability that I will have to unlearn some of these in next few years because these will be not applicable in different settings]

5 Resources to Learn Programming

In last few years I have seen an interesting paradox first hand. While there are so many companies looking for good technical talent, there are also thousands of engineering graduates looking for technical jobs. And what explains this paradox is the skill mis-match between what companies need and what these grads own. Unfortunately, most of the engineering colleges are failing to impart these skills required in Industry. Take for instance, programming skills – I have met many computer science grads in last one year who do not know programming. I am not an expert in programming, but being a geek, I have been able to aggregate some resources that might be of some help.

1. Udacity – Udacity is an interesting startup offering free courses from the greatest teachers. One of the current course running is CS101: Building a search engine and Udacity claims to teach enough programming in seven weeks that you will be able to build a web search engine like Google. The best thing is that this course does not need any prior programming experience. The programming language used is Python. Although the course started on 20th Feb, you can still join it or join in next session.

2. CodeAcademy – Yet another startup, but the approach is different from Udacity. Instead of using videos, Codeacademy provides an interactive web application to learn programming. The app goes in step by step manner through each lesson and exercise. As of now, Javascript courses are available and this is a good start. The web app also keeps track of your progress. In addition, there is very engaging QnA platform in case you get stuck. The UI is clean and now since they have made it as a platform [means other can also create lessons], I think many more courses will be available very soon.

3. Khan Academy – Salman Khan has been in the limelight for some time (I had written about him earlier here). Surrounded by lot of hype there is some substance in his style of teaching. The best thing about this videos is the simple and casual language used. However, these videos are not enough if you want to pursue programming seriously but can be a good starting point. Heres the link – http://www.khanacademy.org/#computer-science

4. Project Euler – Project Euler is a series of problems in mathematics and programming. A good collection of problems to solve and the problems range in difficulty level. An example problem here –

Find the greatest product of five consecutive digits in the 1000-digit number

There are 366 problems I can see (without logging in) – enough number to keep you busy for a while.

Image representing Stack Overflow as depicted ...
Image via CrunchBase

5. Stackoverflow – If you are a geek, it is almost certain that you would have stumbled on Stackoverflow. With more than 2.8 million questions, and growing, this has become one of the biggest library of programming questions. There is very high probability that you will find the answer to the exact problem you are looking for and in case you don’t find, you can always ask.

So we have five different ways of learning programming. Khan Academy and Udacity are based on Video learning, Udacity is more structured and comprehensive. While Code Academy and Project Euler are based on problem solving. Codeacademy walks you through step by step , perhaps good for beginners and Project Euler throws a good problem and its all on you how to solve it. Stackoverflow is more like reference where you go when you get stuck with something. All said and done, as some of the programmers say, the best way to learn programming is by doing it.

An Inspiring Story Of Two Rural Edupreneurs

It has been 8 months since the academic session started. Baluram has not yet paid the school fees for his three sons and one daughter and now he is requesting the school principal if he can pay it in kind – he has no money but has just harvested wheat and he can drop a part of his harvest at principal’s house. The principal has no idea what he would do with 100kg wheat – it would not even cover 25% cost of education he is imparting to four of Baluram’s kids. But he has no option – neither can he throw Baluram’s kids out of school nor can he reject this offer.

School Building
School Building

This incident is not new for Mr. Ravindra Sharma, also popularly known as Pappu Bhaiyya. In 16 of his life in educating rural kids, he has come across many such cases. Ravindra Sharma started Vyankat Vidhya Vihar, named in the memory of his father, 16 years back with his wife Maya Sharma in a rented house with just two rooms and 20 students. Before this school, the kids in his village had only two options – go to government school 5 km away with highly questionable quality of education or drop out and start helping their families in making livelihood.

Kids waiting for their bus trip
Kids waiting for their bus trip

Today, Ravindra and Maya Sharma educate more than 480 students till class 8th with students coming from around 15 surrounding villages. Around 60% of students are from farming community, rest are from tribal areas with occupations like digging, pottery, sweeping and – hold your breath – stealing. Ravindra and Maya Sharma have been trying to provide a high quality education to these kids at just under Rs 100 per month and may I say, they are trying really hard.  Two years back Maya had to send her husband off for 6 months to do some other job and make some money for the family; they have a son and mom to take care of. Ravindra sold pesticides for 6 months and used the money earned to cover the salaries for the school

School bus
School bus

staff. Later he sold his family possessions, borrowed Rs 5 Lakh from Bank of India and some more from family and friends and build this structure that houses the school today (see pictures). The school even has a bus now that makes three rounds to pickup and drop students (please note, Rs 100 / month covers transportation charges as well). While browsing through the school files I note that they achieved 100% result in last academic year. Sounds impressive.

Investment lined up - fans, painting
Investment lined up - fans, painting

I also note that only 60% of fees was recovered in the last academic year. However, they had to pay teachers salary in full and on time – the total staff stands at 19 – 14 teachers, 1 driver, 1 conductor, 1 cleaner, Ravindra and Maya. Today Maya handles the daily chorus of school including the academics while Ravindra tries to bridge the cash flow gap. I am still struggling hard to understand the economies.

Drinking water facility
Drinking water facility

Ravindra and Maya are not from IITs. They are not even very well-educated in normal terms. Ravindra had to drop out due to family reasons and Maya is still pursuing higher studies – she had to take two breaks; one for her marriage and one while giving birth to her son. But that doesn’t really matter. What matters today is that they have changed lives of more than 1000 kids in last 16 years. And this number is going to increase manifold in coming years. What also matters is that their model is working – albeit with a lot of hard work.

The inspiring story of this couple raises two important questions  –

1. Can we create more of Ravindras and Mayas in other parts of the country to solve the real problem facing our country?

2. And can we make their lives little easier in this journey by using some innovative finance model?

What say you?

Popular Programming Languages In India

A selection of programming language t...

Google Keyword Tool can provide good insights sometimes. While I was playing with it, I just compared the ratio of keyword searches for some programming languages in India vs Worldwide –

Keyword Global Monthly Searches Local Monthly Searches (India) Percentage of Local Searches
.net 506000000 20400000 4
c 226000000 9140000 4
php 101000000 4090000 4
java 83100000 6120000 7.4
html 55600000 2740000 4.9
javascript 24900000 1830000 7.3
asp 20400000 2740000 13.4
programming 13600000 1500000 11
python 13600000 368000 2.7
ruby 11100000 246000 2.2
perl 7480000 368000 4.9
coding 4090000 550000 13.4
actionscript 2740000 135000 4.9
software programming 2240000 60500 2.7
objective-c 1000000 74000 7.4
lisp 1000000 27100 2.7
groovy 823000 22200 2.7
Total 1074681100 50411800 4.7

Python and Ruby are not very popular in India compared worldwide, while Java, Javascript and .Net are relatively more popular.

Also interesting to note that local search is only 4.7 %age of total search for these specific keywords.

8 Reasons Why You Should Not Become An Entrepreneur And 1 Reason Why You Should

There are hundreds of articles written and many more lectures given that glamorize entrepreneurship. Then there are examples of great entrepreneurs and how they changed the world. It all feels just like being part of the movie, you being the hero. But then few days (or months or years depending on your endurance) down the line, you start facing the truth. Alas, none of those inspiring_authors_and_speakers told you about these. And even if some good ones warned you, there are some things you learn only after experiencing. Here are some reasons why you should not become an entrepreneur –

1. You will have to ask help from others many more number of times than you can help others. Very painful process specially if you are not used to ask for help.

2. You might stop enjoying the luxuries of life and good food in expensive restaurants. These will become objects with a price tag on them with an opportunity cost.

3. There is a large probability that you will not succeed and not become one of those heroes who inspired you to take entrepreneurship. This apply even if you think you are better than 90% of other startups [although you might not be]. You might just be unlucky.

4. Those precious moments that you used to enjoy – reading a book, watching a movie, writing articles – gets limited.

5. There is nothing like work-life balance. You life is your work. And your family needs to be understanding enough to understand this.

6. It will take twice (or thrice) the amount of time you are budgeting to make it click (if it clicks – see point number 3)

7. Unless you are very rich, your living standards will go down compared to your friends – who will be buying apartments, going on vacations abroad and throwing parties in expensive restaurants.

8. You might have to learn the hard way. And you might have to learn lot many things. Even things that you don’t like. And sometimes learning those things can take more time than you expect (point no. 6)

However, there are other reasons that nullify all these points and make you go through the tough journey. And as I mentioned earlier there are some things you learn only when you do them. It’s totally worth doing it – just for the amount of things you learn and of course there are slight chances of success too. This is what Charlie Munger says –

Spend each day trying to be a little wiser than you were when you woke up. Discharge your duties faithfully and well. Step by step you get ahead, but not necessarily in fast spurts. But you build discipline by preparing for fast spurts. Slug it out one inch at a time, day by day. At the end of the day – if you live long enough – most people get what they deserves

Startup On Cloud (Or 9 Cloud-based Tools For Startups)

Starting a technology company has been becoming easier day by day [though same does not hold true for it’s success]. With the availability of so many cloud solutions, startups can save lot of money that was otherwise spent on expensive physical hardware. Here I have listed down 9 such tools that might be useful to you if you are starting a company.

Google Docs - Toolbar - Without icons

1. Google Docs – The best thing about google docs is that multiple members can edit the same doc at the same time. One can actually see what the other person is editing in real time. In addition you can organize your documents into folders and subfolders. Easy integration with Google forms help in building surveys/polls. One can also chat with collaborators while editing the doc.

Image representing Dropbox as depicted in Crun...

2. Dropbox (unto 2GB) – Dropbox has become a verb now – people are dropboxing their videos, files and photos. Although 2GB worth of space is free on dropbox, it is so addictive that you will soon paying for it to get more space. The best thing about Dropbox is that you can work on your documents even when you are offline.

3. Unfuddle – You can either set your own svn server and worry about managing it or you can start unfuddling. Unfuddle provides 200MB free space for one project to host your repositories. Free version supports unto two members. Code always comes with bugs, so there is also bug tracking mechanism in place. The best thing – you can request backups of your project.

Image representing Basecamp as depicted in Cru...

4. BasecampBasecamp is a project management tool from 37signals, a pioneer is designing simple and useful things to make life easier. Enough of tracking things through excel sheets.

5. Linode – Amazon Web Services may look very expensive if you are working on shoe string budget. Before you move on to a full-fledged cloud platform, linode provides bang for your buck at a very good performance. With higher number of linodes, you can also scale your startup to a good extend before moving on to AWS.  Best thing – gets you started in few minutes. Can be scaled up. Customer support is great.

6. YammerFor internal social networking, specially useful if you have geographically distributed teams.

7. Read It Later – Consider this – you come across some interesting webpage, you copy paste the link from the browser and send it to your colleagues. Now consider this – you come across some interesting webpage and you just press “read it later”. Although “read it later” was meant to read pages later, but we got accustomed to use it for sharing links among ourselves. How? – We use the same account on all our browsers.

8. Zoho / Sugar CRM – The free account of zoho will last you enough longer before you move on to your own crm server or paid version of other crm software. Alternatively, you can install community version of Sugar CRM on your hosting server.

9. Gmail Google Apps have good collection of free apps for your business, and the best among them is gmail. We all are accustomed to use gmail and have no doubts about credibility of google’s server. Gmail allows unto 10 email ids free on your domain. So instead of setting your own mail servers, one can delegate this task to google.

Any more tools to add to the list?