r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3 GUI]

Pekr
25-Feb-2010
[886]
Probably not until it moves to be an Extension and part of the hostkit?
BrianH
25-Feb-2010
[887x2]
That would be a start, but I wouldn't expect it to be supported for 
those platforms on day one of the new host kit.
However, it will allow the rest of us to help get it working on those 
platforms.
AdrianS
25-Feb-2010
[889]
Hmm, I would've expected Maxim to jump in and give his 2 cents when 
he stopped by...
Maxim
25-Feb-2010
[890x3]
Liquid is the perfect engine to add to R3 GUI.


After years of use in many different situations, I am now very confidents 
in its capabilities.


Liquid is a generic engine, allowing you to tell DATA to message 
DATA.  


This means you can use the same system that you'd use for the GUI, 
for the data itself, and then just plug it together.


Because Liquid was designed to allow very advanced procedural computation 
at a fraction of the complexity of other systems I've used I'd say 
its the best system we'll ever be able to build for R3.


Wrapping liquids within faces and the view dialect is rarely more 
than 5-10 lines of extra code, but then, you don't need to write 
"action" code afterwards.
I've JUST finished work on the first public version of a graphic 
editing software which will go public shortly.  It is built using 
Liquid extensively, using my glob technology (a.k.a. liquid paint).


In this project, I'm even using liquid to do automatic declinations 
of web originated information, some of it directly connected to buttons 
and fields.

Changing some parameters will automatically update other fields and 
button states when the web query is done.  


The software cleans itself up when some other part of the software 
changes internal data.

this is the true value of liquid. :-)
liquid even has data filtering mechanism built-in... so you can patch 
type conversion right in you data, for example, and connect any other 
compatible datatype without needing to build ANY extra code.


Did you notice the detail... I didn't say type conversion in your 
GUI... 


so If your age is supposed to be an integer... pluging it into a 
field can actually make the field an integer field, without the field 
knowing anything about integers.   :-)
Graham
25-Feb-2010
[893]
It ain't perfect if you don't do it !
Maxim
25-Feb-2010
[894]
anyone can learn liquid.   its dead easy.


its the concept of messaging and dataflow itself which is challenging.
Graham
25-Feb-2010
[895x2]
the proof is in the drinking ...
I like to use fields where the prompt is an image in the background 
which disappears on focus, and reappears on loss of focus unless 
some text is present
AdrianS
25-Feb-2010
[897]
so if Liquid is perfect, what's the next step? Henrik needs to evaluate 
it? Does that mean that Maxim needs to spend time going over things 
with Henrik? Does Carl have to approve it himself - i.e. does he 
need to spend some time looking it over?
Graham
25-Feb-2010
[898]
History tells us that nothing will happen ... there is no next step.
AdrianS
26-Feb-2010
[899]
Petr, could you push Carl to do something wrt Liquid? At least  to 
spend an hour or two on this or to just rule it out if he's already 
formed some opinion about it. Hope he doesn't though - I thought 
the idea with R3 was to not be so conservative with incorporating 
community contributions.
jocko
26-Feb-2010
[900]
Maxim, if we want to learn liquid, which version do you recommend 
to use: the one already published, or another, that you could publish 
in the coming days/months ?
Pekr
26-Feb-2010
[901x2]
We should be shown some liquid usage example, the simple one, to 
understand the concept. Then we should be shown more complex working 
app. If liquid is general flow engine (usefull also to non GUI parts), 
it could be added to rebol as a concept, and maybe even made native, 
but I am not sure if it fits the language or not. Maybe it should 
be available in the form of module/extension, dunno ...
AdrianS: I asked Carl to resurface and provide development team with 
promissed GUI related docs. I hope Carl will be back soon, he worked 
on moving Altme services to new servers (as can be seen in his latest 
blog post)
Graham
26-Feb-2010
[903]
and working on altme server improvements
Henrik
26-Feb-2010
[904x4]
I'm having a stupid day where nothing works, so I can't do any work 
right now. I'm not sure it's a good idea to just wrap any flow engine 
on top of the GUI. The idea is simply to . We have to remember that 
it's about the idea
ok, AltME doesn't work either...
The idea is simply to make it very simple to interconnect faces. 
We have to remember that it's about the idea, not that a really fancy 
flow engine is the solution.
Also I'm being slowed down because of a project that I'm doing for 
Robert that takes time to finish. But please, continue the discussion.
Pekr
26-Feb-2010
[908x2]
we will, and as I informed you privately, Carl will hopefully resurface 
soon too ...
where is actual/latest VID 3.4 code stored? I would like to see, 
how 'attach works, and what it allows, then look into your docs, 
and try to think about it for a while ... well, I will most probably 
not come with anything anyway, but I would at least like to understand 
what we area talking about here ...
Henrik
26-Feb-2010
[910]
you can see it inside R3 chat
Graham
26-Feb-2010
[911]
Steeve, how's progress on the r3 gui chat client?
Maxim
26-Feb-2010
[912x2]
I have spoken with Carl in the past about liquid, he REALLY likes 
the concept, he was mezmerized when I did a quick demo of it at Paris 
devcon.


But at that time, I wasn't trying to convince him because I didn't 
have enough real-world experience using it, and still had a few reserves 
about it myself.
Adding liquid to R3 is actually something Carl looks forward to, 
we chatted about it.
Graham
26-Feb-2010
[914]
A lot more world experience is needed before something unknown is 
added to the GUI
Maxim
26-Feb-2010
[915]
The nice thing about liquid is that its an API more than anything 
and you can model it to do alot of different things, by just changing 
a few properties and implementing one or two functions.


All the nitty gritty is already taken care of and you don't have 
to play around in that unless you really want to create special and 
ultra-optimized nodes whih I very rarely need to do myself.
Graham
26-Feb-2010
[916x2]
Especially something that is hard to understand
Remember that Carl rewrote vid as he found Gab's vid too hard to 
use
Maxim
26-Feb-2010
[918]
yep.
Graham
26-Feb-2010
[919]
Although easy to use as a design aim contradicts his new stance that 
Rebol is not for everyone!
Maxim
26-Feb-2010
[920]
the trick with adding Liquid to R3 VID is to integrate liquid INTO 
VID and not the other way around.  in the VID dialect, or as a few 
function calls which just basically create a predefined node type, 
and links it up.
Steeve
26-Feb-2010
[921]
Graham, i try some idea on my own GUI currently
Graham
26-Feb-2010
[922]
Your own GUI?
Maxim
26-Feb-2010
[923]
in my soon to be released application, the dataflow aspect of the 
code is less than 20% of the time spent, yet it represents at least 
80% of the actual usefull software capabilities.  


most of it was fixing View and VID themselves... the styles, the 
event mechanism and bugs, AGG bugs, enhancing http, etc.
Steeve
26-Feb-2010
[924]
i made some in the past, but they all died before adulthood
Graham
26-Feb-2010
[925]
so genetic defects?
Steeve
26-Feb-2010
[926]
probably ;-)
Graham
26-Feb-2010
[927]
all of these guis and none of them complete ..
Maxim
26-Feb-2010
[928]
an example of a very complex system which was made 100% robust is 
this:

-an image is used as a background, cropped , transformed and displayed 
within AGG

-we need to overlay an text area over the canvas, but its all AGG 
and its contained within a graphic element.

-we create a face which is a text-area, LINK it to the coordinates 
of the graphic element.

-the face is then converted to an image on the fly everytime the 
coordinates change (even rebuilding the text wrapping interactively)

-this image is added at the proper position with the AGG draw block 
as an image with coordinates.
Steeve
26-Feb-2010
[929]
Currenlty, i try a new way.

No VID engine, just an event handler and Gobs as agents talking with 
their environment.
Maxim
26-Feb-2010
[930x2]
focusing on the text area reveals the text-editor face
unfocusing, renders the face as described above.


but because everything is linked, the text-area face even resizes 
& moves automatically when we resize the graphic element without 
needing to unfocus it.
had I tried to build this system without Liquid... 
  -I'd probably have a very brittle textbox.
  -one that is VERY hard to improve.
  -it would lack a lot of the interactive aspects about it.
Steeve
26-Feb-2010
[932]
i decided to throw away any speed constraint to promote dynamic arrangement
Graham
26-Feb-2010
[933]
it's slow?
Steeve
26-Feb-2010
[934x2]
i will be at first
each gob having a lot of methods and properties