weblog
Lingering questions about the iPhone 3G
Monday, June 9th, 2008, 3:35 pm EDT
The awesome iPhone 3G has been officially announced, but many questions have been left unanswered.
The price: we know it’s supposed to be cheap, but is this $199 8GB base price part of a contract? If the actual price without a contract is higher, can we re-start our contracts to get this deal?
Answer: Nailed it. Previous iPhone customers can upgrade and renew their contract to secure the new $199 price level. ∞
- What do we do with our old iPhones? If we don’t want them, are they bricks? Will they resell? Is there a trade-in program so we can recover some of the costs and maybe even recycle the materials?
- What about Flash support? It’s getting pretty ridiculous that we can’t access such a large part of the web. I understand this is largely the fault of the web developers, but there’s no reason that we still lack Flash support.
- Did they nail copy and paste this time?
- Does it support video? Can we teleconference?
- When can we demo it in stores? What were those packages that were to be opened tomorrow? I called both AT&T and Apple stores, but retail employees haven’t heard anything yet.
- How will 3G hold up with the upcoming surge of users?
- Is the battery replaceable?
- What happens to the iPod Touch? Will they discontinue it?
- Is there support for wallpapers? Can applications at least change that?
- Is the processor any faster?
- Is there some way (first- or third-party) to do MMS?
- This is still an amazing piece of technology. How the hell did they do that? Is everybody going to have one of these now?
The Unbearable Ambiguity of Predictions
Wednesday, March 5th, 2008, 8:21 pm EST
In philosophy, you learn that a lot of your basic assumptions about reality are depressingly incompatible or inherently meaningless. One of the clichés on which I rest many of my most meaningful decisions has been to live without regrets. Don’t do anything you’ll regret, and don’t avoid trying something you’ll regret having missed.
Well, Time is running an article, Can You Predict Happiness? (998 words), which basically overturns that. The idea may seem simple — people are far too distractable and moment-centered to predict how much they’ll enjoy something — but it has really fundamental consequences. I read this article a week ago, and yet I still keep thinking about it. Once you make a decision, even one you find important, and go with it, “the unchosen alternatives evaporate.” The good news about that is, when making a decision seems like a toss-up, you can be happy with either choice. That bad news is, if you take it to the extreme, it’ll render all of your decisions meaningless and arbitrary. You would have been fine going with that other career, that other spouse, that other life.
You know, maybe Hillary wouldn’t be so bad after all.
Update: John tipped me off to the fact that the experiment’s designer, Dan Gilbert, has done a talk on this very subject for TED. In twenty-one minutes, he clarifies it much better than either myself or the Times article does. ∞
Facebook’s new profile preview
Tuesday, February 26th, 2008, 9:13 pm EST
In the same way that they gave us a preview of profile changes last time, fishing for feedback, Facebook is giving previews of the next possible profile changes to users to see what people think.
There’s no point in commenting on the photos or notes, unless you’re discussing the changes with other users. Facebook asks that you email profilespreview@facebook.com instead. Hopefully having them manage it privately means even more feedback will be considered.
The main changes?
- I’ve always considered the end user first, even before the developer, and the way in which they are changing the profile seems to do just that. Similar to the iPhone version of the site (where efficiency in information design is even more important), profiles have tabs. The most frequently-changed, and thus the most viewed portion of the profile is what you’ll see first.
- The layout of the entire site is wider than it was before. You can notice this because the whitespace (blue, in this example) between the link to the “Inbox (1)” at the top, and “home” is much wider than before. One of the great things about Google projects and sites like Netvibes is the use of all the available screen real estate. Facebook might not be in a position to change the layout that drastically, but at only 800 pixels wide, the width is beginning to become constraining. In a trend possibly started by the latest New York Times redesign/realign, sites have begun adapting to larger screen resolutions. Considering the density of the Facebook homepage, perhaps it’s time to consider 1024×768 a minimum resolution, although the iPhone has made this a more confusing situation. Application developers will have to adapt to the new wide-column width if this change goes through.
- Photos is the third tab, although it seems likely that Media would be a better choice. Perhaps the Photos tab will be a listing of all the albums of a user, but this is already done with the Photos application. Naming it “Media” would allow for boxes of videos, audio clips, and books, and thus seems much more appropriate.
- Many of the changes in the last set of proposed changes never went through. The mini-feed has undergone many aesthetic changes, including a line indicating a speech bubble in relevant items, and a huge amount of whitespace between feed items. I would guess and hope that neither of these changes will go through.
Update: The Facebook Developer blog has some more information about the changes. It seems like applications can only go in the narrow columns of the main tabs, or in tabs of their own. We’ll see if this decision sticks.
Another update: a less tidy profile picture shows that the wall will be merged with the mini-feed. This is a major change, one that I have a feeling won’t go well with users. ∞
Facebook Developer Garage Singapore
Wednesday, October 24th, 2007, 12:23 pm EDT
The Facebook Developers Garage went well thanks to the planning of E27. We had interesting speeches from Battle Stations, a Singaporean MMORPG application that took off, Duration Inc. on how they’re using the .NET framework to build applications, and Mindwasabi about the non-rational, beneficial effects of people working together. I’ve published the unabridged version of my talk, “Getting love from the Facebook Platform,” on Slideshare: ∞
Headphones create an incomprehensible reality.
Friday, October 5th, 2007, 6:49 am EDT
Marketplace joins the Platform sans monetization
Thursday, October 4th, 2007, 5:07 pm EDT
Four new as-of-yet undocumented methods appeared in the Facebook API Tool to developers today, indicating that applications will be able to read listings from the Facebook Marketplace. No word yet on further details, such as whether or not an extended permission will be added to enable write access, allowing applications to post listings*.
- marketplace.getCategories - returns an array of all available categories (currently: forsale, housing, jobs, other, free, forsale_wanted, housing_wanted, jobs_wanted, other_wanted)
- marketplace.getSubCategories(category) - returns an array of subcategories, (calling this with “FORSALE” returns: books, furniture, tickets, electronics, auto, general)
- marketplace.getListings(listing_ids, uids) - returns one listing, as described in the search method
- marketplace.search(category, subcategory, query) - returns an array of results. results are an array with the keys listing_id, url, description, price, poster, update_time, category, subcategory, image_urls (an array of urls)
This functionality will be helpful to applications that involve goods, but unfortunately for the developer, no money can be made from these free postings. If I have a book reviews application, for example, now I can share with my users marketplace listings where they can buy the book, but as a developer, I won’t make any money from doing so. This once again echoes the worries of developers (1,392 words) that monetizing on Facebook might prove to be too challenging. However, at least while developers scramble to figure out how to monetize their applications, the users will benefit from easier access to another useful, free feature of Facebook.
*Update (10/13): The API Tool now shows two more methods which use extended permissions, marketplace.createListing and marketplace.removeListing. All of the new methods have been documented, as now linked in this post. ∞
Speculation confirmed: Friends Lists are coming.
Tuesday, October 2nd, 2007, 11:55 am EDT
One month ago, we saw Facebook slip momentarily and expose a few unreleased methods to developers. The new methods, when combined, told us that there will be lists of users, and these have something to do with friends. At the time, I tried some input (did I have any “friends lists?”), but couldn’t get an interesting response back from the Facebook servers.
In a move pretty unusual for a competitive tech company, Facebook has confirmed our speculation on their What’s New page. “Sort out your friends. We’ll let you organize that long list of friends into groups so you can decide more specifically who sees what.” You could argue that they’ve revealed it to us because, unlike features worth hiding, this isn’t an innovative move. Instead, it’s a necessary one, and one for which they probably receive a lot of requests.
Since the story broke, we’ve learned a little more information. Here’s a recap of what we now know.
- What we know:
- Friends Lists are like buddy lists, in that they are ways to group your contacts.
- Friends Lists will be located at www.facebook.com/friends/. Before the publicity from the original story, a few users who guessed this URL got to see this feature in the works. The URL now forwards to your normal list of friends.
- Friends Lists can be used for composing messages. The URL, when working, suggested this was the main functionality.
Friends Lists can be used as for privacy control. This wasn’t certain in the beginning, even though it’s a great, obvious feature. There was some fear that the lists might only be used for composing messages. The phrase “so you can decide more specifically who sees what” on the What’s New page verifies our hopes.
Privacy has always been a founding block of Facebook. Their closed-network structure essentially made the site, and the News Feed backlash emphasized the sensitive role of privacy on the site. Friends Lists will be a perfect way to block your parents from seeing those wild photos of that trip you took on their charge card without telling them.
- What we don’t know:
- Will we compose these lists from scratch, or will they be generated automatically from the current social graph features? When you add a friend right now, the functionality already exists to ask how you know that new friend. You can say you’ve gone to school with them, on a trip with them, hooked up with them, etc. I think that they’ll introduce something new, though, since the older feature isn’t widely used. If we’re lucky, though, maybe you’ll be able to import this information.
Since Facebook has already taken a month on this without releasing it, it’s safe to say this is a big feature. By naming it an upcoming feature, they probably don’t have plans to release it in the next few days, but my completely ungrounded guess would put the release somewhere between two and six weeks. ∞
Facebook’s domain repertoire
Tuesday, October 2nd, 2007, 10:14 am EDT
People seem to be talking about the small, routine case Facebook just won for the domain face-book.com. Domain squatting is an extremely popular activity, despite the fact that it’s illegal. When a company goes large, squatters assume the company will pay them for their slightly different domain name. Squatters fail to realize that a simple complaint to the UN’s WIPO can invalidate their ownership. Squatting’s annoying, but it’s not going to change any time soon.

This reminds me of some of the other domains that Facebook owns, that as of yet haven’t been discussed. Face-book will surely forward to the Facebook homepage, but these other domains are more ambiguous. Here are some of the interesting ones. You can find all of these by searching for domains sharing namesevers with facebook.com.
- zuckerberg.net - The big, mysterious domain. Does it belong to Mark? Will it one day be his personal blog?
- somethingtoputhere.com - This one is likely for side projects, and maybe some private testing outside of the production environment. The name you might recognize from one of the original curious quips at the bottom of a Facebook page (“One day I’ll find something to put here”). The domain is already used to host the Which FB Employee Are You? application.
- facebooklet.net - At first, it sounds like “bookmarklet,” but the bookmarklet Facebook gives to its users uses the usual facebook.com domain. The kind of fun name sounds like a fan or employee’s nickname. Maybe it too could be a weblog one day? Why is it connected with the official facebook servers, though?
- facebookmail.com, which handles “over 50M email messages a day” according the probably outdated Facebook jobs posting for an email admin
- wirehog.net - I’m not sure if anybody remembers Wirehog, but Facebook endorsed it as a way for users to share files. These days, the project is dead… for now.
- Facebook also has lots of subdomains. Most of them are probably just what they sound like, but a few raise some eyebrows.
- mirror.facebook.com - It’s not commonly known that facebook is a mirror for several software organizations. With their other contributions to the community, such as memcached, phpsh, Thrift, and PHPEmbed, this reflects great on the company
- code.facebook.com
- presence.facebook.com
- extftp.facebook.com - obvious, but interesting to know
- moat.facebook.com
- themob.facebook.com - hopefully they won’t come to get me for publishing this
If you know more about the domain repertoire, feel free to contact me. ∞
Mint.com user testimonial
Tuesday, October 2nd, 2007, 8:53 am EDT
Mint.com is a new startup which basically does the work of checking on all your finance-related information for you. I’ve got a few credit cards and bank accounts that I regularly check, so it saves me from having to log in to several sites. It’s been pointed out that trusting one site to handle all of your accounts is a pretty big security risk, mainly because one day an ex-employee could retaliate, but basic company organization probably protects against this, as it would in any financial institution. Sure, it’s just one more minor risk, but the convenience makes it worth it for me. Plus, Mint shows you various ways you could save money.
While in private beta, I was discussing some of the supported accounts with the staff, who decided to use a snippet from our brief conversation as a user testimonial on the homepage. And yes, in retrospect I know the semicolon should probably be an em-dash. ∞

A much faster way to get to your friends
Thursday, September 20th, 2007, 6:11 pm EDT
Typeahead, Quick Friends, Friend Jumper — who knows what to call it, but Facebook has launched one of those very small, but extremely useful features.
This new friend finder integrates beautifully into the existing search bar. I can’t imagine what percentage of my searches were for friends, so this is certainly a welcomed addition. One of the great things about this new feature is that you can see just what you need to. Before with search, if I searched for “Annie,” my first result was always “Anne,” then “Annie.” With this, I can see exactly what my results are, and which one I’ll be going to if I hit enter. I can also see primary networks if I’m feeling particularly braindead. As you see in the picture, another great part of this is that it matches any part of the name. Whatever you call it, this is another great, recent addition to the site. ∞
Facebook launches ‘Extended Permissions’
Thursday, September 20th, 2007, 5:32 pm EDT
Yesterday, Facebook expanded the platform by silently introducing new extended permissions. The idea is a new one for the platform, and has a new point of integration with Facebook.
Previously, developers have been able to access all of the methods of the Facebook platform. By default, accounts had access enabled to these methods, but for users who opted out, developers would receive errors when querying Facebook. For example, if my application tried adding to the Mini Feed of one of my users, by default, it would work. If that user unchecked “Publish stories about this in my Mini-Feed” on their applications page, I’d receive a permissions error when I tried to update it. If I had been simply abusing the Mini Feed, publishing too many stories recently, Facebook would throw a different type of error at me.
As the platform expands to greater integration with Facebook, some more “sensitive” parts of user accounts need to be protected, so unknowing users and/or underhanded developers don’t abuse an account. This calls for the introduction of an opt-in system, which is exactly what is new with these extended permissions.
Facebook added two new methods for developers under this new permissions system. The first allows applications to set a user’s status, and the second makes photo uploading much less annoying. These are only the first two methods available to the system, but they show how as we allow applications to get even closer to our accounts, we pass a line where we’re comfortable granting applications permission to change our accounts. Imagine what would happen to your status if any the applications could change it. What’s that? Ten of my friends have changed their status to “I am a zombie?” Great.
Last week, we saw a temporary slip up where three upcoming methods were exposed. One of them, groups.join, was documented at the time. At first, it might sound like this is a way for applications to automatically add users to whichever groups the developer pleased, but in fact the documentation said that it was only a way to approve outstanding group invitations. It sounds small, but this is a pretty large leap for the platform. As of now, there’s no way have an application approve any other type of request (like a friend request or application invitation). That’s not the type of functionality I’d like some of the less noteworthy applications to have. However, groups.join would be a perfect candidate for the new extended permissions system. This opens up the possibility that there might one day be a full-featured desktop application for Facebook (if that was something people even wanted). Or you might, for example, be able to approve group requests with the Facebook Toolbar if you grant it the appropriate permissions. So, we’re now seeing a freer, more flexible platform, but with the appropriate privacy measures in place.
We’ve been seeing lots of progress in general with the platform lately. FBJS is now out of beta, The Data Store API, after a month and a half, is now an open beta, the platform team is responding on the developer forums, developers can work in teams on applications, invite abuse is on its way to being eliminated through a common invite system, lots of older, trivial bugs have been fixed, and the site, after a rough period, seems to be getting more stable. I’ll be focusing on other new developments in this weblog in the future, so stay tuned. ∞
