Why wait for Inheritance in Revolution? Want 1000 more features now?

MisterX b.xavier at internet.lu
Mon Sep 13 00:41:08 EDT 2004

In response to all the inheritance talk...

Sorry for the verbosity but Im sure some will appreciate the details.

Some of you may remember since the good old HC days that I've been proposing
something like Ken's parent scripts which was named XOS while I resided on 
the NoProb.com web site and before I went to PHPNuke on Monsieurx.com. 
I have researched how to do OOP in HC, MC and now RR for almost 15 years 
with my XOS project and believe me I wouldn't have continued if it wasn't
effective as it is! Most who saw it said woah, so i must be on to something!

The trick to OOP in RR is not object inheritance but design object detection
and message interception that works like OOP. But that's only the tip of the 
iceberg for successfull OOP in RR. Inheritance can only be achieved in a 
relative way in RR compared to other OOP concepts. As Tuv said, it is not
built in but RR has the advantage of handling anything in a variable and
a message hierarchy (the bartender) when you front, backscript or library 
or start using a stack. 

XOS brings inheritance, polymorphism, class overiding, object persistence, 
template objects and a max of modularity for realtime loading of libraries, 
context behavior, agent and process management, distributed network
processing, and even OS/configuration management/differentiation. OK, not 
all of the last 3 items are coded in XOS yet but it getting in there faster 
and faster each day.

It's not the classical C-like implementation (note I never tried smalltalk
types). It is a HC object and message model. It really works with the same
context as C or smalltalk with the objective of object/code-reuse but with
the added advantage that with a logical grammar it can script by itself to
adapt to a situation or environment. Alas this parser is a beast in design
stage and array or object containers are not the best in RR. 

I strive for the holy grail of development economics and ergonomics with a
maximum of features and leave the possibilities open for the user to adapt
it to his own needs. That's a goal in OOP too! In short, 80 to 90% of the 
scripts one would need in any stack are present in the framework. 

25 buttons you said? ;) 

Why rewrite the wheel over and over? After 15 years, you can imagine my
time savings! Now that the object model works again, it's features adding 
time! Any new features I add in XOS, all my XOS-based stacks enjoy right 
away! What else could you ask for?

If there is one thing I learned from XOS is that one feature can hide a 
feature manager! Writing all of these to fit in a standard framework has 
been a long road but the benefits are worth the effort. 

Given the severe limits of HyperCard, the 32K barriers forced me to 
research new ways to avoid rewriting new features each time and updating 
dozens of content stacks each with their own properties or "views templates" 
to manage a 200 MB relational CMS much like phpnuke or lotus notes way back
in the late 80s. 

Since all scripts didn't fit into one stackinuse, I built specialized 
libraries to handle class specific objects, events, automatic prioritized
[un]loading of scripts, caching retrieval of dynamicaly loaded scripts
from script libraries... Writing the help for this is impossible for a
man alone!

Even plug-ins, agents and other super-class managers were included then to 
interface HC to Netscape, Eudora, QuarkExpress, FileMaker, Finder, etc! 
The RR plugin manager is kind of like it, and could work like XOS but I 
dont understand why the darn plug ins insists on crashing RR when I just 
take look at it!?!

XOS was since its beginning designed to achieve an ultimate opensourced
collaboration tool to Hyper, super meta Carder and now RunRevers to
achieve something like the ultimate self updating Lotus Notes (who is much 
better funded mind you.) I can boast that I managed to write lotus notes 
by myself in HC with integrated email via eudora and Applescripts agents
10 years ago now! 

The basic framework of template objects in XOS is becoming quite complete. 
I must rewrite the messaging now which integrates some relational context
linking and that will not be easy. But until then I can't release XOS or
write about it because I dont know how far I can take it within RR. Until
I get the data to be written to any of a customprop or db or xml as easy
as a stack card, there is no point. And alone that will take months...

Examples of XOS? If you have downloaded any of my stacks from
http://MonsieurX.com, most of them use the same scritps or objects
which are the basis for XOS. Is XOS there? no. Not until it works bugfree. 

The N2O plugin tools are the newest features of XOS - the smartbars. 
Totally automatic loading without usage of the RR plugin manager - you do
have to open them somehow though ;). 

If you look at the DiscreteBrowser, you can find a basic set of the 
object templates that XOS offers. It's already evolved a bit further 
now thanks to the new object group template partly developped long 
ago in the Snippets stack in the MC-only ScriptEditorX and which you
can see remodeled in the LogShark stack. The latest version which is a
full blown ebook which now does smart hypertext linking, relational 
context linking with smart classification. The GUI took less than 10 
minutes to do and the features are in the dozens without coding.

Unfortunately the DiscreteBrowser is marred by RR blocker bugzillas 
which were not resolved in 2.2 and which I cannot afford to test on
RR 2.5 due to abscence of any donations which were supposed to sponsor 
my next RR license. Maybe I got it all wrong...

Boy am i motivated!

I've decided to rewrite XOS from scratch again for the 4th generation 
because MC and RR work differently than HC which is why it takes so long 
to bring it out (and I want XOS script compatibility with flash, notes). 
Almost every object and event can inter-relate so it is a lot of work.

You can wait a few more months for RR to put parentscripts out. 
You can wait another 2-5 years until they reach the XOS stage. 
My problem is that it seems no one was interested (Kevin remember the 
email I sent you that resembles so much like the 25 buttons story?). 

The other problem is that no one reads or understands the plea to 
motivate or sponsor the help-wares that I put in my About fields.
Seems there is either no interest in motivating authors either! Hugh 
(the ScriptScrapbook) just confirmed me the same thing. And it seems 
there is more interest in paying for software than sponsoring a 

So I ask:
- if I put in a paypal donation on my website, would you use it to help?
- Would a paid subscription to my website be a better incentive to access
  good stacks and scripts which would sponsor my website and RR license?
- if you want to help and do so seriously, how many of you are 
  interested in starting the bazaar scripting economy? See
  http://www.opensource.org/advocacy/jobs.php - no freeware though.

If more people sent bug reports, feature requests, and a cheese burger 
sized donation, XOS would be out long ago, RR would be 5th generation 
language (one that scripts itself). Today, I can't justify spending the 
money for an RR license renewal and im back to work so my time is limited

I would love to co-develop XOS and even put it out as opensource just like
the DiscreteBrowser but dont like sponsoring open-source that doesn't
get feedback (in more than one way) or working for nothing and dare I 
think for others who would profit from open source without giving credit[s]
where due. I didn't imply someone did...

Is it Sci-Fi?

To find the stacks mentioned above (except XOS of course), just go to 
http://monsieurx.com , on to the downloads, or the rev category...

Not getting feedback is one thing, but if this community is supposed to 
help each other, how come most web sites dont list a link to mine or the
other 20 RR devoted websites around? Some dont list more than 4 or 5 sites.

Shame on you! ;)

Is that marketing the community or what? ;)) C'mon boys and girls, help RR 
is not just ranting or bugzilling or making freeware or sharing scripts. It's
also about being there! And yes, all of you who dont have a web site can now
come to my site, add a download or two or a link or even an article. I dont
have unlimited space but a few hundred MBs which can be better devoted to 
cool stacks than my weird music! Unless you like my music... ;)

do "Send" && Object["Best Regards"] && "to all" with message "Greetings"


More information about the use-livecode mailing list