Sessions at Pacific Northwest Software Symposium on Sunday 25th September

Your current filters are…

  • All Together Now: How Teams Decide

    by Esther Derby

    Have you had the experience of watching smart people argue endlessly over which technology to use? Have you walked out of a meeting believing the group had agreed, only to find out that five different people thought they’d agreed to five different things?

    People in our industry pride themselves on their brain power and ability to make good decisions. And most of us are good at thinking, learning, and deciding—on our own. When we work collaboratively on interdependent work, though, we need to think and decide as a group if we want to realize the benefits of the team effect.

    In this session, we’ll experience a group decision. Then, we’ll look at the pieces and parts of the process to see what we can learn about how groups think and decide togther. We’ll tease out the techniques that will help you help groups take advantage of all their expertise, see other points of view, and arrive at high-quality decisions.

    In this session, we’ll experience a group decision. Then, we’ll look at the pieces and parts of the process to see what we can learn about how groups think and decide togther. We’ll tease out the techniques that will help you help groups take advantage of all their expertise, see other points of view, and arrive at high-quality decisions.

    At 9:00am to 10:30am, Sunday 25th September

    In Lake Coeur d'Alene, Westin Bellevue

  • Busy Java Developer's Guide to Java 7

    by Ted Neward

    With the forthcoming release of Java7, a number of things come to fruition, both in the Java language and in the libraries, and it's important for Java developers to know what those features are, and how they change the game of writing Java code--or not.

    In this presentation, we'll go over those changes, JSR by JSR, and discuss where and how they may affect your next project.

    At 9:00am to 10:30am, Sunday 25th September

    In Salon A, Westin Bellevue

  • jQuery: Ajax Made Easy

    by Nate Schutta

    Sure, Ajax might not be the hardest thing you'll have to do on your current project, but that doesn't mean we can't use a little help here and there. While there are a plethora of excellent choices in the Ajax library space, jQuery is fast becoming one of the most popular. In this talk, we'll see why. In addition to it's outstanding support for CSS selectors, dirt simple DOM manipulation, event handling and animations, jQuery also supports a rich ecosystem of plugins that provide an abundance of top notch widgets. Using various examples, this talk will help you understand what jQuery can do so you can see if it's right for your next project.

    Sure, Ajax might not be the hardest thing you'll have to do on your current project, but that doesn't mean we can't use a little help here and there. While there are a plethora of excellent choices in the Ajax library space, jQuery is fast becoming one of the most popular. In this talk, we'll see why. In addition to it's outstanding support for CSS selectors, dirt simple DOM manipulation, event handling and animations, jQuery also supports a rich ecosystem of plugins that provide an abundance of top notch widgets. Using various examples, this talk will help you understand what jQuery can do so you can see if it's right for your next project.

    At 9:00am to 10:30am, Sunday 25th September

    In Lake Washington, Westin Bellevue

  • Resource-Oriented Architectures: REST I

    by Brian Sletten

    The first of five talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.

    The REpresentational State Transfer (REST) architectural style has emerged as a winning strategy for building scalable, flexible, resilient systems that lead with an information focus. Far from being the simple "Web Services through URLs" idea many people have about them, REST-based systems require a new perspective, a fair amount of consideration and the discipline to look beyond simple point-to-point interactions.

    The benefits are exciting and provide a gateway to a whole new world of information technology. This first talk will be an introductory session covering the basics of the REST architectural style.

    At 9:00am to 10:30am, Sunday 25th September

    In Lake Chelan, Westin Bellevue

  • What's new in Spring

    by Craig Walls

    In this session, I'll lead a guided tour through the latest that Spring has to offer. Whether you're a Spring veteran or a Spring newbie, there will be something new for nearly everyone.

    It's been 7 years since Spring 1.0 was released. In that time it has gone from a modest open-source project to being a de facto standard Java application framework. Now, as Spring enters its 8th year, it continues its attack on Java complexity, packed with many new features such as:

    • First-class REST support
    • A new expression language
    • More options for annotation-driven bean wiring
    • Bean profiles
    • Declarative caching abstraction
    • Enhanced Java-based configuration
    • A new "c:" namespace
    • Unified property management
    • And much more

    In this session, I'll lead a guided tour through the latest that Spring has to offer. Whether you're a Spring veteran or a Spring newbie, there will be something new for nearly everyone.

    At 9:00am to 10:30am, Sunday 25th September

    In Lake Sammamish, Westin Bellevue

  • Busy Java Developer's Guide to Guava

    by Ted Neward

    "The Google Guava project contains a host of new features/classes for use by the Java programmer. Intended as a drop-in supplement for the standard JDK APIs, Guava provides features like immutable and forwarding collections, some concurrency utilities, more support for primitives, and so on.

    In this session, we'll go over the Guava library, looking at what it provides, when you might seek to use it, and what the overheads and consequences of using it would be."

    At 11:00am to 12:30pm, Sunday 25th September

    In Salon A, Westin Bellevue

  • Going Mobile with jQuery

    by Nate Schutta

    The word just came down from the VP - you need a mobile app and you need it yesterday. It needs to be polished and have that design stuff too. Oh and it needs to be on all the major platforms in time for the big marketing push next month. After a moment of panic, you wonder if it's too late to become a plumber but don't worry, there's hope! More and more developers are falling in love with the "write less do more" library and for good reason; it simplifies the job of today's front end engineer. But did you know jQuery could also help you with your mobile needs as well? That's right, jQuery Mobile is a touch optimized framework designed to provide a common look and feel across a wide variety of today's mot popular platforms. In this session, we'll take a look at all that jQuery Mobile has to offer and we'll convert a native application to an HTML5, jQuery Mobile masterpiece.
    In this session, we'll take a look at:

    • pages
    • toolbars
    • buttons
    • form elements
    • list views

    At 11:00am to 12:30pm, Sunday 25th September

    In Lake Washington, Westin Bellevue

  • Introducing Spring Roo: From Zero to Working Spring Application in Record Time

    by Craig Walls

    In this example-driven session we'll see how to swiftly develop Spring applications using Spring Roo. We'll start with an empty directory and quickly work our way up to a fully functioning web application. You'll see how Roo handles a lot of heavy-lifting that you'd normally have to do yourself when working with Spring. And we'll stop at a few scenic points along the way to see how Roo accomplishes some of its magic.

    In recent years, rapid application development frameworks such as Rails and Grails have earned a lot of attending. By employing code generation, convention-over-configuration, and the dynamic capabilities of their core languages (Ruby and Groovy) to offer unparalleled productivity, helping get projects off the ground quickly.

    As awesome as these frameworks are, they do have one negative mark against them. Although developers love working with them, convincing the "boss" to build mission-critical applications in a relatively new development style based can be difficult. The mere mention of a word like "Groovy" conjures up images of tie-dye shirts and VW vans. Risk-averse project managers often think that free love may have been a big thing in the 70s, but it has no place in serious business.

    If psychedelic frameworks are a tough-sell in your organization, then you can still feel much of the same productivity gains while developing Spring applications. Spring Roo mixes Spring and Java with a little code generation and a dash of compile-time AspectJ to achive a rapid development environment that resembles Rails and Grails. But instead of producing Ruby/Rails or Groovy/Grails code that may make your manager twitch, Roo produces Java-based projects that use the Spring Framework--which is already accepted in many organizations.

    At 11:00am to 12:30pm, Sunday 25th September

    In Lake Sammamish, Westin Bellevue

  • Requirements and Estimating - state of the art

    by Peter Bell

    A chance for experience agile developers to learn and share state of the art tips for improving requirements gathering and project estimation.

    You've been doing agile for a while and use story cards and burn down charts on a regular basis, but you'd still like to improve the quality of the applications you build and your ability to estimate the scope of those applications and manage business stakeholder expectations.

    A combination of presentation and open discussion, this will be a chance to discuss and debate best practices in requirements gathering, estimating and expectation management with your peers, sharing best practices from projects large and small around the world.

    Prerequisite: Experience working on agile projects

    At 11:00am to 12:30pm, Sunday 25th September

    In Lake Coeur d'Alene, Westin Bellevue

  • Resource-Oriented Architectures: REST II

    by Brian Sletten

    The second of five talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.

    People already familiar with REST (or who have attended the first session) will be walked through the deeper topics of building Level 3 Hypermedia-based RESTful systems, security, content negotiation, etc.

    At 11:00am to 12:30pm, Sunday 25th September

    In Lake Chelan, Westin Bellevue

  • Essential Complexity: Developing and maintaining complex software

    by Peter Bell

    Some apps are little more than CRUD. The interesting projects are those with essential complexity in the domain. In this presentation we'll show how ideas from Domain Driven Design, Domain Specific Modeling and Domain Specific Languages can be used to more effectively design, refine and maintain the code at the heart of complex applications.

    As the complexity of your applications grow, how can you find, protect, refine and maintain the core of your application so that you can keep the code supple despite an ongoing onslaught of custom business requirements? From DDD to DSLs this session looks at practical strategies for keeping complex applications under control.

    At 2:15pm to 3:45pm, Sunday 25th September

    In Lake Coeur d'Alene, Westin Bellevue

  • Pragmatic Architecture

    by Ted Neward

    Building an application is not the straightforward exercise it used to be. Decisions regarding which architectural approaches to take (n-tier, client/server), which user interface approaches to take (Smart/rich client, thin client, Ajax), even how to communicate between processes (Web services, distributed objects, REST)... it's enough to drive the most dedicated designer nuts. This talk discusses the goals of an application architecture and why developers should concern themselves with architecture in the first place. Then, it dives into the meat of the various architectural considerations available; the pros and cons of JavaWebStart, ClickOnce, SWT, Swing, JavaFX, GWT, Ajax, RMI, JAX-WS, , JMS, MSMQ, transactional processing, and more.

    After that, the basic architectural discussion from the first part is, with the aid of the audience in a more interactive workshop style, applied to a real-world problem, discussing the performance and scalability ramifications of the various communication options, user interface options, and more.

    At 2:15pm to 3:45pm, Sunday 25th September

    In Salon A, Westin Bellevue

  • Resource-Oriented Architectures : RDF/SPARQL

    by Brian Sletten

    The third of five talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.

    The Web of Documents we are so familiar with is being extended with the technologies of the Semantic Web. Information will be freed from its containers and connected regardless of where it comes from. Building on the concepts of REST services and the Web Architecture, we will introduce the Resource Description Framework (RDF) as the basis of a new collection of tools for information sharing and integration. Once the information is woven together, we will want to query it and produce new information resources with technologies like the SPARQL query language.

    People already familiar with REST and the Web (or who have attended the REST sessions) will be given both conceptual and technical examples of how and why these technologies are laying the foundation of future information systems.

    At 2:15pm to 3:45pm, Sunday 25th September

    In Lake Chelan, Westin Bellevue

  • Securing Spring

    by Craig Walls

    In this session, I'll show you how to secure your Spring application with Spring Security 3.0. You'll see hot to declare both request-oriented and method-oriented security constraints. And you'll see how SpEL can make simple work of expressing complex security rules.

    Although we may invite guests into our homes and give someone a ride in our car, we locks and alarms on our homes and our cars to keep uninvited and malicious visitors out. Similarly, we allow people to use the applications that we develop, but we probably want to control the access that they have.

    Security is an important aspect of any application. And while we could program security rules into the web controllers and methods in our application, we'd find ourselves cluttering our business logic with repetitive security code. Security is a cross-cutting concern--begging to be handled with aspect-oriented techniques.

    Spring Security is an authentication and access-control framework based on Spring that provides security aspects. With Spring Security, you can declare who is allowed to access your application and what they're allowed to see, keeping your application logic focused and uncluttered with security details.

    At 2:15pm to 3:45pm, Sunday 25th September

    In Lake Sammamish, Westin Bellevue

  • Usability 101

    by Nate Schutta

    Usa-what now? While most developers are schooled in algorithms and programming languages, they often lack a grounding in the fundamentals of usability; we'll start by exploring what usability is dispelling many of the myths surrounding this misunderstood aspect of software. We'll show why usability matters and help you see how it can make the difference on your projects.

    The who - developing pragmatic personas. We can't build a great UI without knowing who we're building it for. Personas are a time tested technique to help teams understand their users and facilitate building the right interface. While personas are often backed by extensive ethnographic research, they don't require months and months of effort. We'll explore the use of pragmatic personas to see how they can simplify the task of interface design. As an exercise, we'll develop personas for our application.

    The what - figuring out just what to build. Of course just knowing who we're building for is only part of the picture, we have to know what our users are trying to do. Wether you favor use cases, user stories or more traditional requirements documents, at the end of the day our customers are using our application to further some other goal. In this section we'll discuss tasks and scenarios showing how they contribute to the overall design process. Using story maps, we'll write up a set of user goals expanding them into tasks that will help us design a set of interfaces.

    The how - designing rocking good interfaces. Want to know the secret to designing great interfaces? We'll talk about the importance of iteration; just as our code is rarely right on the first try, neither are our interfaces. To facilitate the iterative process, we'll discuss the vital importance of paper prototyping. That's right, paper and pencil are your best tools. We'll also talk about why some designs are better than others discussing the heuristics that are second nature to the experienced designer. We'll also discuss design guidelines talking about how to make sure yours aren't just a dusty document sitting in a rarely visited corner of the LAN. We'll sketch up a variety of approaches focussing on quick and dirty designs that allow us to explore a plethora of options.

    Testing our design - making sure we're on the right path. Just as we test our code, we must test our interfaces. While we may not have UIunit at our disposal, testing our UIs is just as important as testing our code. From recruiting users to preparing the space, we'll discuss how to get ready for a test. We'll talk about the various roles in a user test from the all important moderator to playing computer and taking notes. User tests can be very stressful, we'll discuss ways to put our customers at ease. We'll also discuss the best way to communicate the results of testing to the rest of your team. We'll prepare a deck to test a given scenario. We'll take that deck and test it with our "customers." Of course we can also desk check our interfaces using standard heuristics - we'll look at some existing applications discussing what was done right and what could be done better.

    At 2:15pm to 3:45pm, Sunday 25th September

    In Lake Washington, Westin Bellevue

  • Architectural Kata Workshop

    by Ted Neward

    Fred Brooks said, "How do we get great designers? Great designers design, of course." So how do we get great architects? Great architects architect. But architecting a software system is a rare opportunity for the non-architect.

    The kata is an ancient tradition, born of the martial arts, designed to give the student the opportunity to practice more than basics in a semi-realistic way. The coding kata, created by Dave Thomas, is an opportunity for the developer to try a language or tool to solve a problem slightly more complex than "Hello world". The architectural kata, like the coding kata, is an opportunity for the student-architect to practice architecting a software system.

    In this session, attendees will be split into small groups and given a "real world" business problem (the kata). Attendees will be expected to formulate an architectural vision for the project, asking questions (of the instructor) as necessary to better understand the requirements, then defend questions (posed by both the instructor and their fellow attendees) about their choice in technology and approach, and then evaluate others' efforts in a similar fashion. No equipment is necessary to participate--the great architect has no need of tools, just their mind and the customers' participation and feedback.

    At 4:00pm to 5:30pm, Sunday 25th September

    In Lake Sammamish, Westin Bellevue

  • Developing Social-Ready Web Applications

    by Craig Walls

    Businesses are increasingly recognizing the value of connecting with their customers on a more personal level. Companies can utilize social networking to transition from "Big Faceless Corporation" to "Friend" by taking their wares to the online communities where their customers are. In this age of social media, those communities are found at social network sites such as Facebook, Twitter, and LinkedIn. In this session, you'll learn how to build applications that interact with the various social networks. We'll also look at Spring Social, a new feature in the Spring portfolio that enables integration with social networks in Spring-based applications.

    At 4:00pm to 5:30pm, Sunday 25th September

    In Salon A, Westin Bellevue

  • How to Select and Adopt a Technology

    by Peter Bell

    What's the point attending a conference unless you do something with the knowledge you gain? In this session we look at practical strategies for selecting new technologies and proven approaches for driving adoption back at the office.

    From the technology adoption lifecycle and the importance of community to "the knowing doing gap" and technology adoption patterns, we'll look at a range of practical case studies that illustrate proven techniques for selecting and adopting new technologies for your team.

    Prerequisite: Frustration that you don't get to use all the cool technologies you learn about at No Fluff.

    At 4:00pm to 5:30pm, Sunday 25th September

    In Lake Coeur d'Alene, Westin Bellevue

  • HTML5 For Developers

    by Nate Schutta

    Wonder what all the fuss is about HTML5? This session will show you how to leverage HTML5 in the applications you are building today. We'll start with a gentle overview describing just what HTML5 is all about and then we'll delve into the details. We'll look at the new elements HTML5 brings to the table, why canvas isn't just something you find in the art department, how geolocation can find Waldo and much much more.

    After a brief overview, we'll talk all about feature detection then jump into web forms. We'll discuss the new elements that HTML5 brings to our toolbox. After a spin around the canvas API, we'll touch on geolocation, local storage/offline and finish up web sockets.

    At 4:00pm to 5:30pm, Sunday 25th September

    In Lake Washington, Westin Bellevue

  • Resource-Oriented Architectures : Projecting Meaning on the Web w/ RDFa

    by Brian Sletten

    The fourth of five talks that are part of an arc covering next-generation information-oriented, flexible, scalable architectures. The ideas presented apply to both external and internal-facing systems.

    Once we have a flexible and extensible data model like RDF, we will want to find ways to weave it into our documents to make them easier to organize, find and extract value from on the Web. This talk will highlight techniques for adopting RDFa but will also motivate attendees to dig deeper by showing them how it is already being used by the biggest names on the Web. Improve your search results and allow your customers to leverage relevant information for their own purposes.

    You understand how important it is to be on the Web. Come learn how important it is to be on the Web of Data.

    At 4:00pm to 5:30pm, Sunday 25th September

    In Lake Chelan, Westin Bellevue