Friday, February 10, 2006

Things to look out for when building a large application.

"Idiots are a lot smarter than you" - wait to see what breaks before you fix it.

When people ask for features, get to the bottom of why they are asking for
that exact thing. Solve the problem, rather than doing exactly what your asked
for.

Make sure the URLs follow the path of the site. DONT include session data,
drop ugly details that are to do with the system, not the user (.php, .aspx,
?, &, etc.)

When you've figured out someone is spamming, don't let them know - let them
keep posting and just silently junk their stuff.

Make users do the minimum amount of work. But make them do something.

Manage your effort - be careful where you spend your efforts.

Don't waste time building features nobody uses.

If users do have to register, send them straight back to where they were when
they're done. Don't dump them on the homepage.

Morals: You have to develop a sense of morals when you build your system. It's
the user's data; it's not yours. Make sure they can remove themselves and
their account if they want to.

Infection: Understand infection vectors for promoting your system. "Enable
evangelism". RSS lets you get at users who don't use your system directly.
Also think about iCal, M3U - anything that a desktop app can consume over
HTTP. Do an inventory to get into every desktop app. possible.

It's a tool. The community can grow elsewhere. No threading etc. "del.icio.us
sux" is an awful experience I'd rather user's didn't have.
(Just a selection)

Joshua Schachter, del.icio.us

No comments: