[comp.sys.mac] Serius89 looks serious!

t-jacobs@cs.utah.edu (Tony Jacobs) (10/14/89)

I'm posting this here instead of comp.sys.programming because this is a
programming environment for those who have always wanted to but got
scared off.

Serius is a local company and they had an open house today and yesterday. They
took out a two page ad in MacWeek (pg 30-31 Oct. 10 issue). I decided to go
have a look see. I went thinking it might be similar to Helix only more general
in capability. I was suprised! This package has the potential to do extremely
well. It could even be easier than HyperCard and have more power to boot! Plus
it all compiles into a stand alone application. In fact, one of the ladies 
there said Microsoft was interested in buying them out or something like that.
(Don't quote me on that)

Serius is an object based programming environment. You have a scrolling list
of objects displayed as icons. You select the objects you want by placing
them in a window which represents a source file. There is also a highler level
window called the "worksheet" or something like that which has a list of
your files. (Theyre really not source files because there is no code or script
in Serius89) Then there is another list of functions. You place the functions
you want to do on the desktop and then "wire" up the objects to the functions.
The function icons have control going throught from right to left and the data
flowing throught them from top to bottom. So a text field object might provide
the input to a function and the output might be routed to another text field
object or it might be passed on to another function or both. The lines in the
ad represent what Serius calls signals. You can doubleclick on the signals and
apply filters. For example if a line from a button object to some function
like the CD stop function, then you can select that you want the function to
occur when the button is pressed, or when it is released, or when the mouse
goes within the button region, or when it leaves etc.

Now this all niffty and keen but what you do from here is it all compiles into
a standalone application. Most all of the Objects and there methods & functions
are written in assembly so it should be pretty fast. There is a 35k shell
which gets compiled into the application which really boils down to a event
manager & event que handler. The author explained some of the guts to me and
I was quite impressed.

Let me quote a few paragraphs from the literature that I picked up.

Object Interaction Protocol-

"An elaborate but efficent data management system controls the Serius89-
generated application. This system is called Object Iteraction Protocol. The
name is derived from one characteristic of the system: objects can interact 
without being dependent upon each other. This is OIP's most extraordinary
departure from conventional object oriented programming (OOP)."

"As many developers have observed, OIP departs from object oriented programming
in some respects. However, OIP's variation of object oriented programming,
Level Object Oriented Programming (LOOP) is far more intuitive to a nonprogram-
mer because it can be represented logically in a graphic environment, and is
far easier to implement for the developer.

"As in typical OOP, LOOP's objects define not only data, but the relationship
of the data to the routines that manage the data, namely methods. Unlike OOP,
LOOP objects share methods, not inherit them. Within OIP, LOOP achieves the 
overall goal of modular program construction better than any other development
system with which we are familiar.

"Integral to OIP is the concept of a completely event driven engine. Every
application that is developed in Serius89 maintains a 35K byte shell which
simply manages a series of interrelated event queues. When a event (which is
by no means exclusively associated with hardware/user interaction) is posted,
every type of object has the option to respond in any way it chooses, although
it usually responds by calling a method.  If the user has designed the applica-
tion to respond to a particular action with a series of functions, that action
treggers the function chain, an code of each function is  the chain may 
entirely handle its specified task, or it may pos an even to trigger a method
to handle the task.

"Because of the independence it gives to objects, the event based engine of
OIP makes true user programming a reality.

"Also intergral to the independence of objects in OIP is the unique format in
which information is stored. Because of OIP's unique data formatting guidelines
every object has the ability to manipulate all data in any other object without
knowing the format or the type of object is being manipulated. This allows, for
example, powerful network and file operations to be represented by single
functions, with no tedious overhead due to type checking."

Anyway, it is possible to add objects to the environment and Serius89 has a
built in installer. You can register you object with Serius and get a unique
seiral number so that anyone else can use your object without having conflicts.
They mentioned that a number of developers were working on various objects like
spreadsheet or database objects.

There are two versions of the package, the "Programmer" & the "Developer". The
one is a superset of the other. You can modifiy how objects work with the
Developer while the Programmer you can only add other objects.

The Programmer retails for $295 (or close to that) and the Developer for $495.

They have educational quanity discounts of:

                1-10       10-20     20-50    50 & up       (for Research)
Programmer      $206.5     $197.65   $191.75  $185.85         $132.75
Developer       $246.50    $331.65   $321.75  $311.85         $222.75

Serius Corporation
1981 East 4800 South
Salt Lake City, Utah 84117
1(800)876-6847 or 1(801)272-7788

I believe they are only selling it direct at this point in time.

Disclaimer: I have no connection with Serius other than a soon to be customer.
PS I'll follow up with more of a review when I get a chance to play with it.
Tony Jacobs * Center for Engineering Design * U of U * t-jacobs@ced.utah.edu