Pragma Identity


Last update:
April 29, 2000

Software is really never finished.  You could go on forever to make this and that better, add one more feature here or there.  Certainly lots can still be done to Pragma 5, but I feel that the bulk of the job of creating P5 is behind.

What now?  Pragma 6?  More of the same?  Something new?  Here is an idea.

 

Pragma Identity

Pragma Identity (PRIDE.EXE) is a totally new executable.  Its only raison d'etre is to run and edit identities.

 

Identities

Identities are like forms. Like you create a form in P5, in Pride you create a new Identity.  When you say that you want to create a new Identity you must give it a name and then you will be given the choice to select an Identity style.

The first Identity and easiest style for us to do is the old dinosaurs style Windows menu.

Say you select to create an identity with the style "Windows menu", you will be asked to fill out a lot of parameters, like in the properties editor of the graphical editor of P5.  In fact, the filling of properties can be made as sophisticated and painless as possible.

Technically speaking the properties of an Identity (or shall we call them moods?) will be the equivalent of the objects of a form. I don't know offhand what is the limit of object numbers, 256 or a 32 bit integer.  Whatever, enough.

Like you added elements to a form, you will add Tasks to an Identity.  Tasks are not static items like a Text field or a Pushbutton.  Tasks are run.  A bit like events.  A Task, like an element, has properties.  Once you have added a task to an Identity, the Identity will fire the task when instructed.  Instructed by what?  In the case of the Identity like a Windows menu when you click on a menu choice.  The assignment of menu choices to tasks is done in the Identity editor.  A task is launched by the Identity.  How the task gets launched is of course part op the properties of the task

My friend Peter in Holland will thus be able to invent a new Identity that is the ultimate interface for the 21st century.  Then, when you do some hocus pocus, a task (one of many) will be launched.  Another Identity might fire Tasks through voice commands.  Your imagination (and more probably your wallet) will set the limits of your Identities.

This Identity, conceived by Peter, I will then write in C++ and add it to the library of Identities of Pride.  I will gladly write such an identity in C++, provided I can use standard MFC programming.  The moment that the project becomes too complex (breaking the sound barrier) and neither Peter nor me get ahead, I am quite happy to introduce Peter to a software house that can do the job for a price.

The whole source code of Pride will be open and available.  PRIDE.EXE will be compiled using our Pragma family jewels in a library.  Thus you can create an identity yourself.  To make things easy for you the Windows menu Identity source code will be extra specially documented with comments throughout the code.

Why would you use or program for Pride?  Because of the Tasks. 

 

The Tasks

Remember that a Task is equivalent to an element, with properties.  Working with an example will show you what I mean.

The first Task that we'll write will be Run Pragma 5 Form.  It will run one of your Pragma 5 forms from whatever vocab, situated wherever you want.  The Task will take care of security, environment and whatever is necessary to run your form.  It may even run first one of your initialization verbs and then your form.

You will not be able to run a menu form.  That would be perverse and defeat the whole point of Pride.  A Task should be a specific task, in itself a closed, self standing object.  That many Tasks might use a common database is another story.

Another task will be the complete Pragma 5.  To edit forms that then will be used in Tasks.  Again the Task to run Pragma 5 would take care of all the details of starting Pragma 5.

Another task could be to send an e-mail using the address, text and whatever stored in a Pragma noun in a vocab found somewhere.

Or we could write a task that runs a text editor like Word pad, but instead of only saving to a file save to nouns in some vocab somewhere.

The interface of the Task and its properties will be made public, so that you can write your own task and we will include it in the task list.

A task can be as simple or as complex as you want.  It is written in C++, after all.  The only requirement will be that it does not do any harm to other tasks, to the parent Identity or to PRIDE.EXE.

 

Conclusions

Let me know what you think.

 

00-04-29
lip_tec3.gif
t_prid.htm