A Single Article
Read it, comment, and share it with your friendsA chat with Yao Wei Yeo, creator of Facebook Locations
I have the privilege of working & living this summer with Yao Wei Yeo. Those of you who use Facebook know that he became a celebrity just recently with the launch of his Facebook application, “Locations.” If you didn’t know, Facebook recently opened up their network to developers with Facebook Applications, a way for developers to create apps that live in the Facebook network. It’s a revolutionary idea, since any developer has access to the Facebook platform, meaning that they can really change the face of Facebook (excuse the pun) as a whole and tap the Facebook audience.
Locations has to be my favorite Facebook app since it provides a really useful mash-up with Google maps that allows you to tell others where you currently are and see where your friends are. In short, it’s Plazes for Facebook, but I was never interested in joining the Plazes community. I think Locations adds something that Facebook should have had a long time ago, and I would love to see more of my friends sign up for it. Check it out:
Now since I’m sitting right next to Yao, I figured I would share some of his insight which he has gained in the past week or so in the process of taking this project from idea to implementation. Yao is an Electrical & Computer Engineering student at Cornell, so he’s automatically cool in my book. Let’s get started (M is me and Y is Yao):
M: How long did it take to write Locations?
Y: I spent three days on the couch writing non-stop. I got up once to grab food. After that, I spent four days doing massive debugging.
M: What kind of debugging did you have to do?
Y: At first, there was a huge problem if people had a lot of friends, which created a huge load for the server. This was clear when I was testing it, loading multiple times in a short period of time. I had to write a caching system, which created another problem since the caching database got very very large. I ended up having to turn the caching off. I still haven’t decided whether to use caching or not. I then ran into another problem when Google locked me out. I was using their API to resolve the geo-locations but it turns out that they limit the number of requests that can come from a single application ID. I ended up having to use Yahoo! for the geo-locations since Yahoo! just limits by IP. The end result is funny because I am using Yahoo! to resolve the address and Google to display the map.
M: So tell me more about Locations.
Y: Well, one of the really interesting things about it is that, as more of your friends join Locations, it becomes more relevant. I would really like to make it possible for people to update their location via their mobile phone. It would be the opposite of what the app does now; instead of converting an address to a coordinate, it would require converting a coordinate to a street address. I don’t know how to do that yet.
M: Now I understand that Locations went down recently. What happened, and how did you fix it?
Y: It went down multiple times. The first was when Google kicked me out, and the second was when I created errors in the app after adding some code that showed current locations instead of hometown locations. I then had a problem with Internet Explorer related to sessions, because I was using passive updates and the session data was not being passed. When this happens, Facebook opens new windows, which causes Internet Explorer to stall. It was terrible for users. The fourth was when Internet Explorer was just running very very slow. The fifth, and most recent time, was because the Cornell server I had the application running on was restarted, and I had no access to this server. The whole app went down and I had to hurry and purchase server hosting from an external company so I could get the app up again. To make things worse, I signed up for Yahoo! hosting and it couldn’t run my Facebook scripts. I had to go to Bluehost to finally get it working, and fortunately it did. This is why my Facebook profile says that I can’t take any more crises.
M: Do you have any advice for other developers who are planning to make a Facebook application?
Y: Friends are important. Friends who can help you test your app and are even willing to let you use their accounts. When you are developing for Facebook, your own account is the only one you have for testing your application. You need friends to really test it.
M: So do you plan to make any new apps?
Y: I haven’t decided yet. I want to get this app to where I want it to be first.
M: Sounds like a plan! Thanks, Yao.
Does anyone out there have ideas for applications they would like to see? Share them. Oh, and don’t forget to sign up for Facebook Locations if you haven’t already.


Get a Trackback link
4 Trackbacks/Pingbacks
Other blogs referencing this article1 Comments
Responses to my articleI’ve been holding off on getting facebook for a cool year now. With the pending move (p.s.: turns out I’m moving), I think I might have to cave in and get it.
Not sure how I feel about that, but good interview
Leave a comment
Share your thoughts with the worldYou can use Markdown, or you can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>Please keep comments respectful and on topic.
This form is guarded by Akismet, so don't waste your time trying to submit spam. It won't work. Ever.