Jaiku is now open source 

Yesterday we flipped the switch and moved Jaiku to App Engine. Today we open sourced the Jaiku code base. The code is available as JaikuEngine on Google Code. Anyone can now set up and run their own JaikuEngine instance on Google App Engine.

The same day Jaiku was migrated, Dave Winer wrote that it's time to break out and distribute microblogs. I agree. There should be lots of platforms, and they should talk to each other. Jaiku doesn't do that yet, but now there's a decent chance that it soon will.

Andy's put a lot of work into this open source release. A few hours ago he posted a note to developers in the JaikuEngine-discuss group. Here's a snippet from that note.

"The source lives at http://code.google.com/p/jaikuengine and is reported to be eagerly looking forward to hearing from us all. We have received the following letter:

Dearest JaikuEngine users, contributors,

Wow! It's great to be free.

I'm really looking forward to accepting your patches and keeping you all up  to date on my plans.

So far I've set up a mailing list, jaikuengine-discuss@googlegroups.com and over the weekend I expect to be getting set up to receive and review patches.

If you are really itching to send something in before then, just make a new issue in the issue tracker at http://code.google.com/p/jaikuengine and attach your code.

Working together I'm sure we can come up with some really fun stuff and maybe even do our part to make the world a better place.

I will send more updates soon.


Comments (5) TrackBack (1) March 14, 2009

Signal (and noise) about Jaiku this week 

On Wednesday we posted on the Google Code Blog that:

"As we mentioned last April, we are in the process of porting Jaiku over to Google App Engine. After the migration is complete, we will release the new open source Jaiku Engine project on Google Code under the Apache License. While Google will no longer actively develop the Jaiku codebase, the service itself will live on thanks to a dedicated and passionate volunteer team of Googlers.

With the open source Jaiku Engine project, organizations, groups and individuals will be able to roll-their-own microblogging services and deploy them on Google App Engine. The new Jaiku Engine will include support for OAuth, and we're excited about developers using this proven code as a starting point in creating a freely available and federated, open source microblogging platform."

Understandably, some people took this to mean that Jaiku was going away entirely.  This impression was exacerbated somewhat by a blogger reporting early that Jaiku was being closed alongside some other products.

The reality is a bit more nuanced, but it is significantly more interesting in my opinion.  First, the jaiku.com domain and the Jaiku user accounts (and their friend graph and their messages) continue to live on just as they have today.  The biggest difference is that behind the scenes Jaiku is moving away from its original proprietary hosting model and on to App Engine.

Personally I love this for several reasons -- it is a tremendous validation of the power of the App Engine platform, and another great learning opportunity for the engineers here to work with a very real service.

But the second, and perhaps even bigger news, is that all of the code used to power Jaiku on App Engine is going to be released under the Apache license.  Combine these two changes -- Jaiku on App Engine, and open source Jaiku -- and you can start see the opportunity that emerges here.

Soon, anyone, for free and with little effort, will be able to install and modify the Jaiku code, launch it on App Engine, and run their own microblogging platform.  Combine that decentralization with standards such as OAuth and the forthcoming activity stream standards, and what we're seeing here is the accelerating trend away from microblogging being a destination to microblogging being a pervasive and ubiquitous part of the fabric of the web itself.

Now that's cool.

Will Google have a team of 20 working on Jaiku?  No, and we're not going to sugar coat it, which is exactly why we posted such an honest an open letter about the future of the product.  Are there many of us who passionately care about Jaiku and about the possibilities of microblogging?  Absolutely.  And we want you to participate.

Comments (17) TrackBack (0) January 16, 2009

Prepare for the Daemon  

Every once in a while comes along a book that changes everything.

The last author to do it to my generation was William Gibson in 1984. For almost two decades, when we imagined the future, we imagined ourselves tapped into cyberspace via our deck alongside Case, the protagonist in Neuromancer.

Tomorrow will mark the day of a literary event likely to be of comparable impact.

The Daemon will launch on the front shelf of Borders bookstores and Barnes & Nobles everywhere.

If this is the first time you hear about the Daemon -- well, for one thing, you haven't been following my status updates :) -- and you're likely to hear more from other people. It is a Da Vinci Code meets World of Warcraft kind of deal.

Many of the elements we've come to expect from action-packed Sci-Fi are there: a mysterious, gruesome murder; advanced surveillance tech; smart & lethal weaponry; and evil AI at the root of everything. The key difference to Neuromancer, however, is that it all takes place in the real world. It could happen today.

Like Craigslist's Craig Newmark put it, “Daemon is the real deal—a scary look at what can go wrong as we depend increasingly on computer networks.”

Almost as interesting as the fiction is the backstory behind the book. Initially a self-published work, early advocates, myself included, did our best to get it to people's attention and word started spreading on blogs and microblogs.

When I first picked up the book at the Long Now Foundation, I wondered about the odd name of the author, Leinad Zeraus. It took a little while before I realized the pun: it was Daniel Suarez spelled backwards.

A few days ago, I got an email from Daniel. I'm quoting it here with his permission.

"It was grassroots support from early adopters like you that proved to New York publishing houses that there was an audience for Daemon. Without that critical support, my little self-published book might have quietly disappeared.

Instead, it will be front-of-store in every Barnes & Nobel and Borders in the U.S. and is being translated into ten languages. I’ve also signed a deal with DreamWorks for the film rights."

I'm also delighted to note Daniel will be visiting us at Google to speak about the book in a few weeks.

For more on bots and their social implications, watch Daniel Suarez speak at the Long Now Foundation. For a summary of the talk, read Paul Saffo's notes.

Comments (10) TrackBack (0) January 7, 2009

iTunes and Spotify 

Today Apple announced DRM-free music on iTunes.

It's curious to note where this leaves Spotify, a company that I believe is positioned to become a serious iTunes competitor at least in certain geographical areas.

What does going drm-free tell us about Apple's future direction for iTunes? It shows that Apple is pushing hard to break the locks that are keeping it from exploiting the full value of iTunes' impressive catalog. If this spirit continues, it's not unthinkable that a little way down the road iTunes will look a lot like Spotify.

Spotify makes an iTunes-like music app that differs from iTunes in that the music is freely accessible for listening, but the user can't (as of today) download copies of tracks to their hard drive.

Spotify CEO Daniel Ek has explained his strategy is to simply provide access to music. He sees Spotify as the supplier of social objects for other social networks.

"We think music data is social objects, and we focus on building tools around them. We don't necessarily want to be a social network ourselves. That's also a hint on the future," he wrote in a thread on Jaiku earlier today.

iTunes' per-item sales and Spotify's freemium subscriptions may seem like competing business models.

However, the two are not mutually exclusive. Spotify could start to offer downloads, essentially turning into iTunes.

Similarly, Apple is not going to abandon sales of music tracks in favor of subscriptions to a streaming service. But it could easily add a free, ad-supported streaming mode (and an ad-free subscription mode) to help drive its per-item sales -- essentially turning into Spotify.

If iTunes were to offer free access, where would that leave Spotify? Remember, iTunes killed another promising startup Odeo by becoming a podcasting platform...

Spotify's success against iTunes is determined by how well it can exploit the fact that as both an online distributor and device manufacturer Apple wears two hats. As a result, the iTunes store is not available on non-Apple portable players (save for the Motorola rokr failure).

The interests of Apple the device manufacturer and Apple the online distributor are fundamentally in conflict. It's in the iPod unit's interest to keep iTunes proprietary to the iPod; whereas the iTunes music store would increase its sales significantly if it shipped on third-party devices like Nokia phones the way it does on the iPhone today.

In the end this is a business equation to Apple. As long as Apple makes more money selling iPods, iTunes is likely to stay proprietary. But if the iTunes store were to outgrow the iPod business into the company's de facto cash cow, or the iPod started to lose market share, Apple could ditch the iPod and integrate iTunes with other portables.

It's in Spotify's interest, therefore, that the iPod does well but not too well. Apple has to be compelled to keep iTunes proprietary, but worldwide sales of music players has to be made up of a significant percentage of other manufacturers who want iTunes but are left to look for other options.

As long as iTunes remains locked into the iPod, Spotify has a shot at becoming the de facto music distribution platform for the rest of the world. Of course it'll face tough competition from other proprietary and open initiatives.

Comments (6) TrackBack (0) January 7, 2009

Foreign Friends: from a service-centric to an object-centric social web 

Update: see story on ReadWriteWeb about the latest Activity Streams working group meeting.

For a while now many in the microblogging community have been wondering how to add contacts and exchange updates & comments across services.

For instance, some of my friends are on Jaiku, others are on Twitter, and a third group use Friendfeed. How could I follow everyone without having to deal with creating and managing an account on all three?

Currently, we're forced to treat services as proxies for communities. For instance, my Twitter and Friendfeed contacts are mostly North Americans, whereas my European friends are on Jaiku.

This is not dissimilar to the way telephone networks used to work in the early days. To call someone, both the caller and receiver had to be on the same network.

Thankfully this is no longer the case with email. Imagine how restricted our day-to-day communication would be if mail servers didn't interoperate.

Metcalfe's law says the value of a network grows exponentially in relation to the number of members on the network. Walled gardens have been a bad idea from the start, since they limit the growth of the network. Because of this dynamic, they destroy value - and eventually also themselves.

There are two roads to the inevitable end state where everyone is reachable. Either the little networks agree on a standard for interoperating; or they get devoured by the most powerful player and the world is left with a monopoly.

In telecoms, AT&T gobbled up the regional networks -- only to be artificially broken down into a dysfunctional set of baby bells by an antitrust ruling.

This Friday at the Learning about the Open Stack event, John McCrea described how AOL and the other internet walled gardens were brought down by the open Web.

And today, proprietary IM networks are being stamped out by an open protocol, XMPP.

The urgent issue now is to prevent microblogs from becoming the next dysfunctional dinosaurs.

A bunch of activity stream interoperability initiatives have been put forth in answer to this call, and the viable parts are now converging under the open stack umbrella term. 

What the community is looking for now are concrete examples and implementations.

In his presentation at Friday's event, Chris Messina demonstrated the use case of subscribing to someone who lives on a foreign Web service.

In what follows I'll expand on Chris' story by discussing another use case, where you add the foreign friend to your address book without needing to go to their site.

Imagine I want to add a friend, David Recordon to my contacts. I know his email address, so I click 'add contact' in my client and enter his email.

My client translates David's email address into his OpenID URL, probably using a method called Email to URL Translation.

Now that my client knows where to find David on the Web, it goes out to David's URL and fetches a little file that contains machine-readable pointers to David's public profile and the photos, status messages, bookmarks, blogs, and other feeds he publishes. The enabling standards at work here are likely to be XRDS-Simple and Portable Contacts.

This loop is simply referred to as 'discovery'.

Once my client is done, it is ready to display its findings to me. Here's a mock-up to illustrate what I might see (the same mock is in Chris' slides):


After selecting David's contact information and some of his feeds, I click 'Save', and a subscription request is sent to these services. They return a few of David's most recent public updates to me.

The next time David logs into these services, he sees a standard new subscriber notification. His service can perform discovery on me to display my name and profile summary to him, and allow him to reciprocate.

David may also choose to allow me to see some of his private information, such as his contact details. The enabling standard here is of course OAuth.

I have never needed to join any of the services David uses; in fact, I don't even need to know their names. It is irrelevant to me if he uses Twitter, Plurk, or Friendfeed to publish his status updates or prefers Flickr, Photobucket, or Picasa for sharing his photos. All I care about is seeing his updates and being able to respond to them using my own client.

Information wants to be free, and social objects want to travel.

For a nice demonstration of federation in action, see this video by Sebastian Küpers.

Comments (1) TrackBack (0) December 23, 2008

Three simple points on innovation 

I took a call with a few Nokians today about innovation. Constrained by the 140-character limit on microblogs I crammed the bottom line of my hour-long argument into three points. The note started getting comments on Jaiku and pick-up on other blogs, so I thought I'd post them here:

1. binge on your own dogfood
2. live by usage stats
3. iterate like mad

Like @constantine notes in the Jaiku thread, the real decision power comes from executing on this. A lot of people 'get it' but that's not enough.

People also misinterpret the third point to mean you should release constantly without any quality control.

Those folks miss that there's a progression here: keep dogfooding and only release when you can no longer not release. Then iterate based on what features get usage.

The secret is actually not included in my list. It is to hit the right feature set for launch.

A lot of startups end up in feature-shaving mode. One day they wake up to the painful reality that their product is too complex because they tried out a lot of different ideas.

Although obesity is not a great starting point, there are examples of successful overhauls. For instance, the first version of Flickr was a Flash application with real time chat and photo sharing. Few if any of those early features remain on Flickr today.

I believe turnaround always requires external shock. Often comes in the form of a change in leadership. When I asked a friend on the Flickr team if some specific event took place that enabled the company to execute such a drastic change of course, he replied smugly: "Caterina happened".

I've also been asked many times if industry gatherings are a waste of time for startups. This conversation happened after LeWeb and it seems to recur every time an event splits attendees' opinions.

Personally I've found that events and partnerships that go live on a certain date are great ways to force a big bang release. They help the team to focus and create a building sense of urgency. And it's gratifying to ship just in time for a party :)

There's probably lots more to be said. Feel free to add your points to the list.

Comments (2) TrackBack (0) December 22, 2008

The G1 and the missing link 

This year Google handed out limited-edition unlocked G1's to employees as christmas presents. I picked mine up a few hours ago.

Although I've been carrying various versions of the handset for over a year now, it was a new experience to open one of my own from a real consumer box.

The G1 is very close to a post I wrote 3 years ago on the missing disruptive mobile device. (Thank you, Matt Jones, for reminding me about it. I hope the day comes when you emerge from behind the camouflage and return to blog for us once more).

While the power of the G1 in terms of features and functionality is unparalleled, the basic user experience is still a bit stuttery and not yet as velvet-smooth as flow on the iPhone.

If they were Argentine tango dancers, switching from the iPhone to the G1 would be the equivalent of pairing up with a beginner after coasting smoothly with a top dame or don.

This particular beginner is a fast learner though. It also has social object-producing capabilities none of the others have.

The top Android app lists by Gizmodo and TechCrunch seem a bit dated. If you're an Android user or following the developer circuit, let's hear from you! What apps should I be installing?

Comments (10) TrackBack (0) December 22, 2008

Conversation with Brian Oberkirch 

In December 2007 Brian Oberkirch and I sat down in my home in San Francisco for a discussion about social objects. This week Brian added the conversation to his series of podcasts on social software.

Although it's been a year and some of the discussed services have evolved (for instance, OpenSocial has progressed in leaps and bounds), the discussed ideas continue to be at the core of my work.

Here's a topical breakdown of the 42-minute MP3 file in roughly chronological order:

- definition of a social object
- Facebook and OpenSocial
- what makes a good social object
- verbs
- making objects shareable
- turning invitations into gifts
- charging publishers not spectators
- status updates as social objects

Comments (2) TrackBack (0) December 19, 2008

What are ads? 

Over on Conversation Agent, Fast Company's Valeria Maltoni touches on something worth noting.

She discusses the controversial Motrin ad, an online video promoting a pain medication product that sparked uproar last month.

Maltoni connects the outburst to anguish Americans who've lost their savings, jobs, and homes are feeling this holiday season:

"The Motrin ad became the catalyst for these sentiments, the social object for people to come together and talk about how badly they felt."


The most disruptive social objects articulate something masses of people urgently feel, but lack a way to express.

The Motrin ad became symbolic. Like making salt, shoe throwing, and un-pimping autos.

Unfortunately, in Motrin's case the feelings were fear, anger and despair. The ad was pulled, along with an apologetic email from the company.

Ads are not about products. They're social objects in themselves.

Comments (1) TrackBack (0) December 19, 2008

A year in retrospect 

It's been a little over a year since the Jaiku team and I joined Google.

My time has mainly been spent building infrastructure that makes it easier to share social objects on Google's Web and mobile services.

Some of the pieces of this infrastructure are really basic. For instance, I've worked with the team that built a profile page for Google users (mine is here). If you are using google.com in English, you can now access your profile by clicking on My Account.

For more on profiles, see Duncan Riley's recent post on TechCrunch.

Another piece of the puzzle has been to enable people to share social objects with the contacts in their address book. Gmail now lets you organize your contacts to Friends, Family, and Co-Workers. You can then share items on Google Reader with your Friends group. You will see these same groups in various Google products that let you share information with people. If you own a G1 phone you know those same contacts are also synced to the mobile phonebook.

I also helped Brad Fitzpatrick launch the Social Graph API. Although this API is not a visible product, it powers many services such as the suggested links on your Google profile. Collaborating with Brad has been one of my delights of the year, since I had wanted to work with him on the social graph problem already before either one of us joined Google.

Jaiku has been a 20% project, meaning it has been getting about one day a week of my time.

Over the last few days a conversation about the future of Jaiku has been taking place on blogs (relevant posts in English here, here, here, and here) and Jaiku (current active threads here, here, here). I regard the Jaiku community as friends, and your concern about the future of the service is legitimate. It warrants a response. What follows is my personal angle.

We announced this spring on the Jaiku blog that Jaiku will be ported to Google App Engine. Since the porting has not been a full time project, and development involves working on a still maturing new infrastructure as well as maintaining the legacy site, its velocity has not been as high as I had hoped. That said, we're on schedule and expecting to ship in the new year.

Google isn't staffing up Jaiku.com. But we love the product and plan to open up its development to the user community more in the future. I'm not ready to talk about the details yet, so stay tuned for more news about that in the new year on Jaiku.

This is a step in the direction we all want to go: away from the tyranny of silos towards freely interoperable social networks. People should be able to post and follow status updates across servers just like they send email. No single service, no matter how large and powerful, is the platform. The Web is the platform.

In spite of the decision to not throw resources at building Jaiku into an independent Web brand, recall that the acquisition announcement stated that "Activity streams and mobile presence are important areas where we believe Google can add a lot of value for users." Of course this statement still holds true, and you can bet your Android that there are completely new Wow!'s in store.

I hope that after reading this you, like me, are getting more and more tickled by what 2009 has to bring.

And now that Ulla and I are done having kids for a while, my new year's promise is to also return to blogging.

Comments (16) TrackBack (0) December 17, 2008

More entries

This blog is about

accountability of designersauthorshipBookscapturing memoriescodifying relationshipscreativityembodied experiencefuturesgood lifehappeningshotspotshuman-machine relationshipinternationallifelocation-awarenessmobilemultitaskingmundane practicesobject-centered socialityopen datapersonal publishingpolicyproximityrelational materialismresearchscifiself-identitysocial software industryspace/placetaggingtangible designtechnology-mediated social relationshipsthinking as a material practiceUI ideasurbanuser-designer relationshipventuringwearingWeb/Tech

Recent Comments

Matt John on Prepare for the Daemon

Dee on Why some social network services work and others don't — Or: the case for object-centered sociality

kozmetik on A year in retrospect

bailey alexander on Jaiku is now open source

carol on Why some social network services work and others don't — Or: the case for object-centered sociality

Sam on A beautiful day

Dan Bassill on Why some social network services work and others don't — Or: the case for object-centered sociality

Douglas Galbi on Conversation with Brian Oberkirch

Han Cao on Proposal: personal object pager

Jyri Engeström on Jaiku is now open source

Recent links