Wednesday, May 28, 2008

Google I/O: OpenSocial

Here are my "raw" notes from the OpenSocial intro session at 11:15am:

Open Social.

Introduction. How to build OpenSocial Apps. OS Containers. (more)

Patrick: Intro.

Make the web better: by making it social. What does 'social' mean? Ask kids. His daughter: We look at each other, we talk, we laugh, we help each other, we read together, we do projects together. (cute kid pictures)

Raoul - kids toy, the "social object" - take home from school, do things with it, take pictures, create a social event around it.

Jaiku's Jyri Engeström's 5 rules for social networks: social projects

1. what is your object?
2. what are your verbs?
3. how can people share the objects?
4. what is the gift in the invitation?
5. are you charging the publishers or the spectators?

How do we socialize objects online without having to create yet another social network?

OpenSocial is a straightforward application of chapters 8 and 9 of his 1998 book "Information Rules".

"Standards change competition for a market to competition within a market."

OpenSocial Foundation - Keep the specification open. Discussed in public forum. Evolves in a open source community process.

80% of your code is common to every site/network. The other 20% are specializing for each site.

Standards based: html+javascript+rest+oauth

Chris Schalk: How to build an OpenSocial application.

Javascript API:
- People & Friends.
- Activities
- Persistence
-- provide state without a server.
-- share data with your friends
-- up to container (ie: site)

Key concept: OpenSocial "container" - basically a website where your OpenSocial application runs. Provides services to your application.

Async APIs - make request, provide callback, use data.

Data storage: Async hashmap system. Callback function provides notice of success.

REST API uses Atom format.

Establish a "home" site where gadget can phone home to retrieve data. Hosted on various sites, including AppEngine.

Kevin Marks: OpenSocial Containers.

Apps are hosted in Containers. What are they?

Containers don't choose users. Containers set up the social model, users choose to join.
- They grow through homophily and affinity
- network effect can bring unexpected userbases

Not just Social Network Sites:
- profiles and home pages
- personal dashboards
- sites based around a social object
- corporate CRM systems
- any website

Owner and Viewer are defined by Container
- The application gets IDs and connections to other IDs.

Owner need not be a person.
- could be an organization or a social object.

Kinds of container - social network sites
- profile pages
-- owner is profile page owner
-- view may not be known, may be owner or other member
- home page
-- owner is Viewer (must be logged in to see)

Examples: myspace, hi5, orkut

Kinds of container - Personal dashboard:
- like hom pages
-- owner is viewer (must be logged in)
- friends may not be defined

Examples: iGoogle, MyYahoo

Kinds of container: Social object site
- Pages reflect the object - movie, picture, product
- owner is the pboject
- owner friends are people connected to the object
- may be authors or fans
- viewer is looking at it, viewer friends are people you may want to share with.

Kinds of container - CRM system
- pages reflect the customer
-- owner is the customer
-- owner friends are people connected to the customer
--- may be colleagues or other customers
-- viewer is you

Kinds of container - any website
- owner is site
-- owner friends are site users
- viewer is you
-- viewer friends are your friends who have visited this site
Example: Google Friend Connect.

Container Sites control Policy.

Meet the containers (next session).
Best practices for spreading your app (tomorrow).

Chris Schalk: Becoming an OpenSocial Container

Apache Shindig
- What is shindig?
-- open source software that allows you to host OpenSocial applications.
- is currently an apache software incubator project
- heavy partner involvement (Ning, hi5...)
- services as open source reference implementation of OpenSocial & gadgets technology

- Example of shindig.
- Shindig is in CVS, can't download tarballs (yet).

Google I/O

At Google I/O in San Francisco this week. A two day developer conference covering Google's public tools and APIs.