Navigation Keys:
Next Slide
Space Bar and Right Arrow
Previous Slide
Left Arrow
My first Java program was RSA
Pointer arithmetic makes me happy
I hate weakly typed languages
I look down my nose at
JavaScript programmers
1. Good UI Starts With Good Architecture
To customers, the interface is the product

How I learned to stop worrying
and love REST
Server
Client
REST makes your APIs better

Speed is a usability issue
JavaScript is full of dark corners
parseInt('8') = 8
parseInt('08') = 0
Mix and match JQuery and GWT
The Tools Can Save You
Check your JavaScript - JSLint
Compress your JavaScript - Google Closure Compiler
Pack your CSS - YUI Compressor
Test your JavaScript - QUnit
2. Five Rules of Spiffy UI
GWT File Upload

81 HTML Tags
Spiffy File Upload

21 HTML Tags
Rule 2. All layout in CSS
custom.css
#mainBody {
margin-left: 10px;
}
#mainNavigation {
float: right;
}
Rule 4. All images and branding in CSS

Classic Spiffy...
Gone in 60 minutes
Messy Vertical Rhythm
Clean Vertical Rhythm
3. Would You Buy A Car With
Three Steering Wheels?
Simplicity isn’t simple
We said no to
- The back button
- Authentication configuration UI
- Categories
- Running the client and server on separate servers
- Localized reports
- …and over a dozen preferences
Define your style plan
Give feedback as early as possible
Don’t fear custom controls
Humanized dialogs avoid modality
Waiting doesn’t have to be the hardest part
5. Discuss, Argue, and Brag
Your application gets better
every time you talk about it
More writing means better code
If you write software for humans,
you’re a designer
I don’t know what I’m doing
Quality software does what you expect
And ask lots of questions…