Monday, February 23, 2009

Collaborative Playlists via Twitter and Hashtags

Collaborative playlists are a great idea that often gets bogged down and limited by the fact that everyone has their own music service/platform of choice and there is generally no interoperability between them. Fred Wilson blogged on the topic, and the challenges, about a week ago. The problem is that most collaborative playlisting options require a lot of overhead... either everyone needs to join/use/switch to the same playlisting site or the creator of the playlist has to engage in a lot of manual labor to curate the playlist.

I talked a bit recently about how some service are already set up to handle the exact use cases that people are interested in, just that the other pieces of the puzzle haven't been put in place yet. By using the "web as the music catalog", listening data as automated search queries and free-range MP3s as the universally supported format, it is actually easy to create collaborative playlists with a combination of existing technologies that can all work on a common platform. Hashtags, Twitter Search (aka Summize), friendP3 and playTwitter.

To create a collaborative playlist, one just needs to manually post (or retweet a friendP3/meP3 link) with a playlist name as a hashtag. For example, I just started one with the name of #fp3Bestof2009 (where "fp3" stands for "friendP3"). I posted a couple of songs, and others can as well without any overhead required by me to manage. To see the collaborative playlist, I can use Twitter Search to search for that hashtag/playlist name.

http://search.twitter.com/search?q=fp3Bestof2009


Click on the playTwitter bookmarklet and you are off and listening to the community programmed list that continues to be dynamic over time. If you want to filter the playlist, you can simply use the "advanced search" fields of Twitter Search and you can limit posts/songs by contributor, date, keywords, and more. Find a filter you like, and then you could subscribe to the RSS feed for those filters and just watch what continues to come in from users across the web.

User friendly? Uh... nope, not yet. Powerful? I think so. What do you guys think?



Reblog this post [with Zemanta]

Wednesday, February 18, 2009

Radio @AmbientSignal


I've been publishing my meP3 stream out to a bunch of different platforms (e.g. FriendFeed, Tumblr, Soup.io) but the one that I'm most fond of right now is the Twitter station that I'm passively programming @ambientsignal. There are actually many parts of the experience that are substantially worse on Twitter than on the other platform - most notably the lack of an integrated media player - but you've got to go where the people are, right?! A quick addition (and hopefully future evolution) of playTwitter and StreamPad (shoutouts to both Lucas Gonze and Dan Kantor) could make this even more powerful.

While I was originally focused on constructing a station by crawling a single user's social graph, I've shifted focus a bit more to the simple aggregation of a users *own* stream. Each user can publish their own, then just simply follow the others they want. Where I think it could get really interesting is in Twitter clients. Each user could create their own "group stations" comprised of any single or collection of meP3 streams. Then just throw a small media player into those Air and iPhone apps and you've got a social listening and discovery service that I think would be as compelling as any out there. TweetDeck, Twirl, Twitterific, et al... are you out there? Not only does it power great content discovery (I've personally been exposed to at least 5 new bands that I like in as many days from @friendP3), but it would/will stimulate endless water cooler conversations around the content.

My friend Dave now is also powering his own Twitter station @ZprocketRadio. It's just starting to load up with tracks, but when I hear something I like I will inevitably reply to @ZprocketRadio with a 140 character note on what I think about it. He also has brought up some interesting ideas around the use of #hastags to power collaborative playlists that I may play around with today.

If anyone out there is interested in being one of the first stations (or wants to build a killer Twitter Radio client) drop me a line at jherskowitz (at) globallistic (dot) com and I'll help you out. It's still super-hacky and exceedingly geeky... but I'd be interested to see if a community evolves around this concept.






Reblog this post [with Zemanta]

Tuesday, February 17, 2009

@friendP3 - Add to Favorites Playlist

When you are just a guy trying to hack something together in your free time, you are quickly and constantly reminded to not reinvent the wheel. That, along with my complete lack of programming skills, forces me to brute force and re-purpose stuff wherever possible (see last 5 posts or so for proof).

The great thing about that, is it helps open my eyes to features/products out there they will perfectly handle the use case I'm looking to implement. The newest ephiphany is that Twitter's "favorite" feature is ideal for creating a playlist of favorite songs that you may hear on @friendP3 or any other "twitter radio" station (current or future).

A video speaks 10,000 words...

http://screencast.com/t/IHoNJ5kkL

(by the way, I *love* Jing's screencasting app but they fact that the videos aren't resizable is a major problem since they are all too big - dimensionally - to fit into my blog)




Reblog this post [with Zemanta]

@friendP3 on your iPhone (sort of)

When you deal with hosted MP3s you are reminded how much you *could* do with music if all of the shackles and protections were removed (e.g. DRM and required Flash players). Here is a video highlighting how things "just work" on your mobile...


@friendp3 Radio on iPhone from Jason Herskowitz on Vimeo.


There is no reason that this same scenario won't/doesn't work with simple SMS alerts, email, IMs, etc. The only real work needed is for playlisting of these tracks to be supported in these apps...


Reblog this post [with Zemanta]

Monday, February 16, 2009

Now Playing: Twitter Radio

Image representing Twitter as depicted in Crun...Image via CrunchBase

The latest ingredient in this grand mashup experiment I embarked on last week is what I'm calling (for lack of a better term right now) "Twitter Radio". The idea being that a user can either passively, or manually, program a soundtrack as a backchannel to their tweets. This can either be done for you personally - with links to songs you listen to systematically injected into your regular twitter account or into a secondary dedicated "radio" account. Also, collaborative "group stations" can be automagically programmed by the listening behaviors of one or more people and posted to a Twitter account.

For now, I'll probably use a secondary dedicated account (TBD) so I won't overwhelm everyone that follows me @jherskowitz. Once it's more stable maybe I'll integrate them... too bad Twitter doesn't have filters that could better handle this scenario.

To listen to one of these stations first-hand, you just need to do a few things:
  1. Install the "playTwitter" bookmarklet from (http://www.gonze.com/playtwitter)
  2. Go to @friendp3
  3. Clock the playTwitter bookmarklet in your browser's link bar (after dragged there in step 1)
That's it... now you can listen to everything that shows up there. There is still plenty more I would like to have it do... but it's a start. And as with all things that I hack together, it will probably break more than once... but I'll try to fix the stuff as I can.

Confused? You could just watch this: http://screencast.com/t/DS1CwwoMw




Reblog this post [with Zemanta]

Saturday, February 14, 2009

Get Your Own meP3 Stream

I've been distracted lately, but figured I would let others build their own personal aggregated meP3 feed just by calling the API directly.

Basically, you just construct and RSS feed with parameters for your own user names/IDs. For example, here is mine:

http://pipes.yahoo.com/pipes/pipe.run?_id=60d303c2d8c4f64cb685d4c9ecc9881e&_render=rss&hypeID=jherskowitz&ilikeID=jherskowitz&imeemID=IC4FmMqO&lastfmID=jherskowitz&pandoraID=jherskowitz&rhapID=2DF5AE86A33B862C1931C18C71D733EC



So, if for example your username on Last.fm, Hype Machine and Pandora were "fredwilson" and you didn't have any accounts at, iLike, Imeem or Rhapsody, then your feed would simply be:



http://pipes.yahoo.com/pipes/pipe.run?_id=60d303c2d8c4f64cb685d4c9ecc9881e&_render=rss&hypeID=fredwilson&ilikeID=fredwilson&lastfmID=fredwilson&pandoraID=fredwilson



Note that most parameters are your username, but both Rhapsody and Imeem IDs are harder to come by. Your Rhapsody ID is found in your My Rhapsody RSS feed URLs. Your Imeem account number is even harder to find, but I'm working on trying to find a better way to get to it.


If you can then take that feed and do anything you want with it.... embed in a widget on your blog, feed it to Streampad or Yahoo Music Player, subscribe to it as a podcast, dump it into your lifestream, feed it into your Twitter account, etc.


One thing I was thinking about is playing around with "rooms" on FriendFeed to see how this would look as a collaborative "station". Other ideas? I'd love to hear them.



UPDATE: I found some issues with the way I was dealing with and rationalizing dates across all of the services. This needs more work and until it is fixed you may see stuff jumping around in time like the castaways on "Lost".



Reblog this post [with Zemanta]

Friday, February 13, 2009

More meP3s

My experiments involving the social graph, aggregation, data portability and MP3 search continue. I've now got my Imeem just played feed automatically producing MP3 search results as well. Unfortunately, I don't yet see a way to easily get your Imeem UserID from your username/login info... so it's not really user friendly for anyone else at all at this point since I had to manually dig mine out and hard code it. Regardless, I've added it to my lifestream and it seems to be working as well as the others.

Unfortunately, Soup.io (my current publishing platform) nor Tumblr seem to be able/want to keep up with the feeds. That being said, I'm also pushing my aggregated MP3 stream to some other lifestreaming services that seem better equipped to keep up. FriendFeed feed seems to deal with it pretty well (http://www.friendfeed.com/jherskowitz). And while Lifestream.fm (http://lifestream.fm/jherskowitz) won't embed a flash player in the stream automatically like FriendFeed and others, it does have a cool feature (powered by Beam-It-Up-Scotty) that lets you send links via SMS to anything in your or others' lifestream(s). So if you see a song you like, you just "beam it" to your phone, click on the link, and listen to the track stream over the air. Pretty cool.





Reblog this post [with Zemanta]

Tuesday, February 10, 2009

Playlist Reanimator

So, I'm still hacking around with some of my science projects and I now have an MP3 resolver for XSPF playlists working. You give it an URL to for an iLike or MyStrands playlist and it will go and try to rebuild it using free-range MP3s.

Why? Well, I started with those two services because their client software (iTunes/Winamp/etc.) plug-ins can automatically publish your playlists from your media player to the web. Since most people make their playlists on their desktop, this cuts out the step of having to manually recreate it on the web so you can share it with others. Also, it lets you leverage any other "playlist builders" (e.g. Apple Genius) on your local machine and then publish those machine generated playlists too.

For example, the URL for this (actually the URL of the XSPF file, not the page):

http://www.mystrands.com/playlist/9dbf0c1b6c932965

turns into this:

http://is.gd/jGuc




I still need to add support for Last.fm playlist and I'm digging around to see if I can get at the data for the playlists at iMeem and Playlist.

Yesterday, I also added the javascript Yahoo Media Player to this page, so now all of the MP3 links being spit out from my friendP3 stream are now playable as a playlist directly from the player.

muSick in the Head

More to come (hopefully)....




Reblog this post [with Zemanta]

Monday, February 09, 2009

Trying to Get a Clue

Apparently I don't have any fans at The Register. I'm not sure why the personal attacks, but perhaps I ran over the writer's dog in another life. That aside, I just wanted to briefly comment on this...


TotalMusic goes totally titsup • The Register: "Uh, now - let's see, Jason. Why didn't TotalMusic crack it? Well, you don't make it easy to find and share music. You don't allow people to keep music. You fail to make all the music in the world available - but you don't allow people to share what content they have, either? And you want to keep the billing relationship?"


I'm not sure what product or offering is being referred to here, because there is nothing in this statement that is representative of what I was working on. Although, I do agree that I would find a model built on those principals to more than a bit distasteful. That, and we also seem to have a similar view of my skillset.

Saturday, February 07, 2009

Hey, who tripped over that cord?

The Record Industry’s TotalMusic Experiment Is Sinking Fast: "TotalMusic, the digital music distribution initiative created by Sony BMG and Universal Music Group, appears to be on life support - or worse."


And so it goes. And, so do I. I know what you are thinking... "Hey Herskowitz, you were only there 3 months, how did you manage to screw it up so quickly?!". Heh... all I can say is that in that short time I had the privilege of working with some great people on something that I *know* was going to be extremely compelling. I regret that we didn't get to show you guys more about what we built - but in these extremely hard economic times (particularly for those in the music industry) it's hard to blame them from pulling the plug on a still-highly-speculative offering .

I only hope that someone else figures out how to crack this music-on-the-web nut in a way that is a win for everyone in the value chain. The problem is that to make a music service a win for everyone, then they all of the famished participants have to sit at the table - and be content to let all the others have a little bit to eat, even though they are still hungry themselves.

I, first and foremost, am a music consumer - so I'm always compelled by the innovation happening down at the consumer-level and then try to follow it back up the chain to the content creators. This gives me a decidedly different perspective than the artists and labels that are trying to solve this from the other direction. But, from where I sit at least, I see all of the innovation in digital music services coming out of bootstrapped companies and passionate tinkerers. Hell, there are very few private investors or venture capitalists that want to get anywhere near this space right now... and rightfully so considering no one has really figured out how to make any money out of this industry (and its products) that so many people love.

It should therefore come as no surprise that these small sites and services don't have the resources, or desire, to deal with licensing content directly. And for that matter, nor do the content owners - imagine the legal and contractual management overhead. So, where is the middleman? The platform? The catalog? The APIs? The no/low-involvement licenses? These are all required to not only stoke innovation, but to ensure people get paid. Without this we find ourselves in the same place repeatedly. Virtually all of the small "music 2.0" services go one of 4 routes for their content. 1) MP3 search engines like Seeqpod and Skreemr, 2) YouTube music videos (either with or without actually rendering the video frames), 3) Remote access offerings like Simplify and Orb, 4) User-generated uploads.

What I truly believe is that the market needs an alternative to #1/#2 that lets innovation be built quickly and painlessly upon open APIs - where people are paid, costs are covered, streaming is free and drm-free commerce is to be had. Simple, right? Well, maybe not so much...

In the meantime, yesterday I started to experiment with a couple of things that simply leverage what is available to me... MP3 search APIs, playlists, community charts and play data. I was able to quickly mash together some of this freely available and flowing data and stood up "friendP3" . It's simple really, it aggregates your (and your friends' if you desire) play data/favorites from the APIs and feeds of Last.fm, iLike, Pandora, Rhapsody, Hype Machine and others. For every track/artist name it sees, it hits some search APIs to see if it can find a MP3 version of the track out in the wild. If it finds one, it then automatically embeds a flash player with the track loaded (along with the link to the MP3). This is all done from afar... the mashup was all done in Yahoo Pipes, the MP3s sit on other sites from around the web, the front end is just a hosted microblogging platform, and the recirculation and sharing back across multiple social networks and services is a simple "AddThis" implementation.

Currently, what is on www.friendmp3.com is stuff that is being automatically generated from *my* friends on Last.fm. But when one of them listen to a song in iTunes, or on Last.fm radio, or bookmark a song they hear on Pandora (web or iPhone version) and the MP3 just shows up the front door of friendP3 for others to enjoy. Conversley, I've also generated a feed that is made up of solely my history across these services and dumped that into my lifestream at www.ambientsignal.com (as well as my FriendFeed and Strands streams). For that matter, you could just take the "podcast" feed and to subscribe to it in iTunes or Winamp. I listen to stuff, and your local library would just get filled up in the background. Now mind you, I'm not endorsing that people use this in lieu of buying music. But, I do think that all of the above are fabulous discovery tools - and I know that I have already bought a couple of albums that I have a heard a track from friendP3 since yesterday.

The first question my friends ask me when they see it is... "is it legal?". The answer I give... "no one really knows", because there is no blanket statement that can be applied. Some of the content was made freely available by their rights holders, all reside on other people's servers, search and "content discovery tools" are generally deemed to be protected under the Digital Millenium Copyright Act (although the Seeqpod/Warner Music case will test that), downloading (I've been told by some lawyers) is not a crime (it's the "making available" to others that is gray), and the endless number of other nuanced legal questions open to interpretation. The answers to all of which are/will have massive implications to the future of the web.

But wouldn't it be cool if there was a way to do this on a platform that plays nice with everyone? And compensates those that deserve compensation? And somehow can magically cover the costs associated with all of the above (hint: this is the kicker)? I sure think it would be. If anyone wants to build/fund that, drop me a line (jherskowitz at globallistic dot com)... I'm currently looking for something to do.





Reblog this post [with Zemanta]