TkWWW
Encyclopedia
tkWWW was an early web browser/WYSIWYG
HTML editor written by Joseph Wang at the MIT
as part of the Project Athena
and the Globewide Network Academy project. The browser was based on the Tcl
language and the tk toolkit
extension but did not achieve broad user acceptance or market share although it was included in many Linux
distributions by default. Joseph Wang wanted tkWWW to become a replacement for rrn and to become a "swiss army knife
" of networked computing.
Version 0.4 integrated a much easier installation procedure, better default color scheme, keyboard traversals and a history mechanism. Version 0.5, released 8 February 1993, introduced support for multi-fonts.
Version 0.6 changed personal annotation with format compatible with xmosaic
and improved the GUI.
On 1 May 1993 Wang announced that tkWWW version 0.7 was the first WYSIWYG X11
HTML editor which was originally written by Nathan Torkington Another improvement was the ability to start in iconic mode.
Version 0.8 improved the graphical user interface
(GUI) and added a "reload" option.
With the version 0.9 the browser achieved beta status and added support for character style tags
, for Tcl 7.0 and partial support for image tags.
Version 0.11 worked successfully with RCS
.
Version 0.13 was based on the new released tk 4.0, and was released in a buggy state to allow wider testing. It added inline image support.
Support for HTML+, a proposed successor to HTML 2, was implemented while the specification was being developed.
tkWWW was extended by the GNU Guile
project to support Scheme extensions.
parser
. and to separate the browser from the editor because the combination is tricky to use.
The long term plan included new functions like word processing
, directory navigation
, file transfer
, news
and email
reading.
tkWWW was developed before Safe-Tcl was developed to allow untrusted Tcl applications to run without the full privileges of a system's user. As the software could execute remove Tcl scripts automatically, this was a potential security issue.
tkWWW was criticized for not supporting the mailto URI scheme, rlogin
, WAIS
, and HTML forms. A stop-button to interrupt the transfer of web pages was also not integrated.
in the Biological Sciences Division. Development started in the summer of 1993 because there weren't any easy to use web page editors available. In May 1995 they ceased development considering there to be enough similar tools available.
The main new features were the better HTML+ support, integration in the underlying operating system with features like copy and paste and a native look, and support for the Kerberos protocol by modified servers. The browser was supported on MS-DOS
, Microsoft Windows
, Mac OS
, Unix
, and Linux. Further development would have added support for BSD
.
The short term plan of tkWWW was to separate the editing from browsing capabilities which were already implemented in Phoenix. Inline image support of GIFs and ISMAPs were also already integrated in the first version of Phoenix.
The ability to access Multi-user Object Oriented (MOO
) or Multi-User Dungeon (MUD
) servers were requested as a new package for tkWWW which the Phoenix team successful integrated.
about The TkWWW Robot in October 1994.
TkWWW robot is one of the first web crawler
and Internet bot
based on the tkWWW and developed over the summer at the Air Force Rome Laboratory
with funding from the Air Force Office of Scientific Research
. It is designed to build HTML indexes, compile WWW statistics, collect a portfolios of pictures, or perform any other function. The main advantage that the TkWWW robot had is its flexibility in adapting to virtually any criteria possible to guide its search path and control selection of data for retrieval.
The search algorithm
worked by searching so called "web neighborhoods" by finding logically related homepages. The bot returned a list of links that look like bookmarks. One problem was that the searched was limited to two links from the original homepages.
but since it is based on the Tcl/TK toolkit, it should work on every operating system
which supports the toolkit and has these two packages installed. To display images, tkWWW requires the xli package.
It has two strictly separated processes: one for the GUI and one for network interaction and parsing HTML. The second part is compiled
C
code based on the libwww
library by CERN. The frontend GUI is written in tk and interpreted at runtime.
WYSIWYG
WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...
HTML editor written by Joseph Wang at the MIT
Massachusetts Institute of Technology
The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological education and research.Founded in 1861 in...
as part of the Project Athena
Project Athena
Project Athena was a joint project of MIT, Digital Equipment Corporation, and IBM to produce a campus-wide distributed computing environment for educational use. It was launched in 1983, and research and development ran until June 30, 1991, eight years after it began...
and the Globewide Network Academy project. The browser was based on the Tcl
Tcl
Tcl is a scripting language created by John Ousterhout. Originally "born out of frustration", according to the author, with programmers devising their own languages intended to be embedded into applications, Tcl gained acceptance on its own...
language and the tk toolkit
Tk (framework)
Tk is an open source, cross-platform widget toolkit that provides a library of basic elements for building a graphical user interface in many different programming languages....
extension but did not achieve broad user acceptance or market share although it was included in many Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
distributions by default. Joseph Wang wanted tkWWW to become a replacement for rrn and to become a "swiss army knife
Swiss Army knife
The Swiss Army knife is a brand of pocket knife or multi-tool manufactured by Victorinox AG and Wenger SA. The term "Swiss Army knife" was coined by US soldiers after World War II due to the difficulty they had in pronouncing the German name....
" of networked computing.
History
Joseph Wang announced in July 1992 that he was developing a web browser based on tk and made the alpha version 0.1 publicly available.Version 0.4 integrated a much easier installation procedure, better default color scheme, keyboard traversals and a history mechanism. Version 0.5, released 8 February 1993, introduced support for multi-fonts.
Version 0.6 changed personal annotation with format compatible with xmosaic
Mosaic (web browser)
Mosaic is the web browser credited with popularizing the World Wide Web. It was also a client for earlier protocols such as FTP, NNTP, and gopher. Its clean, easily understood user interface, reliability, Windows port and simple installation all contributed to making it the application that opened...
and improved the GUI.
On 1 May 1993 Wang announced that tkWWW version 0.7 was the first WYSIWYG X11
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
HTML editor which was originally written by Nathan Torkington Another improvement was the ability to start in iconic mode.
Version 0.8 improved the graphical user interface
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
(GUI) and added a "reload" option.
With the version 0.9 the browser achieved beta status and added support for character style tags
HTML element
An HTML element is an individual component of an HTML document. HTML documents are composed of a tree of HTML elements and other nodes, such as text nodes. Each element can have attributes specified. Elements can also have content, including other elements and text. HTML elements represent...
, for Tcl 7.0 and partial support for image tags.
Version 0.11 worked successfully with RCS
Revision Control System
The Revision Control System is a software implementation of revision control that automates the storing, retrieval, logging, identification, and merging of revisions. RCS is useful for text that is revised frequently, for example programs, documentation, procedural graphics, papers, and form...
.
Version 0.13 was based on the new released tk 4.0, and was released in a buggy state to allow wider testing. It added inline image support.
Support for HTML+, a proposed successor to HTML 2, was implemented while the specification was being developed.
tkWWW was extended by the GNU Guile
GNU Guile
GNU Guile is an interpreter/virtual machine for the Scheme programming language. It was first released in 1993. Guile includes modularized extensions for POSIX system calls, APL array functionality, and others packaged as an object library...
project to support Scheme extensions.
Further development
The short term roadmap for tkWWW was to include a SGMLStandard Generalized Markup Language
The Standard Generalized Markup Language is an ISO-standard technology for defining generalized markup languages for documents...
parser
Parsing
In computer science and linguistics, parsing, or, more formally, syntactic analysis, is the process of analyzing a text, made of a sequence of tokens , to determine its grammatical structure with respect to a given formal grammar...
. and to separate the browser from the editor because the combination is tricky to use.
The long term plan included new functions like word processing
Word processing
Word processing is the creation of documents using a word processor. It can also refer to advanced shorthand techniques, sometimes used in specialized contexts with a specially modified typewriter.-External links:...
, directory navigation
File manager
A file manager or file browser is a computer program that provides a user interface to work with file systems. The most common operations performed on files or groups of files are: create, open, edit, view, print, play, rename, move, copy, delete, search/find, and modify file attributes, properties...
, file transfer
File transfer
File transfer is a generic term for the act of transmitting files over a computer network or the Internet. There are numerous ways and protocols to transfer files over a network. Computers which provide a file transfer service are often called file servers. Depending on the client's perspective the...
, news
Usenet
Usenet is a worldwide distributed Internet discussion system. It developed from the general purpose UUCP architecture of the same name.Duke University graduate students Tom Truscott and Jim Ellis conceived the idea in 1979 and it was established in 1980...
and email
Email
Electronic mail, commonly known as email or e-mail, is a method of exchanging digital messages from an author to one or more recipients. Modern email operates across the Internet or other computer networks. Some early email systems required that the author and the recipient both be online at the...
reading.
Features
- It is possible to embed tk-code in websites by the htext-widgetWidget toolkitIn computing, a widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with graphical user interfaces...
- Because the interface is written in tk, it is easy to modify and extend the system.
- a WYSIWYG-editor for HTML web pages with all major HTML functions (character emphasis, headings, paragraph breaks, lists, anchors).
- supports many protocolsInternet ProtocolThe Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
: FTPFile Transfer ProtocolFile Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...
, gopher, HTTPHypertext Transfer ProtocolThe Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....
, telnetTELNETTelnet is a network protocol used on the Internet or local area networks to provide a bidirectional interactive text-oriented communications facility using a virtual terminal connection... - multi-fontFontIn typography, a font is traditionally defined as a quantity of sorts composing a complete character set of a single size and style of a particular typeface...
s by the text-widget and Asian font support - multimedia format support: bitmapBitmapIn computer graphics, a bitmap or pixmap is a type of memory organization or image file format used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped array of bits. Now, along with pixmap, it commonly refers to...
, DVI, GIF MPEGMoving Picture Experts GroupThe Moving Picture Experts Group is a working group of experts that was formed by ISO and IEC to set standards for audio and video compression and transmission. It was established in 1988 by the initiative of Hiroshi Yasuda and Leonardo Chiariglione, who has been from the beginning the Chairman...
, PostScriptPostScriptPostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
, and X Window dump filesDump (program)dump is a Unix program used to back up file systems. It operates on blocks, below filesystem abstractions such as files and directories. Dump can back up a file system to a tape or another disk... - can automatic unpack filesZIP (file format)Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is...
tkWWW was developed before Safe-Tcl was developed to allow untrusted Tcl applications to run without the full privileges of a system's user. As the software could execute remove Tcl scripts automatically, this was a potential security issue.
tkWWW was criticized for not supporting the mailto URI scheme, rlogin
Rlogin
rlogin is a software utility for Unix-like computer operating systems that allows users to log in on another host via a network, communicating via TCP port 513.It was first distributed as part of the 4.2BSD release....
, WAIS
WAIS
WAIS may refer to:* West Antarctic Ice Sheet* Wechsler Adult Intelligence Scale* Wide area information server * WAIS , a radio station licensed to Buchtel, Ohio, United States...
, and HTML forms. A stop-button to interrupt the transfer of web pages was also not integrated.
Extensions
Because tkWWW based on the tk framework, it is very easy to expand the functionalities. There were several extensions and applications based on the tkWWW.Phoenix
Phoenix was a well-known web browser and editor built upon tkWWW version 0.9 created at the University of ChicagoUniversity of Chicago
The University of Chicago is a private research university in Chicago, Illinois, USA. It was founded by the American Baptist Education Society with a donation from oil magnate and philanthropist John D. Rockefeller and incorporated in 1890...
in the Biological Sciences Division. Development started in the summer of 1993 because there weren't any easy to use web page editors available. In May 1995 they ceased development considering there to be enough similar tools available.
The main new features were the better HTML+ support, integration in the underlying operating system with features like copy and paste and a native look, and support for the Kerberos protocol by modified servers. The browser was supported on MS-DOS
MS-DOS
MS-DOS is an operating system for x86-based personal computers. It was the most commonly used member of the DOS family of operating systems, and was the main operating system for IBM PC compatible personal computers during the 1980s to the mid 1990s, until it was gradually superseded by operating...
, Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
, Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...
, Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
, and Linux. Further development would have added support for BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
.
The short term plan of tkWWW was to separate the editing from browsing capabilities which were already implemented in Phoenix. Inline image support of GIFs and ISMAPs were also already integrated in the first version of Phoenix.
The ability to access Multi-user Object Oriented (MOO
MOO
A MOO is a text-based online virtual reality system to which multiple users are connected at the same time.The term MOO is used in two distinct, but related, senses...
) or Multi-User Dungeon (MUD
MUD
A MUD , pronounced , is a multiplayer real-time virtual world, with the term usually referring to text-based instances of these. MUDs combine elements of role-playing games, hack and slash, player versus player, interactive fiction, and online chat...
) servers were requested as a new package for tkWWW which the Phoenix team successful integrated.
The TkWWW Robot
Scott Spetka presented a paper at the Mosaic and the Web Conference in ChicagoChicago
Chicago is the largest city in the US state of Illinois. With nearly 2.7 million residents, it is the most populous city in the Midwestern United States and the third most populous in the US, after New York City and Los Angeles...
about The TkWWW Robot in October 1994.
TkWWW robot is one of the first web crawler
Web crawler
A Web crawler is a computer program that browses the World Wide Web in a methodical, automated manner or in an orderly fashion. Other terms for Web crawlers are ants, automatic indexers, bots, Web spiders, Web robots, or—especially in the FOAF community—Web scutters.This process is called Web...
and Internet bot
Internet bot
Internet bots, also known as web robots, WWW robots or simply bots, are software applications that run automated tasks over the Internet. Typically, bots perform tasks that are both simple and structurally repetitive, at a much higher rate than would be possible for a human alone...
based on the tkWWW and developed over the summer at the Air Force Rome Laboratory
Rome Laboratory
The Rome Laboratory, formerly known as the Rome Air Development Center, is one of eight research and development labs run by the US Air Force located at Griffiss AFB in Rome, NY. One of four superlabs run by the Air Force, the Rome Lab is tasked with generic research, as opposed to having a...
with funding from the Air Force Office of Scientific Research
Air Force Research Laboratory
The Air Force Research Laboratory is a scientific research organization operated by the United States Air Force Materiel Command dedicated to leading the discovery, development, and integration of affordable aerospace warfighting technologies; planning and executing the Air Force science and...
. It is designed to build HTML indexes, compile WWW statistics, collect a portfolios of pictures, or perform any other function. The main advantage that the TkWWW robot had is its flexibility in adapting to virtually any criteria possible to guide its search path and control selection of data for retrieval.
The search algorithm
Search algorithm
In computer science, a search algorithm is an algorithm for finding an item with specified properties among a collection of items. The items may be stored individually as records in a database; or may be elements of a search space defined by a mathematical formula or procedure, such as the roots...
worked by searching so called "web neighborhoods" by finding logically related homepages. The bot returned a list of links that look like bookmarks. One problem was that the searched was limited to two links from the original homepages.
System requirements and technical
tkWWW was originally a tool for UnixUnix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
but since it is based on the Tcl/TK toolkit, it should work on every operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
which supports the toolkit and has these two packages installed. To display images, tkWWW requires the xli package.
It has two strictly separated processes: one for the GUI and one for network interaction and parsing HTML. The second part is compiled
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...
C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
code based on the libwww
Libwww
libwww is a highly-modular client-side web API for Unix and Windows, and is also the name of the reference implementation of this API....
library by CERN. The frontend GUI is written in tk and interpreted at runtime.