kid’s allright
“but don’t you get your hopes up high” | a blog by cody simms

Speaking at Widget Summit tomorrow

I’ll be giving the keynote talk at the Widget Summit tomorrow morning in San Francisco. I’ll cover what we’ve recently released as part of the Yahoo! Open Strategy. Please stop by if you will be there.

Cheers,
-c

Girl Talk @ Yahoo! Open Hack Day 2008

IMG_5190-01

Yahoo! people, you gotta come with me right now. This is not my concert!
This is OUR concert!

        — Gregg Gillis, aka Girl Talk, 12 September 2008

It’s hard to believe that a week has passed since Open Hack at Yahoo!. I’ve blogged a ton recently about the Y!OS components that we previewed at the event. And there’s been some amazing industry coverage as well, most recently a nice piece in Mashable and a killer article in CNET.

But being open isn’t all about APIs and SDKs. It’s also about giving people raw tools and seeing what they can do with them.

In that spirit, Girl Talk is a hacker supreme. He finds the tools he needs to be creative and figures out a way to get the job done.

When we were considering who to bring for our musical guest at Hack Day, we knew we had a tough act to follow. But we almost immediately zeroed in on the one artist who we knew was basically perfect for the Hack ethos. And we got him. And he delivered.

If you are reading this blog and don’t know about Girl Talk, aka Gregg Gillis, well let’s do a little recap.

Gregg samples tracks from 264 different songs (!!!) in his latest album, Feed the Animals, according to some crazy analysis done by everyone’s favorite ex-Yahoo!, Andy Baio. Wired has an insane visual that breaks down the samples found in a single track, “What It’s All About” which has 35 samples in 255 seconds ranging from OutKast’s “Ms. Jackson” to “Every Little Thing She Does Is Magic” by The Police to Faith No More’s “Epic” to Yeah Yeah Yeah’s “Gold Lion” to “ABC” by the Jackson 5. And he does it all while relying on the copyright principle of “fair use”, according to The New York Times. He licenses his own work back out via Creative Commons Attribution-Noncommercial 3.0 United States license. And Feed the Animals is available on his own website in a “pay what you want” model.

And we learned last Friday that his live show brings it. As Sasha Frere-Jones confirms in this week’s New Yorker, Gregg does far more than just hit the play button on an iPod. He mixes his show live every night. He spends at least half of the concert turning samples on and off and mixing the beat, and he spends the other part of the show jumping up and down, losing various articles of clothing, and getting the audience amped up. (Sample quote from mid-way through the show: “There’s been a few Hack Days in the past. There’s been a few regrets. This is the first Hack Day where there will be NO REGRETS. NO FUCKING REGRETS! Even if you lose that hack contest or whatever, I don’t give a FUCK! Maybe you’ll find your wife tonight!”)

As for the actual show, we had the entire stage full of dancing fools (me included!) by the end of the first track. The party amplified throughout the 90 minutes. It seems that people had a good time! But rather than try to describe it, here are some of my favorite visuals:

Girl Talk @ Yahoo! Open Hack Day 2008

Yahoo! Hackday '08

Yahoo! Hackday '08

Yahoo! Hackday '08

_MG_8272

_MG_8318

_MG_8254

_MG_8232

Girl Talk @ Yahoo Hack Day

Girl Talk @ Yahoo Hack Day

Girl Talk

Girl Talk

Girl Talk

Girl Talk

Girl Talk

Girl Talk Finale

Girl Talk live at Yahoo Open Hackday 2k8

IMG_5143-01

IMG_5178-01

Girl Talk

Open Hack 2008 : Girl Talk

Open Hack 2008 : Girl Talk

Girl Talk's Panasonic Laptop

And there are lots of great videos, but if you’re gonna watch one:

Listen to Girl Talk. Buy Feed the Animals. Have a great weekend!

Cheers!
-c

Y!OS on thesocialweb.tv

I had the privilege of being on thesocialweb.tv yesterday to rap about the Yahoo! Open Strategy (Y!OS for short) with Chris Messina, John McCrea and Joseph Smarr. Thanks for having me, guys. I had a great time. Here’s the video:

UPDATE: John wrote a nice little blurb about the session and his thoughts on Y!OS in general on his blog.

Cheers,
-c

Yahoo! Open Strategy Overview

At Yahoo! Open Hack Day on Friday, September 12, I gave an overview of Y!OS along with Neal Sample, Y!OS Chief Architect. Here’s our presentation in entirety:

Yahoo! Open Strategy Overview
View SlideShare presentation or Upload your own. (tags: openhack08 yos)

UPDATE: YDN Theater has posted a full video version of our talk:

(They also have videos of many of the other Y!OS talks from the Open Hack event including Xavier Legros on YAP and Jonathan Trevor on YQL.)

Here are the high level cliff’s notes of our talk:

Slide 3: Y!OS Goals
There are three major goals to Y!OS: creating a social dimension, opening Yahoo! (both our data and our application UI), and rewiring Yahoo! properties with a new architecture built on this new open platform.

Slide 4: Key Driver 1 - Social Dimension

Social is no longer a destination at Yahoo!; social will become a dimension. This means that we will discontinue social networking vertical experiences like Yahoo! 360 and Mash and instead build a single social layer that permeates across your Yahoo! experience…and one that you can take with you to other sites. Any property at Yahoo!, and any site on the web, can be made more relevant with a social context.

Slide 5: Key Driver 2 - Open Like Never Before
Y!OS is open in both directions. We allow social data to be accessed or exported outside of Yahoo! by applications (with user permission via OAuth), and we allow applications to be deployed onto Yahoo! properties in ways that can also leverage social data (using OpenSocial javascript APIs, among other programming methods).

Slides 6-8: Rewire Yahoo!
As we integrate Y!OS into our existing rich property experiences, we will rewire Yahoo! to be fundamentally more open and more social. In general, we will move from a controlled editorial experience to one that is more highly dynamic according to the interactions and choices of individual users. The context that each of our properties natively provides is a key differentiator, both to driving relevant social conversation and to affording applications with unique, interesting canvases.

Slide 9: Y!OS Platforms
Here’s a “market-ecture” view of our four primary Y!OS platforms: Social Platform, Application Platform, YQL, and Yahoo! Developer Network (the latter being more of a marketing and engagement platform for us).

Slide 10: Social Platform
This section will talk about some of the core rules and components of the Y!OS Social Platform, which defines “who I am, who my friends are, and what I’ve been doing”. Here are our Y!OS Social Platform API docs.

Slides 11-13: Identity
We will be consolidating a user’s many different identities across Yahoo!, and we will create an immutable ID called the “GUID” to which all of these identities will be mapped. The GUID is how our APIs will identity a Yahoo! user. We will also let a user associate other identities they have on the web to their GUID. Finally, we will let a user take identity information they’ve stored with us with them wherever they want, including any of the third party identity information that third parties allow us to syndicate on behalf of the user.

Slides 14-17: Relationships

Yahoo! has hundreds of millions of users, each of which currently engage in a number of different types of relationships across our network. Y!OS will recognize three primary relationship types. The first is random encounters. When you encounter someone you don’t know — say you see that they’ve left a comment on a Yahoo! Sports blog post about the Kansas Jayhawks being the best basketball team ever! — you don’t have a data-sharing relationship with that person. All you can see is the information about themselves that they’ve chosen to make public. Contacts are “one-way relationships”. These are people that you know that you place in your address book. But all of the data you have about them is data that you’ve put in there. They are not sharing any of it with you. All that you can see of them when you encounter them around the web is public data. In this since, they aren’t that different from randoms except that you are storing some records about them. Connections are “two-way reciprocated relationships”. Connections both know each other and agree to share specific information with each other. Connections are the tightest form of relationship within the Yahoo! Social Platform. We will actively build up our connection graph by proactively recommending connections to our users based on users’ communication and interaction patterns with each other.

Slides 18-20: Permissions & Privacy
Users are always in control of the data they put into the system. Users can declare some data about themselves to be public. Anyone on the web can see a user’s public data. Developers can use public data in applications without having to ask permission from a user. Users can permission data as “shared”. Shared data can be seen only by connections. Users can grant 3rd party applications with access to “shared” data via OAuth. Users can permission data as “private”. Private data can not be seen by anyone, though users can still opt to allow 3rd party applications to access their private data if they wish.

Slides 21-23: Updates
Updates is our activity stream platform. As users go about the act of doing things that users do, such as rating movies or commenting on articles, we can ask them if they’d like to have that event broadcast out as an Update. 3rd party sites can also do the same; we call this being an “Updates producer”. The Updates platform aggregates these events and allows them to be queried by API by a number of attributes. The Updates can then be displayed elsewhere across the web. When a new user sees an Update from another user, they can access the original content item that produced the update in the first place. This provides a great cross-Yahoo! and cross-web promotion network for user generated content actions.

Slide 24: Social Platform Recap
The combination of identity elements, relationships and permissions make up our Social Directory, and Updates and other elements of the Y!OS Social Platform utilize this social model consistently. User privacy and permissions are always maintained such that users are always in control with respect to what information they want to share with whom.

Slide 25: Application Platform (YAP)
The Yahoo! Application Platform allows for content and applications to be deployed into Yahoo! properties.

Slide 26: Programming Model
YAP affords developers a number of programming models, which will be discussed in more depth in following slides. This includes elements of the OpenSocial framework.

Slide 27: Targets
YAP has two primary targets. The App Base is a robust full view of an application. This is where developers should put the bulk of interaction materials for an application. The Small Box (aka widget or small view) is the component of an app that gets embedded into existing Yahoo! properties like the Yahoo! Profile or My Yahoo!.

Slide 28: Targets (addl)
YAP will also offer support for non-traditional (in the OpenSocial sense) targets. Two pictured here are SearchMonkey and OpenMail, both of which allow for very unique “hooks” that are specific to the context of the property in which they exist.

Slide 29: Discovery
Users can discover apps in a number of ways, all of which are relatively standard in the social applications space. This includes browsing a gallery, discovering a new app serendipitously via Updates, or being invited to use an app by a friend.

Slide 30: User Expectations - Security
The YAP platform employs a number of measures designed to keep users safe. This includes iframing the app base, filtering the small view, encapsulating sensitive functions in special markup (called YML), and running all JavaScript through a source-to-source translator called Caja.

Slide 31: User Expectations - Performance
We’ve taken care to ensure that the small box views of an app that run inside Yahoo! properties maintain performance standards that Yahoo! users expect. To do this, we ensure that the Small Box is always cached, and we’ve provided APIs to you to allow you to set the cache when users are taking actions within the App Base view of an app.

Slides 32-34: User Expectations - Privacy
Users are always in control of what data an app can access. They must grant an app permission to see their data (via OAuth) before installing an app. Similarly, just because a user is ok sharing data with a connection, they might not want that friend’s apps also having access to their data. Users can opt out of allowing their friends’ apps to see their data. Finally, our caching mechanisms ensure that beacons do not function in apps, preventing an app from being able to track a user’s activities across the web.

Slide 35: Programming Model - Server-side
Developers can make server-side calls to Yahoo! APIs and proxy the UI back to Yahoo!.

Slide 36: Programming Model - Browser-side JavaScript
Y!OS is a charter member of the OpenSocial Foundation. YAP apps can execute OpenSocial JavaScript APIs in the App Base (aka full view).

Slide 37: Programming Model - Browser-side Flash
YAP apps can render swf files into the App Base by using the YML:SWF tag. The SWF can then call and execute Yahoo! APIs directly via our AS3 Libraries.

Slide 38: YQL & Web Services Platform
This section will outline the Yahoo! Query Language, a tool to help you filter and mash up data from Yahoo! and the web at large. Here is our detailed YQL documentation.

Slide 39-41: YQL - Query
YQL provides a single endpoint service that allows developers to query, filter, and combine data from Yahoo! and beyond (the latter via Pipes). Developers can leverage OAuth to request access to a user’s own personal data on a topic (e.g., My Connections list).

Slides 42-49: Y!OS: Different?
Y!OS is different and unique because of the power that Yahoo! brings to it. Yahoo! today has hundreds of millions of users and a collection of web properties rated #1 or #2 in over twenty categories. As we add a platform layer, we will grow the platform incrementally as we activate our properties with Y!OS elements. Y!OS allows us to unify identities for users, help them activation connections, show them the things their connections and others are up to across the web (including some really rich Updates from our own Media properties), and provide them with means to add applications that they love into the system as well as take their data out of the system as they like.

Slide 50-52: Yahoo!/Y!OS Sybmiosis

(The build on this section isn’t fully rendering in the embedded slideshare version for some reason at present.)
We will leverage our properties heavily to help jumpstart the Y!OS rewiring. We will tackle this in three parts: 1) building a social dimension throughout key Yahoo! properties including Yahoo! Messenger, Yahoo! Mail and more by exposing ways for users to activate their connections and to consume Updates from their connections; 2) opening up select properties like My Yahoo!, Search (via Searchmonkey), Mail and the Front Page to allow for third party apps to be embedded directly in them; and 3) generating interesting Updates events out of our own properties (like Yahoo! Movies and Yahoo! TV) in order to capture user interest with interesting Updates events.

Again, please read our API documentation, and if you have questions please hop on the YDN Forum for Y!OS.

Cheers,
-c

Y!OS Social API and YQL Documentation

I’m excited to publicly share the API documents for much of the Yahoo! Open Strategy (Y!OS). Y!OS is a platform at it’s core, accessible via an API layer by applications that can be built by anyone and run on or off of Yahoo!. We’re using Y!OS to completely rewire Yahoo!, putting an open architecture at Yahoo!’s core and adding a horizontal social dimension across Yahoo! and beyond.

We previewed many of the interfaces for these APIs (as well as the Yahoo! Application Platform, which is the framework for deploying apps onto Yahoo! property pages) at Open Hack this past weekend on Yahoo! campus and got great feedback from participants. Now we’re publishing the API docs publicly. The interfaces will follow soon enough!

If you have feedback, questions or comments on the docs below, please check out our new YDN Forum for Y!OS.

Social APIs

Yahoo! Query Language

OAuth

SDKs

Enjoy! More coming soon…
-c

Yahoo! Open Hack Day is Today!

Today (Friday, September 12) is Yahoo! Open Hack Day. The Yahoo! campus was buzzing yesterday. Volunteers were getting prepped with handout materials; developers were scrambling to get final bugs squashed; presenters (me included!) were (still are!) readying their presentations and demos; IT was tweaking a massive public wi-fi network; and facilities was running around getting rooms ready and a stage set up. It’s a massive effort that is really powerful for the effect it has on the company. An amazing spirit of collaboration really comes out around this event among the Yahoo! employees. A nice positive vibe is hanging in the air.

Some brief history is in order.

My former colleague and friend Chad Dickerson kicked off the Hack program at Yahoo! back in 2005 — the year we both started at Yahoo! — as an internal event that provided a way for Yahoo! developers to show their stuff and innovate. I’ve written about the Hack format on this blog a few times. It’s quite simple. You get 24 hours to take an idea from concept to working prototype, and then you get 90 seconds to demo your prototype to a panel of judges and a room full of peers. Chad envisioned a Yahoo! where everyone had a platform to show off their creativity and ingenuity, and he made it happen. Founding Hack @ Yahoo! has probably been one of the most lasting and positive individual contributions anyone has ever made at Yahoo!.

In 2006, Chad and some of the Hack crowd decided that Yahoo! engineers alone shouldn’t have all the fun. They registered http://hackday.org and put up a site that stated simply and plainly that “Open Hack was coming” with a date approximately six weeks in the future.

They set a goal, and then they went to town to define it with tactics and programs. What they ended up with six weeks later was pretty amazing. The first Yahoo! Open Hack Day was a two day event that anyone on the web could request access to attend. Day 1, a Friday, featured a day of talks about developer-facing Yahoo! technologies, capped with an evening performance of pretty serious note. On Day 2, hackers hacked and then there was judging. There’s plenty of great coverage on the web about it, but this video by one of the participants, Mo Kakwan, captures the spirit better than any press coverage ever could.

Since 2006, Yahoo! has held two other Open Hack events: one in London and one in Bangalore, India.

The event returns to Sunnyvale today, September 12, and tomorrow. The format is relatively unchanged, with talks by Yahoo! folks on Friday, some killer entertainment Friday night, and a day of hacking and demoing on Saturday by the participants. The difference between this year and 2006 is the amount of care and energy Yahoo! as an entire company is putting into our developer efforts. We have lots of new stuff to talk about and for you to hack on, including things like Searchmonkey, BOSS, GeoPlanet, FireEagle, MyBlogLog API and the Y! Music API that launched earlier this year to a number of new Y!OS components that we’ll be previewing for the first time. I’m very eager to hear feedback from folks on these things. And I’m eager to see how creative everyone can be with them.

If you are coming to Hack Day this weekend, please look me up. I’d love to meet you. I’ll be giving the first talk of the day at 10am today (Friday) — Yahoo! Open Strategy: An Overview — and I’ll be moderating an OpenSocial discussion in the afternoon. I’ll otherwise pretty much just be around during the event, talking to folks and helping people where I can. I hope to see you there.

If you can’t make it here, you can also follow the event on Twitter and Flickr.

Cheers!
-c

Are you having a laugh?

I love it when I discover that a friend has done something insanely creative for no other reason than to be creative. This is why I am proud to be friends with Micah Laaker. He does stuff like this.

Why I’m Probably Not Going to Sunset Junction This Weekend

This weekend, one of the best outdoor music festivals in LA is happening a stone’s throw from my backyard: Sunset Junction.

I don’t think I’ll make it there.

I already missed my buddy Matt Kozlov’s band Radars to the Sky this morning. Congrats on the gig, Matt! I hope it was a blast! I’ll be missing Broken Social Scene tonight too. Tomorrow, it’s likely that I will experience no !!!, Beachwood Sparks, Germs or Black Keys. (I know The Germs are the subject of a new doc…but is it really possible for the The Germs to be The Germs without Darby Crash? And if you are reading this before tomorrow, you really should go see !!!. They are insane live.)

Why?

Today, Molly and I have made up for being out of town last weekend with a day of domesticity. We washed our cars. We got an oil change for her car. We did some yard work. We did laundry. Tonight, we’re going to Pasadena to go see Vicky Cristina Barcelona, the new Woody Allen movie that is “…a rueful comedy about two young American women…“. And it was a really nice day together, even if my description above makes it sound a bit like Will Ferrell in Old School:

Tomorrow, it is just work, work, work. I have to do two things, in particular:

1. Need to prepare syllabus and materials for the USC semester, which starts on Monday. I’ll do a longer post soon on the program that I’m teaching and what the semester entails. It’s great stuff, and really nice program for anyone interested in changing careers into consumer online product management and Internet entrepreneurialism.
2. I’m drafting a “manifesto” on “openness” for work. Yahoo! is really taking the “we’re opening up” thing seriously, to the point that I’ve been asked to work on a document which internal teams will be able to use as a guidepost when planning and making decisions. There will be plenty more from me on Yahoo! and openness on this blog.

That’s it for now. Off to the movies!

Cheers,
-c

Life During Wartime

Over the last eight months, while on a self-imposed-too-busy-to-blog-well-so-don’t-
blog-at-all-and-instead-just-lurk-and-occasionally-twitter hiatus, I followed this meme between two of the more innovative and online-community-minded (can I really get away with two hyphenated strings in one sentence?) entrepreneurs with whom I have had the pleasure of working: Todd Sampson and Eric Marcoullier, the co-founders of MyBlogLog. Todd accurately describes exactly why I felt I needed to hit the pause button on my blog.

I was just too busy.

I was teaching a course at USC on Thursdays and Saturdays, and I was traveling three days and two nights a week from LA up to Sunnyvale with Yahoo! while defining, pitching and securing funding for the Y!OS vision. As a result, my blog was just looking pretty lame.

Well, I recently passed the one year anniversary of traveling to Sunnyvale three days a week. It has been well worth it; we have had a whole bunch of exciting things going on and coming up on the Yahoo! front. (And at the very least my now hefty Southwest Rapid Rewards and Starwood Preferred Guest account balances will combine to allow me to spend some much needed quality vacation time with Molly at some point!) Outside of Yahoo! on the USC front, this coming Monday marks the start of my second year, with all new students and projects coming in with the new fall semester.

So in other words, I am going to continue to be overwhelmingly busy again this fall. But this time, I’m going to make every effort to open a dialogue about things here as they happen.

Oh, and while I’m busy reattaching the kidsallright mouthpiece, I think I’ll go ahead and use it right away to give a serious shoutout to Ian and Bob at Topspin. It’s not every day that you can say that your friends just put out the new David Byrne and Brian Eno record in a way that is redefining how the music industry works! Stream or buy the whole album below. You’ll be happy you did.

Brb!
-c

Where’s Cody?

You may have noticed that I’m a terrible blogger. A terrible blogger shouldn’t keep a regular blog if it isn’t focused, and I bet this blog wouldn’t pass an eye test.

Over the past few months, I’ve been ridiculously busy. I’ve taken a new position at work that’s required me to travel up to 3 days a week, and I’ve been teaching a course at USC.

So on that note, I’m officially going on blogging hiatus. I’ll return in a bit, but this blog will have a completely different feel — and focus — to it. Stay tuned.

In the meantime, you can follow me on flickr or see the latest songs I’ve been learning on the guitar.

See ya around.

-c