Welcome to WWWBrowser
WWWBrowser is a prototype WWW
Browser implemented in the functional programming language
Haskell
using Fudgets.
WWWBrowser was mostly implemented in the summer 1994, when
NCSA Mosaic
was the dominant web browser. It thus predates
Netscape Navigator.
Some updates were made in 1997-1998 and more recent years.
WWWBrowser is also described in the chapter
WWWBrowser
-- a WWW client in the
Fudgets Thesis.
Some features of WWWBrowser
- It supports forms.
(See the Mosaic 2.0 forms support overview and examples).
- It supports inlined images, like
.
The GIF, PNG, JPEG, PNM and XBM formats are recognized.
PNM and GIF images are processed with Haskell code.
Since April 2023, this also applies to PNG images and
since May 2023, JPEG images are handled by Haskell functions from the
JuicyPixels
package.
For the other formats, conversions are done with external programs
(from the NetPBM package).
(See The Graphics
File Format Page (2D specs) for info on these and other
image file formats.)
- To support screens with limited colours
(e.g. 8-bit screens that can only display 256 different colours),
dithering (or just color remapping) of images is done
by Haskell functions in WWWBrowser. (Unfortunately this gets a bit slow
for large images.)
- Inlined images are fetched in parallel. This means that pages
containing many small inlined images, such as
IconBAZAAR,
load faster in WWWBrowser (in spite of the slow image processing)
than in browsers that fetch one image at a time, like
NCSA Mosaic.
- It understands most of the protocols used for information retrieval
in WWW: http, ftp, nntp (news), gopher and telnet. It can also read files
and directories in the local file system. When talking to nntp and
ftp servers, it uses the same connection for several transfers
rather than connecting/disconnecting for every document
retrieved.
- It can connect to the Internet directly or through a proxy.
- It reads Mosaic's document menu file (from
~/.mosaic-doc-menu
) and displays it as a drop-down menu.
- It reads Netscape's bookmarks file (from
~/.netscape/boomarks.html
) and displays it as a
hierarchical menu. (You can't add new bookmarks or edit the
bookmarks.)
- Like Netscape, WWWBrowser can display part of the bookmarks file as a
personal toolbar.
- It supports Netscape's What's Related feature.
- It supports Fupplets, which are applets written in
Haskell. There some examples in the small
Fudgets Tutorial.
- Since September 2023, it supports the
Gemini protocol and
document format. (These are light-weight alternatives to HTTP and HTML.)
- Also since September 2023, https is supported. (Before, https
was only supported through a proxy.)
Missing features and known bugs
WWWBrowser supports most of
HTML 3.2, but
compared to modern browsers, some widely used features are missing.
- JavaScript is not supported.
- Style sheets (CSS) are not supported.
- Cookies are not supported.
- The
COLSPAN
and ROWSPAN
attributes for
table cells are not supported. Table formatting is poor in
general.
- Background colors/images in tables don't work properly.
- The
ALIGN=left/right
attribute for images and
tables is not supported.
- Client-side image maps are not supported.
- SVG images are not supported.
- Animated GIFs are not supported.
- Transparency in GIF and PNG images is not supported.
- Frames are not supported.
- Java Applets aren't supported (but Fupplets are, see above).
mailto:
links are not supported.
- There is no way to save documents or start external viewers for unknown
MIME types.
- The spacing is not perfect.
- More...
Command line arguments
Usage:
wwwb
[ - flags ] URL
Flags:
-home url
| specifies the start page
|
-proxy host:port
| use the specified proxy
|
-docmenufile file
| specifies where to get document menu.
|
-bookmarksfile file
| specifies where to get the bookmark menu
|
-personaltoolbar name
| specifies which bookmark folder to use as the personal tool bar.
|
-imglog
| switches on the image fetching log window.
|
-htmldebug
| shows bad HTML markup and hidden information in forms.
|
-color no
| shows images in (dithered) black&white. (Faster than color images).
|
-colorCube n
| sets the size of the color cube to n*n*n,
where n=1,2..6. The default is to use the largest possible
color cube.
|
and more...
The flags can also be specified using environment variables. See the section
Command line switches and
environment variables in the
Fugets User's Guide for details.
Links
Feedback
You can mail your thoughts about WWWBrowser to the author.
Authors
- Thomas Hallgren
- Most modules. GIF processing.
- Magnus Carlsson
- Other image processing.
[
|]
Last modified: Wed Oct 2 14:32:13 CEST 2024