Speakers
- Craig Walls
- Venkat Subramaniam
- Matt Stine
- Brian Sletten
- Ken Sipe
- Nathaniel Schutta
- Pratik Patel
- Matthew McCullough
- Neal Ford
- Tim Berglund
- Peter Bell
- Kris Zyp
- Nicholas C. Zakas
- Andrew Wirick
- Chris Wilson
- James Williams
- Greg Wilkins
- Mike Wilcox
- Dustin Whittle
- Estelle Weyl
- Johnny Wey
- Eric Wendelin
- Rich Waters
- David Verba
- Tom Valletta
- Johannes Ullrich
- Tenni Theurer
- Etienne Studer
- Steve Souders
- Deryk Sinotte
- Scott Shattuck
- Bill Scott
- Matt Schmidt
- Dylan Schiemann
- Christian Schalk
- Brian Sam-Bodden
- Terry Ryan
- Alex Russell
- Rob Rusher
- Rick Ross
- Tom Robinson
- Torrey Rice
- Aza Raskin
- Nandini Ramani
- Matt Raible
- Vic Patterson
- Noah Paci
- Aaron Newton
- Mark Murphy
- Rebecca Murphey
- William Morris
- Eric Miraglia
- Eric Miller
- Steffen Meschkat
- Dustin Machi
- Kevin Lynch
- Andrew Lombardi
- Howard Lewis Ship
- Brian Leroux
- Nik Krimm
- Dave Klein
- Sean Kane
- Tim Kadlec
- Bruce Johnson
- Denise Jacobs
- Bob Ippolito
- Kevin Hoyt
- Molly Holzschlag
- Josh Holmes
- Mike Heath
- Erik Hatcher
- Patrick Haney
- Clint Hall
- Kevin Hakman
- Aaron Gustafson
- Arun Gupta
- Nate Grover
- Mike Girouard
- Jesse James Garrett
- Thomas Fuchs
- Jon Ferraiolo
- Szczepan Faber
- Cal Evans
- Ben Ellingson
- Nicholas Eddy
- Scott Dietzen
- Gabriel Dayley
- Luke Daley
- Patrick Chanezon
- David Chandler
- Ludovic Champenois
- Max Carlson
- Bob Byron
- Thomas Burleson
- Ryan Breen
- David Boloker
- David Bock
- Rey Bango
- Tom Ball
- Dan Allen
- Brad Abrams
Nathaniel Schutta
Author, speaker, software engineer focused on user interface design.
Nathaniel T. Schutta is a senior software engineer focussed on making usable applications. A proponent of polyglot programming, Nate has written two books on Ajax and speaks regularly at various worldwide conferences, No Fluff Just Stuff symposia, universities, and Java user groups. In addition to his day job, Nate is an adjunct professor at the University of Minnesota where he teaches students to embrace dynamic languages.
Presentations
Hacking Your Brain for Fun and Profit
The single most important tool in any developers toolbox isn't a fancy IDE or some spiffy new language - it's our brain. Despite ever faster processors with multiple cores and expanding amounts of RAM, we haven't yet created a computer to rival the ultra lightweight one we carry around in our skulls - in this session we'll learn how to make the most of it. We'll talk about why multitasking is a myth, the difference between the left and the right side of your brain, the importance of flow and why exercise is good for more than just your waist line.
The single most important tool in any developers toolbox isn't a fancy IDE or some spiffy new language - it's our brain. Despite ever faster processors with multiple cores and expanding amounts of RAM, we haven't yet created a computer to rival the ultra lightweight one we carry around in our skulls - in this session we'll learn how to make the most of it. We'll talk about why multitasking is a myth, the difference between the left and the right side of your brain, the importance of flow and why exercise is good for more than just your waist line.
Code Craft
Despite what some developers think, we spend a lot more of our time reading code, code that was often written by someone that isn't around anymore. How do we deal with this common scenario without resorting to burning our predecessor in effigy? Better, how can we write code in such a way that our successors will heap effusive praise upon us at the mere mention of our name? During this talk, we'll read actual code discussing ways it could be improved. As we work through real examples, we'll explore the importance of patterns, principles like SOLID and SLAP and essential practices like unit testing and continuous integration.
Despite what some developers think, we spend a lot more of our time reading code, code that was often written by someone that isn't around anymore. How do we deal with this common scenario without resorting to burning our predecessor in effigy? Better, how can we write code in such a way that our successors will heap effusive praise upon us at the mere mention of our name? During this talk, we'll read actual code discussing ways it could be improved. As we work through real examples, we'll explore the importance of patterns, principles like SOLID and SLAP and essential practices like unit testing and continuous integration.
Agile UI
Day in and day out we are subjected to poorly designed applications. From those we experience directly to the time we waste waiting on others who are struggling with systems that seem like they were built to hinder the user. It doesn't have to be like this and many users are waking up and demanding better applications. Are you prepared to deliver? After this workshop, you will be. When you're done, you'll have the tools you need to make sure your application helps your users kick ass!
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. 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.
HTML5
Interested in HTML5? Want a change to play around with the latest and greatest in web app development? This workshop is for you! We'll cover feature detection, web forms, the new HTML elements, take a spin around the canvas, and we'll finish up with offline/local storage and web sockets.
Detecting 101 Before you can take advantage of a new HTML5 feature, you have to make sure a given browser can support it. This section will cover the basics of detection as well as getting the most out of rocking cool libraries like Modernizer. We'll also look at just what to do when a browser doesn't support a feature you're trying to leverage.
New elements Along with a new human type-able doctype, HTML5 introduces several new semantic elements. Recognizing that nearly every website in existence has a header, a footer and some navigation divs, HTML5 gives us a header, a footer and a nav element along with a few others. HTML5 seeks to pave cowpaths, not force the web to bend to its ways...
Canvas One of the most exciting features of HTML5 is the canvas, a space you can use to draw anything from shapes to text to, well, anything! From basic drawing to graphs to full fledged games, canvas opens up a whole new world of possibility, a world sans browser plugins.
Local Storage Web apps are, in many cases, indistinguishable from their thick client brethren, at least if you're not on an airplane. OK, so many planes have wifi, but there are parts of the world that don't have reliable Internet connections! Thanks to local storage and the offline API, all is not lost - you can create a web app that works offline.
Web sockets and web workers Ajax is like so many things in the web world - a simple (but very powerful) hack that isn't defined by a spec. With the advent of the web socket API, we'll finally have a native way to have bi-directional communication with the server. As we create richer and richer clients, we're writing more and more JavaScript. While the JS engines are getting faster and faster, there are cases where it'd be very handy to run scripts in the background. Web workers give us just such an opportunity.
jQuery Mobile
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 workshop, 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 workshop, we'll build a mobile app taking advantage of everything jQuery Mobile and HTML5 have to offer. In this session, we'll take a look at: * pages * toolbars * buttons * form elements * list views
In the process of building out an app or two, we'll show you how jQuery Mobile simplifies the process of mobile app development.
Books
by Nathaniel T. Schutta and Ryan Asleson
-
As a Java developer, you want a guide that shows you how to add Ajax functionality to your web applications with a minimum of effort. Look no further than Pro Ajax and Java Frameworks! In this book, recognized Java experts and authors of the bestselling Apress title Foundations of Ajax will show you how.
The authors begin by recapping Ajax basics. Then they unveil a comprehensive Java/Ajax toolkit. Tools include JSEclipse for code editing, Venkman for JavaScript debugging, and Dojo Compressor for code compression. They also explain Log4js (and other tools) for JavaScript logging, JsUnit (and others) for testing, and various libraries like AjaxTags, DWR, and Script.aculo.us for rapid code development.
The last part of the book shows you how to build up a series of professional Java/Ajax applications. These will incorporate some of today's most popular frameworksSpring, JSF, Struts, and Tapestry, giving you all you need to incorporate Ajax into your everyday work and become an Ajax expert!
-
As a Java developer, you want a guide that shows you how to add Ajax functionality to your web applications with a minimum of effort. Look no further than Pro Ajax and Java Frameworks! In this book, recognized Java experts and authors of the bestselling Apress title Foundations of Ajax will show you how.
The authors begin by recapping Ajax basics. Then they unveil a comprehensive Java/Ajax toolkit. Tools include JSEclipse for code editing, Venkman for JavaScript debugging, and Dojo Compressor for code compression. They also explain Log4js (and other tools) for JavaScript logging, JsUnit (and others) for testing, and various libraries like AjaxTags, DWR, and Script.aculo.us for rapid code development.
The last part of the book shows you how to build up a series of professional Java/Ajax applications. These will incorporate some of today's most popular frameworksSpring, JSF, Struts, and Tapestry, giving you all you need to incorporate Ajax into your everyday work and become an Ajax expert!
by Ryan Asleson and Nathaniel T. Schutta
-
Ajax is hot news for developers! With examples like Google Maps, Google Suggest, Gmail, and Tada List, we have highly dynamic web applications that are nearly as feature rich as their thick client brethren. Using the Ajax techniques in this book, you can provide your customers with the rich user experience they have come to expect while still enjoying the ease of deployment you’ve come to expect of web applications.
In this Ajax book you will also learn that browser-based applications have none of the complex distribution problems that plague thick-client applications. Once a browser-based application is deployed to the Web server, it is available to all users without the need for a costly, complex, and error-prone installation process. Browser-based applications are accessible from any platform with a modern Web browser, whether the operating system is Windows, Unix, Mac OS X, or Linux.
As the authors point out in this book, an Ajax application is very similar to the web applications we’re already familiar with. It’s made from many of the same components and operates in the same way and to the same standards. The difference is that it incorporates an "Ajax engine" that negates the start-stop nature of traditional web interaction and drives the whole process along. A quick look at an Ajax application like Google Maps will demonstrate the difference to the user experience very clearly. Gone are the constant page-refreshes and instead the user is presented with a smooth, responsive interface that seamlessly reacts to their requests.
-
Ajax is hot news for developers! With examples like Google Maps, Google Suggest, Gmail, and Tada List, we have highly dynamic web applications that are nearly as feature rich as their thick client brethren. Using the Ajax techniques in this book, you can provide your customers with the rich user experience they have come to expect while still enjoying the ease of deployment you’ve come to expect of web applications.
In this Ajax book you will also learn that browser-based applications have none of the complex distribution problems that plague thick-client applications. Once a browser-based application is deployed to the Web server, it is available to all users without the need for a costly, complex, and error-prone installation process. Browser-based applications are accessible from any platform with a modern Web browser, whether the operating system is Windows, Unix, Mac OS X, or Linux.
As the authors point out in this book, an Ajax application is very similar to the web applications we’re already familiar with. It’s made from many of the same components and operates in the same way and to the same standards. The difference is that it incorporates an "Ajax engine" that negates the start-stop nature of traditional web interaction and drives the whole process along. A quick look at an Ajax application like Google Maps will demonstrate the difference to the user experience very clearly. Gone are the constant page-refreshes and instead the user is presented with a smooth, responsive interface that seamlessly reacts to their requests.
by
-
You know about Extreme Programming, Agile cooperation, and continuous improvement, but did you know you can apply these to UI design? I'll show you how to make your end users happy all the time by applying what you already know about software development to the design and implementation of user interfaces. More and more, developers are being called upon to create user interfaces without designers. Extreme UI Design: The User is Always Right will show you how to use your well-honed programming skills to build measurably effective front ends.
It's all about usability, the software equivalent of flossing; you know you should do it, yet sometimes there just isn't time. For developers, there often isn't money to hire a designer. In tough times, developers who can design become essential, but most software engineers are schooled in algorithms and compilers and rarely in the intricacies of user interaction. This book is for all of you who find yourselves working on the front lines of software development and want to create an application that respects the maxim that all users are right.
- Discover best UI design practices for software engineers.
- Maximize usability right in your code with a few simple tools.
- Write software that works for the user!
What you'll learn
- Distinguish usability myth from reality
- Give users both what they want and what they need (these aren't the same)
- Use your application prototypes as test beds for usability
- Apply rigorous heuristics to measuring UI effectiveness
- See why CRAP is important to creating good interfaces
- Identify and avoid common UI anti-patterns
Who is this book for?
Looking to get an edge in today's workplace? Worried about being downsized? As companies look to cut expenses, the developer who can do more has a better chance of survival. If the UI team gets the axe, can you step in and help run a usability test or whack out a paper-based prototype? After reading this book, you'll be more valuable to your software development organization, you'll have a more complete toolbox, and you'll create applications that don't make your users yack .
This book is primarily aimed at software developers who are tasked with front-end development. Considering that almost all software has some kind of interface, it should appeal to a large audience. Depending on how the book is slanted, it should also interest the agile community.
-
You know about Extreme Programming, Agile cooperation, and continuous improvement, but did you know you can apply these to UI design? I'll show you how to make your end users happy all the time by applying what you already know about software development to the design and implementation of user interfaces. More and more, developers are being called upon to create user interfaces without designers. Extreme UI Design: The User is Always Right will show you how to use your well-honed programming skills to build measurably effective front ends.
It's all about usability, the software equivalent of flossing; you know you should do it, yet sometimes there just isn't time. For developers, there often isn't money to hire a designer. In tough times, developers who can design become essential, but most software engineers are schooled in algorithms and compilers and rarely in the intricacies of user interaction. This book is for all of you who find yourselves working on the front lines of software development and want to create an application that respects the maxim that all users are right.
- Discover best UI design practices for software engineers.
- Maximize usability right in your code with a few simple tools.
- Write software that works for the user!
What you'll learn
- Distinguish usability myth from reality
- Give users both what they want and what they need (these aren't the same)
- Use your application prototypes as test beds for usability
- Apply rigorous heuristics to measuring UI effectiveness
- See why CRAP is important to creating good interfaces
- Identify and avoid common UI anti-patterns
Who is this book for?
Looking to get an edge in today's workplace? Worried about being downsized? As companies look to cut expenses, the developer who can do more has a better chance of survival. If the UI team gets the axe, can you step in and help run a usability test or whack out a paper-based prototype? After reading this book, you'll be more valuable to your software development organization, you'll have a more complete toolbox, and you'll create applications that don't make your users yack .
This book is primarily aimed at software developers who are tasked with front-end development. Considering that almost all software has some kind of interface, it should appeal to a large audience. Depending on how the book is slanted, it should also interest the agile community.
