
« January 2008 | Main | March 2008 »
London, UK, 27th of February 2008 - Yesterday night found around 60 developers, designers, project managers and people lucky enough to sign up in time at upcoming in De Hem's - a pub in London's West End to celebrate the 2nd birthday of the Yahoo User Interface Library (YUI).
The noise level was adequate and did not disturb the neighbours (China Town, actually) and the only casualties of the festivities were a very young cake (exhibit 1), and a fair amount of refreshing beverages originally stored in barrels (not shown to protect the innocent).
Exhibit 1: the cake
During the course of the evening the assembled consumed a visual and almost audible (small speakers) greeting from the YUI team in the U.S., a presentation on what everybody in the world can do to help the YUI (exhibit 2), and several platters of Dutch finger food, including chips with peanut sauce (don't ask).
Exhibit 2: the presentation
At the current state of intelligence gathering, the only things that went missing and were caught on CCTV to change ownership are copious amounts of so-called "Schwag" in the form of T-Shirts and stickers (exhibit 3). This should make it easy to spot those who were responsible for everybody having a "jolly good time" in the nearer future.
Exhibit 3: "Schwag"
Investigations will continue, and new evidence is very likely to crop up on flickr.
Posted by cheil at 3:35 AM | Comments (0)
As mentioned on the YUI blog, tonight is the 2nd Birthday Party for the open source and wildly popular Yahoo! User Interface Library (YUI) and the Yahoo! Design Pattern Library.
The fun starts at 5:00pm.
See you tonight!
Jeremy Zawodny
Yahoo! Developer Network
P.S. I did a video interview with Nate Koechley last week for YDN Theater to talk a bit about YUI and front-end engineering.
Posted by jzawodn at 12:01 PM | Comments (0)
The teams from Yahoo!, Zillow and Trulia got together recently to hammer out the details for the new real estate listings data standard.
Especially in today’s housing slump, real estate brokers are looking to online players to help market their listings. The problem is that each site has its own data format. So it makes a lot of sense for three of the leading players to help create one way to move the data around. This should be a huge win for developers in the real estate space.
In this video, Yahoo! Real Estate’s Steve Schultz interviews a number of the participants to learn more about the motivations behind and details surrounding the effort.
Posted by Matt McAlister at 9:03 AM | Comments (2)
It is great to see when a group of developers and designers comes together to celebrate their area as much as learning from each other and about what they do. One of these examples is GeekUp in the North of the UK, and I went up there for 3 hours (with a 2.5 hour train ride one-way from London) to talk about the why of JavaScript libraries and the YUI in detail. The slides of the half-hour presentation are available on slideshare:
The GeekUp people also filmed the presentation and the long Q&A session, so make sure you check their site for information about that.
Chris Heilmann
Posted by cheil at 12:48 PM | Comments (2)
Some big news in the world of Hadoop comes out of Yahoo! today. We believe we're now running the world's largest Hadoop application, a 10,000 core Linux cluster producing data used by the Yahoo! Search Webmap.
As you can see from the announcement on the Hadoop Blog:
The Webmap build starts with every Web page crawled by Yahoo! and produces a database of all known Web pages and sites on the internet and a vast array of data about every page and site. This derived data feeds the Machine Learned Ranking algorithms at the heart of Yahoo! Search.Some Webmap size data:
- Number of links between pages in the index: roughly 1 trillion links
- Size of output: over 300 TB, compressed!
- Number of cores used to run a single Map-Reduce job: over 10,000
- Raw disk used in the production cluster: over 5 Petabytes
In this video, YDN's Jeremy Zawodny interviews Arnab Bhattacharjee (manager of the Yahoo! Webmap Team) and Sameer Paranjpye (manager of our Hadoop development) to learn more about what all this means:
Video embed code:
I'm sure there will be more to come on the Hadoop front, so watch this space.
Matt McAlister
Posted by Matt McAlister at 10:44 AM | Comments (9)
For all UK-based readers, I wanted to let you know about a couple of cool events coming up.
First up, there's a repeat of last year's awesome Brighton Barcamp, on the weekend of 15-16 March.
In addition to the usual BarCamp talks and presentations they'll be playing a game of locomatrix, holding a Hack for The Open Rights Group and probably playing a game of werewolf or two... All that and a trip to the seaside.
Tickets will be available from Monday 18th Feb at 12.30pm (GMT)
at http://barcampbrighton.eventwax.com/barcampbrighton2. Last year tickets went in 20 minutes so set your watches :-)
YDN are one of the sponsors of the event so look forward to seeing you there.
And a couple of weeks later... What happens when you get a bunch of hackers and social innovators together, give them a set of social problems and only 48 hours to solve them?
Social Innovation Camp is going to find out.
In London on the weekend of 4th-6th April 2008, Social Innovation Camp will bring together some of the best of the UK and Europe’s web developers and designers with people at the sharp end of social problems. The event will be a cross between Seedcamp and a hackday, with lots of practical stuff going on, and Yahoo! are technical partners.
Right now, they are looking for ideas for web applications which really should exist, yet don’t - showing how the social web can create social change. You can enter your idea through their website at www.sicamp.org or via ideas@sicamp.org
Sophie Major, YDN Europe
Posted by smajor at 8:36 AM | Comments (1)
YSlow, the performance lint tool created by the Yahoo! Exceptional Performance team was updated to version 0.9.3. today. This minor version increment contains:
,
about:config to set the option extensions.firebug.yslow.excludeBeaconsFromLint to false
In the spirit of openness and our commitment to a faster experience on the web, we hope you join us in accelerating the user experience.
You can download the tool here, report bugs here, read the performance rules, and participate in the performance mailing list discussions. Also make sure you keep an eye on our performance-related postings on YDN and YUI Blog.
Posted by tenni at 5:40 PM | Comments (20)
Alert readers of YDN may have noticed a recent (tiny, cryptic) addition, "r3," way down at the bottom of our navigation bar. The European branch of Yahoo! has been using r3 and its ancestors for almost a decade to build and localise Web sites--including Yahoo! Answers--for over twenty different languages and countries.
Essentially an offline processing tool, r3 stitches together template fragments containing a special markup syntax
with HTML, PHP, CSS, and JavaScript. Translations of text to languages other than the primary source--usually English--are stored in a database and automatically included at render time.
We're thrilled to announce that r3 has been released under a FreeBSD open source license. Check out the documentation for more details, and stay tuned for a series of introductory tutorials here on the YDN blog over the next few weeks.
Mark Norman Francis
Posted by mfrancis at 12:54 PM | Comments (1)
When version 3.0 of the Flickr Uploadr came out, we Flickr users got a significantly more useful tool for getting photos online. But things changed significantly behind the scenes as well.
First off, the new Flickr Uploadr is built on top of Mozilla technology--XULRunner to be specific. If you haven't heard of XULRunner...
XULRunner is a Mozilla runtime package that can be used to bootstrap XUL+XPCOM applications that are as rich as Firefox and Thunderbird. It will provide mechanisms for installing, upgrading, and uninstalling these applications. XULRunner will also provide libxul, a solution which allows the embedding of Mozilla technologies in other projects and products.
The choice to build on XULRunner is something that I discussed with Richard Crowley in this video for our Experts at Work series on YDN Theater.
Building on top of a Mozilla engine isn't new, of course. ActiveState has been doing so for years now for their Komodo IDE, as ActiveState founder Dick Hardt and I discussed in this interview at the 2007 Defrag Conference. The difference is that the platform is far more mature and feature complete now.
Unlike previous versions of the Uploadr, version 3.0 is available under an Open Source license (the GPL version 2). You can get the source code here if you'd like to poke around and add a feature of your own.
It's a pattern that seems to repeat itself time and time again: Open Source infrastructure maturing and eventually replacing proprietary system.
Jeremy Zawodny
Yahoo! Developer Network
Posted by jzawodn at 10:33 AM | Comments (5)
A few weeks ago, Matt Mullenweg (co-creator of WordPress) came by Yahoo to talk to a bunch of Yahoo! bloggers about the current and future state of WordPress. After the meeting, I sat down with him for our Developer Spotlight series on YDN Theater to catch up on various topics.
In this 12 minute interview, we talk about:
Thanks to Matt for coming to visit and taking the time to talk with me on camera.
Jeremy Zawodny
Yahoo! Developer Network
Posted by jzawodn at 10:04 AM | Comments (14)
YUI Library and YPattern Library turn 2 on February 26th. So we're having a party - or 2 to be exact.....
We start the fun in London and then the Sunnyvale folks will be taking up the mantle in their evening.
Beer and cakes and the scoop on everyone's favourite libraries are promised. And you can't have a birthday party without a cool going-home present.
Places are tight at both so come and sign up via Upcoming for London or Sunnyvale
Hope to see you there
Sophie Major, YDN Europe
Posted by smajor at 4:12 AM | Comments (0)
After over 500 of you voted for an ActionScript 3 Maps API on the Developer Network Suggestion Board, we knew there was only one thing left to do: build it! So here it is: available immediately as part of Yahoo! Flash Platform, the native and complete ActionScript 3 Maps API.
Here's a look at just a few of the API features:
The list can go on, but wouldn't it be better to see the API in action? Here is a screencast by Allen Rabinovich (Yahoo! Flash Platform omniheurist), Zach Graves (the lead developer of the Maps component), and our very special guest, Ted Patrick (Flex Evangelist from Adobe Systems):
The AS3 Maps API comes complete with documentation and a number of examples. If you'd like to provide suggestions, comments or feedback, or show off a cool application you've built, please post on your ydn-flash group — and who knows, we may feature your app here as well!
Posted by jrconlin at 6:00 AM | Comments (3)
So I am fumbling around with the newest toy from the Advanced Products crew, live.yahoo.com. I instantly get how neat it is; you just plug in your camera, bring up a Web site, and you're done. One of our developers works remotely from Oregon, so we're chatting live in no time, checking in with other Yahoos worldwide, and generally poking around.
But then: I tune back in to the list of popular stations after lunch, and suddenly I'm watching what looks like a live feed from a basketball game. I ask, and no: it's an Obama rally. Rob Glaser, CEO of Real Networks, has his laptop hooked to his phone, which is in turn hooked to an EVDO network inside the Key Arena in Seattle, and is broadcasting video to anybody who wants it. Rob doesn't have his audio working (lots of instant-messenger dings, spooky feedback, but no voice) so somebody else in the chat suggests a local radio station's live feed ... and seconds later, I have audio.
And then: it turns out that since my audio is broadcasting, it's powering everybody else who is listening to me, and we don't have to all go clobber the radio station's streaming server. Just like that, I'm supplying sound to everyone else. Purely by accident, I'm participating, not just watching.
Throughout the rally, people pop in and out, get the instructions (tune to kentbrew, turn up his volume, turn down yours) and have sound. There's lots of backchat about what Obama is saying and politics in general; one of the guys points his camera out his window at his McCain for President sign, in fact. Tweets are being twittered throughout; by the end, we have 57 people in chat and 167 watching anonymously.
Best of all, after the rally's over, the jackass from the radio station jumps on and starts blathering about what an empty suit Barack is--and I have the sublime pleasure of cutting him off, to the loud cheers of the crowd.
This is easily the coolest thing I've seen (or done) on the Internet in years. It's going to be huge; see my Flickr set for screenshots. Check out the API, which launched on http://developer.yahoo.com/ylive, concurrently with the project, as these things should. And look for me online; I'll be at htp://live.yahoo.com/kentbrew, when there's time.
Posted by Kent Brewster at 6:16 PM | Comments (0)
There are some fairly significant and exciting changes in the new build of Yahoo! Media Player.
The changes that users will notice the most have to do with visible behaviors.
The player is now minimized when first loaded rather than half-open. This prevents it from taking up space in the page when it is not needed.
Our goal is to empower the page, not overpower it. A smaller footprint helps the media and text mesh seamlessly.
The player doesn't flicker while you're scrolling anymore. Previously, if you were using any browser besides IE7, scrolling the page would cause the player to fade out and fade back in when you stopped scrolling. Now the player hovers in place while you scroll without fading in and out.
The player contains a link to search on text related to the current track. This link used to open in the current window, which would interrupt playback. Interrupting playback was a bad surprise for many people. This link now opens in a new window.
There is a brand spanking new home page.
This page isn't intended to have any dynamic features. It's purpose is to draw new people into understanding the important points and to give them a smooth experience when trying out the player for the first time.
You can now use almost any document on the web as a
playlist by linking to that document and adding
class="playthispage" to the link. We scrape the
document to find media links and pull those links back into
the current page. There will be a play button next to the
class="playthispage" link, and the remote media links will be
added to the current playlist.
"Play this page" can handle many different document types. It can find enclosures in an RSS or Atom feed. It can read all common internet playlist formats, including XSPF, ASX, M3U, and PLS. It can read HTML, so you can use one web page as the playlist for another.
Example link:
<a href="http://www.example.com/" class="playthispage"> .
play example.com
</a>
Things you can do with this feature:
We implemented this feature using a web service that we host. That's interesting in that it shows the benefit of our unusual architecture. Browser-based media players have traditionally been pure Flash. Our player will use anything it can get its hands on at run-time, including JavaScript, CSS, semantic HTML, web services, and, yes, Flash, and having access to our own web services made it possible to do this feature.
We now have the ability to load XSPF playlists from any public source on the web. Previously we were bound by the Javascript same-origin security policy, which is even more restrictive than the Flash crossdomain.xml approach. Now we aren't bound by either.
The green disc in the minimized mode of the player was pulsing even when no audio is playing. The pulsing green disc is meant to let you know when the minimized player is playing audio. It now does that.
Safari was posting some JavaScript errors on page load. These errors shouldn't show up anymore.
We fixed some display issues with error icons in Firefox when the player encountered a bad mp3 link. (But error messages are still in a messy state overall).
Fixed a bug where the play button was not playing the right song. You could reproduce this bug by clicking a play button on the page, then clicking pause, then clicking a play button for a different song on the page. Rather than playing that different song, the player would restart the song that was paused.
Browser cache time for the player JavaScript files is now one day.
The core team for this rev: Amit, Clint, Dave W, Douglas, Lino, Mike D, Suman, and William Khoe. Thanks to Mike D and Dave W for much of the text of this post, and kudos to wwhite for the scraper web service.
Posted by lgonze at 12:00 AM | Comments (5)
Yes, Yahoo! Live is alive! Yahoo! Live is an experiment in personal live video broadcasting, brought to you by our Advanced Products team.
In parallel with the launch of our site, we're also releasing a set of Web Services and a couple of embeddable Flash objects for developers and web weavers. With these tools you can:
Our docs, along with pointers to a couple of sample apps, are at http://developer.yahoo.com/ylive. The API (and the docs!) are currently in pre-1.0 land; we'll incorporate feedback on both into our 1.0 API release. The specs are subject to change, and we have limited capacity, but we wanted to get the tools out to you for feedback today.
For details, check the API docs, the Yahoo Live! site and our blog. You can also find a directory of sample apps at del.icio.us and on our blog. Send your samples to us, and we'll post 'em there, and on the blog, as well.
Eric Fixler, Y! Live engineer
Posted by Matt McAlister at 4:59 PM | Comments (2)
With the just-announced launch of Yahoo's Zimbra Collaboration Suite (ZCS) 5.0, a full-featured messaging and collaboration application, it's a good time for developers to check out the Zimbra API which lets developers bring rich content into ZCS. Want to add a map to your mail? Find news headlines or search Amazon from within ZCS applications? You can create "Zimlets" to do all these and much more.
A Zimlet is a zipped bundle of content that is deployed to the ZCS server enabling the server to interact with third-party information sources as well as enhance the UI of the various ZCS applications such as the mail client. Simple Zimlets can be written entirely using special XML description files. JavaScript can be used within a Zimlet using a Zimlet base class that can be overridden to extend the ZCS Ajax client. Finally, developers can include JSP code for additional server-side functionality (the Zimlet backend has a generic proxy servlet for making calls to external services). For more details, check out the Zimlet developer's guide.
Got no money? ZCS 5.0 is available in a free, open source, community edition or take a 60-day test trial of our supported network edition. The ZCS 5.0 download includes Zimlet code for Yahoo! Flickr, Local, Search, and Finance Web Service mashups. Look in the /opt/zimbra/zimlets-extra directory for the source code.
Want to test drive ZCS asap? Try out our hosted demo version right now!
Jason Levitt
Posted by at 11:00 AM | Comments (0)
Performance is important to users. It influences click through rates, loyalty, and engagement. Users want fast websites that they can view from anywhere, including phones, wireless connections, laptops, and home computers. Users also want a graphically rich user experience with all the bells and whistles. Multimedia blends of video, images, feeds, and other components can be very slow indeed. Here at Yahoo! we spend a lot of time analyzing and improving the performance of our own sites. In honor of Super Tuesday, we thought it would be fun to take a poke at the Presidential Candidates web sites and share with you what we found.
How did they do? Overall, atrociously, all the candidates failed the YSlow exam except Mike Gravel who earned a "D". Page weight was a problem for Barack Obama, whose site weighed in at almost 700Kb. It was even worse for Mitt Romney, whose site weighed a whopping 1,531Kb. I hope he doesn't have supporters trying to make contributions on dialup modems!
Democrats got better grades in almost all performance subjects tested, in particular response times and page weight. They improved user experience for returning visitors by setting an Expires headers and improving the full cache user experience. This helped propel them to a performance GPA of "C" despite their failing YSlow grade. Republicans never managed to overcome the deficit and finished the semester with an "F".

Figure 1: Democrats versus Republicans Performance Report Card
Performance is one component in a balance of competing goals. These sites are trying to solicit support, donations, and volunteers. They need to provide a rich user experience that keeps people coming back, and engages them with the candidates' progress. Ultimately, they want to do this in a way that is fast, and accessible to as many voters as possible; including those on mobile phones, dialup modems, or low broadband.
Mike Gravel and Hillary Clinton's websites had the two best response times tested. Barack Obama's website came in fourth, after the leading Republican. Response time is all about getting the biggest user-experience bang for your buck. One reason Obama's site might be slower, is the amount of below-the-fold content. Many voters may not see this extra content, we human beings don't seem to like to scroll, but it still impacts performance.
Clinton, Obama, and Huckabee have graphically rich sites, and yet they are among the fastest. Do these sites succeed in engaging voters, or do they prefer the more serious, austere look of Gravel's site? The idea that a candidates website has a serious impact on his or her chances of being elected is relatively new. The rules and strategies are being invented now; we're living history.
Figure 2: Below the fold content might not be visible to voters, but it does affect response times
Figure 3: Democrats Response Time Report Card.
This graph shows all of the candidates' grades plotted together. Reaching the outside band means the candidate got an A, for instance Obama and Gravel received As in Image Optimization, while Clinton squeaked into a high-B. The closer the candidate got to reaching the edge of the ocatgon, the better their grade. In fact each band is equivalent to one letter grade. From roughly the halfway point to the very center are variations on a failing grade.
Clinton and Gravel provided two of the best performance-based user experiences recorded. However, Clinton had a large number of HTTP requests, which can slow down a site significantly. She counteracted that by setting an Expires headers so that returning voters would not have to pay the same performance penalty. Clinton also split static content across more than one domain to enable parallel downloads.
Examining Republicans performance offers a clear opportunity to witness the connection between response time and page weight. To deliver a fast site, hard choices have to be made about which features to include, and which to abandon.
Mike Huckabee's website combined low page weight and fewer http requests to achieve the best response time among Republicans and the third fastest response time overall. He could however trim 20Kb of fat from images with no loss of quality. We tested using lossless compression algorithms to determine how much extra baggage the candidates' pages were carrying. Romney was the real surprise in this category. The extra fat in his home page weighed more than Mike Huckabees entire page!
Image Optimization is the kind of low hanging fruit that makes your site faster with absolutely no loss for the user. The tool we built to test image formats and compression algorithms determined that John McCain was the master of image optimization; we were only able to remove 1Kb from his images.
Mitt Romneys site takes almost eight seconds to load even on a broadband connection. He got so many "F"s, our radar chart looks like Pollock on a bad day.
Figure 4: Republicans Report Card
Every one of these sites had outlying data points, that is, random response times of as much as 19 seconds. Romney even had a data point at 1.825 seconds, despite his more typical 5-10 second load times. These bad user experiences are real, and while most users just press reload and forget about it, it is important that we correct what we can, before they get frustrated and simply don't come back.
Comparing worst-case scenarios, medians, averages, YSlow scores, empty or primed cache experiences, and other measurements can help you get a fuller picture of your user experience. Rather than looking for one magic number, performance requires us to unravel a nuanced puzzle. Try to understand what your users see, and how you can make it better for them, whether they are voters, customers, or people coming to read your blog.
For those of you who like numbers, here's the data:
| Hillary Clinton | Barack Obama | Mike Gravel | Mike Huckabee | John McCain | Ron Paul | Mitt Romney | |
| YSlow | 59 | 52 | 66 | 50 | 42 | 36 | 33 |
| Page Weight (K) | 300 | 691 | 195 | 185 | 568 | 483 | 1531 |
| Response Time (S) | 2.6077 | 3.4810 | 2.3733 | 3.1148 | 6.5309 | 4.2125 | 7.5352 |
| HTTP Requests | 96 | 94 | 32 | 56 | 107 | 83 | 77 |
| Cookie Weight | 214 | 333 | 281 | 217 | 299 | 203 | 130 |
| Primed Cache - Page Weight (Kb) | 33 | 242 | 8 | 46 | 237 | 173 | 448 |
| Primed Cache - HTTP Requests | 4 | 93 | 4 | 56 | 107 | 76 | 77 |
| Wasted Image Weight (Kb) | 29 | 6 | 20 | 20 | 1 | 49 | 205 |
All measurements were taken using a MacBook Pro with Firefox, Firebug, and YSlow over a wireless connection. Page weights, cookie weights, and HTTP requests were determined via the YSlow Stats panel.
Should you choose the next president based on their YSlow score? Probably not, but, it is one of many interesting ways of evaluating how technically savvy they are in an increasingly technical world. Now don't get me wrong, I know the candidates didn't write their own HTML or optimize their own images, but they did choose the person who would do this work for them. That's what makes this game interesting; they have to choose the right people for the right jobs every day. Happy voting!
Nicole Sullivan, Technical Evangelist
Yahoo!'s Exceptional Performance
Posted by tenni at 9:09 PM | Comments (6)
If you're looking for a little weekend reading, we just wanted to let you know that we've lifted the veil on the MyBlogLog API documentation. No need to keep this stuff under wraps, especially when we're looking for your feedback!
http://developer.yahoo.com/mybloglog
If you like what you see, please sign up for the beta.
There have been a number of interesting hacks which we're tracking over at:
http://del.icio.us/mybloglog/api
Let us know what you think!
Ian Kennedy
Product Manager, MyBlogLog
Posted by Matt McAlister at 5:04 PM | Comments (0)
Copyright © 2008 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Copyright Policy - Job Openings