Mid South Software Symposium
April 23 - 25, 2010 - Memphis, TN
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
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.
JavaScript Beyond the Basics
JavaScript is one of the most widely used languages around and yet its also one of the most misunderstood. With Ajaxified UIs becoming the norm, this humble language is once again at the forefront.
In this talk, we'll go beyond the basics of JavaScript delving into the mysteries of prototype inheritance, objects, language edge cases and the importance of testing.
jQuery: Ajax Made Easy
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.
Agile UI
Some developers assume that agility and usability are mutually exclusive - in reality, they are extremely complimentary; if you squint, you might have a hard time telling the difference between agile practices and good user interface design. This usability talk is aimed squarely at developers giving you the tools you need to develop UIs that won't make your users yack. We'll discuss the importance of observation, personas, paper prototyping, usability testing and the importance of good moderators. In addition, we'll map the various aspects of user interface design to a typical agile iteration.
Some developers assume that agility and usability are mutually exclusive - in reality, they are extremely complimentary; if you squint, you might have a hard time telling the difference between agile practices and good user interface design. This usability talk is aimed squarely at developers giving you the tools you need to develop UIs that won't make your users yack. We'll discuss the importance of observation, personas, paper prototyping, usability testing and the importance of good moderators. In addition, we'll map the various aspects of user interface design to a typical agile iteration.
Testing the Web Layer
While your project might have nearly 100% code coverage on the server tier, many projects ignore testing the web layer. With more and more code being pushed to the browser, a lack of tests for the client code begs for trouble.
This talk will explore several testing options including Selenium, JsUnit, Crosscheck, JSCoverage, Watir, JSLint, JSSpec and others.
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.
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 Nathaniel T. Schutta and Ryan Asleson
-
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.




