Integrating my blog into Facebook

Aha.. thanks to the WPBook plugin, now my blog and my Facebook share the same comments. Comments that was entered in Facebook will appear in my blog and vice-versa. Most importantly, every new updates (like this one) will be automatically stream.publish into my Facebook Wall. Subsequently appearing in all my friends’ feed as well.

Ya, I know Facebook Notes is able to “Import a Blog” through RSS. But it’s actually a duplicate copy of the same blog post back @ . Thus, it’s not elegant. Now the next step is to spice up my Facebook mirrored-blog.

Interestingly how WPbook does all these is through some magic using Facebook Connect + Facebook Application. Thank God I’ve had some experience meddling with Facebook Connect + Application. CS3216 is really empowering me lar!

If you’re interested, check out the WPBook plugins page “Bring your WP blog to Facebook”!

Bring your WP Blog to Facebook

Mid-Term Survey + Prof. Ben’s Responses

I think this is really cool and useful. It will be very good to have other modules do something similar, especially Engineering Science Modules. Check out what Prof. Ben has to say in regards to our survey

Being a Prof isn’t easy indeed. Even in a small class of 41 people, the responses cover a whole range of sentiments, good, bad and neutral. It reminds me of EusoffWorks, where we have to ensure 130+ people are happy and they’re learning, with so many different fields, photo, video, design, IT, Digital Media Management. resonates… resonates… wooong wooong …..

Personally, I think the Wave assignment is really exciting and loads of opportunities when you immerse in the bleeding edge!

Google Wave Assignment Review

Pamela Fox from Google Sydney reviewed our Google Wave assignments.

Make it Wave-y –

1. it should be playable by one user as well as many users.

2. command line type user interface is a NO-NO..

3. user interface should be kept small

4. clear instructions on how to use the app. Legends to show what is what.

The LIVE video conference is quite laggy and honestly it’s quite a turn off. But problem = opportunity, I guess that means opportunity in this field!

Case Study: Get Help

This is a case study on “GetHelp!” regarding User Interface & Interaction Design.  “GetHelp!” was developed by a group of students from CS3216 in March 2008. Quoting the assignment PDF,

The core function of the app is to make it super easy and fun to discover people from within and outside a user’s Facebook network to help them with their needs and funky endeavours.

As shown below are screenshots of the initial version of the application. The developers have since redesign the user interface.

My task is “to analyze the screenshots and uncover what was the problem faced which lead to the team’s decision and how the problems can be resolved…

Figure 1: Home Page (also the New Project page)
Figure 2: Overview Page
Figure 3: Project Page
Figure 4: Statistics Page

note: The accompanied verbose description (in the assignment PDF) are not included in this blog post.

My first impression of the application is that “Hey, the icons are cute! I wanna try this out”. However further pondering leads me to the conclusion that the application is redundant. I think users might not want to add an application to do something that the Facebook status publisher can already do very well. The entry level is simply too high.

Besides, I ask myself “Why would I want to add this app?”, “What are the incentives”, “Badges? Special Nicknames?” “Do I really need these?”. In short it is non-viral and non-sticky. It lacks two of the most important feature of a successful Facebook application. More thoughts will have to be put into attracting the lead-generation.

Layout (User Interface)

The landing page is just too cluttered. I bet the developers themselves didn’t spend much time test-using the app themselves. Or their app-flow was not planned properly in the beginning. IMHO, entry-landing page should be straight forward and minimalistic (think Google). Only make available most basic feature (hide the rest under “advanced options”). I would like to take this opportunity to commend whenisgood,  it is simple and effective.

Zooming in….

  1. Usability – it is confusing – “need quick help” and “I need help with“, which is which, what it does?
  2. Top navigation bar – slab icons (on the right) + words link (on the left).  It is clearly a design is not standardised). Overall design throughout the app is standardised. Good.
  3. Red colour draws attention -> immediately users will take note of “call for help” button. Good.
  4. verbose description of options more harm than good i.e. “post to all your friends” “or, you want to hide it from someone specific“? Most users are familiar with facebook users & privacy selections -> simulate it OR use supported Facebook API.
  5. Statistics Page– make the numbers more prominent (bold it or stylise it)
  6. Statistics Page – maybe a simple description of what is “fire” – I seem to have a hard time understanding the metaphor

In short, I think the landing page should be as simple as one simple text-field and a button to submit (as shown in the image below)

Next, the advanced options will only be made available if the user request/click for it.  Better still, the developers should leverage the status “Publisher” to lower the entry level barrier. This way, users wouldn’t have to change their habit of posting stuff onto their Facebook wall. If advanced details are needed, it is possible to amend the published wallpost with the captured post instance.


I notice a “change  image” feature @ the landing page. I wonder how many images are there for users to choose. Does it support user-upload image? If yes, how does the quality-control work?

The SMS feature is commendable if it works (I wonder how they got it working?). Besides, I think it’ll be too much of a SPAM if this application becomes real popular.

Integration with twitter is no easy feat too. Let’s say someone on twitter saw the tweet and wants to help, is this app able to capture that help instance? What if the twitter user doesn’t have a Facebook account?


There is a fundamental contending issue here. I think if a person really wanna help another person, they wouldn’t want to be seen as to help so as to earn badges. Therefore, the badge/nickname incentive might just backfire. On the other hand, if a person really wants the badge/nickname so badly, experience tells me that they might not have the credentials to help that many people. Unless this issue is resolve, I think the application will not be able to take off.

One more thing, how will this app be monetize? The only way I can think of will be something like the now defunct Google Answers. But is that really what the developers want to achieve?

All in all, I think the take back from this Project Case Study is that minimalistic is KING when it comes to User Interface and Design.  Plan well = half succeed. Cluttered = no good.

External Pitching Session

It was the last lecture before Chinese New Year. I was asked to video the external pitching session so that we will be able make it into a webcast thereafter. However, some of the presentations are a bit too confidential and thus we are not able to put it up online yet. Please hold-on as Prof. Ben settles the permissions with the presenters.

Coming out of LT19, I thought to myself “It is refreshing to know that there are still loads of opportunities out there for grabs.”

iSyndica - Upload Once, Sell EverywhereI have to say, iSyndica really caught my attention when I was reading Prof. Ben’s PDF before the session. From the outset, iSyndica sounds like the name of a game e.g. Pizza Syndicate. However, it smells like a game, it looks like a game, it pronounces like a game, but it’s not a game. The tagline on its official website states

“Upload Once, Sell Everywhere – Distribute, Promote & Track Your Digital Media on Multiple Stock Agencies”.

iSyndica enables photographers, video & audio producers, and vector artists to manage and distribute their microstock portfolio online.

It’s quite self-explanatory. But whether it’s really useful or not, I plan to give it a try. After all, Digital Media is my forte.

Anyway iSyndica turns out to be a solution to the same problem that I’ve identified regarding online media. In fact, I’ve even conceptualized an ingenious idea to solve this problem. It turns out that we are approaching the same problem but from a different perspective.

I’ve heard Prof. Ben mention more than once that “Ideas are cheap, it’s the execution that matters“. On Sebastian’s latest blogpost, Prof. Ben commented “Sharing ideas will help you improve your ideas“. Essentially it’s about sharing our ideas openly so that it can be further refined through crowd wisdom.

Although I am still not fully comfortable to share an ingenious idea in open space but I am willing to give it a try. Very soon I’m gonna post my idea of a collaborative media platform up here.

Another pitch that caught my attention is Project Nimbus,  a project by Microsoft. Neng Giin, the presenter, didn’t go through the uploaded slides. However according to the PPT slides, it looks like a huge project. One of it’s contribution is to open up data sets for local innovators, startups and students to use.. The amount of data that it’s opening up is enormous. As we speak, negotiations with various government agencies and corporations alike are on-going. Once it’s set in stone, it translate to OPPORTUNITIES!


It’s like we are venturing into Shangri-la (世外桃源), every turn is full of opportunities. Now the question is what should we do to fully utilize this opportunity? Everything that happens happened for a reason, are we capable enough to hop-on to this in-coming wave? More importantly, how can I leverage upon this for the media collaboration platform idea that I have.

By the way, it turns out that I’m participating in Microsoft’s Imagine Cup, together with KaiLin, WyeMun and Sebastian. It’s exciting as all of them are God-like programmers, there are lots to learn in this dynamic and energetic group.

Meanwhile, my FYP is going slow.. Need to pick up the pace a bit. After all, I need to ace this to ensure I at least get a nice honours. Besides, what’s there to complain when you get to work with cutting edge nanofabrication devices and femtosecond lasers.

Friends for Sale: Facebook Application Seminar Critique

Friends for Sale Logo
Friends for Sale

“Friends for Sale” by Ryan’s team. As I came slightly late and as this was the first group to present, I admit that I didn’t really pay much attention at what Ryan was saying.

However, a skim through the slides seem to indicate that Ryan might not have presented all that he’d prepared, or did he intentionally NOT to talk about the slides? After all YinChao has dropped this module some time last week and thus making Ryan’s team a two-man team.

Honestly, the idea of “Friends for Sale” quite interesting. You get to “Buy” your friends as pets and assign them to do random things, and all without his/her approval. I think these feature are the selling point of this application.

buy friend

During the presentation, Ryan did mention that the application is viral. However, I don’t remember him elaborating further on how FFS achieve its viral status. In my opinion, “Friends for Sale” leverage the Facebook notification feature for the viral-factor. Your friends are automatically notified on every instance of your actions to him/her, whether you’re buying him/her and you’ve assigned some jobs to him/her.

Work - Friends for Sale: Step 1
Work - Friends for Sale: Step 2
Work - Friends for Sale: Step 2
Work - Friends for Sale: Step 3 & 4
Work - Friends for Sale: Step 3 & 4

The viral part comes into play when you assign your pets to do some “actions” to your other friends, even to friends who might not even have added Friends for Sale. So if non-app users receive notification when you’ve done something to him/her, the non-app user might just be provoked enough and add the app just to react to the initial user’s action. Thus producing a natural viral process.

Ryan also mentioned that using the app fulfill friend’s ego, and he attempt to explain this using Maslow’s hierarchy and 7 sins. However I think Ryan didn’t really elaborate much on this point. I think he assume that it’s apparent to all of us how 7 sins and Maslow’s Hierarchy applies to Friends for Sale, which is not entirely true as I have heard of Maslow’s Hierarchy but I’m not too sure how it plays a part the apparent success of Friends for Sale. A quick check with Wikipedia tells me that Maslow’s Hierarchy is more commonly used to represent the priority of needs in a pyramid with the largest and lowest levels of needs at the bottom, and the need for self-actualization at the top. Honestly, I’m even more blurred at the fact that he mention 7 sins. Although I’ve heard of the 7 sins, but I don’t really know what are the 7 sins. In my opinion, the 7 sins are just inference and it isn’t stated explicitly in the Bible. Wikipedia mentioned that

The Seven Deadly Sins, also known as the Capital Vices or Cardinal Sins, is a classification of the most objectionable vices which has been used since early Catholic times to educate and instruct followers concerning (immoral) fallen man’s tendency to sin. The final version of the list consists of wrath, greed, sloth, pride, lust, envy, and gluttony.

So how exactly Maslow’s Hierarchy and 7 sins translate to Friends for Sale remains a mystery to me.

Like all other successful Facebook application, there seem to be a recurring theme. There must be some kind of Time-sensitive element to give users reasons to come back to the app. Leaderboard – leveling up system -> Like Mafia Wars…. lv600++. I wonder how many hours have been spent playing the game @@.. In Friends for Sale case, it’ll be the viral work you get to do to your friends to earn more money. Virtual money can be used to buy more friends as pets and thus making the user rise higher and higher on the leaderboard. Looks like an app will not go too far without some kind of highscore/leaderboard system. Even Causes has it!!

Towards the end of the presentation, Ryan recommended that we should all watch the video interview of the Friends for Sale founder. If the video is indeed that meaningful, I guess he should have at least summarize the video in his presentation instead of just briefly mentioning it toward the end of the presentation. As promised, Ryan has the link posted up on his blog

Like a lot of successful Facebook App, the back end is not something remarkable. It runs on Ruby on Rails (RoR). This name is familiar because I think I got eliminated in an internship interview last year because I have no idea what’s RoR. A quick check on wikipedia seems to suggest that RoR is quite popular among web apps nowadays, even Twitter runs on RoR. Apparently Chen SiQi (co-founder of Friends for Sale) thinks that RoR is very well-suited for rapid application development and scalability. How I hope I understand a bit more about why it is so, I got lost in the pool of jargon.

We definitely wouldn’t change our choice of framework – Rails was invaluable for rapid application development, and I think we’ve pretty much proven that two guys without a lot of scaling experience can scale a Rails app up. (Chen SiQi

Ok, I guess there’s really a lot to learn from Friends for Sale as the co-creators are part-time developers, just like us in the CS3216 class. However, they manage to rise to be the top10 app on Facebook in 3 months. That is a feat and I bet there’s a lot to learn from them. Onward to the Gwave assignment!

At the end, I would like to promote our group’s video for Facebook Marketplace. Thank you Adhiraj, Xialin and Reuben, this video wouldn’t be possible without you! (I’m just a video-editing-monkey!)

Time is relative

Today is Friday (29th Jan). Monday (1st Feb) is effectively 3 days away. Thursday 2359 (28th Jan) seems like yesterday. Wait.. it was just yesterday.  January is coming to and end. I couldn’t agree more that time is seriously relative . So little time so many things accomplished. Second semester of Year 4, shiok lar!

Past Monday half of my 2nd milestone in CS3216 will be done. On to GWave….

However, the present frame requires me to cross Saturday and Sunday, two huge mountains. Now I feel like a mountaineer.

People asked,

“Why are you so energetic and passionate all the time?”.

..because I draw my energy from an eternal source.

It reminds me of an old chinese chorus that I used to sing that’s adapted from Psalms 121.

我 要 向 山 举 目 ; 我 的 帮 助 从 何 而 来 ? 我 的 帮 助 从 造 天 地 的 耶 和 华 而 来. (詩 篇 121)

here’s the English translation:

I lift up my eyes to the hills—where does my help come from? My help comes from the LORD, the Maker of heaven and earth. (Psalms 121:1-2)


Dr. Foood knows what you ate last supper!

There goes another milestone in CS3216. No… I refuse to accept it as an end, it’s just the beginning. I have great faith in the app that we’ve built. I think it has real great potential. We’re leveraging on the power of crowd wisdom. Dr.Foood intelligence is more or less determined by the players themselves, thus, the user decides how fun or !fun the games is to be.

I’m gonna continue to develop this app, so does WyeMun. That would mean that I would need to brush up my PHP and Actionscript 3, that is on top of FBJS & Javascript. I can do it!

Next up – FB Seminar. I can foresee another sleepless weekend. But seriously I’ve never felt so energetic and passionate before. “This is the best module I’ve taken in my 4 years of NUS”, so said DingYan. I couldn’t agree more.

Try to outbeat Dr.Foood here if you haven’t yet.I Know What You Ate Last Supper

Cloud Computing & Amazon Web Services

Today we have a Technology Evangelist Simone Brunozzi from AWS to come talk to us about AWS and Cloud Computing.

The evangelist just touch down in Singapore 4 days ago. Like many other incidence, he is shocked by our awesome-humid climate. For some reason, someone told him that he’s seeing Winter. Ha. Welcome to Singapore!

Half way through, Prof. Ben asked about Dynamo(?). A simple Googling found me this

Dynamo is a highly available, proprietary key-value structured storage system [1]. It has properties of both databases and distributed hash tables (DHTs). It is not directly exposed as a web service, but is used to power parts of other Amazon Web Services such as S3 [2]. ( wikipedia)

Ok, I still have no idea what this is?

monolithic? micro kernal? I heard Chee Eng talked about the battle between Linus &  Andy Tanenbaum.
Turing. (EDIT: Thanks Prof. Ben for pointing out that it was Andy not Turing) However, I don’t remember the terminologies.

“Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.” – Andy Tanenbaum

Simple solution for seemingly complicated problem -> Amazon Import/Export
Shipping the Hard Disk to AWS and AWS will plug it into the Cloud. This sound like an interesting option for EusoffWorks Long Term Archive. After all, we have 15TB data to store. How much will this cost? EDIT: a simple check on the official site shows that it’s only available in US Standard and EU (Ireland) Regions. It will be really good if Singapore or NUS has its own cloud up soon. Hopefully it’ll have a similar feature. It sounds more feasible this way.

Content Delivery Network (CDN) = Proximity as a solution

A content delivery network or content distribution network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, so as to avoid bottleneck near that server.

Content types include web objects, downloadable objects (media files, software, documents), applications, real time media streams, and other components of internet delivery (DNS, routes, and database queries).

Amazon CloudFront -> Cloud CDN
Awesome ->8 server in the US, 4 in Europe, 2 in Asia. Well, if our facebook app grew to such a stage where we’ll need a CDN, this sounds like a good idea. However, I think I’ll still need to check the pricing.

Amazon EC2 = Virtual Machine for virtual server

Amazon EBS = Elastic Block Store (1 to 1000GB)
EBS is redundant and persistent

The power of virtualizing.. the end-user will not even realize when there are hardware failures because the hypervisor acts as a shield to the hardware beneath. Moreover, there are a lot of backup/fail-safe mechanism that acts. Reminds me of the fail-safe mechanism in Atlantis @ the Pegasus Galaxy (Stargate).

One example of business that cannot use Cloud Computing -> Banks, where real physical wires are needed to connect the ATMs to the Data Centers. But can’t they connect all the ATMs to a cloud? Or even better -> add the Data Center off the bank unto the Cloud? Hmm…. don’t understand.

JianHong asked a question, I think it’s about the differences between  “Dedicated, Shared Dedicated and Shared”. Amazon EC2 is a Shared Dedicated system. “Shared system” shares everything on the physical machine, including processing power and RAM.

All in all, I’m overloaded with information. It’ll take some time to chew on it. However, time is not really on my side as Thursday is the due date for our Facebook App. Chiong ar……!

New Feature & Virtual Currencies

Facebook is launching a new feature:  Application & Games Dashboard. This is getting more and more interesting. Facebook is getting serious about the applications and games. Check out the post on the developer’s blog here.

Facebook Application & Games Dashboard
Grabbed from

This morning during breakfast I found myself evangelizing Facebook apps and the inevitable trend of virtual currencies and virtual goods. To be honest, I don’t really understand why would anyone spend money for virtual goods at all. The person that I’m trying to “evangelize” has the same sentiment too. But I think it’s hard to ignore the obvious. Games like “FarmVille” and “CafeWorld” really does survive on selling virtual goods. And recently they even manage to raise funds (over 1 million USD now) for charity by donating 100% of the proceeds from selling a special themed item to the Haiti Earthquake relief fund, see here, here, here and here. Will this be the trend?

Maybe Augmented-reality will be able to bridge the apparent barrier between virtual goods and the reality. Something to chew on for today.

Oh ya, TalentQuest Audition in 4 hours. Chiong ar……