Gift From

About a month ago I received an email from Andja Maric who was a global ambassador for . Andja came across Wish while googling for wishes, she explained that wannabesociety shared a similar idea of sharing your wish with the world (t-shirts in their case, binaries in my case).

Andja then mentioned that she liked the concept of Wish and kindly offered to send a gift as a token of appreciation. So the gift finally arrived in my mailbox yesterday…

The packet. First time ever receiving a delivery from Slovenia.

The content. They sent 3 sets of these (a notebook, stickers, a mini brochure, and some kind of a wrist band). I picked ‘creative’, SS picked ‘believer’, so the last one ‘better’ will be sent to JC. SS and JC have been helping with site testing and content moderation, and they prefer to remain anonymous.

Thanks very much, Andja, and I appreciate the kind gesture, and I dig wannabesociety’s concept of no design.

Three Years Running A Mini Content Sharing Web Site – Part 2

One interesting ‘challenge’ that I haven’t had much success on since day one is on promoting Wish to the masses. By nature, Wish is a web site with a very low returning visitors rate. Most visitors would only stop by the site once, browse around, probably submit a wish, and completely forget the site. There is no reason to revisit the site unless if you’re interested to know what other people are wishing for, or if you need to wish for something, really really really hard (to which I sincerely wish it would come true).

I didn’t think too much on what was going to work and what wasn’t. Mainly because Wish had always been just a hobby site, plus it’s never going to make money [tm]. So I took it as an opportunity to experiment with various things.

The Goodies

My first brilliant idea (NOT!) was… t-shirts. Everybody loves them t-shirts.

I ended up getting cheapo low quality t-shirts at a bargain price, I ordered two dozens of them during my trip to Jakarta back in 2006. And as I’ll explain below, doing it on a very low budget was a bad decision.

The t-shirts came in 2 flavours. The first one had ‘I wish for world peace.’ on the front and Wish URL on the back, that’s the plain flavour. The second one was more playful with ‘I wish for world peace and all I get is this lousy t-shirt’ on the back and the URL on the front.

Having the URL printed on the shirt turned out to be a blunder because I changed my domain name last year (the old one was too hard to remember), and Wish URL was changed along with it as a subdomain. The message about world peace wasn’t a great idea either, obviously it was too cliche. I should’ve gone with something catchy and funny instead.

It’s not obvious from the picture, but the printings on the t-shirt were quite messy. It didn’t give you the slightest confidence that it wasn’t going to ruin your other clothes if you wash them along with a Wish t-shirt.

And the biggest problem of all was… those t-shirts didn’t look nice. Some friends in Singapore told me that they only wore the t-shirts at home or nearby places, in short, it’s not something anyone would wear on an outing.

Friend: ‘Hey Cliff, I wore the t-shirt outside the house just now!’
Me: ‘Where to?’
Friend: ‘Tiong Bahru Market‘ (warning: pig’s head on Flickr)
Me: … – . –
Get the idea?

I gave out the t-shirts to a number friends and some Wish site fans from various countries. I still have 3 t-shirts left, if anyone is interested, let me know and I’ll be happy to send one over.

Lesson learned: when it comes to promoting your site, you can be cheap, but not too cheap.

The Pixel Ad

Just like any other web sites, identifying the target audience of Wish was something that I tried to figure out early on. In terms of the site visitor in general, I was sure that there’s no specific age group, young and old, everybody would eventually wish one thing or another, it’s only a matter of surfing the Internet and finding the site.

So what’s more important was getting incoming links from various sites. IIRC, 2005 and 2006 were the years when blogging really took off (i.e. my Internet-ignorant friends suddenly had blogs), and I knew I had to take advantage of its popularity. I was thinking about who would be interested to click on a link to visit Wish site, who would be interested to put a link to Wish on his/her blog.

After considering the possibilities, I decided on purchasing a pixel ad on Xiaxue‘s blog. For those who don’t know much about South East Asia’s blogosphere, Xiaxue can be considered as the blogging queen of Singapore, and her site boasts about 10,000 unique visitors per day. Her blog readers are mostly teenagers and those in their 20s, who (1) would have owned a blog at that time, and (2) might be interested in linking to Wish. My only worry was about whether anyone would ever click those little pixels. There was a hint of skepticism when I purchased the most expensive 300 pixels square ever in my life and slap the word ‘wish’ on it, as simple as that.

The pixel ad worked quite well. For 9 months, the vast majority of the site visitors were from Singapore (by ‘vast’ in Wish context, I meant out of 100 visits per day), and there were plenty who linked to Wish from their blogs. There were many wishes about exams and studies, depicting the pressure in Singapore education system.

I was pretty happy with this outcome, not only the little pixels generated visits and incoming links, they also led to content. For a while, I toyed with the idea of purchasing ads on other popular blogs, one from each country, pick 20 countries with the most Internet-literate population. But I didn’t pursue this option, and stopped placing the pixel ad on Xiaxue’s blog after it expired.

Lesson learned: ad really works, as long as it’s targeted correctly.
I stopped becoming an ad-skeptic.

To be continued…

Three Years Running A Mini Content Sharing Web Site – Part 1

To celebrate 3 years of Wish‘ existence on teh web, I’ve been meaning to write up some behind-the-scene stories about Wish and some lessons learned so far from running a mini content sharing web site.

The Beginning

Wish was started back in 2005. The idea was simple, I’ve always believed that having a wish is an important part of life, so why not share it? I thought it would be interesting to know what other people are wishing for.

The very first question that was asked to me was “Why would anyone bother sharing his/her wish on the internet?” And from time to time I got the question “Why did you do it? The site is never going to make any money and it will never be popular. ”

The Feedback

But I did it after all. And after 3 years, there are now 9,358 approved wishes on the site (out of 10,610 submissions, yes, evil spammers do attack Wish), not popular, but not too shabby either considering that I didn’t think the site would even get 1,000 submissions ever.

The statistics are nice, but what’s more important to me is the feedback I’m getting from strangers via email. I’ve received emails ranging from “Hey, I like your site,” to “I have a lot of problems in my life at the moment, I stumbled on your web site and it made me realize that wishing keeps me going with life. It gives me hope. Thanks.”

The Launch

Soon after finishing the site and making it available on the web, I emailed the editor of a web site called Lifehacker as my first attempt to spread the word. Back then, Lifehacker wasn’t even a year old and the idea of sharing content wasn’t as popular as it is now, so lo and behold, they put up a post titled Clear your head: Make an anonymous wish. I was lucky to start Wish years ago because Lifehacker would never post anything as simple as Wish web site nowadays with all the uber-cool web2.0 sites around.

So Lifehacker post was the good news. Now, the bad news was that I set up the site in the most cheap arsed way. I thought that since it’s never going to make any money, then I should spend the least amount of money, after all it’s just a simple web site that would never attract people’s attention.

I hosted the site on an old spare box I bought in 1998, running Pentium II 350MHz with 256 Mb RAM. Yea, I know, WTFFF??? And not only that, I hooked it up to my home Internet connection with 512 Kbps downstream, 64 Kbps upstream, shared with 3 flat mates.

I didn’t bother monitoring the ‘server’ and went out for several hours instead after that Lifehacker post was up. This was another big mistake because when I checked the log later on, there were thousands of error 500 responses, the site only managed to get about 300 wish submissions before literally crapping out.

Losing eye balls, content, and potential incoming links weren’t fun. I tweaked some server and app configs the next day, but the storm already passed and there’s no second chance. Lesson learned: no matter how small a site is, a launch is a launch.

To be continued…

Did You Make Wish #7208?

I received an email from a Wish visitor asking me “What if we could help make the wish come true? how do we contact the person?” Turned out it was related to wish #7208 “i wish adam would send me a painting.” It also turned out that the email sender was a painter (I googled her name).

I explained to her that the wishes were made anonymously and I couldn’t trace the wishers. The best I can do is to blog about it and hope that the wisher returns to the site and reads about this.

It’s a long shot, but worth trying. After all, anything can happen on the Internet.

If you are the person who made wish #7208. We would like to know if Adam sent you the painting. And if you’re interested to get a painting, please send an email to and let us know who Adam is and what the painting is about. I will keep your and the artist’s anonimity, unless you prefer otherwise.

I understand that the kind gesture made by the artist can be abused by anyone, hence I’ll leave the decision to her to determine the genuineness of the wish-claimant.

Random Project Updates

Haven’t made any project related post since July last year, so here’s a list of little things I spent some time on:

  • While playing around with Firefox Web Developer Extension, I found out that some Maven reports generated invalid HTML which could break the reports layout with non-default vm templates. Hence MFINDBUGS-29, MCHECKSTYLE-74, and MCHANGES-83.
  • After integrating Kaptcha in SCode Plugin 0.5, I spent some time working on the Kaptcha project itself where most of the effort was on refactoring the original SimpleCaptcha code. That, and some other patches have made it to Kaptcha 2.1 and 2.2 .
  • I replaced all usages of JMock with EasyMock on all of my Java projects (I know, a stupid thing to do because EasyMock-ing is also no fun). Looking forward to giving Mockito a try at work. No, there will be no effort to replace EasyMock with Mockito regardless of the outcome.
  • As mentioned on my Slicehosted post, I rewrote Wish using Rails. I also spent more time playing with Ruby/Rails and I could see why some people love them. Personally, I’m still leaning towards Java. I think static typing is better in the long run. My take on the whole Ruby vs Java fiasco… people have different perspectives and opinions, there’s not one true programming language nirvana, Ruby and Java communities will learn to co-exist peacefully.
  • Since this blog is now using WordPress (damn, I hate upgrading WordPress everytime there’s a security fix), and because there hadn’t been any activity in Blojsom development, I decided to stop following Blojsom mailing lists for now. Nabble shows that I’ve been posting since July 2005 to February 2008, it didn’t feel that long at all :). I will still maintain the Blojsom plugins I created and I still have some patches to contribute to Blojsom core.

Der Wunsch: Offline… Leider

While working on a mini improvement request for Wish (more on that later), I found out that Der Wunsch is now ‘almost’ offline. Here’s the Babel Fish translation of the message on Der Wunsch home page:

Off-line… Unfortunately
The web page is unfortunately for indefinite time off-line, since I must worry about other projects.

That’s about a year and a half since Der Wunsch came to life. Thanks for the effort, Claus.

Now, back to the mini improvement. I’ve received several feedbacks and was finally able to complete the first request from Machi.

i really like this website. i think it would be better if u could search the wishes by number, rather then just keywords. just a thought

I’ve made the change to reflect this request. So now when someone searches for a number, the wish with an ID of that number will be presented first before any other wishes with the number as part of their description text.

Other improvements from the rest of the feedbacks, comin’ right up!

Wish Appears On The First Page Of Google Search For The Word ‘wish’

It was a nice surprise to find out that Wish web site appears on the first page (ranked 8th) of search result for the word ‘wish’. Yes, that’s right. ‘wish’, that’s it, just the 4-letter word.

And it’s currently ranked 5th on Whoa! That’s a superb result considering that the site does not have the word ‘wish’ itself as part of the domain name ( or even a sub domain, and ‘wish’ only appears as a context path in the full URL . Plus it doesn’t hurt to have other sites linking to Wish, like Lifehacker.

There are currently 1800+ submitted wishes, which means there are probably about 1800+ times the word ‘wish’ appear on the site. Is content still king? It probably still is.

Here’s the rank list for various Google local domains of several English-speaking countries.

Country Local Domain Rank 5
Australia 8
Canada 10
Ireland 8
New Zealand 9
Singapore 6
UK 13

Not bad, eh? :)

Der Wunsch

About a week ago, Claus Morell contacted me about his plan to implement a German version of Wish. Lo and behold, it’s now live at It also has an RSS feed. Good stuff, Claus!

Language support has been an interesting issue with Wish. When the web site started receiving some submissions in Italian, Portuguesse, and some other languages I couldn’t recognize, I thought about having multiple language sections a la Wikipedia. I didn’t go ahead with that because I knew I wouldn’t have enough time to implement and maintain it.

I came up with a ‘temporary workaround’ for approving those languages foreign to me. For Portuguesse / Spanish submissions, I hassled Devin, my Brazilian friend who obviously is fluent in those languages. For Italian, I hassled another friend who has been learning Italian for some time. Not wanting to waste their time after several translations, I decided to replace them with Babel Fish.

Wrong move. Babel Fish is no replacement for my translator friends, its translations to English sometimes ended up as weird sentences. So I gave up translating those submissions to English one by one, and asked the submitters to use Babel Fish and translate their wishes to English before submitting them. I reckoned if they arrive at the web site, then their English must be better than my knowledge of their language plus Babel Fish’s translation. It worked… or it chased away all those non-English speakers.

If anyone else is interested to run the site in another language but do not wish to implement anything, check out Wish project page, we have Java and Rails flavors. Or better yet, extend the current implementation to support multi language sections.