So I’m in Austin, TX for the South By Southwest Interactive conference this week, and am struck by the wide range of panels on a variety of topics. While taking notes in my first panel today, I thought about how I could share any takeaways from this conference with the whole UA web community, so I decided to try a running blog of my admittedly scattered and possibly indiscernable notes from the panels. I’ll go back and summarize some real takeaways at some point, but I thought this would be a way to share some of the information right away, and maybe spur some discussions around these topics.
So as long as my laptop battery holds out, WiFi hangs in, and I manage to not get lost in the oddly-designed albatross that is the Austin Conference Center, I’ll be posting my notes throughout the day during throughout the conference. Note that this is experimental, unfiltered and largely uneditorialized, so if they’re less than clear, i’m not surprised. More information on speakers, panels, etc. is available at sxsw.com, and at some point podcasts will be available there of all panels if you’re interested in more information.
####################################################
3/8 10 am – Filching Design
Luke Wroblewski (Yahoo), Skip Baney (Apple), Lindsey Simon (Google)
- “Don’t worry about people stealing your design – worry about the day they stop.” — Zeldman
- Example: You do not need to reinvent the nav bar for each project, so it’s tempting to steal something that fits your needs
Base approach to development:
- Design evolves through expansion, start coding right away
- Do the simplest thing that could possibly work first – don’t worry about the whole yet
If you borrow code significantly, attribute it to the source.
dishola.com vs. digg.com – filch or fair?
yahoo.com vs. aol.com – filch or fair?
google vs. yahoo search – filch or fair?
Matt Cutt’s blog posted on filching, but turns out he was using a wordpress theme without attributing.
If you modify another author’s work, at what point does it cease to be derivative? Same markup, different CSS? Same CSS, totally different HTML?
Most open-source licenses of web products are limited to the JavaScript.
*** One interesting point: Different people may find different “reuses” of elements objectionable based on their interaction with the project. For instance, a back-end developer may be less inclined to quibble over someone copping some CSS, since that’s not their primary focus. What’s the point? It’s all relative, to some extent.
####################################################
3/8 11 am – High-Performance Web Sites book reading
Steve Souders (Yahoo, now Google)
- Slides on stevesouders.com
***** Summary of all of this *********
http://www.skrenta.com/2007/05/14_rules_for_fast_web_pages_by_1.html
Combination of FireBug & YSlow – toolset to measure web page against 14 rules in book on the fly to judge loadtime/impact
Best practices – 14 rules (if followed, 25-50% faster pages)
The premise – speed matters
14 principles:
-
Make Fewer HTTP Requests
-
Use a Content Delivery Network
-
Add an Expires Header
-
Gzip Components
-
Put Stylesheets at the Top
-
Put Scripts at the Bottom
-
Avoid CSS Expressions
-
Make JavaScript and CSS External
-
Reduce DNS Lookups
-
Minify JavaScript
-
Avoid Redirects
-
Remove Duplicates Scripts
-
Configure ETags
-
Make Ajax Cacheable
Example – google site made change that delayed page half-second, 20% drop in traffic
One test: w/empty cache, 95% of load-time spent getting content AFTER HTML document loads
Performance golden rule: Focus on front-end (80-90% of user wait time being spent)
- Greater potential for improvement
- Simpler
- Proven to work
See presentations, URL above for more.
####################################################
3/8 11:30 am – The Contextual Web
Nick Finck, Digital Web Magazine
Four elements
1. The User
2. The Task
3. The Environment
4. The Technology
* Note: I switched panels after 15 minutes, deciding on a more practical usage of the hour than a powerpoint w/pictures of the iPhone, its’ shiny black beauty and limitless possibilities aside.
####################################################
3/8 11:30 am – Accessible Rich Media
Susan Gerhart, Becky Gibson, Lisa Pappas
Why produce accessible software?
- Compliance – Section 508, W3C, etc.
- Competitiveness
- Quality and consistency
- Ease of use
- Market-$hare
By its nature, software that tests high for accessibility based on Sec 508 and W3C also tested higher for those without disabilities or limitations.
**** Key point. We’re not JUST designing for those who REQUIRE these features to use our sites, but those who don’t benefit from good UI design processes being followed.
Internet applications: can they be dynamic AND accessible?
- AJAX provides dynamic web content and mechanisms for rich internet-based applications, BUT
– screen readers unaware of updates
– keyboard navigation erratic and incomplete
Enter W3C’s WAI-ARIA (predictable set of navigation)
- Syntax for dynamic, accessible web apps
- Supported in Firefox and IE8 Beta
How to validate for accessibility:
- Check for:
– full keyboard operation
– color options and colorblindness support
– screen reader support
- Use validation tools… with caution
- Get actual people with disabilities to usability test
Evaluation tools:
- Automated checkers – mixed bag as to whether they truly are comprehensive
- Test in variety of browsers and versions
- Browser plug-ins and toolbars
- Built-in support
Test color contrast and differences between foreground and background colors.
- Tool: Colour Contract Analyser (CCA)
Other tools (add-ons in Firefox): Firefox Accessibility Extension, FANGS screen reader emulator
Accessibility and Flash Video? YES.
- Example: NASA Space Place (tab for close captioning, space bar to show captions at bottom, text version that allows translation for foreign language speakers, searchable)
Benefits: Usability, potential audience grows, public perception is positive
Web 2.0 accessibility concerns
- Rich interface controls
- Reliance on mouse (lack of semantics)
- Incremental updates via Ajax
- Changes in focus
- Excessive navigation via tab key
- Content aggregation from various sources (mashups)
- Paradigm shift
- Outdated accessibility standards
So what do we do about accessibility?
- Full keyboard support (using the keyboard to navigate your sites COMPLETELY)
- Low vision support
– High contrast mode & CSS background images (when windows in high contrast mode, turns off CSS bg images)
- Font resizing
- Assistive technology support with ARIA
- Screen reader
– Screen manifier
Accessible Rich Internet Applications (ARIA)
- Add role semantics to scripted UI elements
- Update state information dynamically
- Make items focusable via tabindex attribute
- Add keyboard event handling
– Mimic the keyboard behavior of the rich client UI
- Minimize tab key navigation
- Add live region information and notification behavior
Dojo 1.0.2/1.1 Core Widget Accessibility
- ARIA implemented, high contrast, images off, no support for drag/drop *yet*
*** Did demo using dojo/screen reader that read aloud navigation of basic email site that had tabbed panels, etc, and showed how complex web app could be accessible.
####################################################
3/8 2:00 pm – Opening Remarks
Henry Jenkins (MIT), Steven Johnson (outside.in)
Remarks basically centered around the perceived ”dumbing down” of current generation of young people.
Young people are said to be looking for a place to assert autonomy, create community. Therefore, the turn to new media for outlets.
Dominant message among media:something is wrong with youth in America today (read less, gaming culture, etc.) Is this really the case, or does this generation merely have more things competing for their attention.
Example was given of intelligent TV shows – The Wire as the best in-the-box show, Lost as the best out-of-the-box shows. As opposed to five years ago when it appeared shows like Fear Factor might define the pop culture of this generation, new outlets like these add depth to the pop culture.
**** No technical takeaways here, but it was a thought-provoking discussion on the role of new media in pop culture, and a reminder that we as designers/developers can’t afford to ignore differences in the thought patterns and behaviors of our users.
####################################################
3/8 3:30 – Ten Things We’ve Learned at 37Signals
Jason Fried, 37Signals
The great unknown
- A cloud that hangs over a new project. The uncertainty can scare you away if you let it – but don’t let it, because no one knows what will happen exactly.
- Who knows, who cares.
- Decisions you make today don’t have to last forever.
- Change if need to change.
- Optimize for now.
Red flags
- Things that you should pay attention to. There are a few words that can cause projects to go wrong… words like need, can’t, easy, only, fast.
- Need: puts a barrier up, doesn’t allow you to discuss things anymore. Very few things need to get done. Try using maybe, how does this sound, etc.
- Can’t: ‘we can’t launch unless we do this’. In most cases, this isn’t true.
- Easy: usually used to describe someone else’s job. Think about what it means to someone when you call their work easy.
- Only: very rarely do you only need one more thing.
- Fast: similar to easy.
- These words are bad enough on their own. Together, they can be project-killers. Example: “It’s only one feature. We really need it. We can’t launch without it. It should be easy. Can’t you just do it real fast?”
Be successful and make money by helping other people be successful and make money.
- Spot chain reactions. (Basecamp created successes for clients because it helped them make money, so they were willing to pay for it.)
- Be the catalyst.
- Don’t worry about charging for things if they have value.
Target nonconsumers and nonconsumption
- A nonconsumer has a problem and needs a solution, but can’t find an acceptable solution (too difficult, too expensive, existing players are not targeting them.)
- A potentially exponentially larger market
- Minimize the chance for competition from entrenched players
- Often products that meet these needs are ones that are simple, straight-forward solutions that solve real problems. The big guys don’t care about those markets so the opportunity is there.
- Start simple with users that aren’t currently using something, and it will build from there.
Question your work regularly
- Why are we doing this? What problem are we solving? Is this actually useful? Are we adding value? Will this change behavior? Is there an easier way? What’s the opportunity cost? Is it really worth it?
- Example: post counts in a blog – does it really matter and will it change user behavior to know how many posts are in a category? Maybe, maybe not.
- What opportunities are you missing in other areas by doing some things?
Read your product
- Biggest sin – bad copywriting. Not design, not functionality. The sites just don’t make sense.
- Too much focus on pixels, and not enough focus on words
- Words are the easiest and cheapest things to fix
- Read it out loud
- Rewrite first, redesign second
Err on the side of simple
- Don’t do too much. Every error 37signals has made as a company has been caused by doing too much.
- Start with the easy way (don’t start with an involved process – try the easy first, and if it doesn’t work, expand. Things are easy by default.)
- Get three things done in one week instead of one thing done in three weeks
- Morale, motivation, momentum is important. People love to deliver something and move on to next projects, not stay on the same project forever.
- The longer it takes to develop something, the less likely you are to launch it.
- People’s motivation is always highest at the beginning of the project
- Resist the urge to do MORE the next time around. Companies make the mistake of delivering something successful, and then trying to do something way more complex the next time around.
- Focus on what you’re good at. That is the first thing you did that you were successful with – don’t expand into things you’re not if it limits your successes.
Invest in what doesn’t change
- Think about, in your role, things that are important today and ten years from now. (i.e. Google – speed and accuracy, Amazon – fast shipping and good customer service)
- Simple software – people aren’t going to wake up in 2018 and say “I wish this product or software was REALLY hard to use.”
- Think about the CORE things in your product that people will always want, and stay focused on them.
Follow the chefs
- Be inspired by famous chefs, who SHARE. They’re experts but are telling you everything they know. They’re building their empires by becoming the authority on their topic, they’re not phasing themselves out by giving away their secrets.
- In the business world, people are afraid of sharing.
- They give away their recipes, cook on TV, etc… but people still want to buy their cookbooks, their sauces, go to their restaurants, etc.
- what’s your cookbook?
- Don’t think what you’re doing is so original and important that have to hide it from the world – tell everyone.
Interruption is the enemy of production
- The closer you are to people, the more apt you are to interrupt them (tap on the shoulder, required meetings, impromptu meetings)
- A fragmented day is NOT a productive day
- Evaluate how important the thing you’re sharing with someone, even if it’s not malicious, is in the context of their overall productivity
- This happens to the point where your longest uninterrupted time of the day is 30 minutes or so
- Passive communication reduces interruption (email, etc. – allows other person to get to it when they’re free, not when YOU want them to see it)
- What happens is that you’ll talk less, but more things will get done
- Focus on opportunities for team to not talk as much, but use passive communication. Maybe even schedule days or afternoons where it’s not allowed to talk to each other, outside of emergencies.
Road maps send you in the wrong direction
- Business planning, financial planning
- “We’ll deliver this feature on X date, and that one on Y date.”
- If you’re doing a consumer product, suggest that you don’t set dates.
- They lock you into the past
- Set expectations that what you’ll be doing is delivering things that MATTER, WHEN they matter
- “It’s ok to think about the future, just don’t write it down”
- Do the right thing, at the right time.
- Pay attention to what’s important NOW.
Be clear in crisis
- Be open, honest, public and responsive
- If you fix a customer’s problem, they’re likely to love you even more than if there’d never been a problem
- You build up goodwill and trust by talking about downtime, problems, etc.
- The web doesn’t shut up just because you have
- If you don’t talk about what went wrong, others will do so for you, and it’s less likely to be accurate in that case
Make tiny decisions
- Break problems down to the atomic level
- Knock one little thing off at a time, then move on to the next
- Celebrate little launches
- Morale feeds off progress (nothing worse than working on something forever)
- New stuff is exciting, old stuff is not
- When you make tiny decisions, you can’t make big mistakes (companies are terrified about huge decisions, so they’re SLOW to roll things out because the stakes of failure are so high)
- Most decisions you make, you make too big. Chop them up into smaller decisions.
Make it matter
- Everything you do should matter – every pixel, every word, every site, every page
- If it doesn’t matter, DON’T DO IT.
- When you look back on your days, you may find that most things you do really don’t matter (in terms of impact)
For those that don’t know 37signals, they’re a small company committed to building the best web-based software products possible with the least number of features necessary. Their products do less than the competition — intentionally. Their blog is a great read.
Hey, if you get a chance, check out the Opera Software booth and say hey to my friends! Specifically, Lawrence Eng and Fred Lane. (You might have to tell Fred that I’m BAMAToNE.) Espen and Haavard might also be there. Any of them will know me!
And of course, be sure to check out the Opera 9.5 for mobile phones demo!
http://my.opera.com/opera-sxsw-2008/blog/