Scribbles and Bits

by Derek Gathright

Joining YUI

It seems like just yesterday I accepted a position with Yahoo and began a new adventure. These last 18 months have been an incredibly exciting time in my life, and am very thankful to have been given the opportunity. I can confidently say that Yahoo is -the- best place to work as a front-end engineer.

Well, the next chapter is about to begin.

Tweet: Exciting day. Accepted a position with the YUI team at Yahoo. Yes, that means I'll be moving to NoCal. Watch out San Fran! I'm comin for ya.

(Note: I’ve since learned it is actually “NorCal”, not “NoCal”. Me = California noob.)

What is YUI?

YUI (mostly pronounced “Y U I”, sometimes “Yooey”) is an abbreviation for the Yahoo User Interface library. It’s a project that began in 2005, and was open-sourced in 2006. It is primarily a JavaScript library, but also contains some CSS components as well (see: Grids, Reset). It is used extensively across just about every webpage Yahoo has, and it is popular externally as well.

The reason we need JavaScript libraries is because web browsers have inconsistent implementations of the CSS & ECMAScript (JavaScript) standards. Some browsers render something one way, while others do it in another way. We need to level the field and have a standard way to make stuff happen in the browser, so it’s the job of the library to abstract out all the differences and give developers a sane way to make your browser do something.

You can read more about the concept on Wikipedia: JavaScript Library.

Why is YUI awesome?

Early on in my time at Yahoo, it became pretty clear to me that at some point in my career, I wanted to work for the YUI team. Here’s why…

  • It’s an open-source project with a very liberal BSD license. Yay!
  • It’s widely used both inside of Yahoo, and externally as well.
  • It’s a very exciting time for JavaScript as it invades the server (thanks to projects like Node.js) and YUI runs amazingly well in a server environment. Better than any other full-featured JS library.
  • YUI’s module system is one of the best out there. It allows you to create lean, fast, and portable applications.
  • YUI is way more than just a DOM manipulation library, it is a platform for JavaScript applications. For that reason, I think YUI is in a great position to really make an impact as JavaScript is used in new & innovative ways.
  • It’s one of the most important projects Yahoo is working on and gets immense support from within the company. It even has its own conference.
  • The YUI team and the YUI community are equals. The YUI Gallery allows anyone to contribute to the collection of modules YUI can use, and we’ll even host the code for you.
  • YUI has some of the brightest, and most passionate people in the industry working on the project. It’s an honor to be considered among them.

If you read my post on the mentality of the engineer, you’ll know that I really appreciate a good challenge. Well, this is going to be one of the funnest, most exciting challenges of my career thus far. As I listened to the FLOSS Weekly podcast episode on YUI back in 2008, if you told me I’d one day be working on that project, I would have laughed in your face.

I have a ways to go before I feel I’m at the level a YUI’er should be, but I can’t wait to get started.