The "Killer" application

James Richard Tyrer <[email protected]> Tue, 18 Nov 2003 19:47:18 -0700
Newsgroups gmane.comp.kde.cafe
Message-ID <[email protected]>
Note if this sounds like I am describing stuff that already exists, then it should be 
simple to implement this.

This is based on the upper left corner (or if you write from right to left, then the upper 
right corner).

We have the upper corner of a virtual quarter plane sheet of virtual paper.

The application includes a reader which will either display or print this virtual quarter 
plane sheet of paper that starts with the upper corner.  This can be ASCII, but that is 
just for backward compatibility.  If ASCII then the reader can format it in addition to 
any formatting it includes.

But, the normal document would be in XML.  In that case, the virtual paper can be sized 
and consist of one sheet or a stack of sheets with default margins.  The base sheets are 
opaque.  Individual pages can have margins which override the default margins.

This virtual document can have attached to it additional upper corners.  These upper 
corners attach a virtual paper with defined size that must conform in size to the 
formatting of the base sheet.  It can't extend outside of the edges and must conform to 
the page breaks.  These sheets can a stack of layers and they can be opaque or 
transparent.  In turn, these layers or the sheet can have additional upper corners 
attached to them.  There can also be a defined outline which can be non-rectangular and 
known to the sheet(s) below it.  If this outline exists transparency/opacity can be set 
separately inside and outside of the outline.

Tables have proved very useful in HTML so they should also be available here.  A table 
divides a sheet into sub sheets which can each be used as if they were a separately 
attached sheet or separate instances of the sheet the table is embedded in.

Each sheet or sub sheet can contain ONE type of content: Text, Bitmap, or Vector Graphics.

Now you should probably be asking the obvious question, where does the content come from.

First, I hope that you can see that this can all be done with XML in the same way that a 
web page is made.  This will be an XML document defining the structure and including the 
embedded content.

In addition to the XML that the reader uses, it will also be possible to add additional 
XML that the reader will treat as though it was a comment.

Note that each sheet can have only one type of content in it but sheets can be transparent 
to give the illusion that content is combined.

So, where does the content come from.  Each corner can be associated with one content 
producing application and this application will produce the content for that corner.  The 
additional code can be added to the XML document and as stated above, it will be ignored 
by the reader.  In addition to content producing applications, content modifications can 
also be applied to a corner to modify the content in a sheet (e.g. a spelling checker).

The effect of this -- how it sappers to the user -- is somewhat different than the above 
description.  The appearance is that you have rather than separate applications, a set of 
applets that can all be used to produce content or modify content anywhere in the document.

And finally a utility which would strip the document so that it only contained the 
information needed for the reader to render the content and convert it to other formats 
such as PS or PDF.

Note that this application to some extent already exists except that it does not use an 
XML file format and it is not separate components.  It is WordPerfect.  My attempt is to 
propose a TOTALLY component based application that can do what WordPerfect does and then 
extend it to include additional capabilities.

--
JRT


Kde-cafe mailing list - [email protected]
http://ofb.biz/lists/listinfo.cgi/kde-cafe

DISCLAIMER: The views expressed on this mailinglist are the personal
opinions of the author and do not represent OfB.biz: Open for Business, KDE or the author's employer.