Introducing the knowl: better browsing on the Web

The American Institute of Mathematics (AIM) is pleased to introduce a new tool to the world of web pages—the knowl. Like the familiar hyperlink, knowls can be used to provide relevant, supplementary information and are referenced from within the body of a web page. But unlike the hyperlink, which simply takes you to a new web page, the knowl conveniently serves up the information at your original location with the click of a mouse button. With a similar click, the knowl then disappears.

"The self-contained nature of knowls makes them useful in many different settings. They can be thought of as 'building blocks' that can be called upon when needed. I envision a time when the Internet has a repository of such knowls, reliable and ready to be referenced anywhere." says David Farmer, Director of Programs at AIM.

Knowls were developed to support research projects in advanced mathematics, but they can be easily incorporated to enhance any website. Knowls creator Harald Schilly noted, "The technology for knowls is at least 10 years old, and the theoretical basis, known as transclusion, is more than 50 years old. Our contribution is to provide an interface that fits the way people browse the Web today."

In addition to the examples in the paragraphs above, knowls are used extensively in Rob Beezer's free textbook on Linear Algebra.

The mathematics research projects which led to the development of knowls were funded by the Division of Mathematical Sciences at the National Science Foundation.

How to put knowls on your own website

The process is very similar to the way people currently make web pages and hyperlinks between them.

Step 1: Add the following three lines between the <head> and </head> tags at the top of your webpage.

<script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script> 
<link href="https://aimath.org/knowlstyle.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="https://aimath.org/knowl.js"></script>

Step 2: When you want to insert a knowl into the page, it works just like inserting a link, except that you write knowl= instead of href=.

For example, the above knowl on "transclusion" was inserted with:

...known as <a knowl="transclusion.html">transclusion</a>, is more than 50 years old.

Step 3: The file containing the knowl is just an ordinary html file, except that you can leave out the <head> of the page and just include the contents. The file transclusion.html contains only the following:


<p>
Transclusion is the inclusion of a document or part of a document into another document by reference.
</p>

<p>
The term "transclusion" was coined by hypertext pioneer <a knowl="bio.ted_nelson">Ted Nelson</a> in 1982.
</p>

<p>
The fundamental principle of transclusion is <em>context independence </em>,
also called  <em>context neutrality </em>.
This means that the text is self-contained and does not have to appear
in any particular context in order to make sense.
</p>

Note that all the paragraphs are marked with opening and closing tags. If you don't properly enclose your paragraphs in <p> </p> or <div> </div> tags, then your knowls may not appear in the correct location.

If your knowls don't appear properly in Internet Explorer, make sure that the first two lines of your file are:
<!DOCTYPE html>
<html>

Questions or comments to knowls@aimath.org