I have seen "newbuild" directory on arachne-dist FTP archive, but I 
haven't seen any changes in README file compared to 1.70, so I haven't 
tired it yet.

Myself, I see only one reason for releasing updated 1.x Arachne for DOS, 
and that is three-digit color bug in CSS, which was easy to fix, and 
people may need it.

I have recently spent lot of time doing custom web programming (MySQL, 
PHP, JavaScript, CSS, layers...) because I wanted to understand latest 
trends in webdesign - I could never wrote Arachne, if I was not working 
as webmaster in 1996. I was forced to use latest web techologies 
available these days, so I was able to implement them in Arachne too.

First of all - this DOM, layer, CSS, JavaScript etc. stuff is very 
complex. We can never add it all to Arachne just by "patching" existing 
code.

So far, there are 4 players left, who can do latest HTML-related tricks, 
including layer visibility,etc.: MSIE 6, Opera 5(or 6, I am not sure 
about numbering), Mozilla 1/Netscape 6.x (Gecko engine), and Konquerer 
browser (KHTML class). If we want to write 5th full featured browser 
(and Arachne 1.x can never become full featured browser - it can end up 
on Netscape 4.x level, which is already abaned by webmasters, and uses 
non-compatible implementation of layers, which won't be supported by 
future browsers).

I suggest full Gecko/Mozilla compatibility, so we can merge 
Arachne-advocacy/evangelism with Mozilla-advocay/evangelism. I would 
mark it as Mozilla/5.0 internaly, adding MSIE string to user 
agent/navigator.appVersion strings, so javascripts and such stuff can 
send us let's say MARQUEE tag. Myself, I don't mind MARQUEE tag at all, 
and as it is used on so many web pages, browser like Arachne or Mozilla 
have no other chance but implement it (at least in Europe and my country 
- MSIE-ism is terribly wide-spread).

Another question is Java - most Java I have seen today are simply fancy 
menus inserted automaticaly by FrontPage. As HREF is supplied as applet 
option, what about writing some plugin for Arachne which would convert
most commonly used auto-generated Java classes into HTML/JavaScript.

I must say I hate JavaScript syntax and object model. I like PHP, except 
that I would write variable$ instead of $variable, and it would be basic 
;-) But as Arachne 2 wants to be minimal browser, we must have 
JavaScript. And once we have JavaScript, we should write all user 
interface of the browser in JavaScript - I wouldn't use any new XML 
language like Mozilla's XUL, because everyone (was forced) to learn 
Javascript (which is ugly object oriented piece of crap, IMHO). So I 
would abandon all ARACHNECFG= and <ARACHNE ...> stuff, and move to 
prorpietary JavaScript class arachne.* (like arachne.menu, 
arachne.systemwidecfg..., arachne.usercfg...) which would be allowed to 
be accessed only by trusted HTML documents (eg. local files).

Configuration files in JS format (like Mozilla has) is probably the best 
option, because I would like the browser to include as few parsers as 
possible (namely HTML parser, CSS parser and Javascript parser). So 
ARACHNE2.CFG would look like

arachne.systemcfg.ppp_phonenumber("123456");

arachne.usercfg.email("some@somewhere");

(navigator.prefs can be added later for mozilla compatibility ? it is 
not really important, I think... maybe readonly API ?)

By the way, CVS for Flowerpot and Arachne2 is already ready, so you can 
start sending usernames and passwords and installing CVS, if you are 
interested. The problem is that I haven't uploaded any Arachne 2 code 
yet... it is not clear, how much "from scratch" we should start, but I 
believe it should be very "from scratch". I mean, we can transplant HTML 
renderer from Arachne 1 later, but I want to declare some basic concept 
rules for portable Arachne - and you can help me, of course...

What should go into Flowerpot ?

Keyboard, mouse, graphics, fonts, image display, audio (?), networking.
That's absolutely clear.

But I suggest including also kind of "registry" (both multiuser and 
single-user), emulation of multiuser enviroment for platforms like DOS 
and Win32 (system-wide vs. user-specific configuration files, accessed 
via some "registry" interface..). In DOS, all dialing and TCP/IP stuff 
must be included in Flowerpot, too. Normal operating system don't let 
applications dial on their own, etc. But Flowerpot may provide some API 
for let's say connecting, disconnecting, launchign apps, etc., so 
Arachne can provide HTML interface to do this stuff.

What we want from Arachne, what Mozilla cannot provide ?

- compatibility with very simple OSes, maybe with lack of multitasking 
and limited amount of memory available. 640 K limit is good for 
eliminating braindead code - allocation let's say 16 MB chunk of memory 
by malloc() is reason why software became so crappy, and usage of 
cryptical and buggy low-level classes too.

I suggest keeping Arachne to be fullscreen-oriented, themizable via 
skins (xmms/winamp class of applications). On single task OSes, 
multi-tab (not multiwindow) GUI would be available, on multitask OSes, 
multiple copies of application (even owned by the same user) must be 
able to run. This may be supported either on Flowerpot or on Arachne 
level. Maybe Flowerpot should stay resident as daemon on let's say 
Linux, so all Flowerpot-based apps (I expect simple games to appear 
soon) can share flowerpot services ?

Eg., imagine fullscreen networked game, which would include button for 
starting and terminating PPP connection like Arachne does. This is 
completely different in DOS and in Linux (and of course in Windows), 
although dial on deman may be available.

We may want:

- Flowerpot to stay resident in DOS, and eg. be able to connect with 
Arachne sitting on top of it, and continue while some other Flowerpot 
based app is launched.

- Flowerpot to detect existing connection (eg. packet in autoexec, or 
existing newtwork interface in Linux), and pass connection status to 
appliation. In Linux, we want Flowerpot-apps to share status while at 
least one such app is running (like KDE, GNOME or Mozilla project does - 
expcept that we want to do it in a very simple and lightweight manner), 
while in DOS, we need basicaly the same without multitasking - launching 
external application should be flowerpot-aware, which basicaly means 
using either lock files or TSR - lock files solution would be more 
robust, but TSR more flexible. Basically, we should write TSR WATTCP, 
but I abandoned this idea already long time ago, so simple status 
passing (like my-ip.bat file does) and shared config may be enough.

What we are writing is not just new web browser, but mainly new API - 
because crappines of existing software is based mainly on the fact, that
underlaying libraries and object classes are crappy. KDE is slightly 
smoother then GNOME (altough I like GNOME more), because only people who 
  knew how to use Gtk correctly were GIMP authors. Most non-GIMP Gtk 
applications use some subset of Gtk, which behaves more or less crappy 
and user-unfriendly...

Simpler API for Flowerpot will result in more people developing Arachne, 
and more people porting Flowerpot to other platforms. Lets go back 
somewhere to ZX Spectrum days, when programming was easy and accessible 
for everyone...

For example fonts: font naming conventions differ from platform to 
platform. We will have some

flwr_text_xy(int x, int y, char *str) function definitely.

but what about

flwr_setfont() ???

should it specificaly name font face (Arial...) or just font family 
(serif, sans-serif, monospace, fantasy ?)

What about

flwr_setfont("font-family: sans-serif; font-size: 12px ");

?

Eg. moving CSS parsing into Flowerpot! This would allow using X-lib
font features in Linux, Windows TTF inteface in Windows, and existing
simple font set for 16bit DOS... but parsing text string may take some 
time (on the other hand, all graphical operations take some time, so
it should be such a big problem...).

I would eliminate all htmlfont(size,style) statesment from future 
Arachne, and always store font information in CSS format, in future Arachne.

As CSS attributes can be applied on most graphical objects (boxes, 
images, tables, fonts...), writing user interface in CSS/HTML/JavaScript 
would allow also writing scripts using CSS/HTML/Javascript - eg. 
specialy stylised buttons would look the same way inside built-in 
toolbars and built-in mail and desktop pages... and Arachne users would 
be given chance to learn CSS, which is anyway the only way to go these 
days... (css is slightly less braindead than adding more and more extra 
tags, on the other hand, I would appreciate XML syntax for CSS... but it 
is to late these days...).


Reply via email to