The term Semantic Web was coined by Tim Berners-Lee to describe his proposal for "a web of meaning," as opposed to the "web of links" that currently exists on the Internet. To achieve this vision, we need to develop languages and tools that enable machine understandable web pages. The SHOE project, begun in 1995, was one of the rst to begin exploring these issues. In this paper, we describe our experiences developing and using the SHOE language. We beginby describing the unique features of the World Wide Web and how they must in uence potential Semantic Web languages. We then discuss why web standards such as XML and RDF are currently insufficient for the Semantic Web. We present SHOE, a language which allows web pages to be annotated with semantics, describe its syntax and semantics, and discuss our approaches to handling characteristics of the Web such as distributed authority and rapid evolution. We discuss the implementation issues of such a language, and describe some generic tools that we have built to aid in its use. Finally, we demonstrate the language and tools by applying them to two di erent domains. The language, tools, and details of the applications are all available on the World Wide Web at http://www.cs.umd.edu/projects/plus/SHOE/.