Archive for the ‘Web’ Category

Return to Odeo

Wednesday, March 29th, 2006



Buzz visits Odeo
Originally uploaded by dom.net.

Last week, I had another opportunity to visit my friends at Odeo, at the invitation of their crack QA guru Dominic Sagolla. As many of you may recall, I have always had a bit of a soft spot for the good people of Odeo because of my interest in audio-oriented social software. I’ve always had a feeling that the Odeo people will be the ones to eventually hit on the formula that makes audio social software compelling in a way that, say, Last.fm just isn’t, and the previews that Dom showed me of Odeo’s future continue to make me optimistic.

One feature that is of particular interest to me is the newly unveiled “Link to Audio” functionality. As many of you may recall, until recently I ran an “ad-hoc” podcast created simply by linking to MP3s on my server using del.icio.us and taking advantage of the del.icio.us media support. Now Odeo users can do essentially the same thing, with a big difference: instead of publishing the file to the world, they can choose to merely send it to the inbox of one or more contacts in their social network. Since the contacts can then send the same file to the inbox of their own contacts, this feature is a bit reminiscent of the recombinant podcasting idea I’ve mentioned in the past. And, let’s face it, since the sharing stays within the social network, there’s no need for “the man” to ruin the fun.

Based on this and a few other things I saw, I think Odeo is doing an admirable job of reinventing itself in the face of iTunes’ entrance into the podcasting world. I look forward to seeing how some of the other things they’re working on are received by the public.

(Update: P.S.: If you were a fan of my old podcast, feel free to add me as a contact on Odeo.

JSON is so hot right now!

Tuesday, February 7th, 2006

If you’ve been reading Dan Wood’s weblog or my del.icio.us links recently, you may have noticed that I’ve become something of a Javascript Object Notation enthusiast. Though JSON, an object serialization technology for Javascript, has languished in relative obscurity for awhile, I think there’s a lot of evidence that it’s about to assume a new prominence in the coming post-XML age.

Awhile ago it dawned on me that JSON bears more than a passing resemblance to old-school NeXT plists, and that it would be pretty natural to write an NSDictionary category that could deserialize a JSON string into a Cocoa object graph. I set about working on it whenever I could find the time (on the plane to NAMM last month, for example), but, sadly, my spare coding time just isn’t what it used to be these days (blame it on my daytime coding job and an increasingly busy social schedule).

Fortunately, it appears my LazyWeb influence is now strong enough that I no longer need to code my own ideas. I happened to mention my idea to Blake Seely during dinner at MacWorld, and he ran with it. Then, not to be outdone, Jonathan Wight revealed that he too had been working on a Cocoa JSON implementation. I haven’t had the time to look at either implementation yet, but at the very least I think the fact that we have not one but two really confirms JSON’s status as the web services technology of the moment.

Recombinant Podcasting

Monday, October 17th, 2005

When I interviewed for my current job, one of my interrogators asked me an interesting question: if Apple gave me carte blanche to pursue any project that interested me, what would I work on? My answer? Easy: social software for audio! No other project could combine my various passions (web services, audio and music, the iPod, social software, esoteric machine learning/psuedo-AI stuff) in such a complimentary way. I still find myself thinking quite often that if I was to leave Apple for anything it would be to start some sort of social music software company.

The question, though, is what should social software for music look like? I think my most important insight on the matter comes from an offhand remark someone (who I’m not sure if I should name) made to me about Odeo: that to really separate themselves from Apple and everyone else in the podcasting arena, Ev and company need to build “Flickr for audio.”

This struck me as a perceptive observation, because it squares very well with something I’ve long thought of as the first rule of social software: to really work, it must be a game. This idea was first suggested to me by Giant Ant Design’s seminal weblog post arguing that Flickr is actually a MMORPG, and I’ve noticed it holds true for all of the social software I really enjoy using. Even with the seemingly utilitarian del.icio.us, I have to admit to checking my bookmarks page once in awhile just to see how many people in my informal social bookmarking network have approved of the links I’ve posted by bookmarking them themselves.

Apple isn’t (at least that I know of) really aware of this principle yet, but the folks at Odeo do seem to understand it intuitively. I’ve already added my Odeo music podcast to the list of my social outputs I idly survey while I’m waiting for world builds at work. This also includes weblog stats, my del.icio.us page, Technorati ego searches, del.icio.us linkbacks to weblog posts, and my Flickr stream’s recent activity. Like all of those things, my Odeo podcast provides some basic ways (episode downloads, podcast subscribers, comments, Odeo rank) for me to “keep score” and know how I’m doing in the Odeo “game.”

As important as all of that is, though, I think the seed of the true killer social music app might lie in an interesting phenomenon I’ve noticed on del.icio.us–something I’ve dubbed “recombinant podcasts.”

You see, while the front end of my podcast is handled by Odeo, the back end RSS feed is actually generated by del.icio.us–that is, when I want to add something to my podcast, I just upload the file to my web server and bookmark it in my del.icio.us feed, which Odeo then picks up.

Since my entire podcast is also available via del.icio.us, and the underlying files on the server are available for anyone to link to, I’ve noticed that a number of del.icio.us users have actually added songs I’ve posted to their own del.icio.us bookmarks by using del.icio.us’ “copy” feature. The really interesting thing about this, though, is that several of them (including Dom, Odeo’s cracker jack new QA lead), have clearly added them to their own podcasts (as evidenced by the “dom.net:podcast” tag Dom added in this example).

This is notable because it reminds me of another thought I’ve had about how a social music application would differ from Flickr: with Flickr, you’re selling either your skills or experiences; with a social music app (such as my Odeo podcast), you’re selling your taste. It’s therefore very easy for me to imagine a social music sharing application built on Flickr-like MP3 streams, episodes of which could be copied from one stream to another (giving rise, naturally, to the power laws, A-lists, tastemakers, and so forth that make social applications such compelling games to so many people).

Of course, all of this is assuming someone could solve the copyright problems involved. A big “if,” to be sure, which is why you won’t see me quitting my day job just yet.

The Hidden World of HTTP

Monday, August 8th, 2005

One of the things I’m going to miss about working in Mac OS X Integration is having co-workers crazy and creative enough to actually write a spider to crawl the web in search of unusual (and often humorous) HTTP headers. As it happens, our own Andrew Wooster recently completed just such a survey, and the results are pretty amusing. My personal favorite excerpt from Andrew’s post is about the headers returned by the Democratic Party’s web server:

The Democrats called, they want you to know they found their sense of humor:

X-Dubya: You teach a child to read and he or her will be able to pass a literacy test.

Make sure to hit it a few times for optimum goodness:

X-Dubya: We’re in for a long struggle, and I think Texans understand that. And so do Americans.
X-Dubya: Africa is a nation that suffers from incredible disease.
X-Dubya: We’re making the right decisions to bring the solution to an end.
X-Dubya: Families is where our nation finds hope, where wings take dream.

See more over at Andrew’s site.

Meta Tags: The Poor Man’s RDF?

Friday, August 5th, 2005

I’ve always thought that what makes del.icio.us so successful despite a lot of recent competition is that it exemplifies the same kind of thinking Tim Berners-Lee described in his “Axioms of Web Architecture” as the “Principle of Least Power,” or what the designers of the Internet called “end-to-end architecture.” Instead of trying to build a powerful, heavyweight system that would anticipate a user’s every need, Joshua and company have been building an extremely simple, general service that can be endlessly adapted and easily plugged into other systems.

The variety of “meta” tagging schemes del.icio.us users have evolved is great evidence of this. Probably the best known example, the “for:” tag prefix, has actually become commonly enough used that Joshua and company have given it formal recognition within the system, but there are lots of other schemes in usage. I’m a frequent user of “cite:” (to attribute links I get from other people), for example, and now that I’ve been using the new del.icio.us media support to run an ad-hoc podcast, I’ve been exploring the use of “meta” tags for music metadata.

It was this last usage that led me to an epiphany. As I started tagging songs I posted with metadata like “artist:thenational” and “soundslike:afghanwhigs,” I realized that I was, in effect, creating triples and using tags as a sort of poor man’s RDF.

For those who aren’t familiar with RDF (which is probably almost everyone, since RDF is rarely explained well), it might be helpful to pause for a moment to explain the concept of triples. The first thing you need to understand is that RDF is an attempt to standardize the way we represent the relationships between data, just as XML standardizes the way we represent that data’s structure. Information in RDF is expressed as a series of statements that each have a subject, verb, and object–triples. For example: The National [subject] sounds like [verb] the Afghan Whigs [object].

A collection of these statements is referred to as a “triple store,” which can be understood as a sort of ad-hoc database. While traditional relational databases require that new properties be formally added to the model either by adding new columns to an existing table or by adding additional tables, adding a new property in RDF is as simple as asserting in a triple that value X is a certain property of entity Y.

So, then, a collection of del.icio.us links containing “meta” tags can be thought of as a triple store. “Interesting,” you may say, “but why should I care?” Which is a very reasonable question given RDF’s current track record of real-world usefulness.

Well, as it happens, my del.icio.us/triple store epiphany has given me an idea for a Cocoalicious feature (yes, I do plan to release a new version of Cocoalicious some day). It occurred to me that I could turn Cocoalicious into a sort of free-form database by treating “meta” tags as triples, compiling a list of the implicit properties contained in these triples, and allowing the user to add columns displaying the values of those properties for each post to the main table view (probably by way of a context menu like the one you get by right-clicking on the iTunes column headers). That way the user could implicitly add his or her own metadata the Cocoalicious model, which could be used to sort and query the post list.

I suppose this feature might be too esoteric to be useful to that many people, and it has some problems (for example, how do we handle the situation where a single post has two values for the same property) but the Cocoalicious project is all about experimentation, so I think I’m going to implement it anyway. Anybody have any interesting thoughts on the subject?

Why You Should Check Out Odeo

Tuesday, June 21st, 2005

I want to take a moment to congratulate Evan Williams, Noah Glass, Rabble, and the rest on the launch of their new podcasting service, Odeo. I was fortunate enough to have gotten an early demo of their work, and I remain excited about it despite the recent entry of a certain larger player into their market (opinions here are my own, by the way). Here’s why:

  • They’re working at the forefront of a really interesting space (at least to me): hybrid web/desktop applications. What they’ve created is mostly a web app, but it also has a desktop component that gets your podcast queue into iTunes. I think combinations like that are going to be increasingly common, and it will be interesting to see how web services like Odeo experiment with desktop integration.
  • They’re very strong on the content creation side, and their whole goal is to make podcast publishing as uncomplicated as weblog publishing. Essentially, they’re trying to do for podcasting what Blogger did for weblogging: provide a simple, lowest common denominator, cross-platform publishing mechanism. To this end, they’ve built a recording studio that actually runs right in the browser and streams right to their server. I kid you not.
  • They’ve also got some other intriguing ideas that I think could eventually make their service very attractive to content creators, but I’m not sure I’m allowed to mention them here (I’m perhaps a little too well trained in the “loose lips sink ships” department).
  • The people who run it are really cool. Ev and Noah are both entrepreneurs in the best sense of the word: they’re adventurous, agile, very open to new ideas, and willing to take a very public approach to product development. For this reason, I expect to see Odeo change quickly as the medium evolves (Rabble’s post today seems to confirm this).

It may seem like Apple’s announcement of podcasting support in iTunes 4.9 makes them a competitor, but my hope (without knowing much about the implementation) is that it will actually make things easier for Odeo and allow them to concentrate on their core strengths. I’ll certainly be interested to see how things develop once iTunes 4.9 is out and Odeo has expanded beyond the initial round of invites!

More Flickr Synchronicity

Sunday, June 12th, 2005

I just remembered that I have an even better example of Flickr synchronicity that I amazingly neglected to mention in my previous post on the subject.

As some of you may remember, back when I used Blosxom I spent a chunk of time developing a Blosxom photo gallery plugin called Pixom. When I started working on Pixom, I spent some time looking at prior art, and discovered that a New Yorker named DeWitt Clinton had already developed a plugin called photogallery. I ended up borrowing a lot from his approach, but adding things like on-board EXIF parsing. Because I thought he was a smart guy, I started reading his weblog.

Before long, DeWitt moved to San Francisco to work for A9, and I followed his apartment hunt with great interest, since I was about to go through a similar search moving from Cupertino up to the city.

When DeWitt started using Flickr, he and I added each other as contacts and started following each other’s photos. Eventually, I posted a photo of the, shall we say, distinctive view out my back window, as well as several from my building’s roof. A little while later, I got an email from DeWitt asking me if I was aware that he lived right above me. As it turns out, he has nearly the same view from his window, one floor above, and based on my Flickr photos he was able to determine that we were, in fact, neighbors!

I finally met DeWitt for the first time today, at our building’s rooftop party for the Haight Street Fair. It was pretty crazy sitting there on the roof talking to this guy whose weblog I had found through a Google search back when he lived on the other side of the country. I guess sometimes this social software stuff really does work–score another one for Flickr world glue!

A Flickr Moment at WWDC

Saturday, June 11th, 2005

One of the things that always amazes me about Flickr is the number “small world” coincidences I’ve encountered while using it.

For example, a little while ago, I posted a photo of St. Ignatius Church here in San Francisco, and remarked in the caption that “If [the fairly obscure British band] The Clientele ever hold an album cover competition, this will be my entry.” Not long after that, a woman who evidently is a friend of the band added it as a favorite. Another time, I posted a photo from a Doves show I saw at SXSW this year, and got comments from someone else who had attended the show and someone else who had been a stagehand. And yet another time, I posted some photos I took during a completely spur of the moment trip to Las Vegas, only to discover through Flickr that Mike Merrill from Panic was there at the same time.

Now, I was browsing through my friend Mike Smochko’s photos on Flickr and noticed that he had posted a photo he took from high up on a balcony while The Wallflowers played at this year’s WWDC Campus Bash. Later, while I was browsing through Dan Dickinson’s photos, I noticed he had posted a shot of Mike, and my other co-workers Joshua Benjamin and Andrew Wooster up on the balcony.

The cool thing is, this kind of thing is only likely to become more common as Flickr grows. It’s not hard to imagine people in the near future tuning into Flickr streams for far more detailed, grassroots coverage of events than the traditional media could hope to provide (I already do, to some extent). As someone said in the comments on one of my photos, Flickr is turning into world glue.

Lazyweb: Del.icio.us “Trackbacks”

Tuesday, April 19th, 2005

Just a thought, while I’m on a blog posting roll: wouldn’t it be cool if someone implemented a sort of del.icio.us“trackback” feature for weblogs? That is, a WordPress plugin that could display the number of times a post has been bookmarked on del.icio.us. It could be almost like the distributed, weblog-ish equivalent of the way Flickr displays the number of people who have marked a photo as a favorite. I’d do it, except I already have way too many side projects as it is. Jonas, any interest?

(Update: Ask and ye shall receive: Andrew Skinner has done it! It’s now running on my weblog, and I couldn’t be happier with it! Thanks for your hard work Andrew!).

Name It and Claim It

Monday, April 18th, 2005

Matt Haughey posted a comment today chastising the “geeks” who have been resisting Adaptive Path’s “Ajax” label for new wave web applications that use XMLHttpRequest, Javascript, and the DOM together. He chalks their resistance up to the typical engineer’s distrust of marketeers, and urges them to jump on the bandwagon in order to more effectively extract money from non-programmer VCs, managers, and so forth.

I would argue that Haughey is missing the real source of their consternation, though: I think there’s a feeling, perhaps, that in publishing their white paper and coining their own name, the hipster consultants at Adaptive Path are laying claim to, or at least hitching themselves to, someone else’s revolution. If anyone deserves credit for legitimizing and popularizing the use of XMLHttpRequest, after all, it must be the hardcore coders at Google (and the team behind Gmail specifically), and yet by coining a marketing label, AP will probably become the go-to guys for journalists, executives, VCs, and other non-techies seeking to understand the technologies behind Web 2.0. The tendency in the geek world, where “cred” is very important, is to think of this behavior as something akin to the “sidler” on Seinfeld–the guy who does little of the work himself, but always seems to be standing conveniently next to Elaine whenever kudos are being handed out.

Haughey is right, though: we need a succinct way of referring to this architectural style, and Ajax is as good as any. And let’s face it, if we’re really concerned about who deserves the proper credit for Ajax (or at least the XMLHttpRequest part of it), we’d have to give Microsoft Internet Explorer mad props. Let’s see how the web geeks respond to that one!

(Update: Due to the potentially incendiary nature of this post, I wish to point out that I have no ill will toward Adaptive Path. I think they’re smart people, and Jeff Veen has been one of my heros since I read his books in college. I’m merely explaining what I think Matt Haughey is missing about geek psychology, and this probably would have merely been a comment on his weblog if he allowed them.)