Trellis is a component-based, event-driven Web micro-framework that provides a DSL to describe web applications in terms of pages, components and events. It combines the best features of desktop application development and modern MVC frameworks like Rails and Sinatra. Trellis pushes the complexity of building web applications onto components allowing you to build simple lightweight applications or complex, feature-rich applications.

Most useful applications today integrate with other services. Learning to build simple, focused applications that connect to more robust solutions can be as much of an art as it is a science. This presentation is a collection of ideas implemented by successful applications as well as the presenter's own experiences connecting his apps to other systems. Technologies covered include ActiveResource, DataMapper Adapters, as well as custom connection technologies.

In case you've been living under a rock for the past couple of years, chances are you've heard of HTML5 and even seen some demos. This talk will dive deeper than just the video tag and show how you can start leveraging HTML5 features in your webapps today. There will be plenty of code examples so come ready to get your hands dirty.

Maybe you need a bot to track the price of vintage all-metal Optimus Prime figurines on Ebay or Craigslist. Or maybe you want to monitor blogs and Twitter for references to his Energon Axe. It could be that your ready for romance and need an automated way to find others, on nerdpassions.com, who share your affection for Halflings and Hawking. Or perhaps you just want to find out a little more about your clients, customers or competition.

Do you ever look back at code you've written in the past and think, "Wow, this sucks"? Following simple Test Driven Development and Comment Driven Development methods can make your code suck much less.

Rack has become the de-facto standard for developing web frameworks. It is also supported by nearly all of the popular web servers for Ruby applications. Part of its simplicity is what makes it so powerful. By stacking one application on top of another and delegating through the stack to the right application, one can build a relatively simple web framework.

In this session we'll take a hands on approach to building reusable and scaleable front end code. We walk through building a modern web application UI using microformats, gracefully degrading CSS3 and Javascript closures. Finally, we'll see how the same code can be used throughout an application with little modification.

Rails became a wild success because it took so many problems that web developers had and wiped them away. After programming Rails for five years, I've definitely run into some of its limitations and have written some pretty interesting code to work around them. So when I came across Seaside and it appeared to wipe away some of the problems I had with Rails, I was intrigued. Seaside is a web framework unlike any other you've seen before. It's continuations-based, written in Smalltalk, and uses hideous URLs by default. What it lacks in approachability it makes up for with expressiveness, simplicity, and developer tools that will make you giddy. In this talk I will demonstrate how Seaside's unique approach to web application development can make your life easier and more fun. I will show off some of the areas that Seaside is particularly strong in, and show how easily Rails can integrate with Seaside so you can take advantage of the best that each of these amazing frameworks has to offer.

Ruby developers tend to be technology-curious. We love to explore. We also, often, find ourselves writing back ends to iPhone/iOS front ends. However, Rails and iOS have more in common than you may know. I'll demonstrate how you can leverage your existing Rails skills to learn how to develop for iOS.

As developers, we want to minimize the time we spend fighting with our development environment. The less time we spend dealing with configuration issues, the more time we can spend doing what we do best... creating awesome apps! I show how you can easily set up a development environment that is both flexible and powerful. But best of all, it won't need regular attention!

Communication is hard. No doubt about it. Many of us, being geeks at heart, have an inherently difficult time communicating with people. Why is it that if we look around, it seems that all we see is incompetence? Why is it that we struggle to get our point across? Why do customers and bosses always seem stupid?

In this talk we will focus on communication. How to more effectively listen and speak. We will discuss some patterns that we can look for in ourselves. We will talk about strategies on how can we take a step back and realize what it is we are trying to say and hopefully uncover what it is that our bosses and customers are really hearing.

I will also walk you through strategies on how to have those difficult conversations and steps that I've learned through my years in sales, consulting, project management and business ownership.

The Crystal 3-step model consists of practices, principles, and personalization. The practices are what you know or learn how to do. The principles are the laws of design that inform you as to what works better, when. Personalization is adapting yourself to your situation, and your practices to your personality.

In this closing keynote, Dr. Alistair Cockburn will incorporate the history of Agile development (which started at Snowbird) into the evolution of what we know about software development, leading to how to use the Crystal 3-step model to improve your and your team's performance.