nate koechley's blog

http://nate.koechley.com

You're browsing the “Engineering” category.

It’s just been confirmed and announced that I’ll be speaking in Taiwan at the Open Source Developers’ Conference on the 12th and 13th of April 2008, on the campus of the School Of Continuing Education, Chinese Culture University in Taipei. My talk will offer an insider’s tour of the YUI Library:

The YUI Library is an open-source, a la carte JavaScript library for building richly interactive Web apps using techniques such as DOM scripting, DHTML, and AJAX. This library, free for the world to use, is the exact same code that is used globally and at massive scale on scores of Yahoo! sites. In this session, Yahoo!’s Nate Koechley will talk (and answer questions) about the design and technical philosophies behind YUI. You’ll learn what the library can do for you, where it’s heading, why and how Yahoo! decided to open-source it, and how you can use it to provide an outstanding user experience for your visitors.

OSDC.TW 2008 時間

在經過最後確認之後,我們已經正式公佈 OSDC.TW 2008 的時間跟地點:

時間:2008/4/12-13 地點:中國文化大學推廣教育部博愛校區 - 大新館

Douglas Crockford has a plan for Fixing HTML. I think it makes sense. His proposal is a static document, but comments are collected on his related blog post.

In the comments you’ll see a few issues pop up (empties, quotes, get-bys), but after further reflection I think they are without merit.

I know there’s a bit of a backlash against Green because its so trendy lately, but I can easily put that aside and be happy that things are changing. That takes on special meaning today because I just saw that Yahoo! is quickly following promises with real action, and making what seem to be excellent, well-researched green choices.

When Yahoo! committed to going carbon neutral in April, we knew it would be a global initiative. … After much due diligence, Yahoo! has decided to offset its 250 thousand metric ton carbon footprint from 2006 through hydropower in rural Brazil and wind turbines in India. We’ve partnered with EcoSecurities and CantorCO2e, who helped us source, vet, and execute these projects.

(Some are still skeptical about carbon offsets, but I see any step as a great early step.)

I spend a lot of time thinking about what it means (and takes) to build a high-quality, professional web site or application. I consider the whole spectrum, from macro concepts like Graded Browser Support, Separation of Concerns, and Progressive Enhancement to micro rules like never employ href="#" and always use the label element to bind text to form controls.

It’s difficult to compose a prescriptive list of all the issues a "perfect site" must satisfy. So, lately I’ve been think from a different perspective. Instead of "what it takes to be great," I’ve been asking myself "what does a great site NOT do? More specifically, I’ve been assuming a perfect site gets 100 points initially and then loses points for shortcomings.

Here are a few examples that I could use to measure a site:

  • -1 point for each instance of href="#", (max of -5).
  • -5 points for redirecting old browsers to a "you must upgrade" page instead of letting them see the plain linear content at least.
  • -2 points for design degradation at +/-1 font-zoom level; -1 for degradation at +/-2 zooms.
  • -1 for each form element missing an associated label element.
  • -2 for a missing (or malformed) doctype

It’s too early to debate the mechanics (should it be -1 or -2 points), but I like the approach in general and am going to keep playing with it this week. One good way I’ve found to discover the list of things is to find a nice modern page, hit view-source, and start giving it a code review. Each thing that catches my eye probably belongs on the list, somewhere at least.

I’m quickly building a longish list — and will publish it before too long — but right now I want to ask: What would you put on the list?

Tim O’Reilly, in a nice rebuttal to the flame up of silly "Web 3.0" noise over the last few days, gets much right. I agree with everything up until he writes:

Google is the pre-eminent Web 2.0 success story, and it’s all back-end! Every major web 2.0 play is a back-end story. It’s all about building applications that harness network effects to get better the more people use them–and you can only do that with a richer back end.

Um, no. I agree with his reminder that Web 2.0 does not equal some specific technology (ahem, DHTML/Ajax), but to say that front-end magic has nothing to do with the Web’s 2.0 resurgence, or, more specifically, that front-end technology has nothing to do with Google’s darling status just doesn’t cut it for me.

[Oddpost and] Gmail reminded most of us that you shouldn’t need a page refresh to read your web mail, and that the improved efficiently is good, welcome, and here to stay. Sure, it’s cool their back-end provides unlimited storage and great spam filtering, but it’s the great interface that gets people’s hearts beating and them coming back for more. [G]Maps noted that in the real world you can slide the map left and right in front of your eyes, and that offering the same direct-manipulation interface online is better than the one-tile-at-a-time approach. Sure, Satellite and Hybrid views are cool, but without drag and drop the game hasn’t changed. (TerraServer and others offered Satellite view since the last 90’s at least, but it wasn’t a gamechanger.) Tags are cool, and he’s correct that Flickr is largely a network-effect play — but Flickr also showed that reducing the cost of adding tags (by not requiring a refresh) made for more tagging, and therefore more network effect. Google Docs (previously Writely) is all about complex front-end engineering.

I grant that these services are made possible by increasingly sophisticated back-end systems, and that other Web 2.0 systems such as Last.fm or Ad Sense are fundamentally back-end systems. But to say that the world’s Web 2.0 fascination is related exclusively to clever back-end shenanigans misses the mark. My point is that you wouldn’t recognize Web 2.0 without the glamour and power of today’s front-end interfaces and techniques..

It’s never been a better time to be doing front-end engineering. DHTML/Ajax is not Web 2.0, but it’s hard for me to imagine the recent resurgence without it.

I submitted a session proposal for the 2008 South by Southwest Interactive Festival. There are about 600 proposed talks and panels. Only a fifth of those will be chosen. Though there’s an editorial aspect to the selection process, the primary factor is democratic. So, if you would, please take a moment to review the description of my session and vote for it if you find it interesting.

You need to register on their site before you can vote, but it only takes a second.

As the description says, the talk is based on a book I’m writing with Matt Sweeney. (Yes, writing a book. An exciting prospect, but a challenge, too.)

Here’s my talk’s page on their Panel Picker application. And here’s the description:

The State of Professional Front-End Engineering

An immense body of theory and practice in the front-end engineering discipline has evolved in the past decade, particularly in the past four years. This talk draws from my forthcoming O’Reilly book, separates signal from noise, and codifies the state of the art of Professional Front-end Engineering.

Thanks!