Nathaniel Schutta

Author, speaker, software architect focused on user interface design.

Nathaniel Schutta
 

Nathaniel T. Schutta is a software architect focussed on mobile and 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.

Presentations

Modeling for Web Architects

Tue 9:00 AM

In some organizations, architects are dismissed as people that draw box and arrow diagrams – the dreaded whiteboard architect. While we don’t want to foster that stereotype, it is important for an architect to be able to construct basic architectural diagrams. An architect must also be able to separate the wheat from the chaff eliminating those models that don’t help tell the story while fully leveraging those that do.

In this workshop, we’ll discuss the various diagrams at our disposal. We’ll walk through a case study and as we go, we’ll construct a set of diagrams that will help us effectively communicate our design. We’ll talk about stakeholders and who might benefit from each type of diagram. Additionally we’ll discuss how to constructively review an architectural model.

Mobile Design Workshop

Wed 1:30 PM

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.

Mobile Design Workshop

Wed 3:15 PM

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.

JavaScript Katas

Wed 5:00 PM

If you have ever studied a martial art, chances are you are familiar with katas: the practice of individual training exercises. Repeatedly. It may seem pointless to practice the same move again and again, the only way to improve is repetition. We can apply the same concept to learning programming languages.

Working individually or in small groups, attendees will work through a set of problems using JavaScript to solve them. Whether you are new to JavaScript or an old hand, this session will give you an opportunity to hone your craft! Bring a laptop or be prepared to make a friend.

React Native

Wed 8:00 PM

React is a popular UI framework born from Facebook and while it is used in a variety of web projects, it can be leveraged to build native iOS applications. React Native brings the ubiquity of JavaScript to native application development allowing us to “learn once, write anywhere.”

In this talk, I will help you get started with popular library.

HTML5 Revisited

Thu 9:00 AM

The technology space is a lot like the ocean – miss one wave and another will come along shortly; most shiny new things begin with a sizable amount of hype as everyone rushes to play with the new toy. This cycle is often met with a level of disappointment as we quickly discover our new bauble isn’t all that and a bag of chips so we rush off to the next best thing ever.

A few short years ago, HTML5 was the new hotness but at the time browser support was spotty at best. Despite the spotlight moving on to something else, browser support has improved markedly and we even have new toys to play with! In this talk, I will walk you through what is possible in today’s browser as well as what other new features you might not be aware of. HTML5 may no longer qualify as bleeding edge, but it is still deserving of our attention.

HTML5 Revisited

Thu 11:00 AM

The technology space is a lot like the ocean – miss one wave and another will come along shortly; most shiny new things begin with a sizable amount of hype as everyone rushes to play with the new toy. This cycle is often met with a level of disappointment as we quickly discover our new bauble isn’t all that and a bag of chips so we rush off to the next best thing ever.

A few short years ago, HTML5 was the new hotness but at the time browser support was spotty at best. Despite the spotlight moving on to something else, browser support has improved markedly and we even have new toys to play with! In this talk, I will walk you through what is possible in today’s browser as well as what other new features you might not be aware of. HTML5 may no longer qualify as bleeding edge, but it is still deserving of our attention.

Mind the Gap: Architecting UIs in the Era of Diverse Devices

Thu 1:30 PM

Architecting and developing user interfaces used to be relatively easy, pick a server side framework, define a standard monitor resolution and spend your days dealing with browser quirks. But today, the landscape presents us with a plethora of screen sizes and resolutions covering everything from a phone to a tablet to a TV. How does a team embrace this brave new world knowing that the future will introduce even more volatility to the client space?

This talk will walk you through this brave new world. We’ll discuss the deluge of devices the typical application must deal with today as well as looking at the plethora of client side rendering technologies. This isn’t strictly a front end problem though, we need to reconsider how we’ve built our server side solutions as well; modern applications rely on RESTful web services delivering data to a diverse set of clients. The development landscape has changed, this talk will prepare you to face these challenges.

Building a Mobile Competency Center

Thu 8:00 PM

By now, the importance of having a mobile solution is obvious to just about every seat in the organization…but how do develop expertise? How do we work through the inevitable politics and organizational issues? What about the technical questions about hybrid vs. web vs. native?

Before you think about a mid life career change, spend some time listening to what we did in one large company. We may not have had all the right answers, but we learned a few things along the way.

The JavaScript Developer’s Toolchain Workshop

Fri 9:00 AM

Back in the day, web developers had to rely on their wits and a plethora of alert statements – to say our toolkit was spartan would be an understatement. But with the increased importance of web front ends and the rise of JavaScript MVC frameworks, a modern web developer toolkit is finally emerging. We’ve evolved from text editors to full fledged IDE’s with code completion and refactoring tools but our toolchain doesn’t end there. With multiple testing libraries, mocking frameworks, test drivers and even code coverage tools, today’s web developer gets to walk downhill on a sunny day.

In this workshop, we’ll discuss the various tools that you can assemble into your own full fledged JavaScript development pipeline from code to deployment and more importantly, get them up and running on your machine.

The JavaScript Developer’s Toolchain Workshop

Fri 10:45 AM

Back in the day, web developers had to rely on their wits and a plethora of alert statements – to say our toolkit was spartan would be an understatement. But with the increased importance of web front ends and the rise of JavaScript MVC frameworks, a modern web developer toolkit is finally emerging. We’ve evolved from text editors to full fledged IDE’s with code completion and refactoring tools but our toolchain doesn’t end there. With multiple testing libraries, mocking frameworks, test drivers and even code coverage tools, today’s web developer gets to walk downhill on a sunny day.

In this workshop, we’ll discuss the various tools that you can assemble into your own full fledged JavaScript development pipeline from code to deployment and more importantly, get them up and running on your machine.

Bulletproof JavaScript Workshop

Fri 1:30 PM

Take a look at your codebase. Go ahead, this abstract will wait. Notice anything? Perhaps a few more lines of JavaScript than years past? JavaScript is no longer an outlier, a language for the interns, something we can just mash together. Today, JavaScript is a first class citizen. As such, we need to treat it will all the care and feeding we extend our server side languages. This hands on workshop will introduce you to a set of tools that will help you write bulletproof JavaScript.

Step one, make sure we aren’t making any basic mistakes like using == when we really mean ===. To remedy these types of bugs, we’ll leverage JSHint to statically analyze our code. In addition to walking through the setup, we’ll discuss how to ratchet up the rules as you improve your codebase. Just like Java or C#, we also need to test our JavaScript code. We’ll introduce Jasmine, a BDD style testing tool as well as other tools that make help in the testing process. Last but not least, we’ll take a tour of Plato, a JavaScript source code visualizer. Taken together, these tools can go a long way to improve your JavaScript code.

Bulletproof JavaScript Workshop

Fri 3:15 PM

Take a look at your codebase. Go ahead, this abstract will wait. Notice anything? Perhaps a few more lines of JavaScript than years past? JavaScript is no longer an outlier, a language for the interns, something we can just mash together. Today, JavaScript is a first class citizen. As such, we need to treat it will all the care and feeding we extend our server side languages. This hands on workshop will introduce you to a set of tools that will help you write bulletproof JavaScript.

Step one, make sure we aren’t making any basic mistakes like using == when we really mean ===. To remedy these types of bugs, we’ll leverage JSHint to statically analyze our code. In addition to walking through the setup, we’ll discuss how to ratchet up the rules as you improve your codebase. Just like Java or C#, we also need to test our JavaScript code. We’ll introduce Jasmine, a BDD style testing tool as well as other tools that make help in the testing process. Last but not least, we’ll take a tour of Plato, a JavaScript source code visualizer. Taken together, these tools can go a long way to improve your JavaScript code.

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: $27.28
You Save: $12.71 (32%)
  • 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 Schutta and Ryan Asleson

Pro Ajax and Java Frameworks Buy from Amazon
List Price: $49.99
Price: $3.63
You Save: $46.36 (93%)
  • 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 Schutta and Ryan Asleson

Foundations of Ajax (Books for Professionals by Professionals) Buy from Amazon
Price: $39.99
  • 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.