for maintenance, this takes at least 6 hours for any given project
as part of discovery, answering questions on usenet, reverse-engineering
tools, ClearQuest, Vignette, Ajax, DWR, JSON
formal QA, code-level bug reports, URL, annotated screenshot, 3 full sentences, Describe the problem., Speculate as the the cause., Describe the solution., write tests concurrently with the code
tweak positioning last, if ever, positioning that is off by a few pixels is to be expected, the designer should design with this in mind
compatibility, what browsers are supported?, what kind of bandwidth is expected?
laziness, impatience and hubris
object-oriented programming, separation of presentation, behavior and content, MVC on the client side, what is behavior?, special cases are inevitable, innerHTML, DOM methods, document.write() considered harmful, CSS 3, CSS pseudo-classes, Ajaxy content, "shared-nothing" architecture, it's easy to upgrade, it can be explained gradually, "learn it once, use it many times", incomplete documentation is still useful
ask questions, boundary conditions, what are the elements of the UI?, what states can the elements have?, how is each state invoked/canceled?, what are the data structures?, what happens when some data is larger/smaller than comped?, what if some data is not available?, brand, font, hex colors, layout, column widths, justification, how will the images be sliced?
build prototypes, paper prototypes, Firefox prototypes, cartoon prototypes
tools, Yahoo! pipes, Google maps, Firefox
brown bag lunch
comeraderie and mutual respect, toys, Pixel Blocks, nerf weapons, lolcat builder, conferences
wiki, everyone has a blog, wiki tools, TiddlyWiki, Confluence, SharePoint
hardware, Wacom tablet, 2 monitors per machine, Synergy, whiteboard, high-resolution still camera, colorful markers, eraser, drawing, life drawing, charicature, icons, library of facial expressions, comics, comics as documentation, comics as process diagrams, comics as interaction prototypes