Please don't forget the capability to deal with foreign language words (ex. place names with accents), and the ability to use ontologies with semantic relationships of the kind "synonymous", "quasi-synonymous", "supertype", "subtype", etc. This way, when I look for "river", I may get photographs (if I want) with similar keywords such as "watercourse", "waterbody", "streams", "waterfalls", etc.
The web 2.0 calls for using OWL.
And keep as much as possible PM 3 principal characteristics: speed, speed and speed.
Regards,