As Chief Architect of Platforms at Yahoo, Neal Sample is responsible for defining the technical design for the Yahoo! Open Strategy initiative. Y!OS is a platform that enables third-party developers to create applications that integrate themselves with the Yahoo family of sites and services. It’s similar to the API strategies adopted by Facebook and MySpace that let others develop apps on those sites. But Y!OS is much more ambitious in scale because it encompasses multiple sites (Yahoo-owned properties).
Sample also works closely in developer outreach. It is his job to, as he puts it, determine “what a developer needs to actually use” Y!OS and what “is usable in the wild, and this is something that’s not.” Basically, he evaluates feedback from developers who are tinkering with the platform, and implements their recommendations to refine Y!OS.
Sample spoke with DevX on the day that Yahoo officially announced enhancements to Yahoo Mail (including social networking features), which came about due to Y!OS.
Howard Wen: Why did the company start the Yahoo! Open Strategy platform? What does the company hope to gain from it?
Neal Sample: Two things: First, open us up for developers to enhance and guide some of our product, even if they’re not employed by Yahoo. We rolled out a few things, like BOSS, our search API, our SearchMonkey, the ability for developers to annotate search results.
The second thing was to make our user experiences [and] properties work together seamlessly. So no longer will you wander from, say, Yahoo Groups to Flickr to the Yahoo home page and have them look like three distinct identities and experiences. By building on top of a platform, not only do developers get access to the network, our users start recognizing Yahoo as an “ecosystem” rather than just specific Yahoo companies and having them work in different ways.
HW: So sell it to us—why should a developer be interested in developing for Y!OS?
NS: We’re opening up the ability for your applications to reach more people than you can anywhere else. We’re opening up today a new social mail product: a developer will be able to write applications right into Yahoo Mail. We’re opening our other flagship canvases: the Yahoo home page will be customizable. Users will be able to add applications.
We’re taking the world’s most popular destination, in terms of time spent on the internet, and giving developers access to that.
HW: Some of the social network sites have opened themselves up to developers. How would you compare Y!OS to these other “open API” web site initiatives?
NS: The social networks opened up to developers to build utility. They try to build applications on top of the social network.
At Yahoo, we’ve already got a lot of utility properties. We have Yahoo Finance, Yahoo Mail, Yahoo Groups, Flickr. What Y!OS does is it opens them up to developers. It allows developers not only to build their own applications, but to extend the applications that users already like. So we’re allowing developers access to them, rather than starting with a social network and trying to figure out what to do on top of it.
HW: Your company announced yesterday that developers will soon be able to create apps that work within Yahoo Mail. Could you give us some details about what the development process will be like through Y!OS?
NS: Since it’s in an alpha state right now, we’ve been working with select partners. They program for that API, and then their applications can appear right in the Yahoo Mail canvas. Recently, the Xoopit application, for example, running in Yahoo Mail was very straightforward—they could just drop it into Yahoo Mail and all of a sudden you had access to all the Xoopit features.
HW: So how unique will this upcoming extensibility of Yahoo Mail be in the web email space?
NS: I think it is fairly unique, although we recently acquired the leader in this space, if you look to our Zimbra acquisition late last year. Zimbra really was sort of a foundational mail product that was fully extensible. They called their technology the Zimlet. And I think what you’re seeing now is [Y!OS] bringing that idea and some of those technologies—opening it up in a very dramatic way. I think it’s good to see Yahoo taking a lead, not only with Zimbra, but with our flagship Mail product as well.
HW: Y!OS supports most of the programming languages commonly used in web development. But at this stage, what are the ideal programming skillsets someone should have to take advantage of the platform to the fullest?
NS: Right now, almost everything is standard space that we are using—for example, RESTful API’s for our web services. We’re also using the OAuth standard for authentication. That means not only can people use our web services directly, but they can use or even write client programming languages in just about any language that they’re interested in. If they want to be a PHP developer, a Java developer, or a Ruby developer, they can do all of those things using very thin client libraries over our web services. So you can essentially do whatever you want and leverage the talents that you have.
HW: For the developer new to Y!OS, what might be the biggest challenge for many of them when working with the platform?
NS: Getting your mind wrapped around everything that’s out there. For example, Yahoo has a query language, YQL, that allows you to query just about anything on the Yahoo network and also just about anything on the web. So that means, through the same interface, you have not only access to your social data through your connections or your profile, but you can also get data from Yahoo Movies or Yahoo Finance or you can join and process RSS feeds from the New York Times.
The opportunities are very, very large. And, as such, it can be a bit daunting. To that end, however, we’ve written a lot of sample scripts, a lot of demos and tutorials that people can take a look at. So, if you want to write an information processing application, or you want to write a social application, or you want to join financial data with news articles, we’ve got samples that allow developers to work in one of those verticals.
HW: What Yahoo services or data have Y!OS developers been most interested in accessing? Has there been a noticeable pattern?
NS: If you look at BOSS and SearchMonkey, you find a lot of traction there. A lot of SearchMonkey applications are being written, and for pretty obvious reasons: if you can get your application running on the Yahoo search results page, that’s a really big opportunity.
As we saw the new API’s release, the virtual API’s that were released or previewed at Yahoo! Hack Day and released last month, we got a lot more traction there. The developers then started picking up the [Yahoo] Profile API, the Connections API, and the Updates API. In the coming months, as we release access to the Mail canvas, as we release access to the front page, I think we’ll see increased uptake there as well.
We see a step function every time we add something to the ecosystem. We expect that to really kick in, especially, as we open up Mail on the front page.
HW: Has there been any app developed yet with Y!OS that has impressed or technically surprised you guys?
NS: One of the most surprising things was how quickly existing applications could move onto the Yahoo network. We did our Hack Day event back in October. Developers could show up and write whatever they wanted. We had developers that came in and started from scratch. And we got 50 hacks together. The volume was great.
But the other interesting thing is that a lot of the commercial shops showed up and were able to port their existing applications so quickly and so readily. I think a lot of that comes down to us using, like I said before, OAuth and adhering to the open social stack for applications.
So that means stuff like Xanga, Xoopit, and so on can come in, and they can immediately have their applications running on the network. One of the things that we found has been great is the fact that existing applications can just be turned on without a second thought.
HW: But no one app created by a third-party developer has stood out for you?
NS: We’re keeping it fairly quiet, especially with our partners. A lot of what we’re doing is not to give folks a lead, but to help us hammer out deficiencies in the platform, identify weaknesses or ask for tweaks and improvements. So we’re trying not to showcase particular developers until the application platform fully launches.
On the other hand, I can tell you some of the things that we’ve done internally. For example, we have a Flickr application that runs in Yahoo Mail or on the Yahoo front page. They’re impressive in that they seamlessly integrate with the canvases, so it looks like it’s part of the experience. Your photos, updates from your friends, those sort of things just show up right there on, otherwise, what used to be a relatively non-customized starting experience, and now it’s really “your” Yahoo home page. So the ability for applications to just seamlessly integrate themselves has been one of the most impressive features.
HW: From the perspective of Yahoo.com and its other sites, what have been the technical challenges with Y!OS? I imagine that security is a big issue since you guys are essentially opening yourselves up to the online world.
NS: User trust has been really important. In rolling these things out, we let users know what they’re getting into. I think we’ve made very conservative choices around privacy. Rather than taking a simple click-through that says “yes, I’m installing this application,” we let users know exactly what information any particular application will have access to. What that does is it encourages developers not to ask for too much. If you ask for access to a user’s address book, we let the user know. We let them know this developer is accessing potentially private information.
So we’ve taken not only a rigorous messaging approach to the user, but we’ve done a lot technical work to make sure that third-party code can be executed and delivered safely.
HW: What new features or access are developers asking for the most in Y!OS?
NS: More than anything, developers are pushing us to accelerate our roll-out schedule. That more than particular features. They want access to particular canvases, the big ones. They want to get on Yahoo Mail; they want to get into Groups; they want to get onto the front page.
I think from a feature perspective, we’re at parity or beyond what any of our competitors are offering. YQL, for example, is one of the cornerstones, where not only do we give developers access to all of the social API’s, and all of the Yahoo open API’s, but it also gives you access to just about anything else on the web through the way Pipes work.
I think the developers have been really appreciative of that—that we’ve acknowledged that the universe doesn’t exist with just Yahoo data, that there’s a lot more data out there on the internet, and it’s not threatening to join those things together and to give developers access to both of those things simultaneously. So the biggest differentiator is that users are getting a super-set of what they would get anywhere else. Developers get pretty straightforward access to our API’s.
HW: What new features are actually in the works for future Y!OS releases?
NS: Today is the big one. We’re bringing in several new update streams: Yahoo TV, Yahoo Travel, Video will be now flowing onto the network. Their information will be distributed through our update stream. What that will do is allow users to see updates from themselves and their friends, and on profiles at Yahoo.com.
What that means is that users are going to be trained to understand and see these events as they flow through the network. That becomes something that the developer can leverage. When developers start using the updates stream to say how [your friend] installed the latest game and he would like to play with you, the users know how to interact and immediately install applications. All of the big canvases are attractive to developers, but getting our users use to it, getting them to understand the changes coming and how to interact with a new system, is also really important as well.
HW: Any final advice for developers who are just starting out with Y!OS, or are considering developing for it?
NS: My advice would be to start as early as possible, to really get a lead. We went out with what we call a preview release of our application platform, and the response was really great. We had hundreds of developers show up in the first couple weeks. And by the end of month, we had well over a thousand applications built. And these were folks just testing, sort of “kicking the tires,” because there wasn’t a home for those applications on the network.
Now, as we work through open mail, as we work through the front page project, the developers that have already used the API’s, worked out the visual element, got everything ready to go, all we have to do is flip the switch and they can be running on these top Yahoo properties.
So my advice would be to just go ahead and get out there early and give it a shot. While you’re there kicking the tires, we’re open for feedback. So if there are things that developers want, changes that they would love to see, it’s much easier to do them early. We can take the feedback very quickly at this point in time before we get deeply integrated to the network.