Scaling Your Community

Monday, March 12th @ 11:30 am

Matt Mullenweg Founder, WordPress

Problem in scaling community
forum w/out anyone in it – a bunch of empty rooms
a blog w/no comments “hey, what do you think?”
no comments available blog
slashdot traffic decline

What is scaling?
be as useful fot the last 100k ppl as the fist 100k ppl

have the same experience as a large concert as a half filled room

1. Good Foundation
Start as simply as possible (big party small room)
constitution vs. federal register 900pgs
break down to the simplest thing you can reasonably articulate
“everything that is currently free will always be free”
“we will never sell your email address”
Don’t just promise, visualize

2. Bootstrap
Be your most passionate user!
must be crazy about what you’re doing because nobody else is
Talk to people – get outside to do it.
Caterina of Flickr used to manually introduce people to each other when Flickr was just started out
Pre-moderate before things get bad

3. Let go
your fans know your better than you do – your fans know you (or what you’re doing) better than you yourself
i.e. wordpress ideas – form to put in ideas and vote on them – 487 ideas and 28000 votes
pattern for gathering feedback
*April 23rd WP2.2 release*

4. Open Source
about a process and involving ppl, the community

5. Embrace & Extend
Look at what ppl are doing – watch their behaviors – embrace and extend it
“it’s like the shout feature on”
take a small subset of a successful service

6. You can’t do it yourself
hey, is anyone out there?
creator can’t let go of control.
motivation and delegation

7. Personalization
People want to be unique – let them
customization is more appropriate – take something and make it your own
every action a user does is sacred – they tell you what they love – every tag, every click
Filter! once it hits a certain size there is too much info to take in – ways are needed to filter out the good/bad
Keep it fresh – blogs of the day on – keep it new
Allow for some correction “My Tivo Thinks I’m Gay!” – you want to be giving people the willies – a little magical

9. Bootstrap with popular
people magazine – when brittany shaves her head, we’re gonna look!
Follow the sites that tell you what is cool and new

10. Respect your users’ time
your community/software is a means to an end, they don’t want to use your software make it easy!

Big Questions
Some things have all the right ingredients, but never take off
Have MySpace Livejournal, etc. peaked?
Why do some standards and APIs never take off?
Where is the traffic?
Where is the money?

What is the best scaling software ever?
e-mail – “all software expands till it reads email”

What is killing it?
Spam! – biggest threat to web 2.0

Bonus things
Invest in infrastructure – speed is a feature – youtube has speed as a feature
Be transparent – involve your community in the process – let them know what your problems are – someone can probably help you out.
Don’t believe your own press – you want people at one extreme or the other love/hate
Have fun! – you can tell the flickr ppl had fun when they did it


AJAX Kung Fu Meets Accessibility Feng Sui

Monday, March 12th @ 10:00 am

Jeremy Keith   Web Developer,   Clearleft Ltd
Derek Featherstone

Accessibility in AJAX
2 Kinds
Directed at custom people or technologies
General universal accessibility (best)
-a site that can adapt to anyone and any device using that site

Progressive Enhancement (order to do things)
1. Content
2. Structure it – what does this mean? – NOT how does this look?
3. Presentation – how does this look
4. Behavior – how does this work?

You should be able to strip away any of these w/out any problems
What you can use for these:
2. HTML (content)
3. CSS (structure)
4. AJAX (behavior)

Many times the AJAX comes first – this is bad.

What is AJAX?
Asynchronism is cool – don’t need to refresh page to get info from the server – not just pretty expand out boxes

Web = Thin Client



Web = Rich Client


**AJAX** use ajax to process – bad because AJAX is required


progressive enhancement

Browser (links/forms) -> Server (returns/serves whole page back no mater what the link/form)

Browser (links/forms) -> AJAX -> Server (just sends back via AJAX what is needed) -> Browser just shows the changed elements

Deceptively rich content – AJAX is just the dumb waiter. It just delivers the stuff between the browser and the server. If the AJAX layer is stripped out it is OK because you’re going back to the old way of the server delivering an entire page.

plan for AJAX from the start but implement AJAX at the end

Watch for: <a href=”javascript:…”> or <a href=”#” onclick =…>

Patterns good for AJAX
rating things
register (user name is taken)
comments (more blogs should use this)
shopping carts

Feng Shui
Find a way where things can peacefully coexist.

Feng Shui means Wind & Water – Wind and water can be peaceful or very destructive

Accessible Scripting:
’99 – site works w/ or w/out javascript
’04-’05 – accessibility scripting something different
’06 – HIJAX (
is AJAX pop-up worse than a real browser window pop up – a screen reader doesn’t see the AJAX pop up. Maybe better to keep on page w/anchor hidden w/css at bottom

Create a linear pathway through pages if one exists.

Form advisories
tables prevent screen readers to get them – not part of form
just style <em> to pus it to the side as part of form
if there is an error style a <strong> to indicate
Screen readers will see this as part of <label>

A <label> can also be added to submit bottom saying there is a problem

Where Next?
TabIndex = “-1”

Always an option not to use AJAX – consider alternatives or possibly make a “no ajax” preference

“Accessibility is just as seXy!”

How do you deal with this when using a CMS or server language that doesn’t handle this?
Maybe find something that does or build your own if accessibility is important to you

Where are screen readers headed and why are they so slow to keep up?
They are getting better, but they are slow, they have to stay backwards compatible. Standards bodies are helping in this. Just a wait and see thing.