Surfing with Amiga: AWeb

Classification: Web browser
Version: 3.1
Distributed by: Amitrix development (CA)

Introduction
With the version 3.1, AWeb reaches glory after an hard route started quite a long time ago: it was already extended support for HTML until recent version 4.0, but now JavaScript, SSL, gopher, ftp, mailto, news, a powerful API and an ARexx interface that allows to integrate the web with Amiga, besides extending programma capacity, make Aweb the most advanced and complete browser available on Amiga.

This review will describe new features of the latest version and also the characteristics of the previous versions. There will be also both suggestions on how to render the program even better and frequent criticism of the users about it.

Brief history
How it's possible that Aweb is now the most complete browser on Amiga, whereas, some years ago, it was simply an AmigaOS window opened on an empty directory (how was written in a review of the 1996 that described a beta version of undoubted origin )?

AWeb dates back to the November '95 by the dutch Yvon Rozijn, programmer of mainframe and professional systems. In the 1996, after enjoyed general feedback for its lightness (it was first browser that not needed MUI ) and steadiness (contrarily to first beta versions of IBrowse and the awful AMosaic ), Aweb becomes first a shareware, then a commercial product. In November '96, after AWeb-project started as simply hobby (turned then in a full-time work ), AWeb 2.1 appeared, with support for HTML 3.2, a good ARexx interface and several innovations that distinguish the program from other browsers.

Although AWeb was already a good browser at that time, it was hard to expand as regard new options required to a client because of the progress of WWW: multiple documents on the same window (frames), JavaScript, external plug in support, etc.

So, in the 1996 the author of Aweb planned to rewrite the whole program. This way caused, yes, a rather slow development of the program, but in the version 3.0 there was stady groundings that made possible to add those great features today acclaimed. So, while other browser have released public beta versions with high-impact features, AWeb prepared grounds that made possible very quick updates and growing. (an example is the IFrame extension that has been easily added ).

All these features were present in version 3.0 - May '97 - in addiction to many news: frame support, table background, various Netscape extensions, internal FTP, plugin support through API, hotlist manager, extended ARexx interface, and much more, like separation -in external libraries -(only loaded where needed, to save memory ) of functions like Gopher, hotlist, ftp etc.

While users were tasting these new features, author of Aweb was working on JavaScript. In few months and thanks to the basis previously layed, AWeb was reaching full support of all features. It's said that once you made grounding, the rest is (relatively ) easy. And so, in addiction to JavaScript, the above-mentioned features has been added: HTML 4.0, internal mailto and news and even hidden-messages, like Netscape (or like AmigaOS?).

Now AWeb is still under development and the author, that lives with profits of the sales of Aweb (contrarily to all those peoples that say to develop products on Amiga is only an hobby! ) is working on new features...

Features
Let's see what this browser offers.

Web Support
AWeb supports both official HTML, with the specifics emitted by W3c, in the versions 2.0, 3.2 e 4.0 (except for style sheets) and extensions suggested by famous browser's producers. Also, makes sure a compatibility with Web-pages written not in standard SGML.

For this reason, AWeb offers three modes of interpreting HTML. The first one, called Strict, is limited to the HTML of W3c that is interpreted as by specifics. The second is called Tolerant and also supports HTML 3.0 (a W3c standard never made official ), Netscape and MSIE extensions, in addiction to most common errors. Finally there is the compatible mode, where the parser try to read pages with tricky errors -like HTML comments not correctly completed, not closed quotes etc.-. The compatible is ONLY used for all those pages that otherwise could be visualized incompleted or strange; that is because could visualize not correctly documents written instead correctly.

But World Wide Web not consists only of HTML: infact, thanks to "multimedia" it also consists of images and sounds. AWeb supports these features quite deftly. To each file type (defined on the net through "MIME type") can be assigned a specific action: savage on disk, control (by datatype o plugin) or execution of an external program to which you can send progressively the output through "piping".

This implementation has made possible the integration of Real Audio decoder, present on Internet on January. It was enough to add a simple code to make possible to hear such a sound file while downloading it, notwithstanding all decoder's limitations.

Configurability
Aweb config is controlled by an external program called AWebCFG and looks really like, for aesthetic and control panels disposition, to Netscape's 3.x analogous section. User is allowed to configure each part of the browser.

In addiction to the usual options (like fonts to be used for several styles, enabling of JavaScript or of frames, choice of HTML mode, automatic opening of particular windows on program startup, cache control, mailer/news reader configuration etc.), section relative to privacy and GUI configuration stand out.

User privacy tutelage has always had, in Aweb development, the highest priority. It's first browser that avoids to send referrer when you visit a web page, making impossible -to those peoples that control accesses to their site- to ascertain user's server address and number of the connections on their site. Actually, AWeb allows to you to choose how to control "cookie" (cookies leaved in large quantities on Hard Disk from servers ), if to accept or to refuse them, ask to confirm the operation, skip those of certain sites, etc. It's also possible to decide if use or not own E-Mail address during FTP sections or if modify address when you're sending messages on UseNet (in order to protect yourself from peoples sending aedvertisings through e-mails).

The term "GUI configuration" can to deceive you: it not means that it's possible to change gadget's background colors, but it makes references to the user interface's configuration, like keys, ARexx menus, user's buttons and popup menus.

ARexx menu allows to define most frequently used scripts, you can recall by mouse or by shortcuts like Amiga + a number included from 1 to 10. This menu includes ARexx plugins distributed together with Aweb (for example, HTTX configuration, ClipLog etc.).

User-gadgets (or "fastlinks"), allow to you to access quickly to those internet sites you visit most frequently. (you can choose to show or not fastlink's buttons, in order to save space on screen ). On AWeb, to each gadget can be assigned a command to execute an ARexx script, or a command to execute an internal option or a program. In the default configuration, in addiction to several links, there are some buttons to activate cache browser and to visualize system-clock on Aweb screen. Similarly, you can execute scripts, commands, programs etc. through the shortcuts.

Finally there's popup menu: you can choose how to activate it and also to define its content in relation to the context (image, link, frame ) and if the object is in memory or not. So, it's simple to extend Aweb functionalities also using internal Arexx set.

External control (API and ARexx)
Aweb has an extended and powerful API (Application Program Interface) that allows to control external programs working together with browser, taking datas from browser and operating in the browser-memory subsystem and task. Leaving out tecnical details, we will say a plug-in that shows images can derive informations from an Aweb's task (used to receive images) and can elaborate and show these infos on Aweb screen (not in a window, on the document that contains the image). API specifications are public domain and are availables on: http://www.xs4all.nl/~yrozijn/aweb/api.html.

ARexx interface, instead, is quite more simple to use but not for this reason less complete. You can emulate each Aweb function using Arexx commands (both during reading and writing operations).

We will consider only the most innovative and rare Arexx features of Aweb, that consent to realize scripts you could not create with other programs.

  • GET allows to you take every information from a document resident in memory, from the list of the links up to list of the images, from the HTTP headers up to frames of a frameset, etc.
  • X-AWEB This is not really an ARexx command but a way of directing like to "http://". This URL (that works only with local files -for security reasons- and that user can disactivate) makes possible to assign to HTML elements -like images, links or forms- the execution of commands or ARexx scripts. In this way it's simple to create graphical interfaces in HTML, to be used -for example- to configure scripts or programs used together with Aweb. These powerful features, availables since first version of Aweb (and pehraps undervalued), have joined the Web with operative system, realizing really a "fusion" that on other systems requires, instead, mega and mega of ram and huge hd.
  • JAVASCRIPT If Aweb 1.0 had a so much powerful feature like X-Aweb, it is evident Aweb 3.1 takes a step forward thanx to JavaScript. Here you have an ARexx command that allows you to execute JavaScript programs from ARexx and reveive the result always in ARexx. That means it is possible to expand the fusion between OS and Web, with the possibility to exchange datas, variables (as a source also is a single assignment instruction) or internal programs from to an ambient to another.
  • CHAN* Who knows JavaScript will surely appreciate method "document.write()" that makes possible to generate an HTML page visualizing it in incremental way. Commands CHANOPEN, CHANHEADER, CHANDATA e CHANCLOSE allow to "open" a dialog channel with browser and send to it, little to little, datas of our page (included HTTP headers). You can find an example on how to use this feature the search engine of the documentation present in Aweb 3.1.

News of the Version 3.1
Now we will go on to consider in detail most important news of the version 3.1.

JavaScript
JavaScript is a object oriented language interpreted, not compiled. It is interpreted like for BASIC and ARexx. Developed by Netscape, was at first called LiveScript, then renamed JavaScript, as term "Java" is most common, not due to the affinity with well-known language. Actually JavaScript is supported by Netscape browser and -although in a way not entirely compatible- by MSIE. Aweb is the first browser to use this language on Amiga.

Like Netscape 3.x, Aweb 3.1 supports the version 1.1 of the language. Recently Netscape 4 has introduced a new version, the 1.2, quite rare on the web but will be supported in the next versions.

Besides controlling scripts inserted in the web pages, Aweb gives good support to those programmers that intend to develop in JavaScript. Are availables a simple and efficacious feet to feet debugger and AwebJS, a program that allows to execute scripts externally to browser. To this purpose, AwebJS offers some special functions (that cannot be used if the script is executed by Aweb ) to read and write on the system console.

HTML 4.0 and SSL
HTML 4.0 is actually a standard under approvation from the W3c and Aweb is the first Amiga browser to support it. News are principally relative to a more extended set of entities (but not only to it), to new tags for the tables, that make easier to render better and official various tags -like iframe, a frame you can insert into a document, similarly for the tables- proposed by browser producers. Another innovation regards the progressive visualization of the tables and the addiction of many new names (and sinonimous) of colors.

From this version Aweb supports Secure Socket Layers. Normally, datas that an user send or receive (in a form, for ex.), are transmitted in not cripted way on the net. This system, instead, that avoids the risk of interception by other peoples, is especially used for on-line purchases made via credit card.

To control SSL, Aweb uses MiamiSSL library, only available for registered users of Miami. As new version of Miami (whose public beta are availables) not requires MUI, the author of Aweb considered to support it. But the choice has been criticized by users of other TCP stacks, so that the programmer sayed to consider other solutions in future.

ARexx
In addiction to JavaScript and CHAN* commands (already mentioned), functions to direct control of the clipboard has been added (SETCLIP and GETCLIP); the codification of a string in MIME format (URLENCODE) and a refresh of a previously selected area through cut and paste (CLEARSELECTION). These and other addictions (apparently not important) made quite simple to create scripts.

MailTo and News
Many peoples consider a browser the only program capable to satisfy user's needs and think a program must inglobe FTP, news, mailto functions... So, the number even growing of browsers that support these functions made indispensable to use even more links like mailto:, causing many problems to peoples using different programs.

Since first version Aweb supported "mailto:" and "news:" protocols, making possible to control them through external programs (Autonomous ARexx scripts, generally, or scripts of interface to the most commons mailers and news readers on Amiga).

The choice to implement internal mailer and news reader comes to make easier to use the program, that because with external ARexx scripts this is not always possible, as scripts cannot assure the same TCP integration and compatibility like an internal function. Anyhow, you can always decide to use external program, if you think opportune.

Both mailer and news reader can be used Online, and it is evident that they aren't advanced like programs created for these purposes. Nevertheless, they offer enough functions: news reader offers all functions that type of application can offer, with some commodities like search on the list of the groups of the server used, spam protection, URL decoding in messages etc.

Quality or defects?
Aweb stands out from the others Amiga browsers for causing many discussions about his quality. We will consider various criticisms moved to the program.

The interface
Leaving apart Alynx (textual browser), Aweb is actually the only Amiga browser that dont use MUI. Instead of MUI the author has chosen ClassAct, a light interface but less configurable (as regards forms and colours). Leaving to analyze these two GUIs, we will say ClassAct is freeware (MUI is shareware), requires less memory and generally is fast even on less expanded systems (Amiga 1200 standard).

Many criticisms has been moved to the various elements of ClassAct. But it is a matter of taste! There are users that like gadgets of ClassAct instead of MUI gadgets or of other interfaces.

AWeb crashes!
Many peoples sayed Aweb is quite an instable browser that crashses very often. In reality, if we leave out "clandestine" versions (who uses not original software must not complain to the author!), the program is indeed quite stable, even in critical moments.

Before to go on, we must do a preliminary remark valid for other browser too. The browsers uses so much the system that solid basis are needed. To control the enormous "multimedial" datas on the net (images, movies, sounds etc.) requires a lot of memory and not always datatypes work correctly when memory is low. Many software failures are dued to external programs used together with browser.

Such a problem influences in particular Aweb, as this browser has always relied on datatypes, often cause of unsteadiness or incompatibility. Another dangerous program is ClassAct. A wrong installation of it or a mixing between old and new "classes" causes fireworks! To avoid all these problem, an opportune installation of the system is required, taking care various patches and program to be used together with Aweb.

It is evident that not all problems can be removed, as nothing is perfect! Anyhow, Aweb is anything but unstable and it is sure that don't crashes while reading not standard HTML documents, as happened to the "high-impact" versions released from other browsers.

How to show an image
Aweb uses not internal viewers to show most commons image formats. The author decided to work on other points, leaving to datatypes or external plug-ins (through API) that commission, with all linked problems (like incompatibility with not standard images, with graphic boards etc.). Experience teaches that is not quite simple nor fast to develop a viewer capable to face all needs.

To use datatypes causes vantages and disadvantages. Actually, a datatype is, yes, often unstable (due to wrong control of critical situations) and cannot show images progressively nor to show animated GIF, but there are so many datatypes in circulation that almost all needs can be satisfied (first of all, the compatibility with grafical boards). Fonds of animated GIF and of progressively-showed images moved often that critic to Aweb, even after AnimGif plug-in has been developed (a program that control this type of image). But this plugin is often not compatible with Gfx boards and is shareware. Many peoples think it is unaccptable to purchase a browser and to pay, in addiction, an amount of money (even if ridiculous) for a function retained essential.

Anyhow, soon situation will change and there are recent news that will make satisfied both peoples who love datatypes and peoples preferring internal programs.

First new regards AkDT, alternative datatypes wellknown by Amiga-lovers. The author has developed a porting for Power-Up boards of Phase5. Even if AkDT cannot show animated GIF nor images progressively, it's sure a faster visualization of JPG and PNG formats is guaranteed.

Secon new is that author of Aweb decided to develop two autonomous plugins for animated and progressive GIF and JPG (allowing to apply some dithers to JPG to render the images better on screens with few colors). You can freely download these two plugins from Amitrix site and can use them even with Aweb demo-versions. Furthermore, they are compatible with ECS and AGA Chipset and with Gfx boards, offering quite interesting options.

As preview on AOL we can announce in these days a third plugin, supporting PNG (Portable Network Graphics) format, is under testing.

The author decide to develop this plugin due to lack of plugins developed on behalf of a third party and to pressing requests of Aweb's users.

In the meantime, another programmer (italian) is working on alternative plugins for MPEG and other formats.

Conclusions
This review wanted to present main features of Aweb. Many other things, like hotlist manager, plugin supplied with Aweb, support for printing etc.) are been omitted to leave space to the most innovative browser's features.

Actually Aweb is a complete product, capable to face needs of many users, from peoples who simply enjoy web navigation to HTML and JavaScrips developers. The integration with the system allows to Aweb to grow up quickly, thanx to the work of the author and to all other peoples that help, directly or indirectly, program development.

Note about author of review
Gabriele Favrin contributes to Aweb development as author of numerous plugins (like HTML->HTTX text converter, used by Aweb to savage and textual printing of HTML documents) and as betatester of the version 3.0. He has also tested several plugins like AWebNews, AnimGif plugin and new AWebGif, AWebJFIF and AWebPNG.

Addresses

AmiTrix Development
   5312 - 47 Street
   Beaumont, Alberta
   T4X 1H9
   CANADA
   Telephone/Fax: 1+ 403-929-8459 
   http://www.amitrix.com/index.html

Yvon Rozijn's home page http://www.xs4all.nl/~yrozijn/aweb

Support Mailing list http://www.amitrix.com/mailing.html

Translation by Zetesis

Back to AmiWoRLD Home Page


Copyright AMiWoRLD
Contact:
paulpetty@iname.com
[Made On Amiga]
Click on the pics to enlarge.

[Snapshot1]
The CU Amiga site, real time decoded by internal images plugin

[Snapshot2]
Great integration between gui, external programs, arexx...

[Snapshot3]
Aweb as a JavaScript development environement..

[Snapshot4]
Wow, internal JPEG decoding trough the new plugin available from Amitrix


Also available in Italian