Archive for May, 2008

[GoogleIO] OpenSocial Primer: What is OpenSocial

Wednesday, May 28th, 2008

Chris Schalk, Kevin Marks, Patrick Chanzeon on stage at Google IO

Patrick’s High level overview of OpenSocial

  1. Making the web better by makting it social
  2. Jaiku’s Jyri Engestrom’s 5 rules for social networks: What is your object? What are ur verbs? How can ppl share objects? What is the gift in the invitation? Are you charging the publishers
  3. How do we socialize objects online without having to create yet another social network?
  4. Deveoper uses API to access the social objects. eg. LinkedIn
  5. Problem is we have 100s of Social Networks hence the developer needs to learn 100s of different APIs for accessing social objects
  6. Hal Varian talks about Network effects. He is a chief economist at Google. OpenSocial is an implementation of Ch. 8 from his book “Information Rules”
  7. OpenSocial Foundation created by Yahoo, Google, myspace. Goal of the foundation is to keep the specification open.
  8. With OpenSocial you learn the programming model once, er, 80% once and 20% specific to the container
  9. iLike, Slide, Flixster, RockYou etc. are building OpenSocial compliant apps for bebo, linkedin, hi5 etc.
  10. 275 million users are OpenSocial container ready

Chris Schalk on building OpenSocial Apps

  1. Client API in Javascript, REST coming up
  2. JS API in three parts a. People and Friends. b. Activities c. Persistence
  3. JS function can be embedded in gadget running in an OpenSocial container
  4. JS Callback function for returned data
  5. Posting an activity is similar to posting an activity and getting a callback
  6. Persistence. Not clear where the data persists? container or gears like client?
  7. Server side REST services: /people/{guid}/@all for getting a collection of all people connected to user identified by @guid All part of shindig codebase. does pagination etc. REST looks more promising for business apps on OpenSocial compared to JS which could be for cool apps
  8. Serverside integration options: Google AppEngine, EC2
  9. Checkout Google IO code lab

Kevin Marks now

  1. Containers provide a social context
  2. OpenSocial separates app logic from Social Context
  3. An app sees user ids — the container makes them people
  4. Users understand the social contract of the containers
  5. Save apps and users from re-registration hell
  6. Containers don’t choose the users, users choose to join
  7. They grow thru homophily and affinity
  8. Network effect can bring unexpected userbases
  9. OpenSocial gets you tol all their users
  10. Make your plan to localize. You’ll be surprised where the users are coming from
  11. Not just social networks. Social network sites, Personal dashboards, Personal CRM systems, Sites based around a Social Object
  12. Abstracted container concepts at Viewers + friends and Owner + friends. Owner and Viewer are defined by the Container. The application gets IDs and connections to other IDs
  13. The Owner may not be a person. It could be an organization or an object.
  14. Kinds of container — Social Object sites like imeem, flickr
  15. Kinds of container — CRM systems like Oracle CRM, Salesforce.com
  16. Kinds of container — Any web site enabled by Google Friend connect
  17. Container sites control policy. Check the Env., Getting information (Viewer info may not be available, may need permission). Spreading you application (Sending message to activity). Monetization and Installation

Closing Remarks by Chris, Patrick

  1. Apache Shindig open source software the allows you to host opensocial applications
  2. Heavy partner involvement
  3. Host within an hour’s worth of work
  4. Incubated at Apache
  5. Build process of Opensocial apps automated through maven (why not ant?)
  6. SocialSite at Sun is an Open Source project that allows you to turn your web app into a OpenSocial container
  7. Leverages Shindig
  8. Built by Dave “Roller” Johnson of Sun.
  9. Complimentary to Friend Connect

Endangered destinations

Monday, May 26th, 2008
  1. Great Barrier Reef. Tourism, fertilizer runoff is “decaying” the corals
  2. Mount Kilimanjaro, Africa’s tallest peak and a $1 billion per year money spinner for Tanzania tourism industry, will be gone without ice in less than 15 years
  3. Glacier National Park in Montana. In the next 50 years, without ice the word “Glacier” may need a replacement
  4. Galápagos Islands — Charles Darwin’s inspiration to his theory of evolution are being menaced by tourism and non-native species
  5. Arctice National Wildlife Refuge, Alaska. Global warming is melting the glaciers at exponential speed
  6. Venice!  Flooding and rising sea level are threating this romantic vacation.

Original story

twitter outage report

Wednesday, May 21st, 2008

Twitter outage report

twitter was playing hide and seek with the l33t users of twitterland. Like Jack, I thought of having my own little fun with the outage. The above is a snapshot of the last 24 hour remote monitoring on twitter’s home page. The actual outage was much more; a lot of twitter features were not available for a longer duration.

WordPress Plugin development, a Windows déjà vu!

Tuesday, May 20th, 2008

10+ years ago, in my first job I got an opportunity to code a number of Windows applications using MFC/COM/Win32 API. Windows was getting popular, client-server computing even more; all Unix apps were wanting to have a visual appeal. Came Windows to the rescue. During those days as a Windows programmer, I battled the following:

  1. Writing code in a way that Windows Operating System couldn’t mess it up. Having an application run on 95, 98 Developer Beta and several hot fixes in between
  2. Avoiding clashes with other Windows applications. This is funny, 90% of the time the issues were related to end-users installing/uninstalling other related/unrelated applications
  3. Finally, writing code so that hardware changes don’t mess the application up–Installed a new iomega Zip drive? The D:\ drive stops working. Changed Network properties to make Banyan Vines work? The whole TCP/IP stack stops responding!

Fast forward to Social Media applicaion development today. In my short tryst with WordPress Plugin development, I found that I have to take care of similar things (though in a much easier way compared to writing C++ code).

  1. When writing a WordPress Plugin, you have to make sure that it serves at least 3-4 major revisions of WordPress installations. Few people bother to upgrade (although, WordPress does a good job alerting users in the admin panel).
  2. Make sure that your Plugin plays nice with other plugins and themes. Due to increased flexibility (love them WordPress!) zealous features may sometimes may not work with themes and such; say a theme which has two sidebars on the left and none on the right. 
  3. Most of the times WordPress Plugin code (written in PHP) and underlying operating environment (PHP, MySQL) mix each other well. However, at times end-users may have different settings, database permissions and security sandboxing rules. Watch out for these as they’re hard to detect and the end-user may not have any idea about the configurations.

There are specific examples to the above WP issues which I’ll rant on in future posts.

All in all, these are happy problems and shows the maturity/popularity of the platform amongst the developer community. Neither these are hard problems–requires diligent coding and testing and a generous feedback from the ‘beta-user’ community 🙂

Markets are conversation, again

Thursday, May 15th, 2008

Cluetrain.com:

A powerful global conversation has begun. Through the Internet, people are discovering and inventing new ways to share relevant knowledge with blinding speed. As a direct result, markets are getting smarter—and getting smarter faster than most companies.

Markets are ConversationWhen Markets become conversation, the participation benefits the parties involved, viz. (a) The Intent Owner. This is the person who has the money, spends time and effort. In a non-generic sense, this  person is the buyer/purchaser/decision-maker of goods/services/products (b) The “Goods” Owner. A person or an entity who has something of interest for which people will spend time, money and effort.

An Intent Owner collaborates with others for research, analysis and in general to discuss items offered from one or more sellers/providers. On the other hand, Goods Owners researches the intent of the buyers by listening to them and/or participating in their conversations. The conversation leads to perfect markets.

During the old days, a weekly bazaar (aka Haat in some Indian dialects) served just that purpose–Buyers collaborated, chattered while sellers listened, conversed and converted the intent into real money. However, as society got industrialized, the collaboration dropped and became 1:1 (thanks to telephone, email and other 1:1 communication media). Come Social Networks, Markets are conversation again. Social Networks are enabling the same depth/breadth of conversation where people are chattering about products, services, companies, etc. (How this is all coming together? To be continued in the second part of the post).

Where is the New New Thing?

Friday, May 2nd, 2008

Tom Forenski points to Jeff Nolan’s “Incremental Is Not Innovation” piece. With more than $1bn invested in various startups — only a handful can be called as breakthrough. Last year, it was twitter.  The last bust cycle produced a slew of collaboration tools based on RSS. In his writeup Jeff talks about the futility of Web 2.0 (the version number exists, thanks to a marketing propaganda!) and me-too culture of startups around it.

However, in a bigger picture, Web 2.0 has created a phenomenon that services can live elsewhere, and so can the data. It has also created a new breed of entrepreneurs who are going to solve a newer set of problems in the continuing evolution of the overall Internet and computing landscape.

In my mind some of the big problems to be solved are:

  • Public Information Overload: Average query on Google produces 100,000+ search results. The popular ones have 100,000+ pages of search results. Why do I need more than 3-5 pages of results?
  • Untargeted advertising: Bulk of the ads are still unrelated. I was searching/looking for a used Aeron chair, today. The best deal is on Craigslist. Why no one is connecting that dot? A person’s intent is very much monetizable and the field is still green
  • Compartmentalized information: If I’m browsing for a movie on Netflix, I cannot see the reviews of that movie from my buddies who are not on Netflix
  • Missing reputation: Is that post/comment about fixing unscruplous hedging of commodities coming from a person working in financial business or a wannabe?
  • Private Information Overload: With 10,000+ digital family photos, I can’t search a thing. In my last job I had 5+ GB of PSTs at the time of quitting. Same goes for my slowly building archive of digital documents, tax returns and stuff

These are very broad level categories of very large problems, each one can be further broken down into features.