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 to

ready:

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 document

ready: new html root_html

the prompt will change to

root_html:

ready for either the head and/or body declarations.

root_html: new head root_head inherit root_html root_head:

missing out the 'inherit root_html', or even just 'inherit' would assume any open html declaration provided it fits within the syntax. Then

root_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

root_title: done root_head: done root_html: new body root_body

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

root_body: new table root_table root_table: new tr tr_1 tr_1: new td td_1 td_1: width=50% td_1: align=center td_1: done tr_1: new td td_2 td_2: width=50% td_2: align=center td_2: done root_table root_body: done root_html ready:

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.

In reply to RFC iEngine by muscipula

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.