AEAChicago2007 – “The State of CSS in an IE7 World” by Eric Meyer

Back to main AEAChicago2007 post

the 800 pound gorilla is awake again! (King Kong pic)
IE was dead, rolled into the operating system, but now it's back
"if it steps on me, I'm going to be a small raspberry stain."
tower biplanes played, in this case, by Firefox and Safari and so on
IE's group program manager announced 100 million installations
	after a couple months
at first there was a question about whether people would install it at all
making IE upgrade part of a Windows update was one of the best things
	Microsoft had done in years
WebSideStory reported 25% of people using IE7, but their statistics
	aren't really great
really you care about the browsers visiting *your* sites
was in charge of Netscape DevEdge editorial (and some development)
	for two years
initially assumed could design for Firefox and Gecko
but IE accounted for 60% of their traffic
IE7 advances in CSS
	fixed positioning
		things static with respect to the viewport (browser window)
		i.e. fixed footers at the bottom
		legal teams will probably want to make copyright visible all the time
		but you can also use for navigation elements, etc.
		make sure to put padding on the bottom of the body so it doesn't
			get hidden behind
		another good use was a blog's comment form fixed in the sidebar
			(since redesigned)
		idea: JavaScript so you could click a paragraph and have it quoted
			into comment
	min-width, max-width, min-height, max-height
	attribute selectors
		div[class] is any div that has any class
		div[class~="val"] is any div with a class attribute containing val,
			like div.val
		div[class|="val"] is any div with a class attribute starting with val
		img[alt|="figure"] would be all images with alt tag figureX
		CSS3 has more: [attr*="val"] will find anywhere in string, like
			[href*=".org"]
		though that will also catch www.organic.com
		also selectors for begins with and ends with
		input[type="text"]  finally, instead of making radio buttons
			hundreds of px wide
		input[value="required"] so input with "required" inside is red/bold
		then when JavaScript blanks text, when user types it's not red/bold
		can visually type PDF links, with href ends in .pdf or title has (PDF
		then add background, padding, etc to display PDF icon
		that's an example of progressive enhancement
		but is it an enhancement or does it break things for your users?
		doesn't work for IE6, so if vital the icons appear, can't do it
			this way
		but then it's probably better to make it an img tag anyway
		might not be an accessibility problem if screenreader reads URL
			of links, or might be
		similar idea for a[href^="https"] with a lock icon
		might be bad on normal sites but great on a banking site, for instance
		would be great for associations with member-only areas
		th[scope="col"] border-bottom, but th[scope="row"] border-right
		or th[scope="row"] + td (td next sibling after th for row) gets
			left padding
		could put different borders on gifs and jpgs to check that are
			using correct format
		believes values are case-sensitive
	child selector >
		can use to mark top-level so can explore:
			body>div {border: 1px solid red}
		ul.interesting>li won't get nested links
		technically a combinator, but we refer to it as the child selector
	adjacent sibling selector
	:first-child
		pseudo-class, like :hover
		body:first-child isn't right, want body > *:first-child
		body:first-child is everything below a first-child body
		since body is generally not the first child of html, that's nothing
		td:first-child will get you tds that are the first element in their row
	chained classes and pseudo-classes
	arbitrary-element :hover
	full background-attachment: fixed
	alpha channel in PNG images
	abbr tag
how they determined what to add was driven by looking at the
	design community
they tried to fix things that people had been complaining about
	for five years
positioniseverything.net
they asked the community. can't do all of CSS2, so what's most urgent?
diagnostic styles
	selecting images by types
	any div with an id, put a border on it: div[id] {border: 1px dotted red;}
	images missing alt attributes img {border: whatever}
		img[alt] {border: none !important;}
	can create diagnostic stylesheet, similar idea to a reset stylesheet
	could help with accessibility testing on a shoestring
	was hoping to publish one here, but it's not quite done
	[here it is]
Dean Edwards' IE7 script is a library to make lots of things work in
	IE5 and IE6
	used to be IE proprietary behaviors, then rewritten in JavaScript
	the IE7 team looked at it to help decide what to fix
	it's been 0.9 (alpha) since he finished it four years ago
	con: extra stuff to download
many dead bugs, dead parsing bugs
	mostly the dead bugs make it good that the parsing bugs are dead
	a fix for IE6 isn't needed by IE7, and IE7 doesn't read the parsing
		bug hack
new parsing bugs!
	*+html
	* + html
	html*
	p/**/#example
	@import url() media;
or can use conditional comments
his clients have chosen CSS hacks over conditional comments
theoretically you can use the not pseudo-class to select, say, elements
	without class foo
but it's CSS3 and no one supports it
	"and its syntax makes my eyes bleed."
Posted in Conference, Development | 1 Comment

AEAChicago2007 – “Accessibility: Lost in Translation” by Derek Featherstone

Back to main AEAChicago2007 post

Derek Featherstone’s post about his presentation

ironfeathers.ca (just did triathlon, Ironman)
icanhaz.com/accessibility (new tinyurl competitor)
developers actually creating the site from its design often have
	checklist syndrome
"here's what you need to do to make your site accessible" creates
	a compliance mentality
it's something that happens at the end of building something, part of QA
should be related to the people who're using the site
used to do a lot of checklist compliance checking
then had a transformative experience on this particular site
Search Terms label is in the searchbox itself
have JavaScript so when that field gets focus, the words go away
doing user testing, tab into field, value is there so announced to
	screenreader
user types in terms, hits Tab to get to Go, then hits Shift-Tab to
	check was written correctly
and then his search terms were blanked, and he said "what happened,
	am I somewhere different?"
so two keystrokes and he was lost
Derek looked for a place to fail the site on a checklist and couldn't find one
so take accessibility beyond the checklist
patterns and techniques from real sites, interplay between
	XHTML/CSS/JavaScript
hopefully add new techniques to coding arsenal
current web trend is custom widgets
	Google Maps built own controls for zooming, moving, traffic, pinpoints
	all these are custom widgets and you can use API to place them
		on page
	they're not actual widgets that do anything, though
	so need to test accessibility
	accessibility isn't just screenreaders - task: voice recognition
		software to zoom in
	maybe each control is a link?  voice recognition command "link"
		numbers the links
	then say "twelve" and link twelve would be clicked
	no links highlighted in Google Map
	then "button" - only one button, Search Maps at top
	cannot tab to any controls in Google Map
	definitely a problem
	set out when building ironfeathers to solve this problem
	API lets you do custom pretty much everything
	voice recognition software can say "mouse grid", pick ninth of
		page, drill down
	then click control once you found it
	don't even get tooltip saying Zoom In until activate it with a
		click command
	ironfeathers built their own controls using the button element
	tabbable and recognizable by voice recognition software
	if using custom widgets, choose appropriate code to build
	provide us with more intuitive controls than HTML allows, but
		require design/code to emulate
	instead of <div onclick="doSomething()"> used
		<button onclick="doSomething()">
inline editing - Basecamp to-do list shows tools on hover
	no way to activate using keyboard
	could instead have an "expose all controls" button available
	sometimes, AJAX helps accessibility. stay in same place after editing.
live updates - think about positioning
	put "characters available" after a field
	if "updating" meter is in HTML but only sometimes shown, will
		screenreader user know when?
	if things update on other parts of the page, how does someone
		know when one happens?
	on mobile client, have "your status has been posted" message after
		update button
	should have on other clients as well
	how do we indicate the page is being updated?
	how do we alert the user that there's new content?
Amazon tagging with screenreader
	"forms mode on" so shortcut keys don't jump to headings, etc.
	when AJAX box popped up, turned forms mode off
	Add button doesn't have alt text, so reads source attribute of image
	no label for text box, so reads "Edit [whatever's in the box]"
	then reads javascript: void(0)
	box with potential completions, but it's not a selectbox so don't know
		suggestions are there
example of tree widget - need to build custom in HTML
	title attribute isn't read by default, and if it is used, it replaces the
		link text
	so had to put hidden span in the link itself
	tried to replicate what screenreader would say if reading a real
		tree (operating system)
	collapsed, expanded, number of children
error/advisory information
	each field has a label; some have additional information that needs
		to be associated
	problem with label-field-advisory is advisory is after the field
	put it all in label. <label for="uname">Username
		<em>must not contain spaces</em></label>
	he uses em for advisory, strong for error
	use JavaScript to update label, though it may not be seen
		(i.e. password strength)
form linearization
	don't put form elements after the submit button in the HTML, etc.
	put elements in order to be read, then position with CSS
	could also use tabindex, but hard to manage especially with back-end
		systems generating code
search results
	often redisplay the form, but that can push results below the fold
	repetition of the form can confuse people reading the page linearly
	create mechanisms to move around the page
	<form method="post" action="search-results.html#results">
	Found X results for <keyword> link at top that links to results anchor
	Search again link at bottom that links to form anchor
translating visual language
	United Methodist Church design of navigation example from IASummit
	color and position tell us a lot
	same color says same section
	position says main tabs are at same level, ones below are subordinate
	difference in color, style, position says tool navigation is separate
	but with styles off, not telling the same story
	tools nav nested within an item
	secondary navigation is completely separate, and not in a list
	so separate tools nav; add labels for Site Menu and In This Section
elearning course accessibility
	needed to make crossword puzzle accessible
	so had to really think about what learning objectives were
	need entry of data, removal of data, keyboard-friendly, scalable
	clues are labels for form fields
	so click on label and get focus on crossword field
	color for visual focus, typing automatically advances after each letter
	can use backspace key to remove
	actually coded as fieldsets for each clue, field for each letter
	javascript copies letters from across to down and vice versa
	labels at bottom of file
title tags aren't really useful in screenreaders or for keyboard input
likes to keep input outside the label so has another style hook
only reads first label assigned to a particular field
best resource for finding what works is local college assistive services and students
don't buy a screenreader, see real people using the technology
have skip links more often now, should AJAX pages have "no JavaScript" links?
been thinking about that, but also sometimes AJAX is better (i.e. with tree)
Posted in Conference, Development | 1 Comment

AEAChicago2007 – “Best Practices for Form Design” by Luke Wroblewski

Back to main AEAChicago2007 post

Luke Wroblewski’s post about his presentation

designs web applications - eleven years of designing a lot of forms
online shopping experience is browsing until you find what you want,
	then a form
so forms stand between you having money and the company getting
	it from you
i.e. MacBook Pro takes your picture for your account - very personal
try to sign up for, say, Vox, all about community and blogging -> form
forms for managing financial data, for voting, etc.
forms are how customers talk to companies online.
they make money. they enable participation. they permit engagement.
YouTube's upload form has been redesigned seven or eight times already
Jared Spool fixed a design problem in a two-field form and made a
	company $300,000 a month
gave talk at Society for Technical Communicators - one person liked
	filling out forms
so minimize the pain of filling in forms, have clear path to completion
forms are conversations: "give me your name. what's your birthday.
	what's your secret password."
lots of different departments may want different information that all
	goes into one form
most forms are artifacts of the data structures behind them -
	database structure
data sources: usability testing, eye tracking, customer support, best
	practices, site tracking
design patterns: information + interaction + feedback
slides have a *lot* of information
label alignment depends on information familiarity, ability to extend
	vertically, etc.
when eBay redesigned its input form, it had to restate its earnings
	upwards
indicate which fields are required/optional when only a few get the
	designation
when B&N redesigned its account form, they kept *s on every field
	but dropped explanation
Walmart does this correctly - the one optional field is marked
required asterisk on label is much better than on input field
try to avoid things that are optional
the number one thing you can do to increase completion rates is to
	get rid of fields
text labels for required/optional are best, but asterisk is pretty good
text saying "use five digits" for zip code is less good than making
	the field that big
use field length as an affordance, or else use consistent lengths to
	reduce visual noise
group things with least visible differences
Luke has said not all form actions are equal - make primary action
	more visually dominant
eBay Sell Your Item: Add Subtitle - "What the hell? How can you
	mess up a one-field form?"
in eye tracking survey, fewer fixations and less time when buttons
	were same
when people talked about what they saw, they liked the difference
people said "It slowed me down", "It prevented me from making an error"
might become quicker over time
worst performance was continue/submit on far right, go back/cancel on
	far left
three successful variations of Submit | Cancel
with top labels, people followed very clear path to completion, submit
	button left bottom
if possible, get rid of secondary actions - nobody uses reset
help and tips can create visual clutter: automatic or activated help for
	current element best
eBay Sell Your Item: Choose a Selling Format has too much help
three radio buttons, >10 help items on the page
many different ways of displaying contextual help exactly as needed
primary goal for every form is completion
have smart inputs so you don't have to require a particular phone
	number format
have smart defaults to reduce choices people have to make
alignment helps define path to completion - let eye scan straight down
for long forms, let people see their progress and save
make sure tab order is correct - use tabindex attribute
use progressive disclosure: show people features when they need them
use gradual engagement: let people use the site and then register
example: jumpcut.com and geni.com
Fidelity myPlan uses sliders. it dynamically shows you information
	without form submissions.
there are many ways to expose dependent inputs - think about all
	your options
slides explain lots of the possibilities
use inline validation for error-prone fields - validate inputs, suggest
	valid inputs, etc.
i.e. people really like "how secure is your password" progress bars
i.e. when picking a username, show whether is available
prominently indicate an error, show what the error is, say how to fix it
by the field, use red and bold (doubled visual language, not just red
	because of colorblindness)
again, say how to fix
disable Submit button after it's clicked so people know something's
	happening
provide in-progress indicator
communicate that submission has been successful
avoid changing inputs that have already been provided
tell people before they start filling out a form if they need anything
	hard to get (VIN, etc.)
<label>, tabindex, accesskey, <formset>
wufoo.com, formassembly.com, icebrrg.com will create forms for you
Pownce signup is good - but don't need to ask for birthday, gender
checking availability of username could be automatic
Posted in Conference, Design | Leave a comment

AEAChicago2007 – “Be Pure. Be Vigilant. Behave.” by Jeremy Keith

Back to main AEAChicago2007 post

how to approach adding behavior to your site
will give copies of his book, Bulletproof AJAX, away to good questions
be pure: separation between HTML, CSS, JavaScript
so progressive enhancement, beginning with a solid structure and then
	building on top
begin with the content, add structure, then presentation on top and
	behavior on top of that
structure = HTML, presentation = CSS, behavior = JavaScript
the beauty of this is you can strip away each layer and still have
	something useful
CSS and JavaScript are subservient to structure
DOM = document object model, the vocabulary used to talk about the
	loaded document
CSS and JavaScript are in some ways similar
for CSS, use p{}.  for DOM, document.getElementsByTagName("p")
not that different from CSS in terms of visualizing the page
page is elements with properties
English: get all the p elements
lolcat: i can has p elementz
CSS: #foo{} vs DOM: document.getElementById("foo")
CSS: #foo p{} vs DOM:
	document.getElementById("foo").getElementsByTagName("p")
on adactio.com, right-hand column has behaviors
Click on headline and content will hide
Customize choose a theme part
think about it in English first, then translate
get all the headers in the sidebar, then attach the toggleHeader
	behavior to each onclick
toggleHeader finds all the elements in the same div and hides all
	but the header
didn't touch the markup. just added the behavior. "I'm being *pure*."
in the real world, sometimes have to add extra div or class
"The standards police aren't going to come visit you in the night."
be vigilant: try to avoid mixing layers
try not to use inline styles
similarly, don't do <a href="javascript:...">  "This is the spawn
	of Satan."
because it's not a valid hypertext reference (href). JavaScript
	isn't a protocol.
avoid it like the plague, there's no good reason ever to use it
similarly <a href="#" onclick="...">  "href equals octothorpe"
it's mixing up your behavior and your markup when you should
	keep them separate
think about the semantics - is it a link, is it a paragraph
common pattern of "add your review and rating" page
can do star hovering rating with CSS
semantic purpose of star rating isn't five links, it's a select
	(or radio buttons)
so mark it up as a select, then enhance
stolen code for function selectReplacement from Aaron Gustafson
it replaces a select element with a dropdown unordered list
	you can style
new book Advanced DOM Scripting, final chapter by Aaron about
	this code
redeparede.com - started as Brazilian version of Craigslist, now spread
select category, then select related subcategory (i.e. Community
	Discussion, Art)
first semantically mark up, with subcategories related to categories
	- optgroup element
optgroups are a way of associating sets of options in a select
so just make one select for the subcategory, since can figure out
	category from subcategory
sometimes more clicks are better: subcategory list is long but only
	one click
better to click twice and have the category and subcategory
so use createSelectFromOptgroups to replace the one subcategory
	select with two
"Feel free to nitpick the code and tell me what I'm doing wrong."
JavaScript has started to be used unobtrusively instead of evilly in
	the past few years
and then AJAX came along, and people suddenly started ignoring
	separation of behavior
but can apply progressive enhancement to xmlhttprequest: he calls
	this "hijax"
"If I've learned anything from Jesse James Garrett, it's that buzzwords
	will get you everywhere."
if you want to build an AJAX website, build a non-AJAX website first
once that's all working, then go in and intercept those clicks: hijack them
use xmlhttprequest to shuttle data back and forth to the server
"Don't try to do business logic in JavaScript in the browser; that way
	lies madness."
that's creating an unnecessary technological barrier to getting stuff done
rapha.cc example - expensive cycling wear
widget on page for adding to shopping basket - just changes shopping
	basket part of page
built with full page refreshes first
request.open('POST', 'basket-update.php', true);  (true says is
	asynchronous request)
request.onreadystatechange - if ready and status done, set
	basket.innerHTML
challenges of AJAX don't lie in the code, though
tricky bit is the design challenges
you're taking the browser out of the equation (browsing model) and
	must replicate functionality
what's happening? what happened? what does the Back button do?
	what does bookmarking do?
browsers have progress bar or spinning icon to show they're working
you need to provide status information - progress bar, spinning circle, etc.
look to the Flash world because they've had to do this for years
conventions can be good, especially since AJAX is new and scary
37Signals's yellow fade indicating something just updated
if users want to bookmark a changed state, you probably shouldn't be
	using AJAX
same for using the Back button
you're changing too much of the page, and users aren't comfortable
to see whether you're changing too much, do user testing
if you're changing the markup with JavaScript, how can you say
	you're separating behavior?
create new markup, not new content in the document. rearranging is OK.
same thing Eric was talking about with 
for rollover images that are links that just pop up info, what use instead
	of href="#"? 
using link because links do :hover properly
would suggest using onmouseover instead of CSS
:hover and :focus are getting behavior in presentation
"Hover considered harmful" blog post
he'll use :hover for changing link color, etc., though
difference between GET and POST?
don't use GET to create, update, delete anything on the server
had Delete links in Basecamp - it's private instead of spiderable,
	but things got autodeleted
people had Google Accelerator that prefetches links, so it was
	prefetching the Delete links
because the links were GET instead of POST
no one supports PUT or DELETE requests
Posted in Conference, Development | Leave a comment

AEAChicago2007 – “Interface Design Juggling” by Dan Cederholm

Back to main AEAChicago2007 post

International Jugglers Association was in next room to Webvisions 2006
color, typography, iconography, microformats, flexibility
start by keeping one object in the air, then two, then....
special announcement: has a new site, toupeepal.com (Wig 2.0)
color
	color is emotional - becomes a problem when working with clients
	"I hate that green.  It reminds me of my ex-girlfriend's quilt."
	clients say "more wow", like it's a Photoshop option
	interesting idea: choosing colors picked from nature photos -
		B&A article by Luke W.
	can use pixilate function in Photoshop to find major colors in photo
	(picture of Trump, founder of toupeepal....)
	Flickr group "Two colors or less"
	Drawn! illustration blog interview with Art Lozzi
	blend background colors so are harmonious, not competing with
		each other or foreground
	31Three pulls dark blue menu color down into background of main
		part of page
	grain texture in background - add noise filter in Photoshop,
		monochromatic, reduce opacity
	reuse colors from palette (fourish colors) to unify page
	open color picker and reduce/increase saturation
	link color carries weight - on a link-heavy page, that color is important
typography
	don't need many fonts, just need to use them well
	AIGA uses Georgia and Verdana - italics, letter-spacing, etc.
	Georgia responds well to all-uppercase with letter-spacing
	Robert Bringhurst, The Elements of Typographic Style
	"In heads and titles, use the best available ampersand." often want
		the italic version
	<span class="amp">&amp;</span>
	webtypography.net transforms guidelines from book to web examples
	make sure fonts in graphics also harmonize
	can get on mailing lists for type foundries
	veer.com will send you cool stuff
	myfonts.com has a great email newsletter - interviews with type
		designers, history, etc
favicons - the most important design element of any site! well,
	important, anyway.
	feeds, bookmarks, Subtraction's footer, tanyamerone.com same,
		cellphone
	really easy to make or really difficult
	scale down logo if possible, choose fragment of logo, or do
		something totally different
	maybe pick part of brand that isn't the logo
	toupeepal can just shrink logo.  various examples in slides.
	or can use avatar of you (eep), which is apparently popular
	Flickr uses its branding but not its logo
	create in Photoshop, paste into Iconographer
	Delta Tango Bravo has a great collection of favicons
	Smashing Magazine has another
add detail without adding complexity
	dropshadow can just be 2px repeating image across bottom of box
	suggest the box - background fade, round one corner only, gradient
		fade of one corner
	reuse themes, colors, graphics so e.g. backgrounds tie things together
microformats
	way to make data available for someone's future application
	takes the guesswork out of how to mark up a particular piece of content
	http://microformats.org/code/hcard/creator
	SimpleBits's contact page has Download vCard link
	SPARQL - can query for only reviews by buddies (XFN)
	Scrugy is a wine review site - scrape wine reviews including from Cork'd
	"accidental API" - Brian Oberkirch
	Drew McLellan presentation, Can your website be your API?
	get greater results by using many microformats together
	microformats.org
bulletproof
	content in slides
	turn images off
	style alt text so it doesn't look awful - and isn't black on black
	turn CSS off
	increase font size
	validate
has he met Gary - purchases of Cork'd - and is he as crazy as on his
	videos? no and yes (phone).
future plans for toupeepal, will he cater to the bald by choice community?
hope to be acquired by someone like Google. are talking to Trump
	about funding.
how do you design a decent-looking website around a bad existing logo?
try to de-emphasize logo; those are the projects you don't talk much about
with color, find the colors that are OK and focus on them
with emotional reactions to colors, how do you prevent yourself from
	being the shrink?
it's hard. change slightly, etc. important part is whether works for design.
if client doesn't want to go into code view to do microformats, how can
	you convince them?
depending on the CMS, might not have the ability to add markup
put microformats into the templates; snippets for CMSs that support that
interesting to have a microformats zen garden? yes, start building.
there are content types that seem microformattable that don't fit the
	current ones
create a format, use it, get others to use it, join mailing list and process.
resolution designs for? bigger than 800x600 is fine now
why does your octopus have ten legs? it's a decapus.
Posted in Conference, Design | Leave a comment

AEAChicago2007 – “The Seven Lies of Information Architecture” by Liz Danzico

Back to main AEAChicago2007 post

Liz Danzico’s post about her presentation

Definitely the most controversial presentation.

abriefmessage.com - with Khoi Vinh
edits many people but project with Adobe was first time she'd
	been edited in a while
Adobe's design center editor redlined a sentence that ended with
	a preposition
rules are easy, guidelines are hard
lists with numbers are commandments, people writing them
	are experts, etc.
Joe and Josephine, first personas in industrial design -
	Henry Dreyfuss, The Measure of Man
Strunk & White, The Elements of Style
Christopher Alexander, A Pattern Language
many many others.
Chris Messina, flickr Patterns
Yahoo! Pattern Library
Navigation must always be consistent.
	you can recognize a Chinese menu from a small window
	UT Austin, The Shape of Information, presented by Victor
		Lombardi at IA Summit
	can recognize Amazon left nav from color, content, space,
		leading, etc.
	Rapunyi Hills in Tokyo is beautiful
	very few street names in Japan, so they use landmarks, and those
		are on the Google map
	don't need Google searchbox of homepage on the Google Maps page
	need -> interpret -> navigate -> react, with interpret being the
		important step
	new Apple nav "inconsistent at every single page, which is awesome"
	So: Navigation must always be predictable and familiar.
There is a magic number seven (plus or minus two).
	individuals can only keep about seven items in short-term memory
	but broad and shallow navigation structures are easier to navigate
		than deep ones
	So: There is a magic number but it always just "depends".
Users must get to all parts of the site all the time.
	when you're dealing with a closed system, then provide navigation
		to all parts
	John Gruber of Daring Fireball talked at the AIGA/Apple speaker series
	asked audience who knew about the event from whom, and pretty
		much everyone knew from DF
	it's OK to get to an AIGA event without being notified by AIGA
	think about interconnectedness of web
	So: Users must get to everywhere from everywhere - but that
		includes external everywheres.
Users must know where they are at all times.
	when wayfinding breaks down, people take matters into their
		own hands
	daylife's purpose is for you to get lost on the site
	YouTube doesn't have sense of place or structure, just jump around
	Barnes & Noble gains a significant part of its revenue from "people
		who bought this also buy"
	So: Users must know what's next, where can I go from here.
The user experience must be seamless.
	Apple's Human Interface Guidelines has a very complete style guide
		- windows named "untitled"
	WordPress has its Codex to codify its interface
	original twitter sketch (my.stat.us) is about what you're doing
	"What are you doing?" and character limit are only constant
		across applications
	So: The designer must design beautiful seams.
Shorter is better.
	how often do people make a mistake with Amazon One-Click?
	longer is often better:
		No one belongs here more than you, by Miranda July
	So: Short is better, and long is sometimes better too.
Information architects do information architecture.
	cloaked society, secret handshake discipline
	good reason for explicit person to be responsible for deliverables
	we talk about moving between phases, really jarring words
	used to work at Razorfish when trying to figure out what IA was
	GM said "from now on, each one of you is your own project
		manager," and they were shocked
	instead of saying "we need to hire an IA", we should all figure out
		how to do IA
	So: Information architects do information architecture, and so
		should developers, designers, writers, clients, and users.
this is scary, because pointing at research can stop an unwise client
	in their tracks
you can point to research, but consider doing your own
you can also point to this talk :)
there's a chance Steve Krug is thinking about another book on
	usability testing on a shoestring
students often flounder without rules - how do you avoid reinventing
	the wheel?
Razorfish interviewing 8 people a day, hiring 3 people a week
how do you teach people your practices when you don't know what
	they are yourself?
created a project called Shallow Dive Project - like Dateline Deep Dive
three days to solve a design problem using the resources in the company
just gave them a brief, then after three days present to the entire company
they found their own rules
make research available to students, but present problems where they
	can experience the rules
then let them decide which "rules" are actually useful
how do you teach clients to catagorize content for a new CMS installation?
subjective process, have to work through it together
a favorite lie is "users will not scroll horizontally"
relativist bent of this talk - learning rules to know when to break them
there's value to learning rules, but people should be encouraged to
	decide when to follow them
users may not need to know where they are, but do they need to be
	able to get back?
studied news: the more tools people had to use the internet, the more
	excited and proud they were
combination of bookmarks, RSS readers, friends, del.icio.us
watch what they're doing - use of del.icio.us and bookmarks suggests
	need save feature
what happens to accessibility when you're breaking the rules?
what you do depends on audience
Posted in Conference, Information Architecture | 1 Comment

AEAChicago2007 – “Search Analytics for Fun and Profit” by Lou Rosenfeld

Back to main AEAChicago2007 post

internal search logs are a missing tool
Jakob Nielson says 50% of users are search-dominated
Zipf curve - long tail distribution - for search results
in this case, try to optimize the short head
look for seasonal patterns
cluster types of queries to look for patterns
how to capture search queries: search logs, local database, commercial
	search solution
most frequent unique queries? do they retrieve quality results? which
	retrieve zero results?
click-through rates per frequent query? most frequently clicked result?
what are the referrer pages for frequent queries?
which queries retrieve popular documents?
then you generate specific questions
i.e. Netflix which most searched and clicked titles are least frequently
	added to the queue?
analytics won't tell you the answer to a problem, but they'll tell you
	the problem is there.
User Research
	type SKUs into catalog site that they looked up in the printed catalog
	BBC has reports for "people who searched on X also searched on..."
		using session data
	segment needs by security clearance, IP address, job function,
		account information
	or extrapolate segments directly from the data
	associate real queries with a persona - now you really know what
		they care about
Content Development
	start from failed queries - does content exist?
	are there titling, wording, metadata, or indexing problems
	"best bets" results defined manually
	identify points with no or way too many results where you could
		add help
	query syntax helps select search features to expose
	if people are using queries with boolean operators, make them
		more visible
	if get zero results, could show options to broaden search
	if get too many (200 or whatever), could show options to narrow
Interface Design:  search entry interface, search results
	consider what elements to include in search results - i.e. author
		name for books
	get more clickthroughs on result 10 than 6-9 on a page with
		10 results
	Financial Times saw people entering dates; so let them sort
		results by date
Retrieval Algorithm Modification
	Deloitte, Barnes & Noble, Vanguard show basic improvements
		(i.e. best bets) aren't enough
	needed to go into more complicated and expensive customizations
	add spell checking
	weight company names in metadata highly
Navigation Design
	if created "best bets" to show at top of query results, can also
		use to generate index
	Michigan State University builds A-Z index automatically based
		on frequent queries
	cuts across organizational sils
	from what pages are searches initiated? those pages are failing
		and people are stuck.
	what are the queries from those points?
Metadata Development
	classify queries as types of metadata, then mark documents with
		that information
	Netflix had movies, people, and genres
	get possible values for those categories - natural language, jargon,
		localization (lorry)
	most common queries are known-item - there's one correct answer
	long tail is often research queries, more open-ended
	do some sampling in long tail to check if it's very different from
		short head
organizational impact
	bad search results demonstrate what happens when content
		authors don't follow guidelines
	look at common queries and make sure good documents aren't
		falling in results
	Google Analytics and others make it easy to email reports - viral
		spread of information
	Financial Times looks for spikes in queries to find breaking stories
complements qualitative methods that can tell you *why* people do
	something
need better tools for parsing logs, generating reports - thinks will get
	good this year
Hitwise and Comscore can help you benchmark against other sites,
	but are expensive
Google Trends may also be helpful
having a hard time writing book because can't get data from people
middle area of the tail may have fast-rising or slowly falling items
has free template for analyzing queries
Posted in Conference, Information Architecture | Leave a comment

AEAChicago2007 – “Design Your Way Out of a Paper Bag” by Jason Santa Maria

Back to main AEAChicago2007 post

start with discovery: research, interviews, what company does and
	message they want to convey
do discovery in a place where you feel creative - colors, books,
	stuffed animals
he keeps morgue files - printed matter that inspires him
he keeps sketchbook - capture ideas and go back and find them and
	be reinspired
sheet music title pages often have cool typography
also digital morgue files - stamps, ads, photos, matchbooks, colors - tag
invited to Comhaltas, preservation of Irish music/dance/etc, in Dublin
invited to music sessions - feeling of community, playing together 10
	minutes after meeting
looked at traditional knotwork for inspiration
told them to avoid dancing leprechauns
had music available to bring online
used knotwork, colors from those knotwork patterns, emotional
	connection, modern feel
ended up with Comhaltas site
A List Apart site - crossover between content and design
took inspiration from old books' typography
why is designing for yourself or your agency so difficult? hard to
	translate feel
use iterative design
makes what he calls grey-box comps
look very like wireframes but are about layout hierarchy not just
	elements on page
"AIGA stands for the professional association for design"
	(mm, de-acronyming)
figured out flow of editorial then were wrapping different things around it
third comp has design competition images in header
don't want to cross designs but focus on one and develop that
in second round, he focuses on details
does it need an underline there?
what's the relationship between headers and content?
between 2 and 3, the logo got bigger. :)
on article page, cleaned up navigation
widened article column and inlined images instead of thumbnails
Marty Neumeier, The Brand Gap
WordPress head is in audience
use brand equity when you redesign
gridwork - i.e. early maps of Philadelphia by William Penn
very different from London....
starts in Illustrator for grey-box comps, then moves to Photoshop
pay attention to focal point
reduce over-contrast
over 400 members of Flickr group called Atrocious Apostrophe's
&ldquo; &rdquo; &lsquo; &rsquo;
Elements of Typographic Style, Robert Bringhurst
Thinking with Type, Ellen Lupton
Grid systems in graphic design, Josef Muller Brockmann
Making and Breaking the Grid, Timothy Samara
Posted in Conference, Design | Leave a comment

AEAChicago2007 – “Writing the User Interface” by Jeffrey Zeldman

Back to main AEAChicago2007 post

interfaces are mostly text
try going to a website in a foreign language and see if you can
	tell how to interact
content drives traffic - i.e. boingboing
words + how big they are + where they are
THIS IS WHY...  1. All sites have big writing / editorial budgets. 
2. All sites (especially big ones) have a content czar. 
yeah right. so what do we do?
"Thinking with Type"
one of the most humane features of design is to help people read less.
guide copy explains what the site's about and how to interact with it
should be brief, clear, and enable you to do things
Veer is a nice site for buying fonts, pictures, etc.
Khoi Vinh saw Zeldman give this talk, and now the NYTimes subscription
	wall page has a link
if copy doesn't set tone, the design can (i.e. e-cards for tween girls)
but needs to be audience-appropriate
"Understanding Your Medicare Benefits.  You must have Flash installed
	and JavaScript enabled."
project management is a tough job - moment of appreciation
Basecamp's login "we'll send you right along" is friendly
Joyent "Take a tour and we'll prove it." instead of "Read more about
	our services."
give us a chance to make a value proposition
Flickr - must appear to be easy to use
"copy" copy - doesn't have to be as brief, can be silly
XHTML fist shirt has six fingers....
brand copy - taglines, blog subheads, etc.
forgetting to write a sentence of introduction totally lose a visitor
Marley's daughter's clothing site's shopping cart is way too formal,
	not reggae
Lulu's about page guy in a suit in heaven with huge amounts of text
	really doesn't work
labels can reinforce your brand - Cap Gemini's "how we work together"
URLs can be labels - name them for humans
reading online might be more fatiguing than reading print, but studies
	are unclear
compare a versus b
Attack of the Zombie Copy
Your About Page is a Robot
how do you reconcile people-read-less with SEO?
cutting the fat and natural language help both
so does using markup so important words are in headlines
can sometimes get funding for editing content by saying will help SEO
what are some questions to determine what's brand-appropriate?
discovery process. what materials have you already produced
	about yourselves?
what do you know about your stakeholders? compare with real users.
there are no good books about copy
there are good ones about writing for the web, but they don't address
	these issues - i.e. Crawford Kilian, Writing for the Web
Zeldman is thinking of writing this
pronouns in copy?  used to be more we, now with blogging more I

ETA: Fixed spelling of Kilian, after seeing his discussion of I versus we prompted by these notes.

Posted in Conference, Design | 1 Comment

AEAChicago2007 – “Secrets of the CSS Jedi” by Eric Meyer

Back to main AEAChicago2007 post

Web 2.0 reflection of Yoda!
isindex tag? from HTML 1.0, no one's used it in five years or so.
display: table doesn't have to only apply to tables
padding on images not just text; images have backgrounds
punchouts with transparent images so changed background on rollover
	shows through
turn a table into a bar graph
	old version on Meyer's site
	table { display: block; position: relative; }
	tr, th, td { position: absolute; bottom: 0; }
	tr { width: 25% } (create columns)
	th, td {width: 100%; }
	thead tr { left: 100%; top: 50%; margin: -2.5em 0 0 5em; }
	(headers outside table)
	thead th positioned correctly - legend with border on each th
	table #q2 {left: 25%; border-right: 1px dotted #999; } etc
	table tbody th { top: .75em; vertical-align: top; }
		(Q1 label at top of column)
	start using <th scope="row"> and <th scope="col">
	tbody td.sent vs td.paid colors
	position td.sent on left of column, 40% wide
	and td.paid on right, 40% wide
	borders set so look like buttons
	outset CSS property doesn't say what colors should be
	so browsers decide (poorly)
	#q1 .sent { height: 36.9%; }
	#q1 .paid { height: 33%; } etc
	precalculated numbers here; since probably coming out of database,
		just program to produce
	or could use JavaScript
	CSS will probably never let you do math: see section 8(?) of CSS1
		but also see CSS3 proposals
	Microsoft had behavior CSS-like property, but many people hate it
	extra div/list/whatever for tick marks at each $10,000
	could use content::after if willing to lose them in IE
	could use tfooter row maybe?
	#ticks { position: relative; top: -30em; margin-bottom: -30em; }
	#ticks .tick { border-bottom: 1px dotted #999; }
	#ticks .tick p { position: absolute; left: 100%; }
		(put them to the right of the graph)
use same markup for horizontal bar graph instead of vertical
accessible and indexable
reset styles
	:focus { outline: 0; }
	table { border-collapse: separate; border-spacing: 0; }
		(need cellspacing in markup)
	blockquote:before, blockquote:after, q:before, q:after { content: ""; }
	blockquote, q { quotes: "" ""; }
Firefox package / Contents/Mac OS/res/ has Firefox's default .css files
line layout is incredibly complicated, so not getting into
can set all elements to display:block and will show head etc. in (most?)
	modern browsers
html element's background inherits upward to canvas
if html element doesn't have a background and body does, it inherits
	upward to canvas
if display html element, there can be space outside it - that's where the
	Force comes from
Posted in Conference, Development | 1 Comment