The Wayback Machine - https://web.archive.org/web/20071011005031/http://developer.yahoo.com:80/

Developer Network Home - Help

Yahoo! Developer Network Home - Welcome!

Featured Applications

YSlow
A Firebug plug-in to analyze site performance.

Yahoo! Application Gallery
Find applications, web sites, mashups, and other programs built with Yahoo! technology.

Maps Application Gallery
Check out cool apps built with the Yahoo! Maps API

Widget Gallery
Download more cool and beautiful Widgets for the Yahoo! Widgets runtime

Flickr Application Gallery
See the web applications and tools built using the Flickr APIs

Yahoo! Music Engine Plugin Gallery
Enhance your Yahoo! Music Engine and Yahoo! Music Unlimited experience with these fun plugins and skins

Search Application Gallery
See the wealth of great applications built using the Yahoo! Search APIs

Featured: Exceptional Performance and YSlow

Ever wonder why some sites seem slower to load than others, even though obvious factors like page weight, server requests, and image count are about the same?

Help shape the Yahoo! Developer Network. Take our quick visitor survey....

Results of the Open Hack Day Bangalore 2007

The first Hackday in India is over! About 100 hackers took on the challenge to take the Yahoo! APIs and create something using them in 24 hours. In the end, we had 31 submitted hacks and each team or single hacker had his 90 seconds of fame presenting the hack on three massive screens to the whole assembled audience and the 7 judges.

End of the 24 hour countdown at Open Hackday India


Overall impression

Let me say first of all that all the hacks were of a very high quality and the India hackers didn't fall into the trap of showing the classic Mash-Up of showing some information on a map and declaring it their hack. Instead the judges decided on the following winners:

Best "Non-Technical" hack: Yahoo! Hindi Search

Also known as "we admire the cheek", this hack was the presenter going up there and declaring that he does not know any coding but realized that it is a shame that you cannot type search queries in Hindi but that they show up in English type instead. He then went on to show Yahoo! where to get a live translation of the search query to Hindi type, and that we should implement that. We loved the implementation of the hack idea called the "developers itch". Hacks are there to work around things that annoy you with existing applications, and that is why we deemed it worthy to give this one a price.

Best "Really Needs an Interface" hack: Del.icio.us Tag Management

This was a set of ruby scripts shown in 10pixel Courier on the bash that allowed you to deal with your tags in del.icio.us in a more automated fashion. The first script identifies duplicates like "movie" and "movies", asks you which to keep and automatically renames all tags accordingly. The second script allowed you to create bundles of tags instead of having to do them by hand inside del.icio.us.

"Most Parallel" hack: Collaborative Browsing

Collaborative browsing was an application using xmpp4mosh plugin for mozilla , greasemonkey and javascript to allow two or more users to surf web sites in parallel. Without having to use a server as a proxy the gestures of one user are replicated for the others, which would allow for an easy way to show others how to use a site or find information online.

Best "Desktop Hack": Desktop Wallpaper Love

Desktop Wallpaper Love is a windows application that created a desktop wallpaper from images collected from flickr and filtered through the Yahoo! Buzz feeds. You could run it as a service and have a daily wallpaper of all things that are hot right now.

"I wish I had a Mac" Hack: Third Tag

Third Tag is a Yahoo! Widget sitting in the bottom right corner of your screen that allows you to tag files to make it easier for you to find them much like Quicksilver or Finder on Mac allows you to. In addition to being able to drag files into the widget and add the tags you can also drag text files and get a list of recommended tags based on their content.

"Most Viral" hack: Facebook Friend Folio

This facebook application allowed you to see all your friends, their photos (facebook and flickr), their geographic location on a map, their horoscope and their favourite movies in one single interface instead of having to click through each facebook profile.

"Best Self Expression" hack: Smart Editor

Smart editor is a YUI Rich Text Editor that analyses the text you type while you type it and uses several APIs to show you relevant photos from flickr, news items and book recommendations from amazon to drag into the editor if you want to enhance your text with multimedia. This can save you a lot of time when you want to blog about a certain event, for example.

"Most likely to arrive at next Hack Day on time": Social Routing

This application is a maps hack that uses the traffic APIs to show you how likely it is to arrive some place in time. As the really cool social extra it also interfaces with twitter to allow for your friends or "people in the field" to report street blockages and gridlock as and where they occur and offers shortcuts and alternatives based on the wisdom of the community using the app.

"Brainiest Hack": YaHealer!

YaHealer was hack that allows doctors to share photos of a brain scan over two Yahoo! widgets that are connected over the web and change in sync. The hack showed a photo set of a brain scan and allowed the first user to go back and forth in the set, highlight parts of the brain and chat with the second user. The changes on the first widget would be reflected in the other and there was also a multiple undo option. This would allow for collaborative annotation of large sets of images (for example also architectural blueprints) without either user having to download the whole set of photos.

"Best in Show": Maps Doodle

The best in Show hack is an implementation of Yahoo! Maps with a Canvas overlay. This allows you to doodle on maps or highlight a way to walk to a certain destination much easier than creating the lines using the API. Furthermore, your movements as you draw are being recorded and you can send them to a friend as a URL so that he or she can re-play what you have drawn out for them.


Comments (10)

Open Hackday Update: Hack submission started

With some 4 hours to go the submission of hacks has started and the first few proud hackers show me what they have done before having some food and collapsing on a bean bag to catch some sleep.

It seems that the YUI Rich Text Editor is a popular YUI widget to hack with and I've seen two nice implementations for smarter editors using ideas I've seen in messenger plugins beforehand.

Right now breakfast is being served, too and you see hackers munching sandwiches with one hand while typing with the other. I guess that is what sandwiches where invented for...

We also had some late arrivers and someone with four hours to spare asked me what he should hack. The answer to that of course is whatever you want, as long as you use one of our APIs.

I am also amazed by the amount of mashed-up technologies. Right now I tried to help some people who use greasemonkey, XUL and server side magic to do a collaborate browsing platform. Others showed Yahoo maps with a Canvas overlay to paint your way to work and get the time it'll need you to get there as a result. Oh well, good luck with all the traffic. I am really looking forward to the presentations and will try my best to live-blog them later on.

Chris Heilmann

Comments (0)

Hello from Open Hack Day Bangalore

We got roughly 16 and a half hours left of hacking at Open Hack Day Bangalore and so far the feedback to the presentations and the questions of the hackers regarding APIs was very good and intriguing at the same time.

About 100 hackers are scattered around the massive and eloquently carpeted room in the Taj Residency Hotel in Bangalore, either sitting or sprawled on yellow and purple bean bags hacking away to meet the deadline and get one of the prices we managed to acquire or get through customs and different countries undamaged.

So far the feedback gives me an impression that the hacks are going to be much more backend-oriented than the ones we saw in England (people asked how to simulate browsers in windows apps for browser based authentication and the likes).

My presentation covering all the bits and bobs we offer as Yahoo! to developers and poking some fun at my pains to get here is available on slideshare and Creative Commons should you feel the need to re-use some of it:

As this is a hack day we kept the presentations short. Other things to hear were Adobe showing off their Flex and Air developer Kits and us explaining more details on Yahoo! Pipes and Maps for India.

That's it for now, I will keep up the information as this goes along and jetlag does not catch up with me. In between, go and check the photos on flickr.

Your man in the thick of it, Chris Heilmann

Comments (1)

R3 and Stickleback: Open Source Gold For PHP Developers

Need to maintain a web site or web application in multiple languages and localizations? You might be interested in Yahoo's r3. In case you missed the PHP Architect cover story from June, r3 is a Yahoo! open source project (on SourceForge) designed to help developers of web applications customize and translate their web pages and templates for different languages, markets, and uses.

In the spirit of "eat your own dog food," Yahoo! is using r3 internally with the Symfony framework as well as with standalone pages. Though still somewhat nascent, r3 is getting lots of love thanks to project manager Matt Zandstra along with business lead Fergus Sullivan, and co-conspirators Steve Webster, Bill Hails, Robin Baker, Ludovic Dreux, Chris Kaminski and Stone Li. Written in PHP and originally released as a command-line tool, r3 will soon have a spiffy new GUI thanks to this team. Stay tuned for future releases.

A completely separate open source project (which made the September cover of PHP Architect magazine) is Stickleback. Stickleback is a general purpose plug-in framework that you can use to add a plugin API to existing PHP web applications. Stickleback ships with tools for creating pluggable CLIs and GUIs. r3 uses Stickleback as its plugin engine so developers can write plugins to extend r3's functionality.

You can find out more about r3 and Stickleback, including some tutorials, at Matt Zandstra's unofficial blog. You can download the latest versions of r3 and Stickleback from their Sourceforge project pages: r3 Sourceforge Project - Stickleback Sourceforge Project

Jason Levitt

Comments (0)

YSlow 0.8 Patches Firebug's Net Panel

At Future of Web Apps in London I announced the release of YSlow 0.8. This update includes a few enhancements, but the biggest change is a patch to Firebug's Net Panel. I discovered that resources (scripts, stylesheets, images) read from the browsers cache (with no HTTP traffic) still show up in Net Panel. This has caused confusion when people thought their cacheable components were not actually being cached by the browser. I talked to Joe Hewitt and settled on a fix that comes with this version of YSlow. The full details are found in the article Bug (fix) in Firebug's Net Panel. Enjoy and send your feedback.

Steve Souders
Chief Performance Yahoo!

Comments (0)

Platform Dreams?

Over on the Union Square Ventures blog, Albert Wenger penned an excellent rant/request titled I Want a New Platform, partially inspired by the Huey Lews & The News song I Want a New Drug:

One that won’t go away (under load), one that doesn’t keep me up all night (worrying about scaling), one that won’t make me sleep all day (when I should be adding features). If you have tried to build an Internet site or application recently that needs to work for thousands or tens of thousands of concurrent users you may share this desire.
Why is this still so hard? Why do we find ourselves worrying about locating experts in the dark art of database performance tuning? Why are we spending time haggling with Rackspace over the price for another set of servers or racking our own servers at Equinix? Why are we writing our own user management (from scratch)?

He goes on to talk about the inadequacy of the tools we're all using.

Because we are using tools that simply were not made for the job. Relational databases have gotten faster and better, but their fundamental construct of data stored in rows and neatly parceled out across tables (which frequently need to be joined) does not really match up with either rapid development using some notion of objects or with scaling horizontally using commodity hardware. Web servers started out by simply providing static content and were then forced into running applications with the result of not doing either particularly well. Yes, people have been writing new ones to address that, but even those are fundamentally designed to work on a single machine. The second you go beyond one machine you need separate load balancers, reverse proxies, caches and all sorts of other paraphernalia just to make stuff work together. Worse yet, the web server, the application and the database are connected to each other via thin straws that were bolted on after the fact with important information either not passed at all or only painfully (e.g., information about which user is requesting a particular set of data).

The post goes on to talk about a lot of specific problems that everyone runs into sooner or later. It's a really good read, including the comments.

Our question for you, the developers looking to Yahoo! for technology, is this: What should Yahoo's role be in solving these problems? What high- or low-level services would help to change the game in building the next generation of on-line applications?

We clearly believe that Infrastructure like Hadoop is part of the solution. But that's only the tip of the iceberg.

Jeremy Zawodny
Yahoo! Developer Network

Comments (4)

Jeremy on the Bungee Line

The Bungee Line Our friends over at Bungee Labs (review) have started a podcast called The Bungee Line. A week or so ago I spent some time on the phone chatting with Ted and Alex about a whole bunch of stuff: Yahoo! APIs, Zimbra, Maps, Hack Day, and more.

In fact, we talked for so long that they broke the interview up in two parts. Part 1 is on-line now. It's just over 30 minutes long in MP3 format. You can read more about it in this post on the Bungee Connect Devlopet Network blog.

I enjoyed chatting with the Bungee guys and can't wait to hear the second part. It'll really help me to remember what we talked about. :-)

Jeremy Zawodny
Yahoo! Developer Network

Comments (1)

Checking In from Adobe MAX

We've just completed our main presentation at MAX, a session on the Inspire track entitled "Yahoo Loves You." Here's what you missed, if you weren't there:

Yesterday morning, Ryan Kennedy presented AIR Mail, an AIR application based on Dav Glass's Candygram Lite, using Yahoo! Mail's open API and the YUI libraries.

We spent the day at the Yahoo! booth in the community pavillion, giving away t-shirts to attendees brave enough to show us their kung fu. No, you don't have to throw any roundhouse kicks, although one developer did. We were more interested in seeing what you were doing on your own sites, and where we could help, with tools like the YUI library and YSlow. We're back today and tomorrow, so please come by and see us if you haven't already done so.

Also at MAX, Adobe launched the new-and-improved Adobe Developer Connection, their portal for developers to all things Adobe. Particularly interesting is the ADC introNetwork, a social network for developers who want to connect to other developers based on their professional background, skills, and personality traits. Kudos to team leader Jonathan Wall, and congratulations on choosing the Yahoo! User Interface library to help power ADC.

Kent Brewster

Comments (0)

High Performance Web Sites: Rule 14 - Make Ajax Cacheable

People ask whether these performance rules apply to Web 2.0 applications. They definitely do! This rule is the first rule that resulted from working with Web 2.0 applications at Yahoo!.

One of the cited benefits of Ajax is that it provides instantaneous feedback to the user because it requests information asynchronously from the backend web server. However, using Ajax is no guarantee that the user won't be twiddling his thumbs waiting for those asynchronous JavaScript and XML responses to return. In many applications, whether or not the user is kept waiting depends on how Ajax is used. For example, in a web-based email client the user will be kept waiting for the results of an Ajax request to find all the email messages that match their search criteria. It's important to remember that "asynchronous" does not imply "instantaneous".

To improve performance, it's important to optimize these Ajax responses. The most important way to improve the performance of Ajax is to make the responses cacheable, as discussed in Rule 3: Add an Expires Header. Some of the other rules also apply to Ajax:

However, Rule 3 is the most important for speeding up the user experience. Let's look at an example. A Web 2.0 email client might use Ajax to download the user's address book for autocompletion. If the user hasn't modified her address book since the last time she used the email web app, the previous address book response could be read from cache if that Ajax response was made cacheable with a future Expires header. The browser must be informed when to use a previously cached address book response versus requesting a new one. This could be done by adding a timestamp to the address book Ajax URL indicating the last time the user modified her address book, for example, &t=1190241612. If the address book hasn't been modified since the last download, the timestamp will be the same and the address book will be read from the browser's cache eliminating an extra HTTP roundtrip. If the user has modified her address book, the timestamp ensures the new URL doesn't match the cached response, and the browser will request the updated address book entries.

Even though your Ajax responses are created dynamically, and might only be applicable to a single user, they can still be cached. Doing so will make your Web 2.0 apps faster.

Steve Souders

[Steve Souders is Yahoo!'s Chief Performance Yahoo!. This is one in a series of Best Practices for Speeding Up Your Web Site. This article is based on Steve's book High Performance Web Sites, published by O'Reilly.]

Comments (5)

Yahoo! Search SDK Revs A Bit

A minor update to the Yahoo! Search SDK went live today. Included are various minor bug fixes and improvements to the Widgets, Python, Perl, Flash, Java and PHP examples. You can download it here. Props to all our SDK authors who are mentioned in previous posts.

Comments (0)

Copyright © 2007 Yahoo! Inc. All rights reserved.

Privacy Policy - Terms of Service - Copyright Policy - Job Openings