
« September 2007 | Main | November 2007 »
One of our favorite internal discussions--right up there with the true cause of global warming and why folks can't seem to park in one space--concerns the best way to do rounded corners, drop shadows, translucent backgrounds, and other tasty browser candy. Here are techniques from three of Yahoo!'s finest front-end engineers, Scott Schiller, Leslie Sommer, and Hedger Wang:
If you're feeling overwhelmed, remember that your voice counts. Ask questions, especially when a decoration-heavy design flies over the wall between design and engineering and lands on your desk. Is all that really necessary? Does it add meaning to the page, or is it just really pretty?
And if you're tired of the wall, try a few of these suggestions:
Are we overstepping? Did we miss anything? Got a hot tip for rounded corners? Please leave us a comment and let us know.
Kent Brewster
Posted by Kent Brewster at 8:24 AM | Comments (2)
Stoyan Stefanov just published an article entitled Web Site Optimization: 13 Simple Steps. People have commented that Yahoo!'s Performance Rules are geared towards large web sites (like Yahoo!). Stoyan's article approaches the best practices from a different angle.
This tutorial takes a practical, example-based approach to implementing those rules. It's targeted towards web developers with a small budget, who are most likely using shared hosting, and working under the various restrictions that come with such a setup.
He also brings up some points that aren't mentioned in Yahoo's best practices, such as:
A quick aside about Stoyan: Stoyan blogs on phpied.com and has co-authored several books including PHP Programming with PEAR and Building Online Communities with phpBB 2. Although he started this article awhile ago, when we saw his work on performance and optimization we asked Stoyan to join the Exceptional Performance team. Now he's a speedfreak with the rest of us! Watch for more news from Stoyan in the future.
Steve Souders
Posted by stevesouders at 9:16 AM | Comments (0)

Following the great success from last year's first European University Hack Program in Dundee/Scotland, Yahoo! Europe started working with the University of East London.
The structure of university hack programs in Europe is different from Open Hack Days and the US University Hack Days. The main difference is that it is not a 24 hour hacking frenzy - instead the program runs alongside the studies and in some cases is part of the course.
This approach was engineered in conjunction with universities and successfully executed in Dundee last year. The main idea is to bring the "ethical hack" mentality to universities and give students some insight into how companies like Yahoo! work and what mind-set fuels their innovation. The other idea is that instead of a one day Hackfest we allow students more time to get to know our APIs and other goodies we offer on the Yahoo Developer Network.
The difference is reflected in the structure of the program:
That is the plan, which is flexible and can be altered on a case-by-case basis depending on what kind of University and course we partner with.
Yesterday the Uni Hack Team went to the University of East London to give talks about technologies to build web interfaces, the Symfony PHP Framework and practices how to ensure the scalability of your web applications. On the first of November we'll go up to Scotland to initiate the sequel to last year's hack program at Dundee University.
We'll keep you informed about the happenings and progress and are very happy to get this opportunity to give future hackers a glimpse of what companies like Yahoo! do.
Chris Heilmann
Posted by cheil at 3:16 AM | Comments (1)
Seminal JavaScript and general front-end maestro Peter-Paul Koch, whose quirksmode site is the preferred analgesic for those many painful JavaScript and CSS moments, has established a professional organization for front-end engineers called Fronteers (FRONT-end enginEERS). He gave a talk at Yahoo! last week about Fronteers, and you can read all about it on the YUI blog. The talk was video-taped and is available on YUI theatre in Yahoo! Video format as well as an iPod/iPhone-compatible format. You can also view his presentation slides.
Jason Levitt
Posted by at 3:30 PM | Comments (1)
A few days ago I got word that the latest release of Yahoo! Pipes would be out soon. As of last night, it's been pushed out for the entire world to see.
What's new you ask? Several things:
Read more about it on the following blog posts from the Yahoo! Pipes blog:
We'll also have some video on-line soon about the iPhone access. Stay tuned. :-)
Jeremy Zawodny
Yahoo! Developer Network
Posted by jzawodn at 3:40 PM | Comments (2)
From our man on the spot, Rasmus Lerdorf:
Berkeley Hack Day happened Friday at a frenetic pace. We invaded the Woz in Soda Hall and students were trickling in and out all day with a core group of four hack teams staying for the duration and a couple of teams working remotely. The teams fought Java, Python, C++ and PHP all day long, with Java defeating at least a couple of team members with its multiple layers of input streams required just to pull in a simple text file. We also fought with RSS feeds from Craigslist, news archives and local Berkeley event listings.
In the end it was a very close race between two hacks that rose above the rest: an extremely useful carpool commuter application that matched up peoples' addresses and their daily destinations and tried to organize the most efficient combination of carpools, and a magnificent hack that provided a cell phone interface to the old game of Twenty Questions. The impressive mix of technologies required to answer the call automatically, acquire the data for the twenty questions, do the text-to-speech translation and issue the FFT code to decipher the user responses from the cell phone won over the judges to take the top prize.
Here are the Berkeley entries:
Winners: Psychic Skype Hotline, Carpool Commuter Hack, INGAPO, and Capture the Flag Pac-Man. Pictures are up on Flickr; look for the University Hack Day wrap-up shortly after Stanford concludes, November 9th.
Kent Brewster
Posted by Kent Brewster at 9:53 AM | Comments (0)
Free music, free love (with robots), and social networking are some of the topics that our own Jeremy Zawodny will discuss with Sebastian Rupley, Editorial Director of PCMagCast.com, and John Furrier, founder of PodTech, on episode 86 of John Dvorak's Cranky Geeks. Send your comments and questions to crankygeeks@ziffdavis.com before 12 noon PST today and maybe you can contribute to the melee madness. Or will it be tame, civilized discourse? We'll soon find out!
Jason Levitt
Posted by at 8:20 AM | Comments (1)
Hackers, hackers everywhere ... recently we've been in Bangalore for an Open Hack Day, in Sunnyvale for another quarterly internal Hack Day, and all across the USA, for the second season of University Hack Day.
If you haven't heard about University Hack Day, here's a taste:
"University Hack Day is your chance to develop something that will revolutionize the industry, or at least make people laugh. (Yes, we're really that easy.) Oh and: yes, there are prizes. Adoration from your peers, huge recognition from top talent at Yahoo!, unique trophies and (of course!) tons of t-shirts, so you can put off that laundry run for yet another week."
Halfway through the season, here's what we've seen so far.
Winners: Demograph, Map Tag, and Traffic.
Winners: Pages--which we ought to just go ahead and put online in the YUI section--Telescreen, and FlightTracker.
From our man on the spot, Rasmus Lerdorf:
"The energy in the room was good. The Flickr API key distribution mechanism went down which was a slight speedbump for one hack, but the Flickr folks were quick to fix it. We also found an interesting race condition in YUI which we now have a workaround for. Alex discovered that 2147483648 is a special number, we debated fuel economy optimization strategies for the "Passing Gas" hack, stepped through cache management code, found out that not having name attributes on form fields makes MooTools flake out, and Rahul won the Faceball game. I had to bail at around 2:30am, but there were still 15 people in the room hacking away when I left. The spirit of Hack Day is alive and well at both CMU and UIUC!"
While UIUC is way out in front on sheer numbers, we're thrilled by the level of creativity shown by the CMU hackers. Flolcatr, in particular, seems like it might be a break-out success on the level of Mo Kakwan's Blabberizer, first seen at Open Hack Day in Sunnyvale.
Will UIUC's domination continue? Not if the hackers from UC Berkeley and Stanford have anything to say about it. We'll have updates after Stanford finishes up, early in the week of November 12th ... stay tuned!
Kent Brewster
Posted by Kent Brewster at 10:05 AM | Comments (1)
As a follow-up to Jeremy on the Bungee Line, the folks at Bungee Labs have posted part 2 of our discussion.
In the second half hour, we discussed Mash, Hadoop, the fact that There is no Web Operating System (or WebOS) (among other things).
Again, I had a great time chatting with the Bungee guys. I'm always surprised when semi-intelligible stuff comes out of a mostly ad-hoc plan. :-)
Jeremy Zawodny
Yahoo! Developer Network
Posted by jzawodn at 12:37 PM | Comments (1)
At our internal Hack Day last week Yahoo! engineer Pradeepta Dash showed some neat tricks with his iPhone app called iFlickr. While I can't share the details of his hack, Pradeepta did give me permission to share some of the stats on iFlickr from his AppID usage report to date.
iFlickr is a capture and auto-upload application for your iPhone camera. Once you authorize the app on your iPhone, you can start taking pictures and sending them directly to your Flickr account. You have privacy and tagging options, but, best of all, Pradeepta uses Yahoo! ZoneTags to capture location data which gets sent along with your photo. I'm also enamored with the resolution of the images iFlickr gets from the iPhone camera.
Now, it doesn't surprise me that he has so many users (well over 5k as of this post), but I am actually a little surprised at how active those users are. You can see from his AppID report that iFlickr is uploading over 300 images per hour. Impressive.
Matt McAlister
Posted by Matt McAlister at 5:00 PM | Comments (0)
Yesterday Jon Udell asked if anyone had an easy way to combine a bunch of tagged items--basically creating the union of a bunch of RSS feeds.
Is there a service that will deliver a feed containing the union of tagged items for one tag across a set of various services? For example, the union of:
del.icio.us/tag/astronomy
technorati.com/posts/tag/astronomy
flickr.com/photos/tags/astronomy
connotea.org/tag/astronomy
wordpress.com/tag/astronomy/
…etc…
Easy to do, I suppose, but I don’t want to reinvent a wheel.
Amusingly, I immediately thought of Yahoo! Pipes and was going to post a response in his comments. But when I clicked through to do so, I noticed that his astute readers beat me to it. :-)
Be sure to check the other comments for more discussion and other similar solutions, some of which also involve Pipes.
Jeremy Zawodny
Yahoo! Developer Network
Posted by jzawodn at 1:40 PM | Comments (1)
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.

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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
All in all we want to thank all the hackers for putting so much effort into it and coming up with such a wide range of hacks and ideas. All that was left after seeing all this was to get down and party.

We hope everybody had fun and that we'll see more un-conference style happenings in the area soon. I am back to the UK next week to see what we can do there again.
Chris Heilmann
Posted by cheil at 12:07 AM | Comments (13)
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
Posted by cheil at 12:07 AM | Comments (0)
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
Posted by cheil at 11:16 AM | Comments (1)
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
Posted by at 8:40 AM | Comments (1)
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!
Posted by stevesouders at 3:47 PM | Comments (3)
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
Posted by jzawodn at 11:01 AM | Comments (4)
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
Posted by jzawodn at 11:12 AM | Comments (2)
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, Yahoo! Developer Network
Posted by Kent Brewster at 8:32 AM | Comments (2)
Copyright © 2008 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Copyright Policy - Job Openings