Implementation Focus: Avenue A | Razorfish

By YUI TeamJune 15, 2007

Fred WelterlinAs part of our ongoing effort to understand (and share with you) the real-world experiences of YUI implementers, we met a few weeks ago with a team from Avenue A | Razorfish, an agency that works with many Fortune 100 clients to build best-in-class applications for the web and for corporate intranets. AA|RF has the unique agency perspective of working regularly with a wide range of technologies. We sat down with AA|RF's Fred Welterlin to learn more about his group's experiences in doing frontend engineering in the agency world.

As senior presentation layer developer, graphical alchemist, and Web Standards advocate with AA|RF, Fred's experience and areas of focus include designing, architecting, and programming client-side templates, providing project management and technical recommendations, and developing multimedia widgets. Fred has ten years experience working as a user interface designer and developer — responsible for conceptual and practical design development for a wide range of business and industry needs.

From left to right: David Lazzarini, Oliver Langan, Chris Nardi, John Kepler, Julia Debari, Fred Welterlin, Ryan Triggs, Vikas Sharma, Marie De Luna

How has the nature of your web-development work for clients changed over the past couple of years, with the move toward more richness and client-side complexity?

One of AA|RF's greatest strengths as an agency is in creating compelling user experiences. The advent of such client side technologies as AJAX, JavaScript libraries, Flex, etc. has given us the ability to further enhance our capabilities in delivering next-generation user interfaces. Since many of our clients have existing back-ends, the amount of "richness" we can deliver tends to rely on how well client-side technologies can be integrated. Thus, we are especially interested in easily integrated, flexible, platform agnostic front end technologies.

"Web standards" based coding practices have also become an important aspect our development cycle. As projects get touched by multiple developers, and as timelines and resources evolve, having well written, semantic code structures not only helps in terms of organizing complex functionalities effectively, but also ultimately benefits the user in terms of a streamlined, highly performant experience.

Because you work with the technologies that your clients have already implemented, you end up touching a lot of different frontend tools — YUI, Dojo, Prototype, jQuery, etc. What role are these tools typically playing in your projects for your clients?

The biggest impact that a client-side JavaScript library can have for AA|RF is in rapid prototyping for client pitches, and speeding up the development process for existing projects. Often, the turn around time for client deliveries is really tight, and the projects themselves are complex enough that having a client side framework is critical — after all, no one wants to recreate the wheel. Since JavaScript libraries also take care of many browser quirks, they give us the freedom to concentrate on what is most valuable to our clients — building better and richer user experiences.

You've implemented YUI as part of some major projects — when a traveler books travel with Southwest Airlines, they're likely to run into the YUI Calendar Control as a result of your work, for example. What are some of the most significant customers with which you've used YUI, and what parts of YUI did you use on those projects?

We used:

The AA|RF redesign of the Intermec website using YUI.

If you were asked to give advice to someone who was considering adopting YUI at this point in time for RIA development, what would you tell her about YUI's core strengths?

Along with the excellent documentation, community support, and available list of commonly used controls, the design patterns and examples for implementing YUI is where this particular toolkit stands above competing libraries. I see YUI as having been originally created to accommodate design needs by Yahoo's very own web properties, thus leveraging the knowledge of the entire company's collective experience (from web performance specialists, to UX specialists, developers, and designers, etc). The resulting toolkit provides not only common interface widgets, but also useful CSS design patterns, graded browser support patterns, hosting services, even plug-in style components, like Bill Scott's carousel.

What would you say are areas where YUI needs to continue growing and improving?

I would like to see YUI continue to stay in touch with developer needs in the industry. For example, one of the aspects that make jQuery really successful is that it was written by someone who needed a concise, straight forward way to handle typical JavaScript tasks. YUI has a similar appeal, in that it is sympathetic to the JavaScript hacker type person who needs to do quick and easy implementations, while still providing a powerful framework to accommodate an enterprise-level implementation. Your challenge is to continue developing YUI so that it can meet the goals of both of these archetypes.

For an agency like AARF — and ignoring for the moment the Microsoft acquisition — how do your developers feel about the ever-broadening list of technologies in play, from DHTML to Flash to Apollo to Silverlight to JavaFX Script and beyond? Is it a great time to be in this industry, or is the supply of divergent platforms beginning to make it even harder to provide flexible agency-style support?

Although these technologies are "seemingly" similar, they all have their strengths and weaknesses. What Silverlight brings to the table is something completely different from what Apollo has to offer. We have always been about taking a 'business needs first' approach as far as technology choices are concerned and continue to do so. All the newly emerging tools have essentially enabled us to conceive and deliver experiences that were not possible before.

In general, having an ever-broadening list of technologies to choose from is good for the web dev industry in the same way that having many auto makers competing with each other for better, more efficient automobiles is good for consumers. For AA|RF in particular, the long list of technologies to choose from is a double-edged sword because on the one hand, its great to have the flexibility to choose a framework that best meets a client's needs, on the other hand, as most developers like to specialize, it becomes more difficult to manage resources and place expertise on the appropriate project at the right time.

The good news is that there are certain interface development paradigms that have emerged as "standard" on all these new platforms. In the interest of wooing as many developers as possible, technology tool vendors are sticking to those standards, thereby reducing the learning curve quite a bit. In any case, there has never been a more exciting time to be working on the client side.

Do you have a YUI implementation that would be of interest to the YUI community? If so, please share your link and post a message to the community forum at YDN-JavaScript, or leave us a message in the comments section below.