This is part two of my notes from ConvergeSE 2012 – Saturday (read notes from Friday).
(Sessions 1 & 2 I skipped)
Session 3: Keep it Simple, Stupid (Kyle Steed)
Simplicity: the quality being easy to understand or do
It takes a lot of hard work to enjoy what you do!
Value the simple things (things in life, work, faith, etc.) Jiro Dreams of Sushi – a movie about a man who works hard and produces incredible results.
Don’t overthink
- Brainstorming is ok cause it helps you get all the bad ideas out first
- But stick with simple ideas
Design is a choice, love is a choice, simplicity is a choice
- Even if you’re comfortable at a 9-5, it may not be fulfilling
- Love what you do
- Choose to live simply
Don’t fear your peers
- Appreciate and learn from them
- Focus on community and connection
- Be inspired by them!
Get good “people time” to be inspired
- Set aside quiet time in the morning
- Then prayer time
- THEN work
Resources
Session 4: Modernizr (Faruk Ateş)
- It’s all about creating tailored web experiences
- Opera, FF, IE are going to alias -webkit prefixes
- Browser vendors screw up UserAgent strings (add MANY conflicting identifiers!)
- Who’s to blame: developers or browser vendors? Neither
How do we work? Person + Tool = Result
If the tool’s flawed, developers need to overcompensate for the flawed tool
The purpose of tools
- Empower you in your needs
- Make it easier to do the job the right way
Origin Story
He wanted to solve the problem of progressive enhancement without forcing people to start from scratch
How Modernizr helps
- Empowers designers & developers to use HTML5 + CSS3
- Makes it easier to do feature detection, progressive enhancement
Taking it to the next level
Regressive Enhancement – Modernizr + Yepnope.js (Modernizr.load())
Modernizr.load({
test: 'Modernizr.csstransitions',
yep: 'filepath.css/js',
nope: '',
callback: ''
})
Related Tools
- leaverou.github.com/prefixfree
- SASS / Compass, LESS
- github.com/scottjehl/Respond (polyfill for IE responsive width)
What’s next?
- Responsive Web Design (“100%”) – i.e., responsive images
- “Mobile First” as a principle is right on the money
- Focus on features of current browsers (and upcoming features) and design for those
- Design for the browser of the future… (?)
- More and better tools (everyone’s responsibility)
- More integrated tools
Session 5: Faster Design Decisions With Style Tiles (Samantha Warren)
Who:
Her, badassideas.com. She works with clients on big responsive websites.
What:
Style Tiles are a design deliverable
- Like paint chips or fabric swatches for a room’s styling
- Elements of a page: type, possible colors, shapes, icons, dribbbles, buttons, textures …
- Benefits of Style Tiles:
- Moodboards are too vague
- Mockups are too precise
- Style Tiles are just right!
- They separate style from layout
Why:
Frankenstien Comp (aka Frankencomp): putting together different comps, which is a mess
Clients don’t think like designers!
How:
- Listen
- Ask goal-oriented questions
- What are the top three user goals for the site?
- What are the top three business goals for the site?
- Exploratory questions, like who are your users
- Metaphor questions, like “What cookie would your website be and why?” <– (BS)
- “Degree of” questions, like “How strongly do you think the site should be… illustrative?” (1-5)
- Ask goal-oriented questions
- Interpret
- Blanket adjectives (Patriotic, Authoritative, American, Readable)
- Extract adjectives into groups
- Break down adjectives into groups based on elements and principles of design
- Define a visual language
- “newsy,” “clean,” “playful”
- It just needs to give you a place to start
- Iterate
- Iterating on a style tile is far more efficient than iterating on a comp
- It’s human nature to combine options
For responsive designs…
- Keep it lightweight
- Get out of Photoshop as early as possible
- Design a system instead of pages (cognition.happycog.com/article/sweet-systems)
References
SESSION 6: The Intersection Of Design & Development (Jeff Croft)
He’s a hybrid.
He used to use the tools he knew to do whatever he needed to do. (vbulliten, moveabletype, etc)
Off the shelf tools suck (for doing what they’re not meant for)
He started working with the original django team on www.lawrence.com
He’s a control freak – he wants to be involved at all levels, not just making it look pretty
Materials vs. Tools
- Mastery of tools is key (but you must understand your materials too)
- Our material is code
- Zeldman says real designers always write code
- Glen Murphy says the best designers are ones with a technical background
Some of the most important design decisions happen in code
- Be proactive in development (i.e., if the designer left something out, take care of it)
You should learn to write code even if you don’t need to for your job
It could get you hired
Being able to code makes you a better designer (whether or not your job requires it)
Jim Coudal: “All things being equal, hire the one who can write.”
The more parts of a project you can influence, the more you can innovate (like Apple does)
Breadth == Influence
How do you get there?
- Just dive in!
- Find a client who will fund your education
- Don’t stop at HTML and CSS
- The language doesn’t matter
- Start at the language level (not the framework)
- Stop having “handoffs” – they kill elegance
- Instead, work together on the entire project
- Make decisions together
- Stop worrying so much about tools and processes
- Don’t blindly draw a line between front-end and back-end
- Beware the “Valley of Badness” (thinking you know more than you do – be respectful)
Truly Innovative Products Need Custom Code
- If you plan to build the next big thing, you better know how to code
- Have a basic understanding of graphic/interaction design (layout, color, typography, etc)
Great people
Session 7: Mobile Usability Testing (Jennifer Downs)
Make a mobile testing rig:
- Plug in a webcam and connect it physically to your iPhone
- Use PhotoBooth
- Use ScreenFlow software to record from both cameras
- Turn down iPhone screen brightness
- with reflectionapp.com/, you can mirror your iOS device on your Mac
What was this session about?
Session 8: Creating Excellent Customer Service (Robyn Tippins)
She’s had bad experiences with brands
Most people believe that companies want to avoid serving them
Examples:
- Verizon is terrible and she had a very bad experience
- Blackberry and RIM are also terrible because of their blackout in Europe
Write an emergency plan, just in case
Examples of bad PR (both good and bad ways to deal with it)
- consumerist.com/2011/09/wendys-employee-attacks-pregnant-customer-for-complaining-about-cold-burger.html
- Kenneth Cole
- Pink Slime
- Chapstick
- Entenmanns
- RedCross (#gettngslizzerd)
Non-Scaling Situations:
- Assessing a customer’s needs
- Helping a non tech-savvy customer
- Refunding a customer’s purchase
Work with marketing, but insist on conversation being within the scope you define
Example of good PR:
- Amazon creates “amaze-me” moments – they re-sent a guy’s order for free
- They’re very wonderful in all ways!
Create positive assumptions
- NQA return policy
- answer calls/messages fast
Documentation
- Document customer support
- Create a wiki or something like that, and seed it with content
- Place helps in strategic places
Empower your reps
- Tell them to take the blame
- Encourage creativity
- Take away the clock
- Encourage power listening (hearing all of it from the client)
- Have them envision the person on the other side
- Encourage real language
- Emphasize follow through
- Remind them to keep their cool
Weekly checkups
- Call your own support line
- Send emails to your support line
Go the extra mile
- Amaze Me reports
- Require follow through on
Guard your territory
- Belong
- Fight for your voice
Love your reps!
- Don’t allow abuse
- Show them a way out if they want it
- Reward them outside of customer care
Session 9: Reinventing Interest Discovery Through Adaptive Human Behavioral Analysis (Jonathan LeBlanc)
Technology is the solution!
The Sociological backbone of identity (Us & Them – The science of identity)
The different states of knowledge
- What a person knows
- What a person knows they don’t know
- What a person doesn’t know they don’t know
Identity and discovery are NOT a technology solution
He decided to make a change, which led him to stopped.at
He helped them build an identity engine
Building check-in categorizations (like a miniature Googlebot)
- shopping
- tech
- books
- posters
- gifts
The more you use it, the more accurate it becomes
Find people you mostly overlap with, and help people learn what the other knows that they don't
That’s how you get the “don’t know they don’t know” section
The Future of the web will not be driven by technology, it will be driven by human nature
Session 10: Getting Your CSS Under Control (Jonathan Snook)
He’s worked for himself, Yahoo, Shopify
Misconception: CSS is easy
CSS renders in reverse – each element in the page tests against each selector from right to left until a non-match is encountered
- Categorization
a. Base (body, input, links)
- necolas.github.com/normalize.css (he didn’t actually mention this one)
- meyerweb.com/eric/thoughts/2011/01/03/reset-revisited
- html5boilerplate.com b. Layout (columns, main/sidebar)
- 960.gs
- elasticss.com c. Module
- form, search, sidebar “About”
- Sub-modules (like types of button) d. State (like active, current, etc) use “is” (i.e. “.is-active”) to designate e. Theme
- colors, borders, text, fonts/font-sizes
- only override what needs to be overridden, don’t rewrite everything
- Naming Convention a. They clarify intent b. Use classes over IDs (specificity is dangerous – leave room for multiples in the future) c. Specify what node you’re styling (use “.btn.btn-large” instead of “.btn.large”)
- Decouple HTML/CSS a. use child selectors because they limit scope, and they render faster b. use them inside a class-based module
- Increase Semantics a. use only one selector in a string if possible! b. add the same class to different types of tag, if they’re performing the same role
What does it mean?
- Shift away from a page mentality
- Don’t code CSS for the page, code it for the system
State-based design
- A layout or module style
- Sub-modules
- JavaScript-driven states
- Pseudo-class states
- Media query states
References
Session 11: Beyond The Click: A Quick Start To Designing With Gestures (Wren Lanier)
- Gestures are good
- Make them intuitive
Session 12: Design Everything (Steve Smith)
Design: Deliberately making something awesome
Our design focus is too narrow
We spend all our time on headers, logos, etc
We ought to design support, team, workflows, analytics, community, etc
Team Workflow
- idea
- discussion
- visuals & development
- deployment
- monitoring
- iteration
This process can be used for everything
We need to design our (design) process
Every step needs thought, design, …, documentation
Tools for Team Interaction
- They have their own app for ideas & discussion – team.githubapp.com
- They have their own app for video presentation – it’s all automated (amazing!) – talks.githubapp.com
- Script/Bootstrap (sets up everything automatically)
- Branches (every feature is a new branch, some get merged back into master, some don’t)
- Pull Requests (way to manage and comment on branches and merges)
- Campfire (auto-notifies them about what goes on)
- Play – sense of community because they can all listen to the same music even though some of them are remote – play.githubapp.com
Tools for Deployment
- Hu-bot (office robot) for instance… “hubot deploy github to production” or “hubot deploy github/branch-name to production” – hubot.github.com
- After commits to master, code is automatically deployed
Tools for Monitoring
- haystack.githubapp.com
- github-graphs.herokuapp.com
- they use an iPad Touch connected to a TV to show graphs
Things we must design
- Design for mobile devices
- Design for customer support
- Design for the first-time user
- Design external notifications
- Design APIs
- Design for speed