• About

    Swaroop C H is 29 years of age. He is a coder and startupper. He has previously worked at Yahoo!, Adobe, his own startup and Infibeam.


    Read more about him


    Email: swaroop (at) swaroopch.com

  • Subscription

    If you want to know when new stories and articles appear on this website, you can receive them via:

  • I'm a Wannabe Hacker

    The Glider: A Universal Hacker Emblem

Archive for the ‘Web’ Category

Announcing my free book on Vim

Tuesday, November 25th, 2008

Today is the first day of foss.in/2008, and on this occasion, I’m happy to announce the first public release of my Creative-Commons licensed book on the Vim 7 editor.

This book is meant for both beginners and advanced users.

For beginners, it walks you through the first steps to learning about modes, discusses about typing skills to be effective and moves on to the editing basics.

This book will definitely appeal more to people who are Vim users already because it helps add a huge number of tricks to their arsenal, whether it is more efficient editing, personal information management, coding your own plugins or making Vim a programmers’ editor.

I hope that fellow Vimmers will find these notes useful. Even though it is in a book format, the writing style is more like a tutorial and is informal, which should be familiar to readers of my Python book.

Both books are under the Creative Commons Attribution-ShareAlike 3.0 license, so you’re free to download it, email it, share it and improve it. In fact, the book is on a wiki, so you can just click on ‘Edit’ in the left sidebar of any chapter to improve the book in a matter of seconds. When in doubt, please use the ‘Discussion’ link to add your suggestions and comments.

For those who prefer reading books they can hold in their hand, please consider purchasing a printed copy of the book. This will also help support the continued development of the book.

For those PHP gurus familiar with GeSHi syntax highlighting, I would greatly appreciate any help in improving my vim syntax highlighting source, especially in handling Vim-style comments, etc. Please mail me if you can help.

This book has been in the works for several years, so I’m glad to see it finally in good enough shape for releasing it. Although I haven’t done as many rewrites as I would have been satisfied with, I decided it was better to <insert cliché of “Release Early, Release Often.”>

I dedicate this release to foss.in and GTD principles.

Internet usage in India

Monday, November 3rd, 2008

Every startup needs to do some market research while working on their next big idea. And part of this market research is looking at demographic and economic data to find out the size of your target audience.

For most of those who are reading this, the audience probably is people who use computers. Now, how do we find out such numbers? That’s where the Internet and Mobile Association of India steps in with their “Internet in India 2007″ report (PDF).

Some of the high-level overviews from that report:

  • The numbers are based on a survey across 30 cities and 65000 individuals.
  • The breakdown of the urban population is explained nicely in this funnel graphic:

internet_in_urban_india

  • 70% of people who know how to use computers have accessed the Internet at least once.
  • 70% of these at-least-once users become regular users.
  • Claimed internet users have risen from 32.2 million in 2006 to 46 million in 2007.
  • 38% are from the Top 8 urban cities, 12% from 5-10 lakh population cities, and 29% from 2-5 lakh population cities!
  • Young Men and College Students are the major chunk of the growing Internet user base.
  • There has been a decrease in usage by older men and non-working women.
  • PC ownership increased by 48% last year! Thanks to slashed PC prices.
  • With Government of India declaring 2007 as the Broadband Year, Internet ownership has increased by 32% last year!
  • The difference in increase of PC ownership (48%) vs. increase in Internet ownership (32%) is probably because of broadband penetration and availability
  • 36% use a cyber-café, 30% from home, 25% from office, 7% from school/college and 2% others.
    • The cyber-café is still the most prominent point of Internet access.
    • This is a valuable data point to consider regarding security when designing applications – people are NOT necessariliy using their own desktops all the time.
    • Usage from home and cyber-café has decreased vs. Usage from office and schools/colleges has increased. Note that these are percentages, the absolute numbers might paint a different picture, but I couldn’t find them in this report.
  • Usage can be classified into three broad categories:
    1. Communication – Email, chat
    2. Infotainer – Gaming, news, blogs, encyclopedia
    3. Sticky applications – Online banking, online ticketing, online shopping
  • 61% state communication as the main reason they access the Internet. 25% for information and e-commerce. And 13% for entertainment.
    • What’s interesting is that percentage of people with information as the main reason has decreased from 32% in 2006 to 20% in 2007.
    • I’m guessing that percentage of entertainment will increase with better broadband access.
  • 2/3rd of users access Internet 2-3 times a week.
    • 25% access daily, 19% 4-6 times a week, 23% 2-3 times a week, 18% once a week, and rest 15% about a few times a month
    • (It should be strange for us always-on people to see 75% of people not use it on a daily basis!)

These are very interesting numbers. I wonder how they compare with the growth graphs of Internet-advanced countries such as USA or Japan.

The IAMAI have many more interesting reports on topics such as Online Banner Advertising Market in India, Consumer E-commerce Market in India, Online Gaming in India, Mobile Value Added Services in India, and so on.

Personal Wiki

Friday, September 12th, 2008

There have been two recent changes on my website – the redesigned theme and the book-as-a-wiki. They are related developments. The reason I needed a new theme for my website was because I wanted a blog and a wiki integrated into the same website with a seamless theme.

If you visit the blog and the wiki, you will not immediately notice any difference except for the sidebar. This is intentional so that there isn’t a abrupt transition between the two software. After all, the content is more important than how it is being displayed.

But why a wiki?

Ever since I read about Tantek’s personal wiki, I have been fascinated with the idea. Having a wiki of my own to post anything seemed useful. As Tantek said:

“It’s also a place I’ve kept notes or documents that I expect to keep current / update in place, as opposed to blog posts, which are more like snapshots of thoughts in time.”

LifeHack also has a good introduction to personal wikis.

The advantage is that anything that can be benefited by many eyeballs can be put up on the wiki. For one, I can send it to people and get their feedback and improvements. Second, people can always stumble on to it via google or yahoo and they can contribute as well.

And then, there’s always all the goodness of MediaWiki such as versioning, ability to undo and rollback edits, good anti-spam features and even generate PDFs, thanks to PediaPress.

All these advantages of the wiki led me to recreate my book into the wiki, and it is already achieving great results. How else would a 20-year old student who lives in the Amazon work on a Brazilian Portuguese translation of a Python book and collaborate with others?

All the content is under a Creative Commons license so that the information belongs to everyone.

I’ll be slowly adding my tidbits, notes and link collections on different topics to the wiki. Of course, they will be always in a state of work-in-progress. Many things can go in there – right from trekking howtos (I get quite a few emails on that, surprisingly) to some entrepreneurship resources in the Indian context, and so on.

However, it’s important to keep in mind is to NOT add to the information overload, but to simplify things and cut the crap out.

You are welcome to add your suggestions and comments on the wiki using the discussion pages.

How attractive is your website?

Monday, August 18th, 2008

I was trying to analyze the feedback on my website’s new design. There seems to be a trend that relates their usage of the website with their feedback.

While researching on this subject, I found a paper by three people affiliated with the University of Manchester, UK. The paper makes three interesting hypotheses that are eventually proved in their paper:

  1. User preference will be determined by interactions between decision criteria and subject background, specifically design-training and aesthetics, culture and identity.
  2. User intentions will be determined by interactions between decision criteria and the task context; specifically, serious use will favor usability and content, less serious use will favor aesthetics.
  3. User judgment will be determined by interactions among decision criteria; specifically, positive aesthetics will over-rule poor usability.

They randomly asked students to consider three departments for either a one-month summer internship or a five-year PhD. Based on this, they were asked to judge the department websites. The three departments were under the same university, Stanford – the Design department, the HCI website and the D-School website.

What was interesting to note was that most of them rated the D-school best when asked to consider the one-month summer internship. But when the task was shifted to the five-year PhD, they all rated the HCI website better! All other constraints remained unchanged – the same university, the same websites, the same variation in backgrounds of people, etc.

From my understanding of the results, people prefer less-aesthetic websites for serious/regular usage . Perhaps this explains why advanced users prefer Gmail vs Yahoo! Mail – one focuses on simplicity and elegance while the other focuses on usability and attractiveness.

On the other hand, the study “suggests that users’ overall impression of a website could be a determinant of user satisfaction and system acceptability, even overcoming poor usability experience and poor content”

Perhaps this explains why we are okay with a not-so-great UI on the IRCTC.co.in website but still use it because it has great value since it solves a “critical” issue of buying train tickets. Yet, we wouldn’t have tolerated this kind of UI for other purposes. For example, such a UI could have never worked for a survey website or a form-builder. That’s exactly why Wufoo.com has to have such a great UI.

This reminds me of an amazing talk by Geoffrey Moore in an internal Adobe conference. He explained the different types of innovation : product leadership, customer intimacy and operational excellence, which in turn have four types each. The trick for a good company is to have aligned vectors of innovation where they have to excel, and non-aligned vectors of innovation where they have to be “good enough”.

So, in terms of websites, ideally, a website should have to either excel at content and service and be good enough at the aesthetics, or should excel at aesthetics and be good enough at content and service. It does NOT need to excel at both (but of course, it’s good if you can).

Always remember Carpe Diem

Saturday, May 17th, 2008

One of the hard lessons that I have learned this year is “Always remember Carpe Diem“. The corollary is that “If you don’t execute on your idea quick, someone else definitely will.”

For example, long back Vikram had this idea that there should be a company which takes care of odd chores such as electrical maintenance or plumbing, basically handyman work. Yesterday, I saw www.handiman.in on the back of an auto rickshaw. I came home and checked it out and it does exactly that. It’s a very useful service and seems reasonably affordable, at least for IT people. I’m sure lot of people in Bangalore will go for it.

Today, Mrinal pointed to www.indimeme.com, a TechMeme for the Indian blogosphere.

I started kicking myself.

I’ve had this idea for months but I couldn’t really move on it because I don’t have the knowledge yet, for example, about clustering algorithms. However, I did brainstorm it with a couple of friends and thought we’ll work it out. But a single person beat us to it.

There is a range of reasons why such a website is a good idea, probably the same reasons why TechMeme is indispensable too:

  • Allows people to see what are the latest topics that Indian bloggers are talking about.
  • Allows people to see the discussions across blogs, not just one blog and its comments.
    • Encourages the above type of discussion.
  • The portal can become the gateway of the Indian blogosphere.
  • For the website creator’s point of view, it can bring in a lot of visitors. And subsequently, advertisers.
  • An indispensable website means the creator of the website is indispensable too. Just like Gabe Rivera is everything behind the scenes of TechMeme. (Let’s face it, we’re all replaceable in our workplaces.)

And so on.

Anyway, the only downside I’ve noticed about IndiMeme.com is that the clustering results aren’t good yet, but the thing is it is already out there. It has been executed. It needs refinement. And I’m sure it’ll get there.

I don’t know whether I should add this idea to my already-long personal ‘deadpool’. Sigh.

When I started thinking about this idea, I came across one paper called Mining blog stories using community-based and temporal clustering which explained how this is a special type of clustering that takes time into account. They call it:

“[the] Content-Community-Time model that can leverage the content of entries, their timestamps, and the community structure of the blogs, to automatically discover stories. Doing so also allows us to discover hot stories.”

I was thinking whether the same idea can be applied to an RSS aggregator and then I found that was done too as well.

I guess there are simply no low-hanging fruit left in this accelerated world.



I have been impressed with the urgency of doing. Knowing is not enough; we must apply. Being willing is not enough; we must do.

– Leonardo da Vinci

Biking to Ooty

Thursday, May 8th, 2008

It all started on Monday last week when Lakshman tweeted if anybody was game for a weekend trip. Ashwin tweeted back saying yes.

Later they asked me over email. My reply was “Why Ooty!?”. They replied saying “It doesn’t matter. We’re going for the drive.” Two days later, we three were driving to Ooty on bikes at night.

My descriptions below are in twitter style as an ode to how the trip happened. ( But of course, my usual writing style will resume after this post :) )

We started off at 8 at night. First stop was some lip-smacking food at Kamat Lokaruchi:

Biking to Ooty 017

9.10 pm : We’re on the way! 3 twitterers on bikes.

9.25 pm : Getting out of Bangalore is the toughest thing.

9.30 pm : @scorpion032 says 2020 will also be the year of the linux desktop.

10.32 pm : @cruisemaniac and @scorpion032 are tweeting away…

1.40 am : Taking a break.

Biking to Ooty 018

2.33 am : Admiring the mysore palace…

Biking to Ooty 020

3.16 am : Sleep getting to me… But we’re taking breaks and having fun. In Nanjangud.

3.20 am : Another break.

3.34 am : Listening to My Sacrifice at 330 am at 70 kmph on bike with the wind in your hair is something to be experienced.

Biking to Ooty 029

4.10 am : We find a freakin’ coffee day in the middle of nowhere. Waiting for capuccino.

Biking to Ooty 031 Biking to Ooty 035

6.15 am : Mudumulai forest.

Biking to Ooty 049 Biking to Ooty 053 Biking to Ooty 054

6.20 am : Animals! Elephant, deer, peacock, mongoose, eagle, woodpecker, … All right there next to us… Thank heavens the elephant didn’t think we were pesky…

6.45 am : Exiting Mudumulai forest.

My favorite photo from this trip (notice the clouds and the bike):

Biking to Ooty 074 Biking to Ooty 075

(more…)

Why You Should Run

Sunday, April 20th, 2008

One fine day, I was running by myself. It was a few weeks before Barcamp Bangalore 5. I got an idea that I should talk about a non-techie topic at Barcamp since I’ve been giving tech talks for the past few years and I wanted a change of pace. I brainstormed many ideas on the reason for the talk, what to say and how to explain, etc. all during that one run.

Unfortunately I couldn’t attend BCB5. But I stored the notes in a safe place. And when BCB6 was announced, I wanted to be sure to talk this time around.

A few weeks back, Ramjee called me and asked whether we can talk about running. I smiled and thought to myself “Great minds think alike”. Or at least “Runners think alike”.

So I made a ppt and we landed at Barcamp on Saturday morning. We had never discussed the presentation. And we were going to give a session on it. Truly unconference style.

Note: The slides below have been modified to make it useful for a web audience. It has a lot more text now.

Barcamp crowds are very inquisitive and so we didn’t actually go past half the slides, which is actually a good thing. Instead, we discussed a wide range of things about running right from finding good places to run to trouble with dogs.

In spite of the delays causing us to start at 12:45 (which means almost lunch time) the discussion went on till 1:45 and 90% of the 30-40 odd crowd were present till the end. When we went to grab what was left of lunch, lot of people asked us questions including how to avoid knee pain (tip: it’s the shoes). Since questions are always a good sign, I think it was a successful discussion.

We both still consider ourselves amateurs at running but at the end of the day its an activity we like and Barcamp is a perfect platform to talk about our passions.

Oh, and if you’re still not a believer, I’ll end with a quote:

Games require skill. Running requires endurance, character, pride, physical strength, and mental toughness. Running is a test, not a game. A test of faith, belief, will, and trust in ones self. So hardcore that it needs a category all to itself to define the pain. When game players criticize, it’s because they aren’t willing to understand, not because they’re stronger. Running is more than a sport; it’s a lifestyle. If you have to ask us why we run, you’ll never understand, so just accept.

– Jessica Propst


Update: SlideShare decided to make it a Barcamp spotlight presentation:

whyyoushouldrun_slideshare_spotlight

The online slides has had 1274 views and 116 downloads as of this writing (2008-05-04 Sun 10:04 PM).

Web dev frameworks vs RIA

Monday, April 14th, 2008

How do traditional web development frameworks cope with RIAs?

By RIAs, I am referring to the Flex/Silverlight model (Ajax has a hybrid model in my view, so I’m not discussing that here since I don’t want to muddle up the question).

Coming back to topic, I see that the traditional web development frameworks are inside-out and RIA development as outside-in:

Traditional web dev frameworks RIA frameworks
Flow: controller ⇒ model ⇒ view (pages) view ⇒ controller ⇒ model
Everything built into the framework. View is generated via templates. View is designed separately and it’s what runs first. Backend is a bunch of web services.

Question: How is this resolved practically?

For example, how do people using Django or Ruby on Rails actually write, say, Flex frontends for their websites?

Do they ditch their templates/rhtml? Do they design the RIA first and then the web service, or the other way around? … etc.

I couldn’t figure out the answer and since there are people out there doing it, I’m hoping the “hoosgot” i.e. lazy web gods will answer.

What is NDTV’s online strategy?

Friday, March 14th, 2008

I wonder if all of these are actually part of some game plan:

  • ndtv.com
  • ndtvtravels.com
  • ndtvgadgets.com
  • ndtvshopping.com
  • ndtvlumiere.com
  • ndtvmovies.com
  • ndtvmusic.com
  • ndtvgoodtimes.com
  • ndtvcooks.com
  • ndtvprofit.com
  • ndtvimagine.com
  • doctorndtv.com
  • cricketndtv.com
  • etc.

It looks to me like they’re trying to mimic Network18′s portfolio:

  • ibnlive.com
  • tech20.com
  • storeguru.com
  • buzz18.com
  • cricketnext.com
  • indiwo.com
  • moneycontrol.com
  • jobstreet.com
  • commoditiescontrol.com
  • yatra.com
  • bookmyshow.com
  • compareindia.com
  • etc.

The reason why I say that is because Network18 seems to be putting in effort to make each vertical the best-of-breed in the respective categories. For example, MoneyControl, Yatra, BookMyShow, Tech2.0 are popular.

But many of NDTV’s counterparts don’t seem to have any value-add. That’s the impression I get when comparing, say, ndtvgadgets.com and tech2.com.

It’s interesting how these offline media businesses are venturing online and how they’re faring.

A productive homepage

Wednesday, March 12th, 2008

I recently started using my own home page in Firefox as a start-point for all the important links that I should visit from time to time. It’s been a good boost for productivity since it keeps the main thing the main thing:

Sample Home Page

This was just a simple ‘idealet’ inspired by Opera’s Speed Dial feature.

The advantages to using this are:

  1. Quick access to things you need to access like your website management page or your bank website, instead of hunting around in the bookmarks menu.
  2. Avoids the need for a bookmarks toolbar. I feel a toolbar takes too much screen real-estate compared to its usefulness.
  3. When you’re bored, you open your homepage and visit some of the vast websites where you can learn stuff, like the ones under the ‘Grey Matter’ section.
  4. It jogs your memory to visit some of the websites that you should visit from time to time, like any forums that you want to be updated on (instead of letting them flood your inbox).
  5. Having a simple local HTML page as the homepage is much faster than an online start-page.
  6. Backing up/restoring/editing a HTML file is simpler than a bookmarks database.

The only thing missing is that when I open a new tab, it should automatically open with the home page instead of a blank page. This can be done using the Tabbrowser Preferences add-on.


Update: Or you can simply use the many Speed Dial addons to Firefox out there…