Thoughts on web development, tech, and life.

Page 5 of 9

A couple of weeks ago, I was asked to speak on a panel about OpenSocial for the WebGuild of Silicon Valley. It was a lively discussion featuring Chris Schalk from Google, myself, and Akash Garg from Hi5, moderated by WebGuild president Daya Baran. The event was hosted at Google HQ and over 300 people attended.

I guess I missed it with the Thanksgiving break, but Tim Berners-Lee recently wrote a thoughtful and compelling essay on the Social Graph, and how it fits in to the evolution of the net and the web so far. Definitely worth a read!

I was pleasantly surprised to see that he references the Bill of Rights for Users of the Social Web that I co-authored, as evidence of recent “cries from the heart for my friendship, that relationship to another person, to transcend documents and sites.” He echoes “the frustration that, when you join a photo site or a movie site or a travel site, you name it, you have to tell it who your friends are all over again,” and points out that “The separate web sites, separate documents, are in fact about the same thing–but the system doesn’t know it.”

I can’t think of a more eloquent way to describe the work I’m doing at Plaxo these days on opening up the social web and enabling true friends-list portability, and it’s certainly inspiring to hear it placed in the context of the larger vision for the Semantic Web by someone who’s already had such an impact on fundamentally improving the ways computers and people can interact online.

My good friend Chris’s wife Annamarie MacLeod is an actor, and she’s starring in a new play called No Such Thing that opens tonight in San Francisco. Michelle and I went to see the final dress rehearsal last night, and we were both very impressed.

The play is essentially a haunting, impressionistic sketch of a man gradually succumbing to the stresses of work, life, and romantic rivalry. It’s a minimalist production–nearly bare set, very little dialog–and so much of the story is told through the expressions on the actors’ faces and their movements. It also uses projected video and sound, as well as creative lighting, to intensify the mood and add to the narrative.

The way I saw the play described sounded very high-concept. But it never felt hoaky to me, or arty-for-the-sake-of-being-arty. Quite to the contrary: I found the basic story it told to be very effective and compelling, and the minimalism draws you in and gets you to relate more personally, because your mind is filling in the pieces from your own experiences. I liken it to one of those pencil sketches of a female form by Matisse–it’s impressive because it speaks to you, and it’s even more impressive because it does so with only a few strokes.

The play is a 70-minute one-act with a cast of 5 or 6 in a small and intimate theater (which is why the actors can convey so much with subtle expressions and movements), produced by naked masks. It’s playing on Friday and Saturday for the next three weekends (except the Friday after Thanksgiving). I think you’ll find it’s time well spent.

I only found out about OpenSocial less than a month ago (I was on vacation in France when the initial disclosure event took place, but Marc Canter brokered an introduction when I got back; Thanks, Marc!). And the project inside Google was being developed fast and furious the whole time, which meant the specs were in a constant state of flux and there wasn’t a lot of time for such frivolities as “documentation” or “Q&A sessions”.

Actually I think it was a wise and bold choice by Google to run so fast and loose, rather than doing a more traditional big consortium with frozen specs and tons of details that would never have hit the mark in time. But it made the race to get things working in Plaxo all the more chaotic and exciting. The good news is when you’re dealing with known open standards like JavaScript and HTTP, you can pretty much always figure out what’s going on and devise some working solution, even if it involves some judicious use of proxies, mod_rewrite, and regular expressions (which, trust me, it did).

The launch of OpenSocial itself went better than anyone could have possibly planned. After spending several weeks under strict NDA and not even being able to know who the other container or gadget developers were, we were all a bit dismayed when a New York Times writer did enough digging to leak most of the story a few days early. Google decided that rather than try to keep the lid on any longer, they would release the embargoes early, so starting Tuesday night there was an explosion of public excitement in the press and blogosphere. The reaction was overwhelmingly positive, and by the next day the story got even more exciting: MySpace, Bebo, and SixApart joined as last-minute partners (previously there were several social networks agreeing to support OpenSocial, but none as big as these new entrants). Suddenly it looked like the whole world was going open (save, of course, for Facebook). This led to yet another round of frenzied reporting, which in turn made the OpenSocial announcement even bigger.

Since Plaxo was listed as one of the original supporting partner sites, all of these stories mentioned Plaxo, which means I could track them all in Bloglines via the Plaxo keyword search feed. This was like having a little web beacon plugged into all the stories posted everywhere, and it was just amazing to see how many different publications wanted to cover it. Bloglines (which I love) has this annoying feature that it won’t keep more than 200 unread items per feed. Normally the Plaxo feed gets 10-20 hits per day. Since Tuesday night, I had to check it every couple of hours or it passed the 200 mark. And, perhaps not surprisingly, our traffic at Plaxo also shot through the roof after the announcement went out.

Despite the early leak, Google kept its internal launch schedule the same. On Thursday night, I was invited to Campfire One: a small, invite-only gathering of some of the key developers participating in the launch. They actually built a campfire in the middle of Google’s campus and gave us all folding chairs, blankets, mugs of hot cocoa, and long marshmallow roasting forks to make s’mores with. They made a series of presentations on OpenSocial, showed demos of it working in sites like Hi5 and LinkedIn, and showed off popular gadgets like iLike and Flixster. Then they told everyone to roast marshmallows and mingle. To my surprise, I ended up next to Larry Page and Eric Schmidt standing around one of the fires. I was very impressed that not only had they showed up to this event, they totally got the vision for the open social web and were excited about seeing it develop further!

This was the first time I’d met many of the other participants in the OpenSocial project, so it was great to finally “step out of the dark” and be able to talk openly with them all about working together. I told everyone that Plaxo was planning to launch our OpenSocial support live right after the campfire ended, which became a source of much talk and excitement. Apparently all the other sites had just gotten internal demos running, but none of them had plans to go live until things settled down a bit and got more stable, say late ’07 or early ’08. The Google team said they had a spreadsheet a mile long of changes they planned to make in the short term, but if I didn’t mind fixing things as they broke, they were thrilled to have a real implementation available for people to play with. When Larry brought his marshmallows over share with some of the other Googlers (including Sergey Brin, whom I also hadn’t seen earlier), he exclaimed “hey, those Plaxo guys are launching OpenSocial support tonight!,” so I felt confident that the extra work required to launch support so early was well worth it.

The official launch of OpenSocial brought yet another round of press frenzy, and the fact that Plaxo was the first site to go live with support became a story itself. We were already planning to have a party on Friday afternoon to celebrate getting the code live, but we decided at the last minute to open the party to the public and use it to give a public demo of OpenSocial running live in Plaxo. We posted the invitation to our OpenSocial “Open Social” on Thursday afternoon and on Friday at 4pm we had about 100 guests at Plaxo HQ with whom to share some pizza, beer, and talk of the open social web.

I talked a bit about Plaxo’s commitment to helping open up the social web in general (such as our support of OpenID and microformats, our Online Identity Consolidator, the Bill of Rights I co-authored, and plans for enabling friends-list portability) and then dove into a demo of OpenSocial gadgets running in Pulse. The first thing everybody saw was a bunch of RockYou emotes in the normal pulse stream–they were generated by the OpenSocial gadget, posted through the standard APIs, and then translated by Plaxo into a pulse feed and shared out just like you would with photos, your blog, or anything else that came from a social web site. (Raymond and Jia from RockYou both came over to Plaxo and stayed up late to make sure our container implementation was solid and that their apps ran well on Plaxo. Thanks guys, that was a huge help, and everyone in the office can’t stop playing with emote now, heh!)

I then showed a bunch of gadgets running in my Pulse profile page, including horoscope, iLike, and Slide’s FunWall and TopFriends, both of which are impressively sophisticated apps, and among the most popular apps on Facebook. I met Slide’s CTO Jeremiah Robinson at the campfire, and he was eager to make sure his apps ran well on Plaxo. After a bit of back-and-forth IMing and tweaking on Friday, they all ran beautifully–a testament to the well-executed design of OpenSocial!

It’s amazing to think that less than 24 hours after launching this major new platform, not only is it running live in Plaxo, we already have several first-class gadgets from top developers like RockYou and Slide. If Plaxo had tried to build our own proprietary platform, we could never have successfully wooed these developers to build exclusively for us, let alone had things up and running this quickly. That’s why open always wins, and that’s why we love open standards at Plaxo.

This is just the beginning–there’s so much more to do to truly open up the social web. But OpenSocial is a huge milestone, not only because so many large players are now supporting the open social web, but also because the launch was so large and successful that it introduced a ton of people to the concept of open and got them thinking about what more could be done here. It’s an incredibly exciting time, and you can bet I’m going to keep driving things the best way I know how: by talking about the vision, and then backing it up by shipping real code.

Niall Kennedy asked me to speak at his second annual Widget Summit about “Advanced JavaScript” to a audience with a mix of business, product manager, and engineer types. Since I wasn’t sure how to target the talk, I decided to keep my prepared slides light and did a quick run-through of things to be aware of when developing with JavaScript (basically, how not to make your widgets slow or insecure). I then left the remaining time for interactive Q&A.

This turned out to be a good strategy I think, because we got a good 20-30 minutes of lively back and forth discussion in the audience, which drilled down on some of the areas I touched on but also brought up interesting topics I hadn’t covered at all. My main goal was make the attendees aware of enough important issues that they could go back and be able to dig into them in more detail as needed, and I think in that regard it was a success.

PS: I think it’s great to see more small, community-driven conferences like Widget Summit and last week’s Graphing Social Patterns popping up. It shoudn’t cost a fortune to meet and learn from your colleagues, especially since in the web / tech world, most of them are more than eager to share what they know!

I just got back from two awesome days at the Graphing Social Patterns conference (BTW, as a south bay resident, I loved that it was NOT in SF like so many of these events are!). While the conference was ostensibly focused on Facebook and its platform, I was surprised and delighted to see that almost everyone wanted to talk about the Open Social Web–how there won’t and shouldn’t be just one company owning the social graph, how sites need to be able to inter-operate, how users need more control, and how this is a real and practical problem today. People really got it, and they want to see open prevail.

Both keynotes covered these issues as major themes. Reid Hoffman said there will continue to be multiple social graphs, and that that’s a good thing. And Tim O’Reilly gave an amazing pitch for how the open social web can fix the problems with social networking today–Why can’t a site like facebook defer to a site like geni to know who’s in my family? Why can’t you use the social information inherent in my email? In my cell phone? Why can’t I have different types of relationships with different people? And his answer was “openness is good for you; all these tools will get better when they inter-operate”.

And, as with most events like this, I also got a lot of opportunity to meet people in the hallways and got into a lot of great discussions. It didn’t hurt that we were giving away a bunch of “Yeah, I’d sync that.” Plaxo t-shirts, which seemed to be quite a hit. My conversation with Jason and Teresa from Web Community Forum turned into a video interview that I think nicely captured the current issues with walled gardens vs. the open social web.

When I gave my talk on High-Performance JavaScript at OSCON in July, I found out that I was speaking right before “Chief Performance Yahoo!” Steve Souders. To be honest, I was a bit nervous–we read everything Steve writes at Plaxo, and he runs a whole group at Yahoo that does nothing but focus on web performance. But our talks turned out to be quite complementary, and we really hit it off as fellow evangelists to developers that “you CAN do something to save your users from slow web sites”.

When we got back to Silicon Valley, Steve said “let’s do lunch at Yahoo! some time”. So I went over on Monday and had lunch with him and JavaScript guru Doug Crockford (also at Yahoo!). Doug is actively working on how to enable secure cross-site mashups, something near to my heart, so we had a great discussion. When we were coordinating lunch plans, Steve had said “hey Joseph, as long as you’re coming over, why not give your talk at Yahoo!, and I’ll give mine again, and we can put them both up on YUI Theater“. And that’s just what we did!

It turns out that Yahoo! has a set of classrooms in one of its buildings where employees regularly come to hear various talks (both from fellow Yahoos and outsiders), so they had a great setup there, and the room was filled with several dozen fellow web hackers. Eric Miraglia, the engineering manager for YUI (which we use in Plaxo Online 3.0), personally videoed both talks, and we had a great discussion afterwards. He told me it would take “about a week” to get the video online, so imagine my delight when I saw it already posted this morning! (He must have heard about that whole “under-promise and over-deliver” strategy, heh).

I was honored to be invited to speak in front of a company like Yahoo! and to a group of people like Steve, Doug, and Eric who are absolutely at the forefront of web technology and are also true believers in sharing their knowledge with the web community. I’ve learned a lot from them all, and I think Yahoo’s recent work with YDN, JSON, and YUI is the best example of open and pragmatic involvement with developers I’ve seen at any big company in recent memory. After the talk, I asked Doug Crockford if I’d done right by him, and he said “that was really great–I only disagreed with one thing you said.” Wow–that’s good enough for me! 🙂

Scoble’s interview style is always a great mix of technical deep dives interspersed with questions that ask to “explain this in terms that anyone could understand”. He’s both passionate and skeptical of new technology, and it’s an effective way of teasing apart the hype and substance surrounding the announcements he covers. He also immerses himself in the technology he discusses, and thus develops deeper and more personal opinions about it (e.g. he’s an active Plaxo Pulse user), which in this age of sound bytes and talking points is something we sorely need more of.

Anyway, enjoy the video, and I hope it helps get you as passionate about the open social web as I am!

I like twitter, and I use it a lot (I even a twitter widget on my web site). A lot of my friends use it too, some more regularly than others. I use Bloglines to keep up with the stream of status updates from my twitter friends so I can check in periodically and pick up where I left off.

But increasingly I’m feeling like it’s too easy to miss updates from my friends that don’t post constantly. They just get drowned out in the surging river of tweets from the “power users” I follow. It’s a shame, especially because the infrequent users are often my closer friends, whose messages I really don’t want to miss, whereas the chattier users have (almost by definition) a lower signal-to-noise ratio generally.

I’ve been heads-down at Plaxo this week working on some great open-social-web tools, so when I checked my twitter feed this morning I had 200 unread items (perhaps more, but Bloglines annoyingly caps you at 200 unread items per feed). I scrolled through the long list of updates knowing that probably I wouldn’t notice the messages I cared most about. Technology is not helping me here. But there must be a way to fix it.

Since I’m a self-confessed data-glutton, my first step was to quantify and visualize the problem. So I downloaded the HTML of my 200 unread tweets from Bloglines and pulled out the status messages with a quick grep '<h3' twitter.html | cut -d\> -f3 | cut -d\< -f1 | sort | cut -c1-131 and then counted the number of updates from each user by piping that through cut -d: -f1 | sort | uniq -c (the unix pipe is a text-hacker’s best friend!). Here are the results:

As expected, there were a bunch of users in there with only 1 or 2 status updates that I’d completely missed. And a few users generated the majority of the 200 tweets. I threw the data into excel and spit out a pie chart, which illustrated my subjective experience perfectly:

The illegible crowd of names at the top is a wonderfully apt visual representation of the problem. They’re getting trampled in the stampede. And over half of the messages are coming from Jeremiah Owyang, Chris Messina, and Dave Winer (who I suspect will consider this a sign of accomplishment, heh). Now don’t get me wrong, I really want to know what Jeremiah, Chris, and Dave are doing and thinking about, I just don’t want it to be at the expense of that squished group of names at the top, who aren’t quite so loquacious.

But just by doing this experiment, an obvious solution is suggested. Allow a view that groups updates by username and only shows say 1-3 messages per user, with the option to expand and see the rest. This would ensure that you could get a quick view of “who’s said something since I last checked twitter” and it would put everyone on equal footing, regardless of how chatty they are. I could still drill down for the full content, but I wouldn’t feel like I have to wade through my prolific friends to find the muffled chirps of the light twitter users. While there’s clearly value in seeing a chronologically accurate timeline of all status updates, in general I use twitter as another way of keeping in touch with people I care about, so e.g. I think I’d rather know that Garret said something since I last checked in than exactly when he said it.

What do you think? Would this be a useful feature? If so, do we need to wait for Twitter or Bloglines to build it, or would it be easy to do as a mashup? The only hard part I can see is keeping track of the read/unread status, but maybe just keeping a last-read timestamp in a cookie/db and then pulling down all statuses since then and grouping them would be sufficient and quick enough? Now if only I had time for side projects… 🙂