YDN Blog Archive: May 2008
« Previous | Main | Next »
May 30, 2008
@media 2008, London - Day Two
The second day of @media2008 conference in London was much more revolving around development than the first one, which was about the design challenges we face as web developers. Here are some short summaries of the different sessions I managed to attend:
Keynote "Professional Front-End Engineering" (Nate Koechley)
Our very own Nate Koechley started off the day with his keynote covering the aspects of being a professional front end engineer. Nate walked in detail through the best practices followed in Yahoo and published here and what they mean for the profession of front end engineer as a whole. We will make the slides available here soon and write a detailed post about them then.
In essence, Nate explained why and how the job of a front-end engineer is different but not at all less important than other developer roles and which pragmatic best practices to follow to make life easier for us. These best practices include progressive enhancement, the graded browser support and unobtrusive scripting. All in all, Nate delivered an uplifting keynote that should entice people to walk proud being those who create the front-end of what we put on the market.
Building on the shoulders of giants (Jonathan Snook)
Jonathan Snook's talk revolved around the opportunities we have as developers these days to not have to build everything ourselves, but instead build on top of what is already done for us. According to him developers like to reinvent the wheel whereas designers like to reuse and we can pair these two attitudes to create brilliant applications immensely fast. Jonathan went through several server side frameworks (Ruby on Rails, Python, Cake PHP), JavaScript libraries like jQuery and YUI, CSS frameworks like blueprint and YUI grids and showed off some of the mashups and systems he built by mixing and matching these.
The main takeaway was that we can easily do things these days we thought hitherto impossible, if only we keep our eyes open and build upon already established, stable solutions. Jonathan's slides and all the links will be available on his site.
For example: The Guardian (Marc Pacheco) and Dopplr (Matt Biddulph)
Marc Pacheco talked about the current redesign of the Guardian web site and the challenges they faced building it. In his very short but refreshingly open talk he described a situation that a lot of developers have to face and all the blue sky best practice presentations just don't cover: you have a system already in place that has become hard to maintain and needs to be cleaned up.
Most of the other information on the web you find is only applicable when you start from scratch.
Marc explained that it makes sense to develop CSS in different smaller includes and concatenate them into a single file on deployment. This also allows you to analyze already existing CSS files, find commonalities and collate them into a base.css file.
Marc made another, more controversial point that we should stop blaming good browsers like Safari, Opera and Firefox for our mistakes - if something goes wrong, then it is most likely our fault.
He went on to ask for some better tools for us to use. Firebug is a great start but for large and complex CSS files there are no sufficient tools to show dependencies, track changes and have clever merging algorithms. Version controlling systems are likely to break CSS when doing a simple merge and Marc showed an example where Subversion caused parts of the Guardian site to be unavailable. Overall this was a very interesting talk and longer discussion and I am looking forward to compare practices in Yahoo with Marc's approach to development.
Matt Biddulph is the founder and developer of Dopplr, a social network build on travel activitity. His talk was an explanation of how he built the system with an amazingly small code and hosting effort on his own but instead building on top of already existing APIs (all in all over a dozen). His main message was that it is not about your application, but that applications become a lot more exciting with other people's data in it. Instead of forcing users to enter data all the time we should try to re-use existing data and networks in as many ways as possible.
WAI-ARIA - it's easy (Steve Faulkner)
Steve Faulkner is one of the unsung heroes of accessibility. Together with Gez Lemon they worked on a lot of clever, pragmatic solutions for real accessibility issues and published them on Gez's web site and the Paciellogroup blog for all to use.
In this talk Steve explained what ARIA is and how it can already help us work around day-to-day problems of accessibility. He showed several examples using a screen reader and how ARIA allows us to enhance the limited amount of HTML elements to use as application widgets. The examples included how you could create a textfield that shows the available amount of characters as a countdown while you type available to assistive technology, how to implement a slider in HTML and ARIA and a tri-state checkbox. As with all presentations using assistive technology, there were a few hick-ups, but I am sure that a lot of people in the audience came back with a new idea of what ARIA can help us with and that it is not only a pipe dream.
Exploring the server side - Rails and Django (James Adam and Simon Willison)
In this back-to-back talk James and Simon explained to the audience the benefits of Rails and Django as development frameworks respectively. Both created an event site as their example. While James did the whole thing as live code (which is always a daring task), Simon showed a prepared solution and getting into details about the principles of Django and how he managed to re-create a 1:1 copy of the @media site in it in a very short time.
Both presentations were amazingly thorough for the short amount of time and showed that clever frameworks with a bit of coding can replace massive out-of-the-box software packages if you actually know exactly what you want to build.
Hot topics panel
The final session of @media2008 was a hot topics panel moderated by Matt Biddulph with Steve Faulkner, Simon Willison, Jonathan Snook and Nate Koechley. The questions from the audience ranged from "Why weren't there many Microformats presentations - are they old news?" over debates about IE8 and the question when we'll be able to use all the CSS3 enhancements we are promised by the spec up to questions about the feasibility of an accredited front-end engineer job title. All in all the panel was excellent, with all panelists giving solutions and examples and Matt steering the discussion in the right directions and providing additional info when and if needed.
Summary
The second day was much more technical than the first and the flow of the day was amazing. The audience was very much scribbling down notes and asking interesting and challenging questions throughout and it was interesting to see that we are getting much closer to more and more companies opening up their best practices and working patterns for discussion and improvement by a wider audience.
There will be podcasts of all the sessions available later on at the @media homepage. Make sure to check for anything tagged "atmedia" on the web the next few days to get slides and photos of the conference and I for one would be happy to meet you next year or later this year for @media Ajax in London.
Chris Heilmann
Yahoo Developer Network
Posted at 3:39 PM | Comments (0)
A Geek Dinner with Moo
Continuing in the spirit of London Web Week the lovely people from Moo were the special guests at a Geek Dinner last night. In a pub in High Holborn about 40 geeks and hackers converged for the event. There were lots of people from Moo in attendance which gave everyone the chance to meet many of the people they'd seen speak at conferences like Richard Moross, Richard Pope and Denise Wilton.
Rather than a formal talk Richard M gave an impromptu history of the company from it's inception as the dubiously named "Pleasure Cards" to the Moo of today. They discussed some of the reasons for their success. Richard said that customer service was key. Being very accommodating early on created a really loyal following. They found that owning up to the mistakes they made and dealing with them created the happiest customers of all. Creating an honest dialogue is clearly important to the company.
When asked about market Richard talked about his time in the advertising industry. He lamented about some of the best creative minds trying to market bad products. Rather than wasting energy on marketing a bad product he'd rather put that energy into making a better product to start with. Moo have found that a lot of their marketing is just word of mouth because people are happy with the product. Denise really agreed with this, and describe the feeling of delight they want people to have opening a new delivery of Moo cards. She also added that partnerships like the one they have with Flickr have really helped to encourage people to participate with their own photos.
Moo is obviously a company that deeply cares about their products and customers. It was great to hear some of their experiences, their successes and the lessons they learned. Finally, I'm excited by the amount of great stuff happening in London Web Week with so many amazing people speaking and attending these events.
Tom Hughes-Croucher
Yahoo! Developer Network
Posted at 2:53 PM | Comments (0)
May 29, 2008
@media 2008, London - Day One
Today was the first day of @media2008 in London, England. For the fourth time hundreds of people interested in web design, development and information architecture came to see what experts in the field had to say and network in probably Europe's biggest web conference focusing on the front-end of development.
This is a short roundup of the sessions I attended, as the conference worked on two tracks - the massive, Queen Elizabeth Hall and the smaller Purcell Room in the Southbank Centre.
Keynote
The Keynote was Jeffrey Veen's "Designing our way through Data". Jeffrey started by taking us back into the year 1974 where he discovered for the first time that humans can be able to control things that happen on a screen - by playing a pong machine at a restaurant in a local Sears. He then went through several examples showing how different people made large amounts of data understandable to others by choosing the right visualizations.
The start was John Snow mapping the deaths caused by Cholera in London in 1854 and thus proving the water mains to be the main cause of the outbreak. Other examples were a mapping of the travels of Napoleon's armies through Europe, Harry Beck's Tube Map - a representation of the London Underground still in use today, up to Edward Tufte's case study on the viualization of the data that lead to the Challenger disaster.
The main message was to find the story in the data and to visualize that in the most appropriate manner for the intended audience. The example Jeffrey gave was a whole set of data explaining the earth population growth rate being distilled to the fact that every 2.4 seconds a new baby is born.
He then turned the story around to the people we want to reach with our data visualizations and the main takeaway was to analyze what people do with your information and make it as easy as possible to successfully finish these tasks. This is especially important to do as early as possible in the development cycle as it gets more and more expensive to change software solutions the further down the line you progress.
For Example: BBC Homepage (Tom Cartwright and Claire Roberts)/ Edenbee (James Box, Clearleft)
Following the keynote I attended a double showcase session in the smaller hall showing the redesign of the BBC homepage, showing the audience infrastructure issues the team had to deal with and explaining why the BBC chose to create an own JavaScript library to create all the behaviours of the site. The library will be called "Glow" and more information will be available on the BBC site soon.
Edenbee is a social network site set out to tackle climate change. You can track your carbon footprint using the APIs provided by Amee.cc, suggest ways to reduce it and share these tips and achievements with others in your network. The presentation explained some of the ideas that were followed developing the site with the main mantras being that social networks are not about people but about shared objects and that you should always design for a community an not design a community.
Getting your hands dirty with HTML 5 (James Graham and Lachlan Hunt)
James and Lachlan, being very active in the WHATWG, specifying HTML5 together with the W3C walked the audience through the ideas of HTML5, why it is a good idea and went into detail about the design principles of HTML5. They then showed an example of how a simple blog layout would be defined with new HTML5 elements and what the benefits of those are. Other examples included SVG animations and video embedding without Flash and easy controls natively supported by a browser - in this case the newest Opera. The talk concluded with a call for participation in the working group.
Content Management without the killing (Drew McLellan)
Drew's talk revolved around the need for content management systems, what pitfalls to avoid when choosing one and in-depth information about a system his company built for themselves. The main takeaways were:
Humans do instinctively tend to overcomplicate things and should try to avoid this at all costs.
Things to look out for when choosing a CMS are that the system can generate clean URLs, store the data in an open format, have a customizable and accessible admin interface, allow for search, support different languages and allow for caching.
We should avoid the "pimped out blog system" - in other words we should never go live with a system that has already been tweaked and is maxed out as that will get us into a situation where we have an unsupportable configuration of a system. The main example was hacking around issues in WordPress' source code and then being unable to install security patches.
Exploring the server side - Beyond 404 (Stuart Langridge)
Stuart's talk covered all the different HTTP error codes and what they mean for your site. He started by explaining 404 and how you should make sure that you know about missing pages on your server by getting emailed every time an error like that occurs. Stuart also explained how to use custom 404 pages to simulate a mod_redirect available on Apache Servers inside IIS servers. This was the first of a massive amount of great tips how to track the behaviour of your web site on an HTTP level and it would be tedious to repeat those here. Check the talk and the podcasts will be available soon.
Hot Topics Panel (moderated by Jeffrey Veen, with Indi Young, Bronwyn Jones,Andy Clark and Dan Rubin)
The official day schedule (before we repaired to the main hall for drinks and general networking) ended with a "Hot Topics" panel of the experts answering questions of the audience. These ranged from the relationship of developers and designers over the mobile web as a new design challenge up to whether the experts had seen the new Indiana Jones movie and what they thought about it.
Summary
Day one of the conference was a very design-oriented mix while tomorrow will be more catered to the development side of things. It was interesting to see how a lot of best practices promoted on the Yahoo Developer Network made their way into other companies or seeing that similar approaches become more and more the norm. From a networking perspective, @media was once again a goldmine. London as a location attracts developers from all over Europe and it is great to share experiences and ideas and learn about the rules of markets you are not savvy about.
Chris Heilmann
Yahoo Developer Network
Posted at 4:51 PM | Comments (0)
RDF and the Monkey
Besides the existing support for microformats, we have already shared our plans for supporting other standards for embedding metadata into HTML. Today we are announcing the availability of eRDF metadata for SearchMonkey applications, which will soon be followed by support for RDFa. SearchMonkey applications can make direct use of the eRDF data by choosing the com.yahoo.rdf.erdf data source, while RDFa data will appear under com.yahoo.rdf.rdfa. Nothing changes in the way applications are created: as SearchMonkey applications have already been built on a triple-based model, the same applications can work on both microformat, eRDF or RDFa data.
Content publishers, however, will now have an even wider array of choice for providing metadata inside HTML. Therefore it is worthwhile to briefly summarize the key differences between microformats, eRDF and RDFa and the possible migration paths across these approaches:
- Microformats allow publishers to provide metadata about a fixed set of types. This currently includes addresses (vCard), events (hCal), reviews (hReview), feeds (hFeed) and social relations (XFN). The set of properties for each type is also fixed. We recommend the use of microformats in case the information fits one of these microformats supported by SearchMonkey. We are constantly expanding the list of supported microformats, but it is still likely that microformats will not meet all metadata needs.
- eRDF and RDFa in contrast are generic formats that can be used in combination with any RDF/OWL vocabulary and therefore can be used to represent any metadata. Unlike microformats, RDF/OWL vocabularies can also be arbitrarily mixed and extended. The use of a common or industry standard vocabulary is still recommended so that other application developers can easily interpret your metadata.
- While eRDF and RDFa look and feel much the same, there are differences in expressivity: while RDFa is complete with respect to the RDF model, not all RDF statements can be represented in eRDF. For example, in eRDF all statements have the current page as a subject (or resources defined within the current page). Further, there is no support for datatypes, which are recommended in SearchMonkey for example to provide the currency of monetary values or units.
- Migration is easy from less expressive representations towards more expressive representations, i.e. from microformats to eRDF or RDFa, or from eRDF to RDFa. Migration in the other direction is more problematic and likely result in the loss of some metadata. We suggest publishers who have currently no markup to adopt either RDFa (which will be soon picked up the Yahoo! crawler) or eRDF (which is already available from the search index). RDFa is a specification backed by the World Wide Web Consortium (W3C) and it is supported by a wide range of tools, but eRDF has been around longer - so we wanted to support both.
There are plenty of resources to familiarize with both eRDF and RDFa. The SearchMonkey guide has a brief overview of the topic. The eRDF specification and the RDFa Primer are more technical, but also complete, contain plenty of examples and still fairly easily readable. The tools supporting eRDF are listed on the same page as the specification. Here are some links to the RDFa implementations and tools.
In summary, our support for eRDF and RDFa brings even more choice for publishers while open up new data sources for application developers!
Peter Mika
Data Architect, SearchMonkey
Posted at 10:08 AM | Comments (5)
May 28, 2008
We Monkeyed with hCard
Just a quick note for everyone that is using any extracted hCard. The way we store hCard changed. This was done to more faithful to the vcard-in-rdf specification and also adds support for vcard:adr and organization name.
| URL | |
|---|---|
| Old | com.yahoo.uf.hcard/rel:Card/vcard:url |
| New | com.yahoo.uf.hcard/rel:Card/@resource |
| Photo | |
|---|---|
| Old | com.yahoo.uf.hcard/rel:Card/rel:Photo/@resource |
| Old | com.yahoo.uf.hcard/rel:Card/vcard:photo |
| New | com.yahoo.uf.hcard/rel:Card/vcard:photo/@resource |
We are going to have about 10 minutes of downtime tonight (around 10pm PST) while we do a string replace on the database for those fields. If you were doing any fancy things that wouldn't be caught by a simple string replace from OLD to NEW, then please update your code accordingly (and republish to the gallery if needed).
Paul Tarjan
(|): Chief Technical Monkey :(|)
Posted at 9:14 PM | Comments (0)
BarCamp Northeast in Newcastle, England through the eyes of a new Barcamper
Last weekend the Yahoo Developer Network sponsored the Barcamp NorthEast in Newcastle, England and we sent Cathy Ma as our reporter on the ground. It was Cathy's first BarCamp and here are her impressions:
Thanks to Christian who kindly allowed me to represent him at BarCamp NorthEast, I went all the way to Newcastle's The Arts Works Galleries. Sunny weather, beautiful landscape, a bunch of geeks surrounded by inspirational artworks, plus lots of nice rum - what's more you can ask for? Well, maybe a ginger hair wig so that I might be able to pull off as Chris.

(photo courtesy: sheilaellen)
Barcamp NorthEast was definitely upbeat and energetic and most importantly it felt natural and very grass-root compared to other events. It was intriguing to see it starting with Ian demonstrating his brilliant Diablo skills, which woke us up and got us ready for more at about the right time in the morning.
One hot topic discussed at the BarCamp was if One Laptop per Child was more effective than One Desktop per Child. There is of course no perfect solution to this debate, but it was very interesting to hear the different ideas.
My talk was about Wikipedia's social taxonomy and how trust bridged and bonded the community. I managed to back up my ideas with various case studies which was interesting for the audience as they hadn't had any insight on this level into the workings of Wikipedia before.
One surprising thing about the Newcastle BarCamp was that we had a 'strong' female presence as opposed to other geek events I've been to (instead of 98% men this one was roughly 70%). In fact, we girls kind of led the second half of the day with Tara's session on Mind Hacks, and Emma-led discussion on 'being a female geek'. The two key takeaways from these sessions were:
1. Memory Hack
Best memory aid: try pairing up what you are studying with a special scent! One other mind hack tip entailed one of us hacking the meaning of life, well, probably that solicits a pint instead of a blog post for elaboration. (Seems to - Ed.)
2. Social Linguistic Programming
Sheila blew our mind when she introduced the concept of social linguistic programming, that men were more prone to interrupting women's conversations and women were less likely to do so. Tom Morris in response posted related links on his blog. Definitely check out 'HOWTO engage women in Linux'. Brilliant follow-up, Tom! The day progressed with all male geeks being super respectful and blushed after they interrupted any one of us - the sudden self-consciousness really made the session quirkily fun, but of course they were already nice and cool to begin with.
The second day tailed off with some cool lightning talks (such as how to let photographers take good photo of you) and a session on 'baking banana cake'. Big thanks to Gareth and Alistair for organising this amazing event, running around and bringing us loads of cheese and crackers and cookies...
Cathy Ma
EU Community Manager, Yahoo
Posted at 8:42 AM | Comments (0)
May 27, 2008
A Peek Into Yahoo! BrowserPlus
There's been a bit of speculation about BrowserPlus, the mysterious new platform from Yahoo!. Today we remove that veil of mystery to show you directly what it is, what it does, and why we can't wait to hear what you think.
BrowserPlus is a platform for extending the Web: an end-user installs it and a developer uses its features through a small JavaScript library. Some of the features that exist in the platform today include:
- Drag-and-drop from the desktop
- Client-side image manipulation (cropping, rotation & filters)
- Desktop notifications
The most unique attribute of BrowserPlus is its ability to update and add new services on the fly without a browser restart or even reloading the page! For users, this means no more interruptions or installers to run. We handle the complexity of software distribution and updates. For developers, it means you can check for and activate new services with a single function call (pending user approval, of course). BrowserPlus is dynamic, allowing us to implement the standards of tomorrow while enabling fun and playful web applications along the way.
A small group of folks has been working on BrowserPlus in a dark room for about a year now. Getting this platform outside the walls of Yahoo! and into the developer community is extremely important to us. We're eager to give you something you can touch and feel and respond to, even if it's not quite ready to use on your own site yet.
So why just a peek?
We talk more about our reasons for releasing a sneak peek in our FAQ. The gist of it is: We firmly believe that the best tools are the result of use and refinement -- and people like you (yes, YOU!) telling us what sucks and what rocks. We hope that through use and input from the community we can build a platform that matters. Hop over to the official Yahoo! BrowserPlus website and check it out. If you like what you see, and want to build something NOW, instead of waiting for the official developer launch, please get in touch. We'd love to partner with you to provide the support and tools you need to implement your great idea for a BrowserPlus service or app. just drop us a line.
Thanks for reading! We look forward to your feedback and to working with ya :) .
The BrowserPlus Team (via Lloyd Hilaiel)
Posted at 5:40 PM | Comments (17)
Searchmonkeynuts, the "Bleeding Purple" and a wee bit of networking - this was the London Web Week Opening Party
Yesterday night the Yahoo Developer Network and Yahoo UK sponsored a party to kick off the London Web Week. About 50 developers, designers, tech journalists, community managers and product managers met in a night club in Leicester Square, London to start the event-packed week with a bang.

For a whole week London's development community will be spoiled for choice considering which events of the packed London Web Week schedule to attend and we thought it a good idea to start the week off with a party.
Over searchmonkey nuts ("monkey nut" is the UK term for peanuts in the shell), fingerfood and free drinks people had a chance to get to know each other and plan for the next few days.
An extra bit of "social lubrication" was provided in the form of a specially designed, Yahoo purple branded cocktail christened The bleeding purple and it did its magic quite nicely.
The only small dent in the evening was that far less people showed up than we planned for which was caused by the terrible weather (not quite the proverbial rain of cats and dogs, but kittens and puppies instead) and the public transport disruptions that come with that and it being a bank holiday in the UK.
In any case, it was a successful event and we want to thank everyone who came along and dried off quickly enough to get the London Web Week started. We will keep a running commentary here of all the events going on in the next few days.
Chris Heilmann
Yahoo Developer Network
Posted at 5:15 AM | Comments (0)
May 24, 2008
Getting Your Apps into the SearchMonkey Gallery
Ever since the SearchMonkey Gallery went live, we have been reviewing tons of app submissions from our developer community late into the night. We’re trying to discover apps that are creative, useful, fun and engaging so that we can proudly showcase them to the rest of the world. For those who have submitted their apps to the gallery, thank you for your contributions and we’re excited to have you participate! If you have developed an app but did not submit it to the gallery, please consider sending it over so that the rest of the Yahoo! community can benefit from your creation.
For developers who want to get their apps into the gallery, below is a list of things we consider when reviewing your submissions.
- Is the app abusive? Inappropriate text, images and links are not allowed.
- Is the app properly described? Make sure that your app title and description are properly entered as these fields are displayed in the gallery. The title/description should actually correspond to what the app does. And don’t call it “Test App” (we get a lot of these!).
- Does the app contain sufficient examples? We look at each of the 10 Test URLs that you input from the dev tool. Make sure you fill up all 10 with working examples so that we can better assess the app’s output. Also, the first test URL is used as a preview in the gallery.
- Are the image domains listed? If the images you display in the app are hosted in different domains than the underlying URL, then these images must be listed through the dev tool.
- Does the app contain proper logos/icons? A logo must be uploaded as each app will be shown in the gallery with the logo prominently displayed next to it. The images must be relevant and appropriate to the app you designed. Finally, make sure you have the permissions for the logo you use. You can write an app for any site, but please use your own logo!
- Is the app useful? The simple litmus test is that the app presents more value to the end user than when the app did not exist. Often times we see an app that looks nice but it actually makes the experience worse by taking away the default abstract and replacing it with meaningless text and a somewhat useless (but possibly cool!) image. Also, apps whose primary objective is to simply advertise/spam will not be allowed.
- Is the app differentiated? If we already have several apps in the gallery that do almost the same thing, then we do not have a need to accept another one.
- Does the app follow our Best Practices guideline? In the documentation we have outlined some of the best practices that we expect from what we consider a high-quality app.
- Are the deep links relevant and useful? The title of the deep links must be informative, and once clicked on, the destination should match the user’s original expectations of where the links should take them. Further, the links need to be relevant to the underlying result. We’ve seen many apps that show the same set of deep links regardless of what the actual result is, making the app not very useful.
- Is the app using a custom data service? If so, make sure it is submitted as an Infobar app. Enhanced Results apps are not permitted to use custom data services in the gallery.
Well, now you know some of our key considerations when reviewing your apps. Please use this as a guideline for writing your awesome SearchMonkey applications in the future!
Lawrence Kim
Yahoo! Search
Posted at 7:30 AM | Comments (1)
May 22, 2008
Monkey Evolution
It's been a week since the SearchMonkey Launch Party (which, by the way, was a TON of fun), but we've still been slaving in the jungles for you.
There is another SearchMonkey release going out RIGHT NOW with many neat new features. In no specific order:
- You can submit to the SearchMonkey Challenge at the same time that you make your app sharable.
- The Gallery is live and starting to get some applications :). Check it out and submit your apps for inclusion. If your app was accepted -- congratulations! Your app is now available to millions of Yahoo! users to enhance their search experience!
- Sharing of apps is getting closer. The gallery page for your plugins will now render properly but won't show anything of use... YET. When you publish your app, you will get a link that you can send your friends and family, post on your website, emblazon on the side of your car, or tattoo on your forehead. From that link, anyone with a Yahoo! account will be able to add your app to their profile, and then have it run each time they search. So, get ready for that link to start working RealSoonNow.
- Submission is done by language and not locale anymore. You know you wrote your plugin in English and French, but have no idea if it is appropriate for "QC" (or even what ever the heck "QC" is. It's Quebec, Canada, for you non-savant people). Now we are going to find the right locales for your plugins, you just have to tell us the language it is in. Capiche?
-
JavaScript is now disabled for Data Services. There were a few websites out there that were not responding for a few minutes due to long-running AJAX calls. Until this is resolved we've opted to turn off all JavaScript processing during the page cleanup phase. You can still parse through the JavaScript on the page to find data, but it won't be able to change the DOM. For example:
<meta property="vcard:fn"><xsl:value-of select="substring-before(substring-after(//script, 'I think that '), ' is awesome')" /></meta>
Will still get my name from :
<script>alert("I think that Paul Tarjan is awesome!")</script>
P.S. For anyone who puts that script on their site--10 points, for some definition of "points."
- Other small bug fixes
We'll keep you posted about other changes as we roll them out. Don't forget to post to the Developer and Site owner Yahoo! groups about anything and everything. Well, maybe not your entire life history, but at least the part with SearchMonkey in it.
Paul Tarjan
(|): Chief Technical Monkey :(|)
Posted at 8:56 PM | Comments (0) | TrackBack
May 21, 2008
London Geeks Go Green
Two Events
Last week was a busy one for green geeks in London. I attended two events focused on green technology and environmental awareness: the AMEE's 1st Birthday and
AMEE
AMEE (the Avoiding Mass Extinction Engine) is a broker for data about energy use and carbon data. In the year since AMEE launched, they've worked with the British government to provide an online carbon calculator as part of the Act On CO2. The Act On campaign had a great response--almost a million visitors created over 400,000 carbon profiles. These profiles help people in the UK understand and reduce their carbon footprints and helps the government understand how Britons use carbon. Happy Birthday to AMEE! We look forward to another year of great work helping us avoid extinction.
GeeKyoto
Most people question if the world is broken, or discuss whose fault is it. But we thought let's assume it broken. Let's get clever, smart geeks together, to figure out what's the best way to fix it. You are here to see cool stuff. Hopefully that cool stuff will trigger an idea when you get up tomorrow morning.
On Saturday May 17, I attended the day-long GeeKyoto conference. Event organisers Mark Simpkins and Ben Hammersley explained their thinking in the quote above. They started with the premise that "The world is broken" and asked "How do we fix it?" Following on from the theme of the Kyoto summit, many talks were about climate change.
The conference was really diverse -- with everything from how to make the Sabbath greener to one man's experiences walking to the North Pole -- it was hard to absorb everything, let alone write it up. Here are some things that struck me. I'd encourage you to search for different blog posts and perspectives on the many inspiring talks.
Ed Scotcher talked about helping people in developing nations of Africa. He sees enabling communication technology as the key. During the contentious Kenyan election, citizens started to use new communications methods to take control of the situation from their point of view. They used Web 2.0 tools to map and highlight instances of bribery, violence, and other politically motivated crimes in Kenya. This form of online activism spread to Zimbabwe, as seen on this highly detailed map of election crimes reported by Zimbabwe citizens. Ed suggested that technology tools from the West can help Africa without stifling local innovation.
Bruno Taylor, an art and design student, talked about how we've stopped designing public spaces for our children. He did an experiment that put swings into bus stops to see if adults still had the ability to play. Bruno noted that public spaces are frequently designed for use, but often design that makes the lives of working people more effective and fun excludes other groups of people.
Mitchell Sava explored e-government as a tool for change, and discussed ways to empower civil servants to use technology more effectively. He proposed that user-generated content can get the public more involved in creating government policy. He was keen to encourage politicians to put aside their fears of technology and use the Web for collaboration with knowledgeable individuals outside of government,
Ben Saunders talking about his trip to the Arctic. Ben reached the geographic North Pole on May 11, 2004, after walking solo across the ice from Russia. It was his second attempt. The first time around he was attacked by a polar bear, among many other difficulties! He talked about the difference in conditions during the various years he's spent in the Arctic --during the summer melts of 2006 and 2007 an area of ice twice the size of France was lost.

(Thanks to Adam Scourfield for the image.)
Beyond the issues of climate change, Ben also talked a lot about developing as a person:
I'm not an explorer, I'm not drawing maps. I'm exploring human limits not physical ones. Consistently I've amazed myself. I wanted to get other people thinking about their own challenges. As a species two of our biggest challenges right now are sustainability, and cultural conflict. We are clearly not leaving the planet as we found it. We are not doing what we could be doing.
I think this last point really summed up GeeKyoto for me. There was so much startling and wonderful material to digest, but seeing people focused on a range of meaningful efforts and seeing what Ben could accomplish in the Arctic gives me hope. We choose where we put our energy, and I'm proud that I work for Yahoo!, a company that takes this stuff seriously.
Tom Hughes-Croucher
Yahoo! Developer Network
Posted at 8:20 AM | Comments (0)
May 19, 2008
Yahoos at the Information Architecture Summit: A Round-up of Presentations
Back in April, several members of the Yahoo! Developer Network user experience design team attended and presented talks and workshops at the 9th annual IA Summit held in Miami.
Yahoos in the house
Christian Crumlish, Lucas Pettinati, and I gave a well-attended workshop on Designing and Building a Pattern Library and using Design Patterns and YUI to rapidly build sites. We released a set of design stencils for Omnigraffle, Visio, Illustrator PDFs and Photoshop PNGs representing our pattern and YUI components to attendees that will allow easy design using these tools. They are now also available on the public Pattern Library site for download. This is a work in progress and will be updated regularly as we add new patterns to the library.
In addition to our workshop, Christian also spoke on Designing with Patterns in the Real World: Lessons from Yahoo! and Comcast: (Podcast)
Christian also moderated a panel on Identity and Presence; it was funny, insightful, and even included practical tips. Slides from the panelists' talks are available on SlideShare: Christian Crumlish's slides | Christina Wodtke's slides | Podcast
Lucas Pettinati presented a great talk on users and their data. He delivered some best practices for guiding users through the process of registering on a site and recovering sensitive data: (Podcast)
Yahoo! user experience designer Luke Wroblewski gave a talk on Content Page Design Best Practices
(Slides
| Podcast) and Bryce Glass delivered a talk titled Designing Your Reputation System:
Thanks to Boxes and Arrows for recording the talks and making them available as podcasts or streaming audio.
You can subscribe to the podcasts at iTunes or listen to them direct from Boxes and Arrows here: IA Summit 2008, Day 1 | IA Summit 2008, Day 2 | IA Summit 2008, Day 3
The Hot Theme
Social media, a hot topic in the online world in general, was a prominent theme in the talks and hallway conversations over the three days of the conference. Discussions revolved around the design and building of social media spaces and how IAs (information architects) and interaction designers need to consider these complex design problems. Designers have an opportunity to lead the way in crafting the spaces and frameworks where users create meaning and conversation. Many presentations and offline discussions worked through these ideas to formulate interesting solutions and best practices for social design.
Miles Rochford of Nokia delivered a thoughtful talk about anti-social networks and evil people and their impact on social media. He introduced the themes of ubiquity, eternity, and serendipity. These big concepts provide designers with some fresh food for thought, as we rush to create systems to take in user content and user relationships. Rochford cautioned that we should be aware of how our users change over time, how they own or should own their data, and how spaces need to be created to enable unplanned uses and interactions. He emphasized that the notion of interactive spaces will soon be everywhere - not just on the computer or mobile device. It was a lively talk and generated a lot of questions and followup discussion.
The summit was at once practical and thoughtful. A little philosophy mixed with some tactical techniques plus the warm Miami sunshine made for a good mix of learning and networking.
Erin Malone
Yahoo! Developer Network
Posted at 3:56 PM | Comments (0)
May 17, 2008
Great article on writing SearchMonkey applications
Check out this informative article on writing applications on the SearchMonkey platform at SearchEngineLand - a must read!.
Done? Now write your own application!
Posted at 3:00 PM | Comments (0)
May 16, 2008
SearchMonkey developer breakfast in the London office
This morning a group of selected developers from different companies took their first steps in creating their first SearchMonkey apps in the London office of Yahoo.
Developers from Skype, the BBC, ebay, MySpace and other interested parties came to the office to enjoy sandwiches, coffee and monkey cookies and get both a quick introduction to the idea of SearchMonkey, how it will apply to their companies and hands-on help in developing their first applications.
Richard Allinson, Ben Cosgrave and Russell Aronson from the UK monkey team helped the others find the easiest way to get their buried content out into search result pages using a few lines of XSLT and PHP.
The initial feedback was very positive and one of the great things about SearchMonkey - making people look more closely at the markup of their sites and the idea of adding Microformats to ease data extraction - took off almost immediately.
What are you waiting for? Start monkeying around, too!
Chris Heilmann
Yahoo Developer Network
Posted at 5:05 AM | Comments (0)
May 15, 2008
The Monkey is Out and the Challenge is On
Original post featured on Yahoo! Search Blog
It's been three weeks since we began the limited preview of Yahoo! Search's new open developer platform, SearchMonkey. Today, we're officially opening up the doors to all developers -- professionals and hobbyists -- to begin building applications that enhance the usefulness and relevance of search results.
There are three components to this open ecosystem:
- Site owners share structured data with Yahoo!, using semantic markup (microformats, RDF), standardized XML feeds, APIs (OpenSearch or other web services), and page extraction.
- Third party developers build SearchMonkey applications.
- Consumers customize their search experience.
So, what's in it for developers?
With SearchMonkey, developers have a hand in shaping the next generation of search by building customized search results and mash-ups that users can add to their Yahoo! Search experience. By leveraging structured data from sites like CitySearch, StumbleUpon, eBay, or Epicurious.com, developers can add navigational links, reviews, contact information, and even locations to provide enhanced search listings.
Developers can build two types of applications using SearchMonkey: Enhanced Results and Infobars. Enhanced Results replace the current standard results with a richer display. All the links in the Enhanced Results must point to the site to which the result refers. Infobars are appended below search results and can include metadata about the result, related links or content, or links for user actions (such as adding a movie to a Netflix queue).
The process for building SearchMonkey applications is very straightforward:
- 1) Application Type -- Decide what type of app you want to build (Enhanced Result or Infobar) and enter basic info such as application name, description and icon.
2) Trigger URLs -- Decide the URL patterns that will trigger your app. For example, for the Enhanced Result above, the pattern would be "acmemovies.com/*"
3) Data Services -- Data Services are the structured data on which SearchMonkey apps are based. They can be created using data available in the Yahoo! Search index (via data feeds or page markup such as microformats or RDF) or by using APIs or page extraction.
4) Appearance -- Use PHP to configure how structured data should appear in the application.
Announcing the SearchMonkey Developer Challenge
To foster innovation and creativity on the SearchMonkey platform, we're hosting a good old-fashioned competition. The SearchMonkey Developer Challenge will recognize innovative applications within four categories: Best Enhanced Result, Best Infobar, Most Innovative Use of Structured Data, Best Data Service, and Grand Prize (best over all categories). You have until June 14th to submit your applications for a chance to win up to $10,000.
And don't forget to come kick things off with us this evening at the SearchMonkey Developer Launch Party. Catch live demos, meet the product team and enjoy free food, beer and, of course, schwag at Yahoo!'s headquarters in Sunnyvale, CA.
Whether you can join us for the party or not, keep in touch -- visit our suggestion forum or leave us a comment below. We want to know how the tool is working out for you.
We look forward to evolving web search with you.
Amit Kumar
Director, Product Management
Yahoo! Search
Posted at 9:04 AM | Comments (4)
Are Microformats Right for Your Site?
Adding structured data to your site doesn't need to be complicated or difficult. It can be as simple as adding a handful of attributes to your page -- "'class"and "rel" are the most common. Many sites use semantic markup, and already have these attributes, in which case you can insert additional values into existing attributes, since these actually hold space-separated lists. Microformats is the name of one common method for using this kind of simple markup.
Microformats are community-driven standards, put together and maintained by volunteers outside of a formal organization like IETF. Typically, they cover well-worn use cases, a concept called "paving the cowpaths." A number of microformat specifications in various stages of development are available at microformats headquarters.
Initially, the Yahoo! Search indexer supports the following microformats:
* hCard for personal or organization contact info
* hCalendar for event descriptions and timelines
* hAtom for syndicated content as might appear in an RSS feed
* hReview to record review ratings such as "8.5 out of 10"
* XFN to track relationships on the social graph in a lightweight fashion
The Web has a huge number of helpful articles and tutorials on using microformats. If the structured data your site exposes falls into any of categories above, then microformats are probably a good choice for you.
Here's a simple example. If your personal site already has markup like this, pointing to one of your other sites:
<a href="http://myothersite.com/blog">My site</a>
Add XFN with a single attribute, like this:
<a rel="me" href="http://myothersite.com/blog">My site</a>
The value of rel="me" indicates that the other site is also representative of you.
A more involved example requires changes across more than one element. Let's say a page mentions a review of an iPod, like this:
<div>Overall, I give the iPod a rating of 8 (out of 10)</div>
To add hReview markup to this, a few additional wrapper elements are needed, like this:
<div class="hreview">
Overall, I give the
<span class="item">
<span class="fn">iPod</span>
</span>
a rating of
<span class="rating">
8
</span>
(out of
<span class="best">
10
</span>
)
</div>
This is simplified markup. Consult the microformats.org site for specific details. In general, these changes indicate that the overall structure is a review ("hReview"), that the item being reviewed is an iPod (additional details such as a URL are helpful), and the rating is 8 out of a possible 10.
What if your structured markup needs go beyond the list of supported microformats? Please provide us with feedback, as we are continuously evaluating and adding support for additional microformats. On the other hand, you might want to consider using more expressive RDF markup. If you want to expose structured data but aren't ready (or able) to make site changes yet, then you might consider writing a custom data service. Stay tuned, we'll cover these topics in future blog posts.
By the way, we'll be talking about microformats among other things later today (Thursday, May 15) at the SearchMonkey Launch Party at Yahoo!'s Sunnyvale headquarters. Here are the details – join us for a bit of SearchMonkey talk and a plenty of beer, food, and schwag.
Micah Dubinko
SearchMonkey Team Alumnus
Posted at 7:11 AM | Comments (4)
May 12, 2008
Abstracting Spatial Relationships with the Yahoo! Internet Location Platform
Note: This blog post was originally published on the Yahoo! Local & Maps Blog.
Like the London Tube Map, recording and retrieval of locations and their relationships doesn’t always have to do with their Lat/Lon. There is a more elegant way to abstract the relationships of location, and unambiguously describe places in a permanent, language-neutral manner. Since Where on Earth joined Yahoo! in 2005, Yahoo! has geo-enabled the network, including geo-tagging advertising, Flickr photos, Yahoo! Maps, and so many of the location-based services that Yahoo! has offered.
Yahoo! is now offering a developer preview of this Yahoo! Internet Location Platform.
Here’s an example of the new platform in action. Check out this photo on Flickr. This photo was geo-tagged by the user, and since it was placed on a map, we were able to give it a set of these location tags. If you browse in to the tagged metadata using the Flickr API, you’ll notice a set of geo-tags called WOEID (Where On Earth IDs) which are permanent, unambiguous, language neutral tags that represent that location.
Since we have content with a tag, we can find out some interesting things, tag 727232 for example, is Amsterdam, and we can use the new APIs that we’re releasing to find out all sorts of relevant relationship information, including:
- The parent, the administrative region of Amsterdam
- Neighbors, such as Landsmeer, Zaandam, and Watergang.
- Belong Tos, such as North Holland, Western Europe, and the Europe/Amsterdam Time Zone
- and more!
(Note: The links above are in XML, and may not be viewable in all browsers.)
This service allows you to discover location relationships from free-text place names, tag your content with location IDs for easy indexing, disambiguate numerous objects tagged with the same location, and so on.
Go ahead and check out the documentation on the Yahoo! Developer Network at http://developer.yahoo.com/geo/.
Congrats to the Yahoo! Geo team on this preview.
Michael Lawless
Sr. Product Manager, Yahoo! Maps
P.S. For more on subject, check out the post by Dan Catt on geobloggers.com.
Posted at 6:58 PM | Comments (6)
May 11, 2008
Grasping Social Patterns
Back in April, I gave a five-minute talk to a barful of Web 2.0 conference attendees in San Francisco. An audience member recorded me, and posted it to YouTube:
The event was Ignite at O’Reilly’s Web 2.0 Expo last month. This was the most recent in a series of slideshow “slams” that Brady Forrest has been putting on all around the country, and the second one held at Jamie Zawinski’s DNA Lounge in San Francisco (the first was last fall).
The format is inspired by pecha kucha. Each speaker is limited to 20 slides and five minutes. The slides advance automatically each 15 seconds. Each speaker is encouraged to tell a roomful of geeks how to do something.
The tight strictures of the format force the speaker to get to the point right away and pack as much information as possible into the allotted time. I’ll be honest: it was a bit intimidating.
The format itself turned out to be exhilarating, bringing out great performances from a number of the speakers, notably Kathy Sierra (how to make your users kick ass), Annalee Newitz (why giant monsters rule), and Lane Becker (the gruesome physical consequences of running a marathon).
I discussed some of the social design patterns (and antipatterns) that I’ve been gathering as curator of the Yahoo! Design Pattern Library. You can hear the whole talk, including facetious arena-rock shout-out at the beginning, synched up with the slides (which are harder to read in the video), by watching this slidecast:
Christian Crumlish
Pattern Detective
Posted at 8:11 PM | Comments (0)
May 9, 2008
oEmbed - Embedding third party media made easy
Web 2.0 is all about collaboration, distribution and personal configuration and probably one of the biggest traffic drivers of social networks like Facebook or MySpace are videos and photos being sent to and from your contacts.
The problem for developers of networks is that you don't want people to leave your application to see a photo or a video, which means that you need a way to only get the media and embed that. Normally this happens using the media provider's API or - if they don't offer one - screen scraping (loading the whole document and programatically finding and extracting the media).
oEmbed is a great idea to work around that issue:
oEmbed is a format for allowing an embedded representation of a URL on third party sites. The simple API allows a website to display embedded content (such as photos or videos) when a user posts a link to that resource, without having to parse the resource directly.
Flickr, Viddler, Qik, Pownce and Revision3 are the first services to support oEmbed which means you can easily access photos and videos with a simple URL.
Say for example find a nice photo on flickr:
Original URL:
oEmbed URL:
Result:
<oembed>
<version>1.0</version>
<type>photo</type>
<title>? too much myspace error</title>
<author_name>codepo8</author_name>
<author_url>http://www.flickr.com/photos/codepo8/</author_url>
<cache_age>3600</cache_age>
<provider_name>Flickr</provider_name>
<provider_url>http://www.flickr.com/</provider_url>
<width>500</width>
<height>375</height>
<url>
http://farm4.static.flickr.com/3128/2475016321_982666ec95.jpg
</url>
</oembed>
You can define the output format and the maximum width and height with URL parameters:
oEmbed URL:
Result:
{
version: '1.0',
type: 'photo',
title: '? too much myspace error',
author_name: 'codepo8',
author_url: 'http://www.flickr.com/photos/codepo8/',
cache_age: '3600',
provider_name: 'Flickr',
provider_url: 'http://www.flickr.com/',
width: '100',
height: '75',
url: 'http://farm4.static.flickr.com/3128/2475016321_982666ec95_t.jpg'
}
Supported formats for responses so far are photo, video, link and rich.
Christian Heilmann
Yahoo Developer Network
Posted at 4:51 AM | Comments (8)
May 8, 2008
Party Like a SearchMonkey
A few weeks ago, we announced SearchMonkey, an new open platform that lets developers and site owners use semantic markup and structured data to enhance Yahoo! Search results and make them more useful, relevant, and visually appealing.
We wanted to remind you that we're kicking off this launch in true SearchMonkey style with a Developer Launch Party next Thursday, May 15. Come get the inside scoop on SearchMonkey, meet with our product managers and engineers over tasty (read: free!) food and beer, see live demos, and take a closer look at the Developer Tool.
When: May 15, 2008, 5:30 -- 8:30 p.m.
Where: Yahoo! Headquarters @ URL's Cafe
701 First Ave.
Sunnyvale, CA 94089
RSVP: Email your full name and company name directly
to searchmonkeyevent@yahoo-inc.com. Space is limited.
For more information on the agenda and logistics, check out the event page.
Posted at 11:58 AM | Comments (0)
Yahoo! sponsors the kick-off party for London's Web Week
For a whole week in between 26th of May and 1st of June London, England will be a centre for all things web development. The London Web Week is a not-for-profit scheme to boost the development world in the UK and beyond and promote best practice ideas like accessibility and progressive enhancement.
Events include the by now famous @media conference, the fourth London BarCamp, a Microformats vEvent and Web Roots. To learn about all the events, check the schedule on the web week site.
To kick things off in the right fashion, we will sponsor the London Web Week Opening Party on Monday, May 26, located at the Ruby Blue Bar in London's West End.
If you are in the area, or you are coming to @media anyways, make sure to check out the sign-up page on event wax to secure a ticket, as the space is limited to 200 people.
Hope to see you there and have a blast before making this week even more special than it already is.
Christian Heilmann
Yahoo Developer Network
Posted at 9:12 AM | Comments (1)
May 7, 2008
The seven rules of pragmatic progressive enhancement - a brown bag presentation
Last week I went to AKQA in London to give a brown-bag presentation on progressive enhancement.
I took this chance to vent some of my ideas on the subject and counteract some of the criticisms I heard about the need for enhancing web solutions progressively.
I've come up with the following "Seven rules of progressive enhancement":
- Separate as much as possible
- Build on things that work
- Generate dependent markup
- Test for everything before you apply it
- Explore the environment
- Load on demand
- Modularize code
I've explained them in further detail in the slides available on slideshare:
Furthermore I put some more information in an article on the subject: Pragmatic Progressive Enhancement.
The article is licensed with creative commons, so you are very much invited to use and remix it to your needs.
Chris Heilmann
Yahoo Developer Network
Posted at 1:19 PM | Comments (1)
May 6, 2008
Building a Better Website With Yahoo!
Editor's note: This post by Yahoo! front-end developer Tyler Hall originally appeared on his personal blog, Click on Tyler.
It's been a long time coming, but last month I finally pushed out a new design for my personal website, Click on Tyler. I rebuilt it from the ground up using two key tools from the Yahoo! Developer Network:
The new design is really a refresh of the previous look with a focus on readability and speed. I want to take a few minutes and touch on what I learned during this go-round so (hopefully) others might benefit.
Color Scheme
Although I really liked the darker color scheme from before, it was too hard to read. There simply wasn't enough contrast between the body text and the black background. I tried my best to make it work. I searched around for various articles about text legibility on dark backgrounds. I increased the letter spacing, the leading, narrowed the body columns, and everything else I learned in the intro graphic design class I took in college. The results were better, but my gut agreed with all the articles I read online which basically said "don't do it." So I compromised and switched to a white body background, while leaving the header mostly untouched. I find the new look much more readable -- hopefully this will encourage me to begin writing longer posts.
CSS and Semantic Structure
The old site was built piecemeal over a couple months and, quite frankly, turned into a mess font-wise. I had inconsistent headers, font-weights, and anchor styles depending on which section you were viewing. With the new design, I sat down (as I should have before) and decided explicitly on which font family, size, and color to use for each header. I spec'ed out the font sizes using YUI's percent-based scheme which helps ensure a consistent look when users adjust the size. (Go ahead, scale the font size up and down.) An added bonus was that it forced me to think more about the semantic structure of my markup. (If you have Firefox's Web Developer toolbar installed, try viewing the site with stylesheets turned off.) If there's one thing I learned working for Sitening, it's that semantic structure plays a huge part in your SERPs.
Optimizing With YSlow
At OSCON last summer, I attended one of the first talks Steve Souders gave on YSlow -- a Firefox plugin that measures website performance. That, plus working for Yahoo!, has kept the techniques suggested by YSlow in the back of my head with every site I build. But this redesign was the first time I committed to scoring as high as I could.
As usual, I coded everything by hand, paying attention to all the typical SEO rules that I learned at Sitening. Once the initial design was complete and I had a working home page, I ran YSlow.
Ouch. A failing 56 out of 100. What did YSlow suggest I improve? And how did I fix it?
- Make fewer HTTP requests - My site was including too many files. Three CSS stylesheets, four JavaScript files, plus any images on the page. I can't cut down on the amount of images (without resorting to using sprites - which are usually more trouble than they're worth), so I concatenated my CSS and JS into single files. That removed five requests and brought me up to an "A" ranking for that category. (I'm further toying with adding the YUI Compressor into the mix.)
- Use a content delivery network - At Yahoo! we put all static files on Akamai. Other large websites like Facebook, Google, and MySpace push to their own CDNs, too. But what's a single developer to do? Use Amazon S3 of course! I put together a quick PHP script which syncs all of my static content (images, css, js) and stores them on S3. Throughout the site, I prepend each link with a PHP variable that lets me switch the CDN on or off depending on if I'm running locally or on my production server. (And, in the event S3 ever goes down or away, I can quick switch back to serving files off my own domain.)
- Add expiry headers - Expiry headers tell the browser to cache static content and not attempt to reload it on each page view. I didn't want to put a far future header on my PHP files (since they change often), but I did add them to all of the content stored on S3. This is fine for images that should never change, but for my JavaScript and CSS files it means I need to change their filename whenever I push out a new update so the browser knows to re-download the content. It's extra work on my part, but it pays off later on.
- Gzip files - This fix comes in two parts. First, I modified Apache to serve gzipped content if the browser supports it (most do) — not only does this cut down on transfer time, but it also decreases the amount of bandwidth I'm serving. But what about content coming from S3? Amazon doesn't support gzipping content natively. Instead, in addition to the static files stored there, I also uploaded their gzipped counterparts. Then, using PHP, I change the HTML links to reference the gzip versions if I detect the user's browser can handle it.
- Configure ETags - ETags are a hash provided by the webserver that the browser can use to determine if a file has been modified before downloading it. Amazon S3 automatically generates ETags for every file -- it's just a free benefit of using S3 as my CDN.
So, all of the changes above took about three hours to implement. Most of that time was spent writing my S3 deploy script and figuring out how to make Amazon serve gzipped content. Was it worth it? See for yourself.
Wow. Three short hours of work and I jumped to a near perfect 96 out of 100. The only remaining penalty is from not serving an expires header on my Mint JavaScript.
Do these optimization techniques make a difference? I think so. Visually, I can tell there's a huge decrease in page rendering time on both Firefox and Safari. (IE accounts for 6% of my traffic, so I don't bother testing there any longer.) More amazing, perhaps, is the site's performance on iPhone. The page doesn't just load -- it appears.
I've made a bunch of vague references to the S3 deploy script I'm using and how to setup gzip on Amazon. In the interest of space, I've left out the specifics. If you're interested, contact me with any questions and I'll be happy to help.
Tyler Hall
Front-end Engineer
Posted at 5:57 PM | Comments (6)
May 2, 2008
Yahoo! Live empowers deaf users to chat online
Sometimes you stumble across use cases of your products that you just did not expect. During my talk at the Accessibility 2.0 conference last week I pointed out that technology that seemingly is a stumbling block for accessibility can actually be a benefit for disabled users.
The example was the ease of being able to annotate and caption photos in Flickr enticing a lot more users to enter sensible captions and text which in return makes it easier to find the photos and describe them to non-sighted users.
Now we found out via Amy Cohen Efron's blog "Deaf World as Eye see it" that deaf users have discovered Yahoo Live as an opportunity to chat online.

This is wonderful news, and proof that products that are on the bleeding edge and use technologies with a reputation for inaccessibility can actually benefit users overcome boundaries and make them communicate using "web 2.0" products despite their disability.
It is also a great example that accessibility is about all kind of disabilities, and that technology can be the solution rather than a hindrance.
More reading:
- LaRonda Zupp on the addictiveness of Yahoo! Live for the deaf community
- Scott Gatz on decisions being made to make Yahoo! Live inclusive for all users
Yahoo Developer Network
Posted at 10:18 AM | Comments (1)
Neal Sample on Yahoo's Open Platform at Web 2.0 Expo
Many of you probably saw the video of our CTO, Ari Balogh, give a 15 minute keynote talk at the Web 2.0 Expo about our forthcoming platform for developers. While Ari did a very good job of presenting a high-level overview of Yahoo's Open Strategy (YOS), there's only so much one can say in 15 minutes.
As a follow-up, Neal Sample (YOS Chief Architect) gave a 40 minute deeper dive presentation last Friday. In this video he begins with a recap of the information presented in Ari's keynote and then spends time providing more in-depth explanations and examples of the various YOS platform components: update notifications, social connections, the activator, and more.
Expect to see more and more in-depth videos with various YOS engineers in the coming weeks and months.
Jeremy Zawodny
Yahoo! Developer Network
Posted at 7:49 AM | Comments (0)
May 1, 2008
Location, Security and easy API walkthroughs - the Fire Eagle Developer Evening in London, UK
Around 50 developers met yesterday in London, England to hear all about Yahoo's new location based service Fire Eagle. In two short presentations and a long Q&A session Tom Coates and Seth Fitzsimmons from the Fire Eagle team helped developers get their head around the concept and technicalities of Fire Eagle. They were aided by Steve Marshall, developer of the Django Fire Eagle Authentication wrapper and co-developer of Fireball.
Fireball is a mashup using Fire Eagle, Twitter and Upcoming and was all the rage at the Web2.0 Expo in San Francisco a few days ago.
The main purpose of the Fire Eagle Developer Evening was to get to know developers in the UK that can benefit from Fire Eagle and make it easier for them to take their first steps.
We reported about Fire Eagle before, but to re-iterate in a nutshell:
- A lot of applications allow you to tell the world where you are physically located either using GPS devices, or by entering the information by hand.
- Other services and applications are consuming this information and do something with it (in the simplest case showing you a map centered around your location).
- Fire Eagle sits in between all of these applications and makes it easy to set your location (and if needed disambiguate it) and retrieve this information in easy to digest formats for consuming services.
Using Fire Eagle as a central point of storing and retrieving your location it becomes easy for a lot of services to improve the quality of their results - information and services becomes literally easy to reach as they are in your area.
During the evening Seth and Steve showed examples in Ruby and Python how to access the different API methods and set up your first small application using Fire Eagle.
One of the main concerns of the team is security and protection of private data. This is why Tom walked the audience through the benefits of the OAuth authentication standard and its implementation in Fire Eagle. Another point he made very clear is that creating a location-based application is quite a responsibility and that any developer for Fire Eagle should abide to their code of conduct.
All in all it was a great evening of beers, pizza, lots and lots of laptops and code and hopefully we'll see a lot of great applications using Fire Eagle coming out of it.
I've uploaded a bunch of photos of the event and the shenanigans beforehand to flickr so see what you missed there.
If you want to play with Fire Eagle and need an invite code, leave a comment with a valid email and we will send you one - there are some left over from the event (around 20).
This was one of many developer evenings to come in Europe. We set up a mailing list for European YDN events in case you want to take part in the future and hear about them first-hand.
Christian Heilmann
Yahoo Developer Network
Posted at 6:42 AM | Comments (12)
Subscribe
Recent Blog Articles
view all
The state of mobile browsers - PPK in London
Thu, 02 Jul 2009
GeoMaker - Turning web content into maps made easy
Wed, 01 Jul 2009
Tue, 30 Jun 2009
Hacking Up North : Winners of the Sunderland Hack Challenge
Fri, 26 Jun 2009
ConvergeSC web event comes to South Carolina
Wed, 24 Jun 2009
Recent Links
Junta42 blog: News Flash: Guardian Seeks to Grow through Products, Not Content
Fri, 03 Jul 2009
Twitter Approval Matrix - June 2009 - O'Reilly Radar
Thu, 02 Jul 2009
YUI 3.0 with Jonathan LeBlanc from the Yahoo Developer Network | Unmatched Style
Wed, 01 Jul 2009
Yahoo! Search Blog: VoCampers Converge at Yahoo! Headquarters in Sunnyvale
Thu, 25 Jun 2009
Make: Online : Dorkbot London June 23
Mon, 22 Jun 2009
Archives
2009
2008
2007
2006
2005










