Not even Prof. Muller can save you now

I’ve been listening to the “Physics for Future PresidentsLecture Series and was amused to hear Prof. Muller state that while he does watch SF movies and can reconcile most of them with existing scientific theories, he simply could not wrap his head around “The Core” – which as I remembered, won the award for worst movie physics ever. You can read about other movie physics offenders here.

PS: I highly recommend the lecture series – it’s entertaining and a great introduction to critical scientific thinking about recent developments, without requiring the listener to have a science background. iTunes link here.

Spokeo and FriendFeed

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 Twitter 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.

A Homily about the Lazyweb

BXP135207sh

If there is one thing the Lazyweb has taught me, it is this –

You are NOT a special snowflake.

Feel free to add more lazyweb lessons here :)

Notes From Moving House

Those of you who are kind enough to follow my ramblings on Twitter will know that I was offline for a few days moving house. Random thoughts/suggestions from the same to follow:

  • If you are moving to an unfurnished/semi-furnished house, get yourself a tape measure. The number of additional trips I made to furniture shops because I did not have one was just dumb
  • Also, get yourself magnetized screwdrivers. Hunting for tiny screws in the chaos from packing/unpacking just isn’t worth it
  • We slapped labels on all our boxes identifying the room it had to go to and what was in the box. Makes unpacking a lot easier when you don’t have to rip through all the boxes to figure out what you need first
  • The stuff that you box up first because you don’t need it? Yeah, you’re going to open that box half-a-dozen times before you move, having to shift 10 other boxes every time to get at it.
  • If you don’t use this as an opportunity to throw out old crap you never will.
  • Don’t even bother thinking you will be able to assemble Ikea furniture yourself – just pay the damn installation/delivery charge and save yourself the hassle. Even those guys wind up with extra screws that seem to do nothing!
  • Keep your cellphone charger handy – moving/furnishing house tends to burn through battery life like crazy and being stuck in an empty house with a dead cellphone is no fun.
  • Expect to blow your budget in unexpected ways and buffer accordingly. I had to pay for a technician to come out and fix my POTS line (yes i’m old fashioned)
  • Remember that eventually it’ll be all done and it’ll all be worth it.

Taipei – Before I forget

Just a grab-bag of stuff from my recent trip to Taipei before it completely fades from memory:

  • Singapore Airlines Business Class especially on the newer 777-200 planes (777-200 ER specifically) is wonderful – ample leg and seat room; power points in each seat; personalized service.
  • The KrisFlyer Business Class lounge at T3 in Changi is enormous – it’s quite easy to get lost there the first time you go in. It’s also a marked contrast from the tiny spaces that pass for lounges in other airports.
  • When flying to and returning from Taipei – I cached up unread items in FeedDemon and downloaded some podcasts. Although the caching in FeedDemon wasn’t very good (almost no images made it) I had enough to read/listen to that I almost made it through the entire flight without watching any in-flight stuff
  • On the flight to Taipei, the guy in front of me was watching Never Back Down. When I couldn’t open my laptop for various reasons, I wound up watching the movie and finally decided to see it for myself. I’m still regretting that decision
  • On the other hand, on the return flight I watched a couple of episodes of Flight of the Conchords and quite enjoyed them. I intend to grab some more episodes and watch them – even though I know my wife will be annoyed with my odd viewing choices again :)
  • Despite the endless increases in ERP charges, COE and what have you; it’s only when I travel abroad I realize how car-crazy Singapore is. The streets of Taipei are filled with two-wheelers in stark contrast to the traffic here. Of course that means you have to be constantly on the lookout for madcap drivers who try to squeeze past you with millimetres to spare.
  • I had only visited Taipei before in the latter half of the year and found the weather remarkably pleasant. Thus, it came as a rude shock when I encountered the sharp heat of early summer this time around :(
  • The food in Taipei was a revelation – whether it was a hole-in-the-wall pasta joint, or crowded local restaurant or the chi-chi People’s Restaurant, every single meal I had was top-notch.
  • The highlight of the trip (food-wise) though was a teppanyaki dinner. We were cajoled into going by a colleague who loved teppanyaki and I have to say I’m glad I went along. Teppanyaki is definitely not for anyone except hard-core carnivores (calorie-counters need not apply as well).
  • Carnegie’s on ladies’ night was an interesting experience.
  • It was quite discomforting to see at work how much we came to depend on the one person who spoke good english and mandarin/min-nan. When you are trying to understand stated (and unstated) requirements for an complex system, having two layers of translation in-between is surely a sign of bad things to come.

Is Ratio-Tracking The only Answer for BitTorrent Woes?

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:

Public Tracker Seeds - Time Series 

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:

Seed seed seed seed....

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:

Private Tracker - Seed Time Series

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.

pet peeves with modern web design: design reboot (Part 4)

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 -

mbl

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 :-) .

A Recession Proof OS

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?

The Long Road to Web Standards: Design Reboot (Part 3)

In the weeks leading up to the launch of this blog, I had a single colour in mind – a particular shade of green that proved surprisingly fickle to catch and indeed, I was envious of those who had found it.

In case you were wondering, here is that colour – w3c-green-favicon Doesn’t look that important does it? But if you are interested in web design, that colour is a holy grail – for it means a page you created is Valid XHTML. And yes, I have reached this hallowed place as well. I flaunt this badge of honour elsewhere on this blog. Several factors combined to make this journey a remarkable difficult one, but let’s start at the beginning.

When I finally decided that I needed to radically overhaul my blog, I realized I needed something to hold as a standard for each design decision – what would be the basis by which I would add or remove content? The easiest answer was Web Standards – the promise of a website that would remain usable and accessible in the years to come. That decision was quickly ratified when I realized my old blog had a staggering 91 errors – and they started right from the meta-information.

I read the books, subscribed to the right blogs and was a believer – but almost right away, the first problem appeared.

Strict XHTML is well too strict.

When you install WordPress for the first time, the default look of your blog is based on a theme called “Kubrick“. Typically your next step is to get on the WordPress Theme Browser and find a replacement because quite frankly Kubrick is boring. Once you find a theme that catches your eye, you activate a theme and everything is fine and dandy. Well not quite – you see, most themes approved by WordPress start with this line:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

See that bit that says XHTML 1.0 Strict? – that’s sort of the Greek God of Web Standards for HTML: pure and perfect. Which as it turns it out is not so great for us clumsy mortals. XHTML 1.0 Strict frowns on the use of presentational elements – for example, the fact that I used italics for the words presentational elements is frowned upon under XHTML 1.0 Strict. XHTML 1.0 Strict essentially implies that the document contains only content – the rules on how that content is to be presented are controlled through the use of CSS. So the sentence at the beginning of this part of the post?

Strict XHTML is well too strict

The HTML for that sentence goes like this:

<strong>Strict XHTML is well <u>too</u> strict.</strong>

The fact that I underlined the word “too” makes it an invalid XHTML 1.0 Strict document. Don’t believe me? Look at these two pages – Page 1, Page 2. They look identical, but Page 1 fails validation – You can verify that statement by clicking on the link that says “Check Validity” at the end of each page. So, it’s very likely that if you use a lot of formatting in your blog posts and are using a off the shelf theme, your site would fail validation.

Am I saying that XHTML 1.0 Strict doesn’t make sense? No – if a website has a lot of static content, or content that’s served progamatically, XHTML 1.0 Strict is the way to go.

For content that’s written by humans though, XHTML 1.0 Transitional makes a lot more sense. It’s a lot more forgiving that XHTML 1.0 Strict, but it still keeps you on the high road when it comes to web standards. It worries me therefore, that XHTML 1.0 Transitional is seen as a deprecated standard – future standards such as XHTML 2.0 and HTML5 are even more unforgiving. Is allowing 5 formatting elements and about 20 attributes to remain such a significant issue?

Just because it looks right, doesn’t mean it is right

Remember those two pages I had linked above as examples for the XHTML 1.0 Strict discussion and then said “They look identical, but one isn’t valid”? No? Well now that I’ve told you, you should :) . This really was the biggest source of frustration for me when trying to get my site validated – HTML as a language, and the programs that “compile it” (browsers, search engine robots etc.) are far too forgiving when it comes to errors.

Let’s look at some more example pages – shall we? This page shows a heading, then a list of items using the following bit of HTML:

   1:  <ol>
   2:  <li>
   3:  <h3>The Gnome Plan</h3>
   4:  <ul>
   5:      <li>Collect Underpants</li>
   6:      <li>???</li>
   7:      <li>Profit!</li>
   8:  </ul>
   9:  </li>
  10:  </ol>

A quick breakdown – there’s a numbered list (the ol-li code at the top), Inside this numbered list, there’s a bulleted list (the ul-li code starting from line 4). Happily, this page is Valid XHTML 1.0 Strict. Now let’s look at another chunk of code:

   1:  <ol>
   2:  <li>
   3:  <h3>The Gnome Plan</h3>
   4:  <ul>
   5:      <li>Collect Underpants</li>
   6:      <li>???</li>
   7:      <li>Profit!</li>
   8:  </ul>
   9:  </ol>

This code fails validation – catastrophically. Try validating this page for proof.

Now if you are a web designer or HTML programmer, you already know why the second chunk of code is crap. But for those of you who aren’t (like me) here’s the answer – Code Example #2 is missing the li from Code Example #1 at line 9.

But what if this example was nested inside HTML that was 200 lines long, how easy do you think it would be to spot? Even more frustrating, unlike regular programming code this bit of code would compile (display) properly! It’s enough to drive non programmers like me to drink ( as I did many times :P )

The reason for this is because browsers follow Postel’s Law, which states in part “Be Liberal in what you accept from others”. As Mark Pilgrim so beautifully demonstrates in his “Thought Experiment“, the alternative is far worse. But what if you wanted your browser to be unforgiving and point out every error you make? After all Postel’s Law also states “Be conservative in what you do”. Sadly, there is no easy way to achieve this. As John Gruber points out in this article, snippets of HTML cannot be validated as HTML is a document format (emphasis Gruber’s). In other words, you would have to build a complete document with all the nessecary header and DOCTYPE information and only then could you determine whether you have valid markup in your pages.

Browsers can give you more immediate feedback though – you see, most CMS software (and other packages) serve your document as “text/html” document and this tells the browser “Hey! Go easy on this page – it’s probably not semantic”. If on the other hand you could get your software to serve those same pages as “xhtml+xml”, any error would result in the Yellow screen of death. Unfortunately, making that change is non-trivial and so we must rely frustratingly, on writing complete pages and then hoping it works.

Getting CSS right is easy, so why do so many websites get it wrong?

The next part of Web Standards that I had to worry about was CSS Validation. This as it turns out, is relatively trivial to accomplish. CSS validation really is more about grammar than anything else – close your brackets, don’t forget the semi-colons and you’re done. Of course, one could argue that HTML validation is also grammar – closing your tags and so on. The difference is – most of the HTML content that’s generated is dynamic and constantly changing, CSS on the other hand is almost carved in stone.

That’s understandable – after all, in the world of web standards, CSS alone defines what your site looks like and how often do you change that? Sure you make tweaks here and there, but radical overhauls are few and far between. So it’s surprising then how often I see this in my browser window:

css-error

That little red exclamation mark comes from a Firefox extension called the “Web Developer Toolbar” and it’s telling me there’s a CSS error in the site I’m visiting. The usual culprit? Typing errors – forgetting a semicolon or a closing bracket, “buttom” instead of “bottom” (tee-hee) and so on. Occasionally though, I do see errors because CSS hacks for one browser (coughIEcough) make their way into the main stylesheet. When there exists a simple way to serve different stylesheets for different browsers, why would you opt for the more confusing choice? Um I do know the answer to this one.

It doesn’t end on Day One

Think it’s over because your site validated when you first launched? Ha. Have I got news for you. If you weren’t paying attention, your site is probably rife with errors by now. The culprit – code from other websites that you embed.

Case in point – Let’s say you wanted to embed a slideshow of your photos on Flickr in your blog. You go to this page, follow the instructions and the end you get a big chunk of code to put into your blog template. Plug that in and you can wave your green signal (this one – w3c-green-favicon) goodbye. The problem comes from the fact that the code that Flickr provides ships with angle brackets by default instead of the HTML entity for angle brackets (this page explains it in more detail) and since this is being embedded in the body of the page, it breaks the validation.

Moral of the story? Be careful about the code you include. As I blogged about earlier, treating your blog as a clearing-house for your online identity is probably not a good idea – from a design and standards perspective.

Can your site take a bullet?

Obviously, if someone actually tried to shoot the server where your site was hosted, bad things would happen. No, I’m taking about what happens when the people who visit your site do unexpected things – like turn off all images, or block javascript. Is your site still functional? For example, if you have white text for your navigation links on a black image background, your navigation links might disappear into the background if the visitor has blocked all images!

Or your page navigation is fancy AJAX refreshes using Javascript – what happens if the user blocks javascript? Clicking on a button does nothing!

This to me is the hardest part of the journey because you have to think of all the things that can go wrong. Thankfully, there is some help in the form of Dan Cederholm’s book. Again, the Web Developer Toolbar is of tremendous help here. No matter how much you test, the reality is that even now, there are visitors to your site who have given up because something went wrong. So it goes.

Your point being…?

Talk about something being TL;DR eh. The payoff of Web Standards is “findability”. Your content is accessible and understandable to all the visitors to your site – humans, search engine robots, site-scrapers the whole lot. I’m not advocating focussing on standards above content. Content is king yes, but if your content is buried in a mass of impenetrable markup – it may as well be 100 monkeys banging on typewriters.

PS: I know that XHTML validation for the blog fails right know, thanks to some of the embedded formatting in this post. I’m treating it as a temporary problem :) Fixed! I’ve stripped out the custom styling for the code samples for now as that was causing the problem. Custom styles will be back once the WLW plugin I’m using gets a new build that fixed these problems.

You never forget your First time…

Treasures of the Dragon - Main Page (by Balaji Dutt)

*Pulls out giant roll of paper, starts reading…*

"I’d like to thank my mother, my father, my wife, my camera for not screwing up like it usually does, the statue that stayed still… "

But seriously, this is the absolute high-point of my brief photographic career – having not one, but two photographs published in a coffee-table book.

As much as I would like to chalk this one up to sheer talent, I think it would be more interesting to talk about some of the real factors that lie behind this little achievement:

Luck – This more than anything else was why my photo got picked in the first place. Being in the right place at the right time, being prepared – whatever you want to call it. For some reason, I chose to carry my point-n-shoot with me that day. I lived dangerously for a moment and stopped to shoot this, despite a hungry wife waiting impatiently beside me :) . I managed to shoot a relatively sharp photo, despite the poor lighting and lack of any stabilization. Whatever  you want to call it, I call it luck.

Location – Add location and location to that. After all, who knows how many beautiful photographs are out there, condemned to obscurity on some obscure photo-blog that no one has heard of? And then there’s Flickr – which is to image search what Google is to the rest of the web. Flickr is far from being an ideal solution for photographers – as Lane Hartwell, Scott Beale and many others would attest, but if you want to be noticed on the web, edgy does not do it.

Licensing – This is really only applicable because I host my photos on Flickr, but it’s important for a photographer to think about. If you are somewhat serious about photography, you have spent hours looking for just that right angle. You have spent far too much time (mostly by your significant other’s standards) in front of a computer, tweaking every photo till it just so. And most likely, a fair chunk of cash on the right gear. So it’s only fair that you want people to give you credit (or cash) when they use your photographs elsewhere. You might decide to go with the licence "All Rights Reserved" in Flickr. But if you take a look at the search function in Flickr, you’ll see they give a lot of love to photos that are Creative Commons-licensed. Which is only going to help your photos get found. Not convinced? Let’s consider a hypothetical situation – some one out there is hunting for a photo to accompany a blog post. They hit Flickr, punch in some keywords and get a few hundred results. They open a couple of interesting photos – one of those interesting photos is yours marked as All Rights Reserved and the other, is marked as Creative Commons licensed. Your blogger-in-a-hurry has 3 options here:

1. Contact you either via Flickr PM or email, requesting for permission to use your photograph. Wait around till you check your email and reply. Negotiate the terms (if any). Embed the photograph.

2. Right-click your photo and Save to Disk. Embed the photograph.

3. Link to the Creative-Commons licensed photograph on Flickr and add a little text attributing the photographer.

Which option do you think the Blogger is going to pick? A lot of them are going to rip off your photo (even if it’s Creative Commons-licensed) but there are some folks who don’t mind doing the right thing – but even they are going to prefer the Creative Commons-licensed photo for it’s ease of reuse.

The reality is that if your work is digital and on the web, it’s going to get re-used without your permission. With Creative Commons-licensed, you stand a better chance of getting some credit.

I personally use the most open of Creative Commons licenses – the free-love Attribution license, which basically lets you use my work (or a part of it) in any way as long as you credit the author. I chose this license for a few reasons – my photography is still fairly ordinary and mostly by luck – if someone wants to use it, why stop them?  There is another factor – although I post full-resolution images to Flickr (and I allow the original image to be downloaded), the small sensor size of my camera means that my photos can really only be used on the Web. It’s not good enough to be used in print form. When I do eventually upgrade to a better camera, I’ll be moving to a more restricted license – the Non Commercial, Share Alike License.

Metadata – Now I would have liked to keep that L thing going (you know, Luck-Location-Licensing..) but I couldn’t find any words to match – your loss, I guess :P . Next to music, I find that photography has an extraordinarily robust mechanism for storing and preserving your metadata – the IPTC Core Metadata Standard. The IPTC standard provides for a vast array of pre-defined and free-text fields that can be embedded into a photograph. Once you take the time to input this information, a vast number of programs and websites (including Flickr) can read this information and expose it to your viewers. The part I really love about IPTC metadata is that it’s inextricably linked to your photos – you move your photos, the metadata goes with you. When I switched from Iview Media Pro to Lightroom earlier this year, that migration was made much more painless by the fact that I had been using this sort of metadata for some time. It allowed me to very rapidly establish my hierarchies in Lightroom and be productive. I expect that you will see this sort of metadata usage grow rapidly over the next few years, as more basic photo organizing software such as Windows Vista Photo Gallery and Picasa encourage people to enter metadata and then store this information using such industry standards. The final question about metadata that one should ask is – how much metadata to include? That is an entirely personal choice, but really more the better. For example, and although I don’t have access to stats in Flickr to back this up, I just know that including a tag "Fuk Tak Chi building" for the photograph  that was picked for publication made the difference.

Bonus metadata – skip this section if tech-talk makes your eyes glaze over :) . Very few cameras support this out of the box, but all photographs can be geo-tagged, i.e., have latitude and longitude information embedded that tells you exactly where in the world this photograph was taken. If you are willing to invest in the time, you get to visualize your photographs in a whole new way. I’m not going to spend too much time talking about my geo-tagging workflow , suffice it to say it has far too many moving parts in it :( .

What it essentially boils down to is this – I happened to be in the right place in the right time, I was prepared and I put in some effort afterwards to help my photograph get noticed. In other words, I was lucky :-)