|Think about Loose Coupling|
RFC iEngineby muscipula (Novice)
|on Jan 10, 2012 at 20:22 UTC||Need Help??|
Project codename iengine
Designing web-sites can be difficult for anyone unless you have been at the craft for many years with experience. However, inherently web based content is text oriented for obvious reasons - like writing a book, HTML is designed for humans to author.
But the idea of an operating system designed to be a web site, under the control of Perl scripts seems to me a different approach as a platform for design and hosting web-based content.
Another point to make is the interface itself. Does it really need to be a WIMP environment, after all WIMP is useless as it does not really help in the end but make hard work. The mouse also is not that handy really unless you are testing pages that you are hosting and that is only because most people who use the net use a mouse.
I believe that the command line interface is a powerful tool, but there is no need for a shell like bash as all the components that make up websites can have a context related syntax in their own place. Fonts, symbols with their styles and colours can reflect this as well as the prompt itself.
As far as designing graphics, again is the mouse that necessary? Also, the interface can be partitioned so that the right hand margin can be used for graphics, spawned from the command line. These days it is easy to use a secondary monitor for this purpose.
Every key on the keyboard can be used, so having no restriction on key combinations it becomes easy to work between the command line and the graphic margin.
Also the help system should be context related and not simply a list of supported commands and their arguments. Help should be interactive and interpolate as you type in the command line, giving suggestions and warnings. The help could also follow paths or URL's indicating permissions and if they exist or not simply by using font colours.
The command line prompt can also indicate what mode you are switched in. In the outset when you first log on, the prompt will simply be set toready:
which means just what it means. Just think every time you see the same prompt you are paying Macroslug back their 3 penny's. Now say you want to create a draft documentready: new html root_html
the prompt will change toroot_html:
ready for either the head and/or body declarations.
missing out the 'inherit root_html', or even just 'inherit' would assume any open html declaration provided it fits within the syntax. Thenroot_head: new title root_title 'title of web page'
Although the string is complete and you may assume that it is enough you can add more text and close the declaration
Now that the body has been created you may have noticed that the html and head sections can be reused and so can the body be reused as a template. Now if we wish to create a table
The one line closes the second cell, row and table in one. The next line closes the document.
As the very basics stand out, the help system can offer information on all the attributes that accompany the elements allowing you to stay consistent with the syntax. Also any references within an element as a class or id to any CSS can be identified in the side margin - just because I suggest the side margin is for graphics means nothing as the command line itself is graphic anyway.
The target for the OS is Linux From Scratch as I don't wish to bolt binaries on top of each other. I also wish the libraries to primarily support Perl and Java and build a foundation library in Perl and essentially operate the command programming interface through the library.
A lot of interesting work and maybe some good Perl and Java developers and designers having some fun.
Andrew Sprott.PS I appologise for using the code attributes for my examples, they are used to distinguish the main text and the iEngine.