ROAD-AHEAD
------------
Abstract:
Galway is a web editor designed to support several web files including
html4.0, vrml97, javascript and scheme. It has standard functions like
highlighting, multiple-documents, internationalization and ftp publishing.

This essay states the need of stabilizing galway's code with a determined
set of functions.

Introduction
-------------
The development of galway has gone faster than I expected. However
it seems to me that it is growing into a big monster that will never 
have an end. So, I've decided to set some rules regarding the future
development of galway. This document will talk about all the features
galway should have in its first stable release. The idea is to stop 
adding features and just concentrate in developing a specifi set.

It seems to me that galway is winning the HTML editor linux war... The other 
HTML projects have almost disapeared. Galway has almost all of the
options found in the rest of the html apps plus more. However to
remain the very best, galway should evolve from being a good project
into a quality software engineering one.

Galway should be able to continue being the best GNU gnome web editor
but it should also be better than the new propietary html editor software.
Galway will always be GPL that's a fact, but also a way to make -not only galway
but my other GPL projects- it profitable should be found in the near future.

I have hoped that galway be used in education to replace old window
editors (like dida or hotdog) giving unexperienced users a convenient way
to learn html,vrml, scheme and ftp. 

I want galway to be included in the gnome-workshop office suit.

I want galway to be the base in which I can found the Erin Free Software
company.

None of this goals will be achieved if galway does not turn into a real quality 
product.

*** 
My 2 cents about GNU Linux software...
------------------------------------

I believe that the development of GNU Linux software has gone out of control.
If we want the user to start using our products instead of their propietary
windows counterparts we need several things. I want to point with this 
ROAD-AHEAD guide the fact that Linux needs to develop more stable versions 
and leave development versions aside for a while and maybe only in cvs.

I have talk with several linux / windows administrators about this idea
and it seems to me perfectly valid.

Even tho' Linux has proved to be by far more secure and stable than windows,
still we are far away from windows in a lot of ways. This critic about what
Linux should done in the future I will explain in a separate article, nevertheless
it's worth mentioning in this guide the fact that we need:

=>Brought linux to the user in the way he wants it. 
=>Have M$oft compatible and stable software that can replace 
  propietary software. As a perfect e.g. I should point gnumeric that is designed
  to follow Excel as closely as possible.
=>Development versions does not give the common-day user any sense of stability.
  GNU apps should concentrate more into stable releases rather than in the endless
  development releases loop.
=>Better ways to promote Linux products should be found.
=>Lack of standardization in some crucial points like in the window manager arena.
  I agree that variety is better, however all the graphical envs. should be compatible
  between them. This also applies to gnome and kde.

*** 

Features for stable version 0.50 briefly explained.
----------------------------------------------------

Some of the features may already be available (correctly or in buggy version) or may
no be coded at all.

This version should be ready by December 1999.

1)Full HTML 4.0 support:
Galway should be able to support every single tag written in the HTML 4.0 
specification and should be able to parse (i.e. validate) the HTML code.
This includes not only tag support but in some cases some dialogs may
prove to be helpful to the html developer. This dialogs (a.k.a wizards)
should support frames, links, image-maps, tables, lists, forms, etc.

2)Full VRML 97 support:
Galway should be compliant with the VRML 97 standard. The parse should be
based in the VRML 97 grammar specification. 

3)Full Scheme R4RS support:
Galway should be able to support r4rs scheme. It should be able to parse
documents and match parenthesis in a convenient way.

4)Multiple Documents:
Galway should be able to work with several documents at the same time.
Standard options like signaling when a document has been opened, saved or
changed should be available. Two file trees should be available. One will
include the current directory (that may be changed at any given time) and
the other should include the actual opened files. Easy-to-use options to change
the file privileges should be included.

5)FTP support:
Galway should be able to import and export documents from remote ftp servers.
Standard FTP operations such as put, get, cd, delete, etc should be available
in a small integrated ftp client as well as easy-to-use ftp exporting dialogs.

6)Standard options:
Galway should have standard options found in classic html / vrml editors
such as highligthing, edit features, find functions, about dialogs,
printing, etc.

7)Internationalization:
Galway should run in any of the following languages:
English, Spanish, Italian, French, Latin, Irish and German.

8)Preferences:
Galway should be able to let the users mark some preferences in
the way they run it such as language, font color, etc. It should
also be able to save the name of the last opened documents as well
as keep track of user's bookmarks.

9)Install program.
Galway should have both a command line installation programme
and a graphical installation process similar to install-shield
for windows. It should also have rpms and debs ready for the
major distributions.

10)Real multi-platform compliance
Galway should be able to run at least in the following platforms:
x86 Linux, Solaris, AIX, HP/UX and IRIX.
At this moment I assume that galway can run in multiple platforms,
however I want to be sure in which platforms it can run and the
ones in which it doesn't.

This compliance should also emphasize the problem that sometime
the software does not run even on the same platforms using
different linux distros or version. 

A complete list that states the systems, configuration and version
galway has been tested should be available. 

11)Complete scheme coding
One of the galway's purposes is to demonstrate that scheme can 
be use in real life applications and that it can work similar to
C/C++ in time, options and security. Everything should be coded in
scheme and should follow in most cases the functional programming
paradigm. Refer to the HACKING guide for more information.

12)Software re-engeneering
Galway should be revised to follow Software. Eng. procedures.
THe goal? Produce quality software.

13)Guile scripting
Every single internal galway function may be access using 
the scripting facility.

***

And after 0.50?
----------------

After achieving the points I've written before galway should go
for the following in stable version 1.0:

-Complete gnome integration:
Actually one of the purposes for the code stabilization is to 
concentrate in gnome integration. Everything should follow
the gnome standards. It should also be able to have bonobo
support.

-Full local document previewing for HTML docs.
This should be done with gnome-xml I presume.

-Support for PHP, CSS, XML, etc.

-Inclution within gnome workshop =)


Ariel Rios
<jarios@usa.net>
September 5, 1999
Last Revision: November 24, 1999.


































