Event Details

Location

Fairmont San Jose
170 S Market St
San Jose, CA 95113
View Map

Rates

Regular Registration $1,650

Register now, attendance is limited.

Register 3 and 4th is free

Register Now »

Event Management

  • The Rich Web Experience is a production of the No Fluff Just Stuff Symposium Series. Since 2002, NFJS has produced over 130 technical events with over 22,000 participants. Be sure to attend The Rich Web Experience and find out what the NFJS experience is all about!
  • No Fluff Just Stuff - The Premier Java / Agility Event Series

Registration

Learn Rich Web Techniques to
    Take Your Web Development to the Next Level

The No Fluff Just Stuff symposium series is pleased to announce The 2008 Rich Web Experience : West coming September 8 - 10, 2008 to San Jose, California. RWE will cover all of the hot areas of interest in the web space today: JavaScript, Ajax, CSS, Flex, Design, and more. RWE will feature 6 parallel tracks, over 35 speakers, 50 technical sessions, panel discussions, and keynote presentations. At RWE you will interact with industry experts, project leads, authors, and top developers.

Take Advantage of Early-Bird Registration

Save $200 with early bird rates. Early-Bird registration ends Monday, August 18th. In addition, the first 300 to register for each event will receive an iPhone 3G!

Call for Papers is Still Open

Are you interested in presenting at the Rich Web Experience? We still have some spaces still available and we want to hear from you. Please fill out a speaker request.


Featured Sessions

By Molly Holzschlag

While CSS might be the Web's Lingua Franca of presentation and design, it's
the Front End Developer who finds that he or she has to optimize CSS
documents, manage multiple CSS documents across any number of actual Web
pages, ensure that conflicts and errors are properly addressed and
effectively work with multiple browser hacks, conditional comments and
scripts related to browser compatibility.

By Molly Holzschlag

IE8 brings with it some very interesting history as well as current realities of which we as developers must be aware.


By Molly Holzschlag

As we enthusiastically embrace the many technologies that come together to create Web applications, it's important to also stay aware of the societal impact our software offers. In particular, social applications offer a foundation for improvements in all kinds of relationships. Spanning from business-oriented apps that enhance networking and economic opportunities to the more personal social applications that allow for myriad interaction, the social application deserves our attention not just as technologists, but as individuals and communities, too.

By Bill Scott

In every field of design one of the first things students do is learn from the work of others. They study and break down real-world examples in order to understand the underlying principles and patterns that make for successful design. Then they learn to apply these to their own set of problems. The real trick is to apply them in a nuanced manner. To be nuanced is "to be sensitive to delicate differences of style." Most of the art in crafting a rich experience on the Web can be summed up with this one word -- 'nuance'.

Over the last 24 years Bill has been involved in the study of nuanced design in crafting rich interfaces. Prior to joining Netflix, Bill led the effort to launch the public Yahoo! Design Pattern Library where he cataloged many examples of common design patterns. More recently Bill has been working on an upcoming O'Reilly book on design that explores the nuance of rich Web interfaces.


By Brian Sletten

You hear a lot of talk about rich clients, but the richness they purport to provide is predicated on having access to rich data as well as a rich user interaction style. Without the right levels of abstraction, it is hard to address and link all of the data we have to care about these days. Additionally, the web sites that do support the notion of linking require you to publish your data into TheirSpace. Forget that. You want to be able to link publicly available information to sensitive information in YourSpace.

Ever since we started doing relational joins, we've looked for ways to tie data together. The problem is, the relational model is a bit tired and doesn't move at the speed of the Net. We need schemes that integrate relational data, web pages, XML files, RSS feeds and various other sources of information.


By Greg Wilkins

The core concepts of Comet (Ajax Push) applications are not complex and most Ajax applications can be simply converted to demonstrate comet abilities. Comet applications are easy to write, but can be very hard to test, debug, scale and deploy. But for comet, demonstrating a chat room
on a test server is a long way from having a robust scalable production ready application.


By Jason Harwig

I hate images. Not pictures or icons, mind you, but user interface graphics. I think that small gradient PNGs that web developers set to repeat are the spacer gifs of today. Images are hard to change, and slower to download.

Canvas is an HTML 5 standard for drawing bitmap graphics. It was created by Apple Inc, for drawing dashboard widgets. Since then all other browsers have added support (it works in IE with a JS library).

By Jason Harwig

Like it or not, JavaScript is the language used for any kind of web development. Since it's the only supported language of the browser, and customers demand rich web experiences, JavaScript is the king of the web. But, increasingly complicated user interfaces require a more disciplined approach to coding in the scripting language.

JavaScript's malleable nature allow it to be used in different programming paradigms including procedural, functional, and object-oriented. Unlike Java's class-based structure, JavaScript has a prototype inheritance structure that gives it great flexibility.

By Kris Zyp

In this session, we will examine several powerful forms of JSON including REST JSON, JSPON, and JSONPath, to achieve powerful capabilities with JSON. We will explore the capabilities of Ajax-accessible REST databases. The dynamic nature of non-relational databases can provide significant benefit in rapidly developing applications, and providing JavaScript object persistence. Client-side code can directly participate in database interaction, simplifying the typical web application stack. CouchDB, Persevere, and ActiveResource utilize a JSON REST interface.

By Kris Zyp

With the emergence of JSON Schema and Referencing conventions, there is new potential for true distributed computing paradigms in the web by leveraging portable type definitions in combination with persistence and referencing techniques. These capabilities can be brought together for a powerful new paradigm of interoperable data and web services with coherent remote method interaction using JSON-RPC. We will see how applications can be expressed as portable persisted object graphs, and how referencing capabilities can provide a foundation for cross-site persisted object graphs and well-defined distributed applications. Mashups can be built with higher levels of coherency in a distributed persistent environment.

By Mark Meeker

When Orbitz Worldwide released a new generation of its global technology
platform there were some lofty goals for the UI. They wanted to build a
presentation tier (HTML, CSS, JavaScript) that would meet the goals of
internationalization, accessibility, have rich Ajax interactions, and be
faster and easier to develop in.

By Nathaniel Schutta

Thanks to Ajax, JavaScript is cool again and developers are taking a second look at this much maligned language. This session will give you an overview of this misunderstood language as well as opening your eyes to some of the excellent tools available to ease the pain of developing in this dynamic language.

By Nathaniel Schutta

So you've convinced the boss that your new web application just has to have Ajax...but now what? With dozens of libraries making even the most blinkish of interactions trivial, how do you decided where to sprinkle the magic Ajax dust? This talk will give a plain old boring "web 1.0" an Ajax facelift with a focus on improving the user experience providing you with a game plan for introducing Ajax to your world.

By Neal Ford

This session discusses advanced Selenium techniques for testing web applications. It discusses techniques for both TestRunner and Remote Control Selenium, including data driven tests, creating branch points, testing Ajax applications, creating flexible tests, integration with continuous integration, and tons more.

By now, just about everyone has heard of Selenium, the revolutionary open source testing tool for web applications. This session takes Selenium to the next level, showing how to handle complex, real world scenarios in Selenium. It discusses Selenium setup for both TestRunner and Remote Control.

By Nicholas C. Zakas

The YUI Compressor does a lot of things to make your code smaller, but it's still based on a series of rules to ensure that it doesn't break your code. Understanding how the Compressor works makes it easy to write your code in particular ways to squeeze out every last byte of optimization. You can help the Compressor to do its job by using a few simple techniques.

By Nicholas C. Zakas

A common step that is missing from front end development is a build step. Developers have become accustomed to the code-run two-step process that, at first, introducing a build step seems like a time sink. However, when done correctly, a adding a build step into the development process can actually improve productivity, free the developer from mundane tasks, and aid in deployment.

By Nik Krimm

Effective testing is key to professional software development. Static code analysis is an often neglected at the UI, but can eliminate whole classes of defects and regressions, and increase confidence when refactoring. Learn how to author and use scripts to automate CSS validation, find defects in JavaScript, identify dead or missing code, and enforce global coding standards. These techniques are especially valuable for large or distributed teams.




By Nik Krimm

Modern JavaScript libraries help abstract away cross-browser issues, and make hard things easy. However, performance is often an issue, and design choices by library vendors may have unexpected consequences downstream.

By Richard Monson-Haefel

For the past ten years, application developers have been stuck with only two desktop client choices: a very thin Web-client technology implemented in HTML and CSS, or a very heavyweight thick client experience implemented using traditional client/server (C/S) technologies (e.g. Java Swing, MFC). It wasn’t until the introduction of Rich Internet Application technologies (e.g. Ajax, Adobe Flex, Curl and Silverlight) and widget engines (e.g. Yahoo! Widgets and Google Gadgets) that we were given more options.

Now, these four desktop client options are beginning to converge into a single form - the Fit Client (It's not too thick and not too thin). Each of the options that preceded the Fit Client have their own benefits and are well suited for specific scenarios - the Fit Client represents the best of all these technologies. This session examines the strengths of the Fit Client and the shift in industry focus to a platform that provides the best of thin and thick client technologies.


By Scott Davis

How optimized is your website? YSlow, a FireFox/FireBug plugin, doesn't pull any punches. It gives any website an A, B, C, D, or F rating based on 14 individual analysis points. You'll be amazed (or depressed) at what YSlow thinks of your site. In this talk, we'll walk through these points step by step, learning what Yahoo! (the creator of this utility) does to keep its web properties running as quickly as possible.

By Scott Davis

Yahoo! is a company that eats its own dog food. They open sourced the Ajax code that drives many of their own websites, including their eponymous homepage, Yahoo! Mail, and Yahoo! News. Come see first hand how the various pieces of the library work together as a seamless whole.

We'll look at some of the everyday useful widgets like the onscreen JavaScript logger (which effectively brings Log4J-style logging to JavaScript) and the calendar components. We'll see how event handling is managed in a cross-brower fashion. We'll look at tabbed interfaces, multi-level menus, and panels and dialog boxes that end up making your website look more like a OS-level desktop than a traditional webpage.


By Scott Davis

Based on the book GIS for Web Developers, this talk demonstrates how you can build your own Google Maps in-house using nothing but open source software. The Portland, Oregon Transit Authority recently migrated from a proprietary web mapping solution to the suite of 100% free and open source software discussed in this book. We look at Java-based clients, Java-based servers, and everything in between. We also discuss integrating free, public domain data from sources like the US Census Bureau and the USGS. If you're looking for real-world examples of AJAX in use, you'll find it here. If you're looking for real-world examples of web services in use, you'll find it here.



By Shashank Tiwari

Real-time event driven highly responsive systems are replacing their legacy pull based counterparts in many application scenarios. Driven by the need for faster and better decision making such applications are seeing rapid adoption in many disparate domains, including financial services, healthcare, telecom and transportation. Such systems have two main elements: (1) a fast event stream processing and complex event processing engine and (2) a highly interactive and engaging user interface, which gets updated as the underlying data evolves.

By Stuart Halloway

The rise of Ajax and Rich Web Applications, plus the success of dynamic languages, has caused people to revisit the JavaScript language. Now that we take JavaScript seriously as a language, it is time to get serious about the quality of JavaScript code, through refactoring. In this talk, we will approach refactoring JavaScript in three phases:

Test first, then refactor. Bring JavaScript code under test, so that you can refactor with confidence.
Refactoring 101. Explore some important refactorings: composed method, extract method, introduce named parameter, and extract object
Common problems. Work through three problems endemic to legacy JavaScript code: making JavaScript unobtrusive, refactoring to prototype-based inheritance, and refactoring to functional style.


By Stuart Halloway

Prototype and Scriptaculous provide great functionality out of the box, but once you use them for a while you will probably want a little more. In this talk, we will look at tips and tricks for getting the most out of Prototaculous, plus some other libraries that can play nicely.