Skip to main content

OpenSocial talk at Google

I went to an OpenSocial talk at Google about a month ago. Sorry it's taken me so long to write a summary. Hopefully it won't be completely out of date ;) Here are a bunch of random notes:
  • The talk was held in the same room that the Bay Area Python Interest Group normally holds its meetings. However, I knew right away that something was different when I got there a half an hour ahead of time, and the room was already filling up. During the meeting, I counted rows and columns, and estimated there were about 200 people present.

  • Google was making a big deal of the meeting. They were providing dinner, which they don't do for our group.

  • Looking at the JavaScript examples, the code looks strangely verbose.

  • Security is not defined in the spec. Dealing with third-party JavaScript is a challenge. Facebook's answer was FBJS. At least at that point in time, OpenSocial didn't have a well-defined answer to that problem.

  • One of the demos crashed.

  • They're taking the lowest common denominator approach and letting people build extensions on top of it.

  • There were something like nine speakers. One thing that was really strange was how many of them had strong foreign accents.

  • If you have an OpenSocial application running on multiple networks, and the same person has an account on multiple networks and uses your app on multiple networks, there's nothing implicit in the spec allowing you to know it's the same user. If one of the networks allows users to sign up without verifying their email address, it'd be really easy to masquerade as another user, totally sabotaging all the OpenSocial applications.

  • Facebook has a policy against caching a user's friends for more than a day. OpenSocial does not define any such policies. It's up to the individual networks. This may prove to be a challenge for app writers and policy enforcers alike.

  • OpenSocket is a Facebook application that acts as a socket for OpenSocial applications. It is iframe based. Facebook said, "We think it's cool." However, it may have legal difficulties because the apps that plug into it must obey Facebook's TOS, yet it has no way to enforce that.

  • The OpenSocial spec still has a lot of ambiguities.

  • Apache Shindig is an open source container for OpenSocial applications.

  • Many people obviously want a way for their identities to span networks. I've argued for a long time that OpenSocial was solving the wrong problem. I don't want something to make it easier for me to write apps for multiple social networks. I want something to make it easier for me to cope with the fact that my friends use multiple networks.

  • Strangely enough, Windows laptops dominated among the speakers. A few of the speakers used Macs, but it was a lower percentage than usual.

  • OpenSocial is an improvement because it let developers move away from screen scraping MySpace, and it lets users get away from cut-and-pasting code snippets into their profiles.

  • It was a very long meeting.

  • One of the speakers was German. He was writing an application to let users collaboratively solve jigsaw puzzles. He took a dig at Americans saying, "Collaborate? We just like to blow things up!" It wasn't a very popular application.

  • A lot of the people who were excited about OpenSocial are developers who were "late to the Facebook party" and viewed OpenSocial as a chance to be ahead of the curve.

Comments

Popular posts from this blog

Ubuntu 20.04 on a 2015 15" MacBook Pro

I decided to give Ubuntu 20.04 a try on my 2015 15" MacBook Pro. I didn't actually install it; I just live booted from a USB thumb drive which was enough to try out everything I wanted. In summary, it's not perfect, and issues with my camera would prevent me from switching, but given the right hardware, I think it's a really viable option. The first thing I wanted to try was what would happen if I plugged in a non-HiDPI screen given that my laptop has a HiDPI screen. Without sub-pixel scaling, whatever scale rate I picked for one screen would apply to the other. However, once I turned on sub-pixel scaling, I was able to pick different scale rates for the internal and external displays. That looked ok. I tried plugging in and unplugging multiple times, and it didn't crash. I doubt it'd work with my Thunderbolt display at work, but it worked fine for my HDMI displays at home. I even plugged it into my TV, and it stuck to the 100% scaling I picked for the othe

ERNOS: Erlang Networked Operating System

I've been reading Dreaming in Code lately, and I really like it. If you're not a dreamer, you may safely skip the rest of this post ;) In Chapter 10, "Engineers and Artists", Alan Kay, John Backus, and Jaron Lanier really got me thinking. I've also been thinking a lot about Minix 3 , Erlang , and the original Lisp machine . The ideas are beginning to synthesize into something cohesive--more than just the sum of their parts. Now, I'm sure that many of these ideas have already been envisioned within Tunes.org , LLVM , Microsoft's Singularity project, or in some other place that I haven't managed to discover or fully read, but I'm going to blog them anyway. Rather than wax philosophical, let me just dump out some ideas: Start with Minix 3. It's a new microkernel, and it's meant for real use, unlike the original Minix. "This new OS is extremely small, with the part that runs in kernel mode under 4000 lines of executable code.&quo

Haskell or Erlang?

I've coded in both Erlang and Haskell. Erlang is practical, efficient, and useful. It's got a wonderful niche in the distributed world, and it has some real success stories such as CouchDB and jabber.org. Haskell is elegant and beautiful. It's been successful in various programming language competitions. I have some experience in both, but I'm thinking it's time to really commit to learning one of them on a professional level. They both have good books out now, and it's probably time I read one of those books cover to cover. My question is which? Back in 2000, Perl had established a real niche for systems administration, CGI, and text processing. The syntax wasn't exactly beautiful (unless you're into that sort of thing), but it was popular and mature. Python hadn't really become popular, nor did it really have a strong niche (at least as far as I could see). I went with Python because of its elegance, but since then, I've coded both p