by Michael S. Kaplan, published on 2008/08/29 03:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2008/08/29/8904528.aspx
I have the 'Birthday Alert" application on Facebook.
One of those small non-descript applications , it relies on the fact that most of your friends probably enter the month and day (if not the year) in their profile.
I know of one friend who actually put the birthday about a week ahead of the actual day, which might be a way to tell one's friends from one's friends! :-)
You may notice that there are 175,909 active users.
It was not developed by Facebook.
I point that out so that no one thinks I am picking on Facebook here, specifically.
Now another interesting number is the number of fans -- 3,288. Clearly, not everyone who actively uses it wanted to call themselves a fan....
Though the notion of fandom on Facebook is kind of tenuous, it gets back to that whole oversimplified world of facebook.
You know, where the only way to get certain kinds of information is to become a fan. Which leads to weird language constructs like
and so forth.
But I already talked about that; in this case there is not much they could add feature-wise to this one, so perhaps that is why so few people are fans.
I myself am not a fan at the moment, hough mabe I should be.
Just in case the developer (Jeff Piper) fixes the issue I mention here today? :-)
The problem came up in the most interesting of ways for me. Here was the text from a few minutes before I started writing:
Now of these two, Remi is in the Netherlands and Omi is in Bangladesh. I realized that this application had a time zone issue, so this afternoon I ignored the warning that Omi's birthday was tomorrow, andmentioned to him:
And Omi, who I have mentioned before if your recall, quickly agreed:
So what is the flaw, exactly?
Well, people have birthdays. and they know when those "anniversaries of the eviction from their moms" are.
But Facebook (or more specifically this one application), which has people from all over the world, is treating those dates as absolutes, even though it delivers the news to people who might be looking at the day very differently.
Perhaps the behavior in Jeff's application is correct.
But I have to admit I somehow feel that my birthday wishes were better received when Omi was celebrating his birthday in Bangladesh than when h would have been celebrsting it had he been visiting here in Redmond, WA, USA.
It is a nice sentiment either day, to be sure.
But wouldn't this application serve its users better if did not have the potential to be so far off in its warnings?
As a by-the-way, Remi is climbing Everest soon, so he probably isn't focusing on birthday stuff.
Now of course a solution here could be very complicated.
Since the idea of the current location of the user is really not currently tracked by Facebook -- the location specified is not meant to be changed when one travels, and additionally I have at least one friend who puts his location as a place he likes despite the fact that he was born somewhere else and spends most of his time half a world away. Now perhaps my friends are outliers who are weird, but combined with the fact that you are not allowed to change our location more than a certain number of times within an amount of time suggests that frequent travelers are not expected to change location networks.
Assuming Jeff would not want to add such a notion, sticking with the location is perhaps best.
But with that limitation in mind, this application could be paying attention to the 12+ hour differences in the notions of date when comparing the location/time zone and date of birth of the one having the birthday and the timezone of the person reading the Birthday Alert.
In fact, the best design of the application (in light of available information and the cost of asking for more or depending on other applications) might make a fascinating "PM/design/architecture" interview question, and the algorithm one might use to determine when to send the alert and how to describe it in text might make a fascinating dev/architecture interview question!
Perhaps I should become of a fan of this application. Just in case Jeff decides to fix this particular limitation. :-)
Then next the Events application (which I think does come from Facebook!) could solve the problem as well, since they have it -- leading to stuff like this:
I don't make it to London nearly often enough, but being warned of this Saturday 3am event every week when it is Saturday 3am here in The Pacific Northwest is amusing enough that I keep myself on the "might attend" list every week just to get a smile when I think about time zone bugs in applications used all over the world.
Add the idea of virtual events where all the attendees would be expected to "attend" at the same time, and this might become a great interview question!
Anyone want to spec/develop a Virtual Birthday Party Facebook application for a take-home interview? :-)
I am not interviewing anyone at the moment so please don't do this if you expect a definite job out of it. Though anyone who does it will definitely get their name forwarded on! :-)
This blog brought to you by ± (U+00b1, aka PLUS-MINUS SIGN)
# Jim DeLaHunt on 29 Aug 2008 3:33 PM:
Birthdays are a great example of time-based events that are probably tied to local days, rather than precise moments in absolute time.
I think sometimes software's main time abstractions, like UTC or the <time.h> model of the C library, can mislead us into thinking that every time-based event fits those abstractions. Birthdays don't. And of course, time zones can change over time, since they are political constructs.
I blogged about it back in March: http://blog.jdlh.com/en/2008/03/24/times-change/ .
go to newer or older post, or back to index or month or day