I am very familiar with the Friendfeed API, so when I saw the presentation today by Bret Taylor, who is now one of the leading guys at Facebook, it felt very familiar. They design clean and simple APIs. This one is no exception.
I would be playing with it right now except for two things:
1. My programming environment doesn't have a JSON serializer or deserializer. I could write one, but I'm not going to, at least not this week. And next week we'll be looking at something else. I wish they had provided an XML serialization for their data, if they had, I would have spent the rest of the week poking around so I could provide details here on Scripting News. Would have been an interesting report.
2. They are part of the push to reinvent OAuth. They say it's simpler, but nothing could be simpler than the previous version, which I have already implemented.
This is the problem with corporate platforms and the standard bodies that help them achieve their goals. They throw out our investment with idea they're making things easier. They're smart people so I think they must know they're not actually doing that. The developer base gets winnowed, which must be what they actually want.
Anyway, once you get past the political stuff, Bret and his guys implement a nice API. And Zuckerberg -- what a character! I had never seen him speak before today. He's honest, open, bares his soul in amazing ways. He's like a young Bill Gates, who I knew when he was "Zuck's" age -- but without the guile. He lays it all out there.
Watching his presentation I was struck with an idea. Ballmer and Ozzie should find a way to get Zuck to buy Microsoft and they should reboot the company with Zuck as the leader. I know FB would never go for it, why should they, but what an interesting chemistry experiment that would be. Could Microsoft reboot with a BG workalike at the helm? It would make for a fascinating science fiction story. But I digress.
The actual Bill Gates figures in this story. In 1997, I had a phone talk with Bill G, about the subject that Mark Z addressed in today's presentation. Bill had realized that the big thing missing from the web was an idea of identity. He wanted my help to figure this out and then make a presentation to the industry, but only after we did a lot of thinking. I remember meeting with one of his lieutennants in New Orleans later that year, but nothing came of the proposed collaboration, probably because I didn't have any ideas about how to get everyone to line up behind Microsoft (mostly because I didn't think it was a good idea).
So now we know what Zuckerberg's megalomania is, and he's brilliant, and hired the right guys (the FF team) to make it happen. But think about the role he's cast himself in for a minute. Facebook is to be the identity system for the web. A company? That just can't work. I can't believe he doesn't know that. Even Bill Gates didn't have the audacity to propose that! ">
I'm sure their software will scale. It certainly is well-designed. But Facebook is a company and we just can't go there. That's about all I have to say right now. Probably will have more to say later.
PS: The OPML Editor is a distro of Frontier, which has been GPL'd for 5 years. I think it sucks that it has no JSON support. But it works for me, there's no other environment that's even remotely as rich, so I'm not switching. If you want to avoid missed opportunities like this in the future, get on board, fill in the gaps. We need JSON support, one of many things that are needed. If you can make it happen, you will be an official good person.
PPS: According to Abraham Vegh the Twitter API will shortly be JSON-only. I didn't know that. Well, that'll be the end of my code working with their code. Even if we had JSON support in Frontier, I am under no circumstances going to re-code all my glue code. What a freaking waste of time that would be. ">
I'm kind of disappointed that there wasn't much uptake on other blogs re what comes after location -- but not really surprised. There's an almost unconscious presumption that anything innovative will come with an earth-shaking Steve Jobs-like announcement, not with a short and simple blog post. Regardless I think it's an important idea, one worth beating the drum about.
Kris Cobbaert voices a frequent concern -- how could my Droid know what my intentions are? How could it know which direction I'm going in? It's a good question, but I wouldn't have suggested this if I hadn't already very clearly told it where I am going, in at least two ways:
1. The Droid has a very nice Maps app that's obviously a Droidization of their Maps website. On each segment of my trip, usually at the beginning of the day, I program it with my goal for the day. That way I can instantly see how I'm doing by simply turning the Droid on, visiting the Maps app and refreshing.
2. Even if I haven't used the Maps app to plan my day, there's always GPS. It can plot out a series of samplings, and unless I'm traveling in circles (happened yesterday in Central Park), it should be pretty obvious whether my goal is east or west of where I am. At least it could skew the recommendations in what is my likely direction, based on GPS data.
An aside, ever had the experience in an airport as you walk past a door that automatically opens when someone approaches it? The same algorithm that the Droid uses could be used here to keep the door closed if you're walking by the door and not into it.
A valid point was raised several times -- if you're using the Droid to locate an emergency service, like a hospital, you want the maps app to ignore your vector and just tell you where the closest emergency room is. No doubt there's a difference between a life-saving doctor and a mood-saving Starbucks.
Proximity is too crude a measure sometimes, sometimes we want our algorithms to be aware of where we're going. That is, to be vector-aware.