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.