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