Blogs

View all Blogs >>

In the Spotlight - Nathaniel Schutta

Nathaniel Schutta

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

Nathaniel T. Schutta is a senior software engineer in the Twin Cities area of Minnesota with extensive experience developing Java Enterprise Edition–based Web applications. He graduated from St. John’s University (MN) with a degree in Computer Science and has a master’s of science degree in software engineering from the University of Minnesota. For the last several years, he has focused on user interface design. A long-time member of the Association for Computing Machinery’s Computer-Human Interaction Special Interest Group, Nathaniel believes that if the user can’t figure out your application, then you’ve done something wrong. Along with his user interface work, Nathaniel is the cocreator of the open-source Taconite framework, has contributed to two corporate Java frameworks, has developed training material, and has led several study groups. During the brief moments of warm weather found in his home state of Minnesota, he spends as much time on the golf course as his wife will tolerate. He’s currently exploring Ruby, Rails, and (after recently making the switch) Mac OS X. Nathaniel is the coauthor of the bestselling book, Foundations of Ajax.















Presentations by Nathaniel Schutta

Designing for Ajax

So you've convinced the boss that your new web application just has to have Ajax...but now what? With dozens of libraries making even the most blinkish of interactions trivial, how do you decided where to sprinkle the magic Ajax dust?

JavaScript 101

Like many developers, you've ignored JavaScript for years. Between the initial pain and the stigma of a "designers toy", it just wasn't worth your time. But with the rise of Ajax, JavaScript has been elevated to first class citizen.

Dojo: Getting Started

So you want to do some Ajax and you've rightly concluded that you don't want to build your own library. After some thought, you've settled on using Dojo - but you're not sure how to get going.

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.


Ext JS: Getting Started

Ext JS is an amazing JavaScript library that's filled with customizable widgets; if your customers have ever asked for "Excel in the browser," you need to look at Ext.

Deconstructing Prototype

By now, most developers have (re)discovered the much maligned JavaScript language and the plethora of top notch libraries have helped make this grey beard of web programming accessible to a new generation of developers. While many are content to simply rely on others, we can learn an awful lot about how to write better JavaScript by taking a look under the hood.

Ajax Libraries

Ajax might not be the most complex thing the average web developer has ever encountered but that doesn't mean building Ajax applications is without some quirks. While you can certainly use the raw technologies beneath Ajax or even roll your own framework, there are a number of well-designed open source libraries that you can take advantage of.




Books by Nathaniel Schutta

by Nathaniel 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. Well look no further than Pro Ajax and Java. In this book, recognized Java experts and authors of the best-selling 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 frameworks—Spring, JSF, Struts, and Tapestry—giving you all you need to incorporate Ajax into your everyday work and become an Ajax expert!
  • Available At: http://apress.com/book/bookDisplay.html?bID=10142

by Nathaniel Schutta and Ryan Asleson

  • 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 user's experience.
  • Available At: http://apress.com/book/bookDisplay.html?bID=10042




ntschutta.com
Just A Thought...on Ajax, usability, software development and anything else that catches my fancy.


Nathaniel Schutta's complete blog can be found at: http://www.ntschutta.com/jat/

Friday, July 25, 2008

I remember the first time I flew for business - I was working for a small consulting company and I was heading to Chicago for a few days of training. I was pretty excited to be on the road (and on expense account) but I was more than a little paranoid about loosing my laptop. Turns out I was right be be concerned: nearly a quarter million go missing each year. I’ve been traveling more then last couple of years but there’s still a little gulp when I put my silver beauty on the old conveyor belt - so far so good (knock on wood) but I just hate having to take my laptop out of my bag along with my oh so dangerous liquids.

Driving home from Fourth of July fireworks, MPR had a blurb on this topic (Future Tense has a wrap up in this podcast.) The TSA is proposing the ultimate laptop bag though the usefulness to travelers is questionable. I doubt I’d purchase one but I have admit, it would ease my mind if I didn’t have to pull my MacBook Pro out of its safe, snug little case each time I went through security…


Tuesday, July 15, 2008

I don’t get to go to quite as many conferences as I’d like but luckily more and more organizers are putting talks on-line or releasing interviews and other useful tidbits. YouTube is home to a bunch of Google Tech Talks and the videos from Google I/O are up (take a look at Steve Yegge’s Server-side JavaScript on the Java Virtual Machine.) I’m a huge fan of TED - Sir Ken Robinson’s talk on education has been on my iPhone since day one and is a much watch.

Anyway, Glenn Vanderburg recently posted a link to a conversation about beautiful code recorded at JAOO. The 20-ish minute chat is full of lots of nuggets including a Thomas Aquinas reference. Software is much more art than engineering, something that is often lost of the non-technical and creativity is (rightfully) getting more attention these days. I found myself nodding along throughout, well worth a watch.


Friday, July 11, 2008

Last year’s Rich Web Experience was a big hit with some of the top Ajax/JavaScript/Design experts around. This year we’ve got not one but two chances to get your web groove on! With fantastic speakers like Molly Holzschlag, Douglas Crockford, Neal Ford, Stuart Halloway and David Verba, you’re sure to learn a ton. As usual, you’ll get technically focused 90 minute sessions with tons of speaker contact, all meals included, a great party, and it’s hard to beat the swag. Early bird registration ends August 15th and attendance is capped so don’t dawdle. I’ll be speaking at both shows and I’m really looking forward to it - hope to see you there!

Rich Web East Rich Web West


Saturday, July 5, 2008

Clearly I’ve kicked off a trend - one day, I post about process, a few days later Reg Braithwaite coins a new term and the Daily WTF posts an ode to process ;) . OK, I’ve only got three readers so I know it’s all just a big fat coincidence but still! Process theatre really does capture the notion perfectly; pointy haired bosses believe more templates, meetings and blind adherence to methodology are the answer to failing projects. Of course when you remove all decision making from the hands of sentient beings, you get a lost workday instead of someone just hitting the spacebar.

I’m not anti-process; you’ve got to have some framework to hang your work on. I plain can’t stand dogma though and I thoroughly believe you need to test your processes just as much as you test your code. Is this document/meeting/hurdle saving us money? Resulting in better projects? Happier customers? Whatever the raison d’être, we should make sure it’s actually delivering. Do more of what works, less of what doesn’t. Rinse and repeat.


Wednesday, July 2, 2008

Software is full of ilities - those quality attributes that more seasoned veterans (or anyone that thinks beyond today’s quarter) care an awful lot about. Some common non-functional requirements bandied about include scalability, reusability, flexibility, testability, availability, usability, adaptability, maintainability…really we could go on and on. Individually, none of these is more or less important than any other though depending on what you’re building for whom, certain attributes are given more or less weight. If I’m working on a simple app to manage my wine collection, I probably don’t care too much about scalability. But, when designing a ratings engine to process thousands of transactions, my concerns change. To put it succinctly, it depends and its always about tradeoffs.

Lately I’ve noticed a lot of projects value dateility above all else. Now, this isn’t necessarily a bad thing. Say you’ve got an important industry conference in six weeks and you need to have a demo ready or on the close date of a merger the books have to be unified - I’ve been in situations where hitting a specific date really was critical to the success of the project.

But then there are those times where the date is arbitrary, it’s pulled out the hat by some manager or VP in an effort to please their bosses or curry favor with the person cutting the checks. I remember one project where the importance of the date was reiterated to us again and again, only to be told at the holiday party that the plan really had us finishing a couple of weeks after the all mighty date. That didn’t sit well with those of us logging all that extra time and we spent most of the next month cleaning up the code in preparation for the next march.

Of course dialing any ility to eleven means others will be turned down to compensate. When we focus on the date at all cast, we stop testing, ignore best practices, and we’re left with a ball of mud. We might have “saved” a little time, but odds are we’ve cost ourselves significantly more in the long run. When building a house or a bridge, the consequences of shortened schedules are easy to see; with software, it’s harder to diagnose but no less real. High defect rates, difficult to use systems and high estimates for new feature work are typical markers of a rushed project.

The affect on team morale is evident to anyone that cares to see it. Nearly everyone I’ve worked with genuinely wants to do good work, they want to take pride in what they’re building. When forced to do a half-assed job, they don’t take it well. The key is saying no, to build less, but finding a manager or VP willing to do that is nigh on impossible. Agile techniques help, but culture trumps all - if people are rewarded based solely on hitting a date, success will be redefined to make sure the maximum bonuses are paid out.