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. In an effort to rid the world of bad presentations, Nate coauthored the book Presentation Patterns with Neal Ford and Matthew McCullough.



Video

Designing for Ajax
Designing for Ajax
Monday - September 1, 2008


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.

Going Mobile with jQuery

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

HTML5 For Developers

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.

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.

Usability 101

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. 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.

Leading Technical Change

Technology changes, it's a fact of life. And while many developers are attracted to the challenge of change, many organizations do a particularly poor job of adapting. We've all worked on projects with, ahem, less than new technologies even though newer approaches would better serve the business. But how do we convince those holding the purse strings to pony up the cash when things are "working" today? At a personal, how do we keep up with the change in our industry?

This talk will explore ways to stay sharp as a software professional. We'll talk about how a technology radar can help you stay marketable (and enjoying your career) and how we can use the same technique to help our companies keep abreast of important changes in the technology landscape. Of course it isn't enough to just be aware, we have to drive change - but how? This talk will consider ways we can influence others and lead change in our organizations.

Designing for Mobile

The word just came down from the VP - you need a mobile app and you need it yesterday. Wait, you've never built a mobile app...it's pretty much the same thing as you've built before just smaller right? Wrong. The mobile experience is different and far less forgiving. How do you design an application for touch? How does that differ from a mouse? Should you build a mobile app or a mobile web site? This talk will get you started on designing for a new, and exciting, platform. Whether that means iPhone, Android, Windows Phone or something else, you need a plan, this talk will help.

The word just came down from the VP - you need a mobile app and you need it yesterday. Wait, you've never built a mobile app...it's pretty much the same thing as you've built before just smaller right? Wrong. The mobile experience is different and far less forgiving. How do you design an application for touch? How does that differ from a mouse? Should you build a mobile app or a mobile web site? This talk will get you started on designing for a new, and exciting, platform. Whether that means iPhone, Android, Windows Phone or something else, you need a plan, this talk will help.

The Mobile App Smackdown: Native Apps vs. The Mobile Web

Mobile is the next big thing and your company needs to there. But what does there actually entail? Should you build a native app? On which platforms? Do you have the skills for that? What about the web? Can you deliver an awesome experience using nothing but a mobile web browser? This talk will help you navigate these treacherous waters. We'll discuss the pros and cons of the various approaches and give you a framework for choosing.

Mobile is the next big thing and your company needs to there. But what does there actually entail? Should you build a native app? On which platforms? Do you have the skills for that? What about the web? Can you deliver an awesome experience using nothing but a mobile web browser? This talk will help you navigate these treacherous waters. We'll discuss the pros and cons of the various approaches and give you a framework for choosing.

Beyond jQuery

It's been ages since you copied random JavaScript off a nameless webpage and your JavaScript is every bit as elegant as any server side code. You know the ins and outs of jQuery and you've even built a plugin or three...but is that it? How do we build rich web applications without resorting to heavy weight proprietary components? How do we leverage HTML5 and everything it brings to the table? How do we craft elegant user experiences that integrate fully with the RESTful web services that are all the rage on the backend? How do we build apps that are at home on a 3.5 inch phone as they are on the 15 inch notebook? This talk goes beyond jQuery to explore new libraries like Backbone are bringing even more to the front end developer's toolbox.

It's been ages since you copied random JavaScript off a nameless webpage and your JavaScript is every bit as elegant as any server side code. You know the ins and outs of jQuery and you've even built a plugin or three...but is that it? How do we build rich web applications without resorting to heavy weight proprietary components? How do we leverage HTML5 and everything it brings to the table? How do we craft elegant user experiences that integrate fully with the RESTful web services that are all the rage on the backend? How do we build apps that are at home on a 3.5 inch phone as they are on the 15 inch notebook? This talk goes beyond jQuery to explore new libraries like Backbone are bringing even more to the front end developer's toolbox.

JavaScript Libraries You Aren't Using...Yet

You're all over jQuery - you write plugins in your sleep - and before that, you were a Prototype ninja. Your team treats JavaScript like a first class citizen, you've even written more tests than Kent Beck. Is that all there is in the land of the JavaScript developer? Believe it or not, the JavaScript party hasn't stopped. What other libraries are out there? What do they offer? This talk will survey the field of modern JavaScript libraries getting you up to speed on what's new. We'll dive in just deep enough to whet your appetite on a wide variety of libraries such as Backbone, Underscore, Zepto and more.

You're all over jQuery - you write plugins in your sleep - and before that, you were a Prototype ninja. Your team treats JavaScript like a first class citizen, you've even written more tests than Kent Beck. Is that all there is in the land of the JavaScript developer? Believe it or not, the JavaScript party hasn't stopped. What other libraries are out there? What do they offer? This talk will survey the field of modern JavaScript libraries getting you up to speed on what's new. We'll dive in just deep enough to whet your appetite on a wide variety of libraries such as Backbone, Underscore, Zepto and more.

The Who and What of Agile - Personas and Story Maps

Successful projects require any number of practices but if you don't know who you're building it for or what you're supposed to build, failure is a distinct possibility. How do we capture the who and what? Personas and story maps are two effective techniques that you can leverage. After discussing the basics, we'll break into small groups and you'll have a chance to actually try building a set of personas as well as a story map.

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.

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.

Mobile Design Workshop

The word just came down from the VP - you need a mobile app and you need it yesterday. Wait, you've never built a mobile app...it's pretty much the same thing as you've built before just smaller right? Wrong. The mobile experience is different and far less forgiving. How do you design an application for touch? How does that differ from a mouse? Should you build a mobile app or a mobile web site? This workshop will get you started on designing for a new, and exciting, platform. Whether that means iPhone, Android, Windows Phone or something else, you need a plan, this talk will help.

We'll look at some popular web sites discussing what we would do differently in a mobile context and then take a look at the actual mobile experience to see what other designers actually did. Using paper, we'll work though a design or two of our own. We'll wrap up discussing various methods of creating a mobile app - should we use the web or build something native? What about shell apps? While we might not have all the answers, at the end of this workshop you'll know what questions to ask when thinking through your own situation.

Backbone Workshop

You may have noticed today's web applications involve more than a few lines of JavaScript. You've probably also figured out JavaScript lacks certain...features...that make writing non-trivial applications more challenging. How do we resolve this conundrum? Luckily for us, we can leverage libraries like Backbone add some structure to our code. Backbone brings the concepts of the model view controller pattern we've applied to the server for years to the browser.

In this workshop, we'll introduce the idea of asynchronous user interfaces and show how Backbone helps us write that style of application. We'll work our way up from the bottom building a simple application along the way. We'll create models, we'll use a templating library (or two) and we'll also explore Underscore - a JavaScript utility belt you can use right now today without committing to building MVC style web applications.

If you're struggling to manage an increasing amount of JavaScript or you want to build more responsive web applications, this workshop can help!

Agile in the Large

Almost every example of an agile project involves a single team and while many successful projects are delivered that way, most enterprise software requires the interaction of several teams. But how do we scale agile beyond a single team? What practices translate and which ones don't? In this talk we'll discuss some of the issues you'll encounter as you move agile beyond a single group and how you can keep multiple stakeholders happy. While it isn't as simple as having a "scrum of scrums" it isn't as hard as replacing every line of COBOL.

Almost every example of an agile project involves a single team and while many successful projects are delivered that way, most enterprise software requires the interaction of several teams. But how do we scale agile beyond a single team? What practices translate and which ones don't? In this talk we'll discuss some of the issues you'll encounter as you move agile beyond a single group and how you can keep multiple stakeholders happy. While it isn't as simple as having a "scrum of scrums" it isn't as hard as replacing every line of COBOL.

Backbone 101

Model View Controller isn't just for the server anymore, in fact, many developers utilize those proven ideas inside the browser. Today's rich internet applications leverage client side frameworks and while there are more than you can shake a stick at, Backbone has emerged as one of the leaders of the pack. In this talk, we'll discuss the basics of client Model View Whatever walking you through the ins and outs of using Backbone to build richer, more responsive, interfaces.

Model View Controller isn't just for the server anymore, in fact, many developers utilize those proven ideas inside the browser. Today's rich internet applications leverage client side frameworks and while there are more than you can shake a stick at, Backbone has emerged as one of the leaders of the pack. In this talk, we'll discuss the basics of client Model View Whatever walking you through the ins and outs of using Backbone to build richer, more responsive, interfaces.

JavaScript Framework Face off

Developers are flocking to client side frameworks and, as a result, there are more and more JavaScript libraries attempting to solve the rich internet application problem. In a space where new libraries seem to spring up weekly, what framework should you choose for your next project? While there is consensus around basic ideas like Model View Whatever, there are some strong philosophical differences amongst the various libraries. In this talk, we'll look at the similarities and the differences of some emerging JavaScript libraries discussing why you need to be aware of this rapidly evolving aspect of software development.

Developers are flocking to client side frameworks and, as a result, there are more and more JavaScript libraries attempting to solve the rich internet application problem. In a space where new libraries seem to spring up weekly, what framework should you choose for your next project? While there is consensus around basic ideas like Model View Whatever, there are some strong philosophical differences amongst the various libraries. In this talk, we'll look at the similarities and the differences of some emerging JavaScript libraries discussing why you need to be aware of this rapidly evolving aspect of software development.


Nathaniel's NFJS Schedule

Madison, WI
Mar 1 - 2, 2013

Minneapolis, MN
Mar 8 - 10, 2013

Boston, MA
Mar 15 - 17, 2013

Reston, VA
Apr 19 - 21, 2013

Dallas, TX
May 17 - 19, 2013

Columbus, OH
Jun 7 - 9, 2013

Austin, TX
Jun 28 - 30, 2013

Denver, CO
Jul 16 - 19, 2013

Raleigh, NC
Aug 23 - 25, 2013


Books

Presentation Patterns: Techniques for Crafting Better Presentations

by Neal Ford, Matthew McCullough, and Nathaniel Schutta

Presentation Patterns: Techniques for Crafting Better Presentations Buy from Amazon
List Price: $39.99
Price: $28.46
You Save: $11.53 (29%)
  • Presentation Patterns is the first book on presentations that categorizes and organizes the building blocks (or patterns) that you’ll need to communicate effectively using presentation tools like Keynote and PowerPoint.

     

    Patterns are like the lower-level steps found inside recipes; they are the techniques you must master to be considered a master chef or master presenter. You can use the patterns in this book to construct your own recipes for different contexts, such as business meetings, technical demonstrations, scientific expositions, and keynotes, just to name a few.

     

    Although there are no such things as antirecipes, this book shows you lots of antipatterns—things you should avoid doing in presentations. Modern presentation tools often encourage ineffective presentation techniques, but this book shows you how to avoid them.

     

    Each pattern is introduced with a memorable name, a definition, and a brief explanation of motivation. Readers learn where the pattern applies, the consequences of applying it, and how to apply it. The authors also identify critical antipatterns: clichés, fallacies, and design mistakes that cause presentations to disappoint. These problems are easy to avoid—once you know how.

     

    Presentation Patterns will help you

    • Plan what you’ll say, who you’ll say it to, how long you’ll talk, and where you’ll present
    • Perfectly calibrate your presentation to your audience
    • Use the storyteller’s “narrative arc” to full advantage
    • Strengthen your credibility—and avoid mistakes that hurt it
    • Hone your message before you ever touch presentation software
    • Incorporate visuals that support your message instead of hindering it
    • Create highly effective “infodecks” that work when you’re not able to deliver a talk in person
    • Construct slides that really communicate and avoid “Ant Fonts,” “Floodmarks,” “Alienating Artifacts,” and other errors
    • Master 13 powerful techniques for delivering your presentation with power, authority, and clarity 

    Whether you use this book as a handy reference or read it from start to finish, it will be a revelation: an entirely new language for systematically planning, creating, and delivering more powerful presentations. You’ll quickly find it indispensable—no matter what you’re presenting, who your audiences are, or what message you’re driving home.


Pro Ajax and Java Frameworks

by Nathaniel T. Schutta and Ryan Asleson

Pro Ajax and Java Frameworks Buy from Amazon
List Price: $49.99
Price: $25.08
You Save: $24.91 (50%)
  • 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!


Foundations of Ajax (Books for Professionals by Professionals)

by Nathaniel T. Schutta and Ryan Asleson

Foundations of Ajax (Books for Professionals by Professionals) Buy from Amazon
List Price: $39.99
Price: $37.99
You Save: $2.00 (5%)
  • Ajax burst onto the Web development scene by offering highly interactive, desktop-like Web applications that can be deployed through any modern Web browser without the need for special plug-ins. Ajax is built on existing Web technologies such as JavaScript, HTML, and CSS, and it is used in conjunction with your favorite server-side language. Foundations of Ajax explains how to combine these technologies effectively to implement Ajax into your new or existing Web applications. Like you, we are developers who are in the trenches, tasked with building Web-enabled applications that provide real value to our customers. As the Web continues to grow, the demand for more expressive and engaging interfaces will continue to increase.

    Much of the early hype surrounding Ajax centered on its use by Internet powerhouses such as Google and Amazon. However, just because the initial forays into Ajax were pioneered by leading software development firms doesn't mean your application wouldn’t also benefit from these techniques. You already know how to develop Web applications, so this book uses specific, focused examples to teach the Ajax tools and techniques you’ll need to bring your applications to life. Armed with this book and your existing development expertise, you too will be able to apply Ajax techniques to your application to enrich the end users experience.

    When we first saw the potential of Ajax, we knew we had to start leveraging it for our own applications. Along the way weve learned some hard-earned knowledge that we thought needed to be shared with the rest of the development community. With this book, you’ll be able to easily extend your own applications with Ajax and have fun while doing it. We hope that someday well be reading about your great Ajax-enabled application!


Extreme UI Design: The User is Always Right

by

Extreme UI Design: The User is Always Right Buy from Amazon
List Price:
Price: $30.39
You Save: $9.60 (24%)
  • 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.