To make it easier to see how applications are going to be able to communicate on the Semantic Web it is often useful to see how humans communicate on the Web. The figure below shows a very simplified communication process between two individuals.

What the figure emphasizes is that, first of all, people need a set of shared concepts to be able to communicate. Different languages could then be used to encode the concepts that are communicated. The receiver of the message has to be able to decode the message and "rebuild" the meaning of the message by using the shared concepts. To understand the meaning, in some sense, of information one needs to handle both the language and the concepts it encodes. Another thing that is important is that the encoding informally declares which concepts that are used. A person that cannot handle a language cannot deduce which concept that the message that the language encoded uses. Reading a document is basically a heuristic process - guessing concepts.
Humans can, if they understand the language in which the information was encoded in and the used concepts, use the Web as a source of knowledge. The Semantic Web has the same role; it is a giant knowledge base expressed in a way that makes it possible for machines to use. The figure below shows how two applications running on computers could communicate on the Semantic Web.

The similarities with human communication are obvious. The key thing to consider is the differences in the figures: Applications that communicate on the Semantic Web explicitly declare concepts that are used in the information encoding! The arrows from, e.g. the space of shared concepts to the encoding of the information illustrate this. Also, the space of shared concepts is the Web. This means that an application that receives an information encoding can extract, without guessing, which concepts are being used, and since the concepts are identified with URIs, they are universal. This does not mean that the receiving application automatically understands (could process) the concepts that are being used, but it knows what concepts are being used. Then, if the application is "smart" enough, it can try to relate the used concept to its hand-coded concepts so it can process the information. The Semantic Web is all about converting things [Berners-Lee, 2000].
As stated previously, the purpose of creating the Semantic Web is to help humans; we should not build the Semantic Web if it does not provide any use to humans. Humans will never use the Semantic Web - directly, Humans will use applications that will use the Semantic Web, or humans will use the Web to access information that computers accessing the Semantic Web have produced. The figure below shows how humans will use the Semantic Web, indirectly.

Using the Semantic Web directly is out of the question! Put it another way as in [Hendler, 2001] " ideally most of the users shouldn't even need to know that the Semantic Web exists." We will continue to use Web browsers to instruct machines to help us, and to see the results. Also, machines will create information that is published on Web pages.
To make the Semantic Web happen, there are plenty of things that need to be considered, and problems to be solved. The easiest problem to solve is the precision problem (see introduction) that is present on the Web, and that is explained elsewere. But how do we create information in a way that makes it semantically processable by computers? This is the hardest problem, but this is not a new problem, the Artificial Intelligence community, especially the Knowledge Representation community, has been faced with this problem for a long time. To not "reinvent the wheel", their accomplishment has to be considered and reused as much as possible to find the suitable solution. Basically, what is needed is a language - a Semantic Web language. This language will be covered in another article.
[Berners-Lee, 2000] Berners-Lee T, 2000:
Weaving the Web, Harper Business
[Hendler, 2001] Hendler J, 2001: Agents
and the Semantic Web, URL: http://www.cs.umd.edu/users/hendler/AgentWeb.html