Implementation Focus: Avenue A | Razorfish
As 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.
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?
"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?
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?
- AutoComplete Control on searches for a major global financial services provider.
- Animation, DOM, and Connection Manager Utilities were used to create modal dialogs, drop down menus, and AJAX interactions for the redesign of Intermec Corporation.
- Calendar Control for Southwest Airlines and for an intranet application for a leading biotech firm.
- DOM Collection and Connection Manager on several Yahoo! Projects, including Yahoo! Talent Show.
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?
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.