This is my writeup of Joshua's talk. I also have notes for the presentations by: Paul Graham (YCombinator), Om Malik, and Caterina Fake (Flickr).
Initially, Joshua did all the coding for del.icio.us at night and on weekends, so it had to be simple and additional features had to be easy to implement and incremental.
Joshua's advice about doing a startup: "you must be passionate about it. You can't be the smartest guy, but you can be the most passionate by finding a problem that is important to you."
- Write them down
- go back and review them
- Keep an idea log
- Then, figure out which ones are low-cost to implement.
This way, you can quickly go from an idea to seeing what it's like. Implement these ideas. You get good by doing this a lot. Expect some of them to flop.
On secrets: Secrets are a bad idea. There's more value in talking than in keeping something a secret. Companies that operate in stealth mode aren't helping themselves. Go from idea to implementation - get it out there - "none of this send us your email address and we'll tell you when we launch stuff"
On marketing: everything you do, every feature you release, is marketing.
On openness: del.icio.us is the only one of its kind that allows you to import and export your bookmarks. The competitors only allow you to import (from del.icio.us, of course). The message del.icio.us sends to users is that "it's your data." Joshua says this has helped del.icio.us succeed.
On users and usability: listen to your users. Joshua would never have guessed that most uses don't know what a bookmark is -- on IE, they're called favorites. He and his friends were all Firefox/Mozilla users. For usability testing, he related an idea from Mark Hearst of Creative Good - go to a Starbucks and offer a free latte to anyone who will try out your software.
On design: Simplify, simplify, simplify. Del.icio.us has no messaging feature because users already have a perfectly good way to contact each other - email.
Make the URL readable. This is prime real estate at the top center of the screen. No session IDs or ".php"
On scalability, his advice to startups is "don't yet." Wait for real cases once you launch, because you'll have to do this anyway - you will not correctly anticipate where the issues are, so any effort on this is wasted.
Consider social scaling issues too -- a forum works for 500 participants, but not 10,000.
Also, don't worry about spam too much in advance. Just build in logging so you can track behavior at least 24 hours back - "do not underestimate the power of spammers to annoy you" - in other words, you can't anticipate everything they'll do, so you need mechanisms to look for anomalous behavior early on.
On technology: you will go 3x over budget, things will break when you didn't expect them to, CSS bugs on Opera will take you 800 million hours.
For browser issues, get good at dealing with these or find someone who can, but do this later; when first starting, ignore these - get things working for a single platform.