January 23rd, 2009
8:27 pm
Geek
A combination of events got me starting the New Year reflecting on attention and personal creativity.
The first event occurred while listening to an episode of the Brainy Gamer Podcast. At some point during the podcast, every journalist interviewed mentioned being on Twitter. Having found their viewpoints interesting, my first instinct was “Hey! I should go follow all these folks on Twitter”. But then the thought of adding another dozen high-volume tweeters to my already over-busy timeline just made me quail.
Even as I pondered what was my S/N cut-off for Twitter, I found myself in a fairly unique situation – without any podcasts to listen to or books to read on my train ride to and from work for almost 2 weeks. At first, I fidgeted and checked Twitter obsessively on my phone. But then a fairly remarkable thing happened – a number of ideas and observations started going off in my head. It seems like my brain has been itching to think on its own for months and I’ve been drowning it in too much information instead
Apparently, I’ve been deluding myself into thinking I could handle all the information flowing my way with no problems. Now, this is a pretty common complaint – “There’s too much to read!”. The stock answer is pretty easy as well – “That’s because you haven’t figured out how to filter the really important stuff yet”. AKA Filter Failure.
The lack of tools to help me build the right filters is something I’ll come back to later. But what I really noticed from this information overload was how it was affecting my own creativity. A constant minute-by-minute decision of “Read? Don’t Read?” that left me curiously unsettled after an hour or so of going through my feeds. As Laura Roeder put it:

After spending an hour-and-a-half going through my feeds, simultaneously twittering links and posting articles to my link blog, I’d find myself distracted and twitchy. To the extent that I would not be able to bring myself to start writing and dawdle at some website or the other until it was time to shut down the computer and go home.
It seems like I have reached an inflection point – I could continue as I had for the last year or so, adding to my reading list and twitter all the time ,while spending less and less time actually acting on all that knowledge. Or I could take a good hard look at what I was really interested in and focus on that instead.
What am I really interested in? That’s a hard, hard question – ask yourself this “What’s something I really, really like; have fun still doing; but don’t have the time anymore for?”. For me, a couple of things became obvious – one was Gaming and the other was Technology.
Gaming was my first big Geek love – I fondly remember those endless hours spent playing F-117, AoE, AoK, Caesar III… At the same time, I realized I haven’t played a game even half-way to completion in years. Gaming news tends to be a real fire hose as well- even if I limited myself to PC gaming, the updates would come thick & fast and often I’d barely glance at the headlines. So this was the first category to get cut – something made easier by the fact that I still listen to a couple of gaming podcasts.
So 13 feeds down, 289 feeds to go.
Making sense of my passion for technology was much harder. I had tried to compensate for feeds with endless updates by switching them to headlines-only mode. The thing is – once I switched to headlines mode, I’d find myself only reading articles that have “interesting” headlines. It felt like I was becoming that mouth-breathing, linkbait-sniffing Digg fanboi that I so detest. Or it could be I had just validated Sturgeon’s law – “90% of everything is crap”.
In the absence of a more scientific approach – I went with my gut instinct. I moved a few feeds into the doghouse (literally):

Once I’d done that – I forgot about them. Didn’t check that folder for days – kept hitting the “mark all as read” button. After a week or so, I realized that at no point did I feel like I was missing something by not reading these feeds. With that realization Lifehacker, NY Bits and a few others were consigned to the trash bin. A minor victory over information anxiety!
Earlier in this post, I complained about the lack of a scientific way of choosing which feeds I don’t want – and that wasn’t a joke. Buried within the FeedDemon UI is a way to check my “attention” score for every feed I subscribe to. When I did check this for my Tech feeds, I was extremely surprised – BoingBoing was first by a wide margin, with kottke and Daring Fireball in distant 2nd place. That pretty much told me the attention scores were all wrong, because here’s my “attention” gut-check:

I think what is missing is a more “semantic” attention score. What are the topics I read the most? What keywords are common across the article I’ve added to my shared folders? I think that I love reading about operating systems, design and odd facts, but do my reading habits support that belief? I feel like if I had this sort of information, I could simplify my reading list some more.
How long will this new approach last? Too early to tell yet – but certainly, being able to go through my entire feed-list in less than 1 hour last Sunday felt great. So does the Rescuetime graph that tells me I’ve spent just 30 minutes on average in my Feed reader during January. But if my notebook is any indication, I think my own brain is thanking me the most
January 12th, 2009
4:00 pm
Geek
A welcome trend that I’ve noticed in the last one year or so is that many binary/proprietary file formats are often using a more universal file format under the hood.
For example, Firefox extensions are packaged as .xpi files. But really, these are just zip files. You can rename the file with a .zip extension and check out all the files in an extension very easily.
The other file formats that I know of are:
Office 2007 formats (.docx,.xlsx,.pptx etc.) – Zip files
NZB files (Usenet Downloads) – XML files
EML (Email message files) – TXT files
Got any others that you are aware of? Share it in the comments!
January 5th, 2009
4:11 pm
Geek
Work
- Email – 4197 received, 720 sent (that’s 5.82 mails recd. for every 1 email sent)
- Projects Completed – 4
- Projects Completed that came back to life – 1
- Projects Kicked off – 1
IRL
- Apartments I’ve stayed in – 2
- Cities I visited this year – Taipei, Port Dickson [1]
- Efficiency Score of -.07 during Workday Workhours [8]
Will put a little more in this category next year.
Geek Life
- Hardware Purchased – Samsung i600, Holux GPSlim 236, Samsung F480, HP 2133 UMPC
- Email - 7655 received,222 sent (that’s 34.48 mails recd. for every 1 email sent)
- 177 Photos shot
- 60 photos published [2] (58 photos published in 2007 [3])
- 630 songs added to iTunes in 2008
- 34 Artists listened to [4]
- 266 Tracks listened to (including repeats) [4]
- 57 new passwords added to Roboform
- Blog posts jotted in Evernote but not written up – 10
- 42 books read in 2008 [5]
- 36 new Windows programs installed
- Operating systems learnt – Ubuntu, CentOS
Internet Life
- 20 blog posts [6]
- 457 linkblog posts
- 2728 Tweets (incl. @ messages but not DMs) [7]
- Feeds added to my Feed Reader – 211
- 237 hours of FeedDemon making it my most used app [8]
- 47% of my total time was spent on the Top 10 Apps/Sites I used last year [8]
- 3577 searches made on Google with a max. of 785 searches during August 2008 [9]
- Amazon S3 Usage – Transfer-In 3.23 GB, Transfer-Out 3.52 GB, Get-Object Calls 782949, Put-Object Calls 58432 [11]
- Lifetime uTorrent Stats as of end-2008: Uploaded 72.4 GB, Downloaded 57.8 GB, Share Ratio 1.253
Incomplete
- PC Games I’ve Played – Company of Heroes, Elder Scrolls IV: Oblivion, Spore, The Witcher *, Europa Universalis III, Mass Effect
- Most common work-day lunch – Indian Meal (8 times of the 68 days tracked) [10]
- 58% of the 68 lunches I tracked last year were from my Top 10 lunch choices. [10]
- Mobile data usage – 340.56 MB [10]
- Alcoholic Drink that I drank the most of – Stella Artois (8.5 Pints) [10]
- 10 different types of drinks Overall [10]
- Most Common Shirt Colour I work to work – Blue/White (Tie) [10]
Not Really Stats
- Site/service that I miss most – Google Browser Sync
- Site/service I wish would get it’s act together – Weave
- Most disappointed this year by – Anobii
- Favorite new site of 2008 – daytum
References:
[1] http://www.dopplr.com/traveller/mvbalaji/
[2] http://www.flickr.com/photos/mvbalaji/archives/date-posted/2008/
[3] http://blog.balaji-dutt.name/2008/01/20/a-year-of-living-comfortably-2007-in-photos/
[4] http://www.last.fm/user/balaji_dutt/charts
[5] http://www.bookjetty.com/people/balaji_dutt
[6] http://blog.balaji-dutt.name/2008
[7] http://tweetstats.com/graphs/balaji_dutt
[8] http://www.rescuetime.com/
[9] http://www.google.com/history/trends?all=year&hl=en
[10] http://daytum.com/balaji
[11] https://aws-portal.amazon.com/gp/aws/developer/account/index.html
Other Notes:
1. FriendFeed doesn’t any easy way to get yearly stats, so no info on Comments/Likes there.
2. The Witcher was far and away, the best game I played in 2008 and that’s why it’s starred.
3. A bunch of stuff in the “Incomplete” category will fall under IRL next year, but if you have any other ideas for things I could track in “Work” or “IRL”, let me know.
I’ll be posting a more qualitative look back at 2008 and what it means for my plans in the year ahead.
January 4th, 2009
12:08 pm
Geek
I was watching a video of Scoble interviewing Tim O’Reilly in which O’Reilly talks about the Kindle and his belief that it isn’t doing very well. O’Reilly ascribes that to the locked down software (i.e, novels) that ship with the Kindle.
Certainly early adopters don’t appreciate DRM’ed media, but it’s possible that there are other factors at work here. In my own analysis, the Kindle must do one of the following to be successful:
a. meet an unmet need – for example, travel comparison websites or online photo galleries
b. outperform an existing product by orders of magnitude – digital cameras comes to mind here; or
c. Be so cheap that the advantages of an existing product are completely nullified.
Those are the only USP’s that matter.
December 29th, 2008
5:43 pm
Geek
I’ve been on a Christmas-break of sorts and as is typical for such “holidays”, one chore I had to complete was procure parts for a vacuum cleaner – something I don’t have time for on most weekends.
After an incredibly long and with Sharp Singapore’s “Customer Service”, I tracked down a shop somewhere in Katong that would sell me that part. Since I had a little bit of time, I decided this would be a fine test of Internet directions in a real world scenario. I would rely on:
- Gothere – for directions and public transport instructions to this shop in Katong
- SBSNextBus – to figure out if I would actually make the bus or not
- Navizon – for on the fly geo-location if I did get lost
As should be clear from the array of tools/sites above, I’m not very good at navigating this city. Unfortunately, that did not improve despite all the preparation I had done.
Let me start with finding a route – my first try at getting public transport directions from gothere gave me a set of directions that involved me taking 2 buses – including one to Changi Airport (!) and would optimistically take around 2 hours each way. I tried changing my starting point to another location a couple of train stops away and voila – a completely new set of directions that were much simpler and would take about an hour. Why the instructions would change so radically when all I had done was move my starting point a couple of stops along the same MRT line was beyond me.
The first stumbling block I hit was when I got off the MRT:

So here’s my thought process when I see this direction:
“Raffles Hotel is on Bras Basah Road? But I thought it was next to Raffles City Shopping Mall!”
“And isn’t Raffles City Shopping Mall on North Bridge Road”
“And isn’t Bras Basah Road near Dhoby Ghaut MRT?”
“Navizon to the rescue!”
So I launch Navizon and now I’m thinking:
“So I’m on Beach Road.. and there’s Bras Basah Road!”
“But wait the map shows Stamford Road running top to bottom and I’ve got Stamford Road in front of me left to right”
“Maybe if I walk down further…”
“Ok great, now I’m on Nicoll Highway!”
At this point, I swallow my geek pride and ask the Doorman at the Swissotel for directions, and he kindly points out I’m essentially standing 10 meters away from Bras Basah Road and the Raffles Hotel.
Internet 0 : Real World 1
I get to the the bus stop and check SBSNextBus for the arrivals. My faith in the Internet is restored when I see a bus marked as “Arriving” on the site and look up to see it pulling in to the Bus stop as well…
Internet 1 : Real World 1
After a short bus ride, I get off the Bus Stop that gothere has recommended and suddenly realize that the printed directions don’t have direction arrows:

I have a hazy memory that the main map recommended turning onto a road and walking down to find the place:

Note: Blurring above is to simulate my recollection of the map and is not a bug
So I look around for some clues and hey, whaddya know? A nice big road sign:

Perfect! I turn left and I should be there! After all, even gothere said I have to turn “somewhere”. Except, by the time I saw this sign, I was already walking the wrong way. That become very clear when after a couple of hundred meters, all I could see were HDB flats all around. I ask a lady for directions and she suggested I cross the road and take a bus.
At this point I’m thinking “Man, those gothere directions were just waaay off!”. Check SBSNextbus again and find out that the bus I’m waiting for is 35 minutes away. I concede defeat and hail a cab…………
…who drives me a couple of hundred meters past where I got down (see that map above?) to drop me off in front of the store #^&@! He also tells me “Don’t ask people for directions lah! They don’t know the place at all…”.
Internet –500 : Real World –500
Ok ok, not really.
Internet 0 : Real World 0
I pick up the parts and start walking back to the bus-stop for my return leg using gothere. SBSNextbus told me my bus was 10 minutes away, except when I turn onto the main road – there goes the bus I was supposed to catch. I know that SBSNextbus doesn’t claim to be accurate, but you have to imagine I wasn’t very pleased at that moment after all I had been through.
Get to the bus-stop and check SBSNextbus again, which helpfully informs me the next bus is 40 minutes away #^&@! I start going through the individual bus routes at the stop and finally figure out an alternative route that will get me near the MRT, but I would have to go an extra 5 stops on the train #^&@!
So 3 hours after I had set off from home (Remember that optimistic estimate of 1 hour each way that gothere had predicted?) I finally get back hot, thirsty and very very annoyed.
Internet 0 : Real World 1
Now I’m sure a bunch of you are rolling on the floor laughing and going “What a loon! He couldn’t read a goddamn map!”. But hey, most folks who look up directions on the Internet are looking them up precisely because they can’t read those goddamn maps.
Anyway, I wish the folks who provide map applications / directions consider a few things:
1. Orient the map to the way I’m standing and not the other way around – If you know where I am and which way I’m standing (that’s what the GPS tells you innit?), it should be relatively easy to flip the map around to match what I’m seeing in the real world no?
Obviously this isn’t possible for online direction maps but you can do one thing – you can tell me which way the map is oriented! Go back up and look at those gothere maps. Can you tell which way is up? In other words, if you are telling me to “walk down and to the right” you need to tell me in your map which way is up. Otherwise I’m going to look at street signs which probably don’t match your directions.
2. Don’t pull a switcheroo – when I went to print the maps in gothere, all those friendly direction lines disappeared forcing me to rely on my recollection of the full directions. Again, if I could remember my maps that well I wouldn’t be printing out a set of directions now would I?
3. Offer alternates – Obviously, the algorithm that picked the route for me knew about other options. It’s possible that I might miss a connection somewhere. It would be helpful if you could provide an alternate for each connection in a second set of directions. 90% of the time I won’t need it, but that 10% I miss my bus? I would kill for having a second set of directions all ready to go.
So that’s my rant about getting directions on the Internet – or how I suck at reading directions (you choose). Oh and in case you were wondering, I bought plenty of extra spares for that vacuum cleaner.
Folks who run their websites on dedicated servers are familiar with SSH as a way to securely connect to their server from any location. A less well-known aspect of SSH is built-in support for tunneling – which can be simply explained as “built-in proxy server”. As the article I’ve linked to in the previous sentence succintly puts it tunneling “is a way to forward otherwise insecure TCP traffic through SSH”.
If you have ever been nervous about using public Wi-Fi for anything other than checking the news, you should definitely look at SSH tunneling. I use SSH tunneling to access websites that run on high port numbers (CPanel, HyperVM etc.) through my corporate firewall that only permits basic HTTP traffic otherwise.
On the Windows side, PuTTy is the most popular SSH client – being freeware and extremely light on memory and disk space are huge pluses. That said, I’ve found PuTTy to be rather lacking in tunneling support – 1) the application tends to buckle under several simultaneous connections and 2) it lacks any sort of built reconnection support, which is a basic requirement for proxying.
A little bit of searching around lead me to BitVise Tunnelier – a free for personal use SSH client that offers superb tunneling support. It also has a couple of other nifty touches that I like, but let me start off with the basic login window:

This is the second clue that tunneling is a big part of this program (the name being the first clue
) – a log window of all active connections and traffic going through the application. Most of the other features in this window are available in PuTTy as well, but it’s definitely presented in a more accessible way in Tunnelier.
Let’s take a look at how to setup proxying in Tunnelier:

Ah, this is so much better than PuTTy’s cryptic “dynamic” port setting. Not much else to talk about here, so let’s move onto Tunnelier’s screen for setting up port-forwarding.
Before we get there, it’s worth noting that port-forwarding really is some technological black-magic and most explanations have left me pretty confused, so here’s my stab at clearing up what Port Forwarding is – through SSH magic, Port Forwarding allows you to connect to a port on a machine in your network and have that connection automatically relayed to a different server on another network that you would not be able to reach otherwise. I hope that helps
, because that might help explain this screen a little better:

In my mind, this is probably the worst UI screen in Tunnelier – it wasn’t really till I understood how port-forwarding worked that I actually wrapped my head around this screen. I do wonder if maybe a wizard might have helped here.
As it stands, the screen asks you to define the port on the machine hosting Tunnelier that should be “forwarded” to the remote server and once it’s at the remote server, which port the traffic should be sent to.
To wrap-up this show-and-tell session, let’s look at the SSH/options window:


Just to point out that Tunnelier offers not one, but two different settings to ensure proxying doesn’t break – an automatic reconnect option and a Keep-Alive option.
Final Notes and Caveats:
- I haven’t used Tunnelier’s built-in SSH client, but for pure command-line work, PuTTy is my preference.
- Tunnelier also offers some very robust SFTP support – I haven’t used it myself, but my colleagues do and have only good things to say about it.
- Astonishingly for a free product, Bitvise still offers great support for Tunnelier – just post in their support forum and you should get a reply from the developers within a day or so.
- Some Network admins may not take kindly to your routing any traffic through this tunnel, essentially “hiding” your traffic from network devices. Check with your admins before doing this on an corporate network!
- Yes, certain parts of the screenshots have been blurred out – I’m paranoid that way
- Apologies for the horrible colour on the screengrabs – my Tunnelier instance is on a remote server, which is only accessible through a slow VNC connection.
August 8th, 2008
6:14 pm
Geek
Popular blogs covering the Web2.0 movement as well the larger web community seem to believe that Spokeo and Friendfeed are competitors. Nothing could be further from the truth. The truth is that Spokeo is about the network while Friendfeed is about the community.
Having now used both services for a while, I thought I would spend some time pointing out the differences between the two and why you might still wind up using both Spokeo and Friendfeed:
- Spokeo is opt-out and Friendfeed is opt-in:
When you sign up for Spokeo or Friendfeed, you are offered the ability to import your address book from various providers. The first crucial difference appears here – Spokeo then searches each of the services it supports for the public profile of a person on your address book and pulls it into your Spokeo page. FriendFeed on the other hand, searches within the universe of FriendFeed members only.
Spokeo’s approach means that you simply cannot avoid being lifestreamed on Spokeo – the only way to avoid Spokeo is to flag your profile as “private” on every site you use. Even then, bits of your profile are always public and will be picked up by Spokeo.
Friendfeed on the other hand limits is search in two ways – one, it limits itself to people who sign up to Friendfeed. Theoretically, you could add profiles manually from other sites in anticipation, but it’s hardly the giant vacuum of data that Spokeo is. More importantly, Friendfeed will only display content from profiles that you tell Friendfeed about.
Obviously, Spokeo’s approach feels a lot more stalker-ish, but there is an one important difference:
- Spokeo puts conversation at the source, Friendfeed keeps it locked up:
Spokeo is an aggregator plain and simple. If you wanted to favourite, comment or share content in any way, you have to be a member of the site the content originated from. Silent stalkers would love Spokeo, but for everyone else it’s really an RSS reader in disguise.
FriendFeed of course is all about the conversation – every social aspect of the content it aggregates is replicated within FriendFeed and inevitably, it is the community that grows up around this aspect that draws more people in.
- Spokeo’s UI reflects it’s functionality; Friendfeed is schizoid
Since Spokeo is clearly an aggregator, it provides lots of flexibility around how you want to see content. Two key features in Spokeo I love:
1. Group friends into different categories
2. See only new updates.
I especially love the second feature because at a glance, I can see who has updated and follow up later if I want to.
FriendFeed on other hand can’t seem to make up it’s mind – It encourages you to track all your friends and other people you might be interested in; but mashes everything together in a river-of-news style that doesn’t facilitate easy scanning nor does it allow you to pick up where you left off.
When Greasemonkey scripts are required to add basic functionality to a lifestreaming site, something is seriously broken.
Breaking News – Friendfeed have just launched a beta of the new site UI and the no. 1 change? Ability to group friends into lists.
- Spokeo can filter noise; Friendfeed can’t
I’m a little bit torn on this, but I have to say I still prefer Spokeo’s approach on this. After Spokeo is done adding various services to each friend you add, you can go in and remove services that you think add too much noise, while keeping everything else. Perfect if you follow someone on twitter and Spokeo.
Friendfeed of course offers no such control. If you follow someone on Twitter and Friendfeed, get ready for duplicates. Of course, there have been interesting conversations in Friendfeed around some twitter posts, but the noise far outweighs the signal.
Again, the Greasemonkey script for Friendfeed I’ve linked to above allows you to “filter” services but it doesn’t work very well. Here’s hoping something happens in the new beta for this problem.
In the end, Friendfeed and Spokeo each solve very different problems. Friendfeed offers a way to build conversations around disparate content in a way that wasn’t really possible before. Spokeo allows you to manage the fragmentation of social networks across your address book. To each his own.
A final slightly long PS: Jason Calacanis’s decision to quit blogging has attracted it’s share of derision, but almost all the authors figure this is because Calacanis has a giant ego. Be that as it may, you have to admit the guy has some street smarts in building the first truly significant Blog network. This is a man well aware of how communities can be monetized, something he points out often during discussions on Twitter’s business model on TWiT.
Yet, here he was – seeing the community he had built up on his blog fragment into multiple conversations on Twitter and Friendfeed. Trying to stem the flow, he jumped into both services enthusiastically and very quickly built up large followings both on and Friendfeed. I’m guessing at some point he realized that he had built up a community again, but the people who could monetize these were Obvious and Friendfeed itself.
I believe that is why he stopped blogging and started an email discussion list – the community is under his control and as long as no-one scrapes the email and puts in on a discussion board, there is little chance of the conversation fragmenting. And monetization? All it takes is an ad in the footer of the email.
June 2nd, 2008
6:38 pm
Geek
From the department of too-many-generalizations-from-too-little-data again: a little bit of armchair theorizing about BitTorrent (especially public BitTorrent trackers) as a reliable distribution mechanism.
Let me clarify that I’m not talking about reliability in terms of whether the data arrives without errors or even whether the data is really what it claims to be – merely the question of how reliable is BitTorrent over long periods of time.
As a distribution mechanism, BitTorrent has always been well suited for handling "flash crowds" – large spikes in demand for a single file. The default approach of seeding while you download ensures that even as demand builds up, a large number of partial seeds shoulder some demand. There are two questions at this point that need to be answered:
1. What happens when the partial seed has 100% of the file and is in a position to become a "real" seed?
2. what happens to the late adopters – the people who find 6 months too late?
My off-hand analysis of public trackers seems to suggest that public trackers see a seed distribution over time that is left skewed and has very very narrow spike to boot:
Seeds are hard to find in the initial stage of a public torrent as the few that exist are typically overwhelmed. At some point, a large number of people get the complete file and there is a huge spike in seeds. But almost immediately, that number drops off as people move the downloaded file around or simply delete the torrent to save on bandwidth. The result is that comment threads on most public trackers look something like this:
Of course one could argue that really popular torrents will always have large number of seeds. Which neatly brings me to my second question – what happens if the torrent you are looking for is not so popular? I have often spent a lot of time doing deep Google searches for old versions of certain applications that were cached on download sites after the application developer disappeared. Even if I were to find a torrent for such an obscure file on a public tracker, odds are I would not get very far with the download.
Private trackers on the other hand combat this problem pretty well using ratio tracking. By forcing people to stick around and seed files in order to keep their ratio up, you get a seed curve that looks like this:
It is not uncommon therefore in private trackers, to see a seeder:leecher ratio in excess of 2 or 2.5 even 6 months after the initial release. A more subtle but interesting effect is that download speeds do drop as a torrent ages but not as much as one would expect.
My guess is that this happens because people continue to seed at low speeds old torrents – they know that lots of seeds are available, but the tiny amount of data they speed goes to buffer their ratio. Since a whole lot of folks are seeding at slow speeds, the downloader still gets something approximating a fast download.
It’s my belief that for BitTorrent to really become a distribution mechanism for the ages (in Internet time atleast), some mechanism must exist to ensure supply (seeds) that can meet demand (leechers). The answer today seems to be ratio-tracking.
There is some talk that the ratio tracking game in private trackers creates its own problems, but it seems to me that’s a price a lot of people would be willing to pay.
May 21st, 2008
6:51 pm
Geek
Wrapping up the series with some thoughts on two things that bug me about modern standards-based Web design / CMS:
Why is Base HREF dead?
This probably reveals just how old-school a HTML coder I am, but I can still remember the days when Base HREF was a Big Thing. Here’s an obligatory link with more details for the young whipper-snappers out there.
When I initially created a development environment locally, I had to spend a lot of time fixing broken links to images as well as cross-links between posts. As I struggled in my text editor to fix all these links, I had this bright idea “Hey! I should just use BASE HREF – that way I won’t have to fix URLs every time I move between development & the live site”.
I happily coded in a Base HREF tag using the wpurl() function and at first, everything seemed to be fine. But once I switched to viewing the site through RSS, things started to break. First, the feed would not pass validation and second, an important plugin stopped working.
A little bit of research showed that the W3C standards for XML documents allowed for a BASE entity, but further digging on Base HREF support in RSS revealed this dead end. The only way to get Base HREF in RSS it seems, is to hack the core CMS files and once I did that, there would be no easy upgrades for me.
I gave up and went back to fixing URLs by hand, but I’m still puzzled by why such a useful feature fell out of favor with the powers-that-be.
The spread of no-follow
Ever since Google launched no-follow as a way to control link spam, it has found it’s way into all the major CMS software – WordPress, MovableType, MediaWiki etc.
I understand the purpose of having no-follow to defeat spammers, but what gets me is the fact that most CMS software today offer no way to switch this off. No-follow implemented this way really annoys me – you encourage people to contribute to the content on your site and boost your popularity, yet you do not repay the favor in any way.
A recent example – Miyagi.sg blogs about a website called Million Blog List, an experiment to see how quickly a million blogs can be found. The site asks you to:
1. Blog about adding yourself to the list
2. Add the site to your blogroll; and
3. Add a badge promoting the site.
What do you get in return you might ask? This -

I’m giving the benefit of the people behind the idea here – maybe they thought the site would link back to anyone who participated and have no idea that most CMS software does not by default.
Here’s what I think – no-follow should be opt-in, not opt-out and I certainly shouldn’t have to install a plugin to fix what is considered basic good manners on the Web.
That’s the end of this little series, folks. We now return to our regularly programmed silence on this blog
.
April 24th, 2008
7:03 pm
Geek
Drawing conclusion from the actions of a single individual is not very good research, but draw your own conclusions from this little anecdote.
My boss at work till very recently owned a Nokia N95 – despite all it’s gee whiz features, he primarily used it for two things – phone calls and taking photos of his 1 month old son. I don’t think I ever saw him use the web-browser, GPS or even the music player.
A few months back, he went back home to India for a holiday and his N95 was stolen. His relatives convinced him to pick up an iPhone as a replacement. Overnight, he becomes a geek.
I meant that last sentence. A few weeks in, he starts regularly pulling out his iPhone at lunch to check the Sensex via the Stocks Widget. He would do this despite the fact that he did not have a data plan and was using the Pay-As-You-Go service – which is incredibly expensive!
Next, he asks me how to unlock the phone after he upgraded to the 1.1.3 firmware. I google around and send him a few links, but figure it’s too technical for a non-techie like him. A few weeks later, he shows me his “upgraded” iPhone – not only has he upgraded to 1.1.3 and unlocked his phone, he has scoured the Web for iPhone applications that would unlock the functionality he really wanted – digital zoom in the camera and MMS. But along the way, he had found other applications that were just “neat” – a converter that could use the Web to get up to the minute exchange rates, games that use the accelerometer and a photo editor. He also tells me he’s actively considering getting a data plan, since he’s using the Net so much now.
There are few things that really struck me from watching this transformation:
1. The importance of putting functionality front and center in mobile UI – Looking up things on the Net with the iPhone is one click. Finding the browser on the N95 would involve navigating a menu tree 4 levels deep. It’s no surprise that a lot of people never use the N95 as anything but a phone.
2. The killer app for data on a mobile phone is not a single app – it’s the whole package. If data usage is seamlessly built into the whole OS and offers a compelling benefit to the average user, they will buy in.
3. Not so much a conclusion as a prediction – The iPhone App Store is going to be HUGE – and it’s going to take off much much faster than anyone thinks. My boss is the classic average IT user – comfortable with office productivity applications and basic internet usage and nothing else. Yet, he spent hours searching for applications to get more out of his iPhone. Now he’s told there is a way to easily search and install apps on his phone – with no fear of bricking his phone. I guarantee you he would have pulled out his credit card before you can say “legal iPhone apps”
. Multiply that by a few million and you can see Apple declaring another monster quarter for revenue and profits.
Recession? What Recession?