Building Flickr
Cal looks at 10 things which he sees as being instrumental to Web 2.0 from the point of view of Flickr.
Collaboration
Allowing people to list friends on Flickr enables a social network to develop, making the site better for them and for you. In addition, people within the network can add metadata to each other's photos so giving added benefit to all.
Aggregation
Having multiple types of data for each item (date, tags, geolocation, 'interestingness') means you can display it in lots of different ways.
Open APIs
Start with a basic API (ie ready-only) and work up to a full-featured one. The advantage of APIs is that it allows others to build features for you that you have neither the resources or inclination to build yourself. In addition it forms a free marketing tool as people who use it will talk about it.
A selfish reason for building an API is that it makes getting at your data easier so reducing the number of people grabbing your data by more invasive methods such as page-scraping.
Clean URLs
2 out of 2 for this one! Cal adds that once given a nice url, it should never be changed as it will have been bookmarked and linked to. Obvious but worth re-stating. He also mentions that as urls become cleaner more people will start to manipulate them, so Flickr for example shows the hierarchy of the information within the url. He goes on to say that it's worth making sure your urls will scale with the site.
AJAX
Not the first time this will be looked at today, this enables load on the server to be reduced (something which was raised later was that you might experience increased server load as your users interact more with the site - but that's all good!).
Unicode UTF-8
It's all about internationalisation and localisation, baby! Cal points out the difference between the two (enabling storage vs output in differnet language).
Desktop integration
Bringing the website out of the browser means your site has more reach and makes it easier for users to interact with it (dragging & dropping files is one task which is far easier to accomplish on the desktop). Build widgets to allow uploading of files, plugging into the API. Allow email to be a delivery tool for publishing content.
Mobile
WAP really hasn't changed our lives, but many of the newer phones have browsers based on Opera. Cal's main point here is that it is a different type of user who is going to be using a mobile to view the site and so you should re-purpose your content to suit; swapping out the styles may no longer be enough.
Open Data
This is important stuff for service sites - allow your users to feel that they can leave with all their data at any time (and that includes any metadata which they may have added while using your service). All this can be accmplished via APIs allowing 3rd party sevices to add more value.
Open Content
Again important stuff. The data belongs to the user along with all the rights, unless specified by the user by Creative Commons or suchlike. The site cannot use or modiy the data without their permission.