Hi Alex,
I am trying to use Roassal2. We can do amazing things with it. It is a powerful tool. But, it lakes of documentation. I mean, there are lots of examples and we can reuse them. My problem is that I cannot create something from scratch, just because I do not understand the workflow. You know, I used Glamour and Mondrian, where the workflow were clear. In Roassal2, I am playing with blocks without understanding and without any idea what can be the result before executing it. My problem is not about language or DSL or API. My question is: do you have a document that explain how to think a Roassal script ? It seems that to make something we can do it by multiple way. I just need one way to understand the workflow or creating visualization. Thank you for your help. ~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
there is a chapter at Deep Into Pharo book, you can download the pdf for free and also there is a website for Roassal documentation here http://agilevisualization.com/ , I am not so sure about Roassal 2 though On Fri, Nov 7, 2014 at 3:25 PM, jannik laval <[hidden email]> wrote:
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
Hi Jannik,
You are raising an excellent point! Designing a documentation that find the right balance between what roassal offers, how people want to use it, and considering the previous knowledge people may have is hardly difficult. Let me try: - There are three sources of documentation for Roassal2: the http://agilevisualization.com book, examples contains in Roassal2, and this mailing list. Chapters about Mondrian, Roassal1 are more than obsolete by now. - You may want to try to work with the core of Roassal. Just focus on the Roassal2-Core then. Just look at the ‘Roassal Example’ in the example browser. Play a bit with it. Once you understand the basic functionalities of Roassal, you can read more about the builders (what I think you are referring to with ‘scripts’). Chapter II.1 in Agile Visualization. An advice: do no try to build any complex Visualization in Roassal without having read the builder infrastructure. Cheers, Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by kilon.alios
Hi Kilon, Yes, I know this chapter :) But either the chapter or the website are about technical aspects. My problem is how do I think a visualisation. Jannik 2014-11-07 10:33 GMT-03:00 kilon alios <[hidden email]>:
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by abergel
Thank you Alex, This is what I am trying to do. Now just see the first example of agilevisualization.com, and explain me some things: === "the three following lines are ok for me" v := RTView new. shape := RTEllipse new size: 20; color: Color lightBlue. shape := shape + RTLabel. "ok, we are transforming a collection of objects into roassal elements" es := shape elementsOn: (1 to: 20). "and we add them to the view." v addAll: es. "my point here is that the visualization is not directly correlated to the objects. Objects are transformed. It means that if I add a new object, I also should add a new element and add it in the visualization. This is not trivial to understand. Why is it not done lazily ?" "following lines create edges, it is ok" RTEdgeBuilder new view: v; objects: (1 to: 20) from: [ :i | i // 2 ]. "We are applying a layout to a group of elements, not to a view. It means that all the expected behaviors are on the group of elements" RTTreeLayout on: es. "Here is strange. Why RTDraggable is applied to es and not to a shape ?" es @ RTDraggable. v === You know what I mean. Roassal has multiple key elements: objects, elements, view. And I do not see the interactions and builder. I would like to know what is applied to each element. Cheers, Jannik 2014-11-07 10:48 GMT-03:00 Alexandre Bergel <[hidden email]>:
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
2014-11-07 15:17 GMT+01:00 jannik laval <[hidden email]>:
You forget that behind the RTEllipse, you also have a TREllipseShape, and that the shapes in the view are TR-shapes, and not RT-shapes, but that you add behaviors on the element, not on the shapes and ... Well, overall, I find Roassal easy to get in when going in depth in it (i.e. extending a TRShape for example), but, paradoxally, it seems difficult to understand when you're just trying to do a visualisation with it. The lack of comments does not help, even if the structure is fairly clear. And some of the stuff done in builders is really clever (automatic building of edges out of properties) but hard to grasp. Shaping a data model to Roassal can be a challenge. Thierry
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Indeed, this is a serious challenge that we need to properly address. Else it may jeopardize the future of Roassal.
Cheers, Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
First, this situation is not common. Visualizing changes of a data set while these changes are occurring has not been a pressing case study Roassal should address. Until you have sent your email :-) Let’s go it iteratively. You said : "It means that if I add a new object” How do you want to add it? What about the following scenario: -=-=-=-=-=-=-=-=-=-= myCollection := OrderedCollection new. v := RTView new. v addAll: (RTEllipse elementsOn: myCollection). myCollection add: 1; add: 2; add: 3. v -=-=-=-=-=-=-=-=-=-= If you execute this script, the view will be empty, since elements are created before the collection is filled. However, I have the impression this is what you wish to have?
Shapes are solely about the visual aspect of each individual elements.
An element is a wrapper to an external provided object (e.g., a number, a file, your object). To an element, you can add a shape (composed or not), and interaction. Elements are added in a view. Builders are at a higher level. Builders offer API to build more sophisticated elements, shapes, interactions and layouts. But it all boils down into shapes and interaction added to elements, and elements added to a view. I am updating the Roassal chapter with these information. Cheers, Alexandre
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
2014-11-07 12:28 GMT-03:00 Alexandre Bergel <[hidden email]>:
Ok, it is interesting to have a new test case :) Let's do it.
Yes, because when I am using elementsOn: a collection, my idea is that it should take care about the collection, not the items of the collection. I saw the source code, and it is not easy to manage. But in my case, I tried to understand, and extend the RTAnimation that you propose to me, but it is not trivial. It can work with RTAnimation and adding that inside it. That is what I did, but it makes the code unreadable because I add objects, then transform them, then add them to RT with elementsOn:. My question here is: can we do it smarter. You could probably propose me a better way to do that.
Does there anywhere a comment to say for each RT class on what they can be applied ?
Ok, I begin to understand. I will try to write something about my understanding and the work I am doing. It can help.
Thank you a lot. Cheers, Jannik
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
I am parsing the agilevisualization.com website. Here are some questions: - what is the + for ? --> it seems to be used to compose shape, is there another way ? - what is the @ for ? --> it seems to be for interaction, is it the sole way to use it ? - what is RTTabTable ? it seems to be something different than view,shape,edges,layout,interaction,builder - should I care about trachel when I use Roassal? Some issues with the website: - no images: https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Builder/0201-Builders.html - section 9 is badly presented: https://dl.dropboxusercontent.com/u/31543901/AgileVisualization/Roassal/0104-Roassal.html And this is the workflow I should use: 1- create a view 2- create a shape pattern 3- create edge pattern 4- associate data with shape 5- associate data with edge 6- define and associate the layout 7- define and associate interactions 8- build and open the view Is that right ? 2014-11-07 12:59 GMT-03:00 jannik laval <[hidden email]>:
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
+ is used to compose shapes together and to add a shape to an element. Where do you see it? I normally do not use it in the book.
Only for interaction.
This is a utility class to handle CSV content.
You should not in principle. But as soon as your visualization will become complex, then you need to understand what’s going on underneath, pretty much as in any framework and library.
Strange. No pb on my side, but the pictures are in PDF. I have fixed this normally.
Ok, fixed
This seems to be a reasonable workflow, but this is not the only one. In the simplest case, this workflow should work. Thanks for your comments, they are important! Alexandre
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
I do not remember why I suggested you to use RTAnimation. In which context?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Hi again :) I am trying to use a builder and I have this kind of line: self interaction popupText; highlightColored: Color red; action: #inspect; action: #browse. The problem is that it take into account only one of the two entries. How can I add the two items in the menu ? Cheers, Jannik 2014-11-07 15:01 GMT-03:00 Alexandre Bergel <[hidden email]>:
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by abergel
I have a graph with nodes that change. I use RTActiveAnimation Jannik 2014-11-07 15:01 GMT-03:00 Alexandre Bergel <[hidden email]>:
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by abergel
2014-11-07 14:59 GMT-03:00 Alexandre Bergel <[hidden email]>:
Probably in examples :)
Ok, thank you.
Ok, that is what I thought.
Thank you, it works.
Thank you again.
I understood that there is multiple way to do things. In my opinion, it is why Roassal seems complex. I want to begin with a simple flow, then, I will complexify it.
You are welcom. Your work is really great. Jannik
~~Jannik Laval~~ _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
Hi Jannik,
Your script is absolutely correct. This is simply a bug that I have just fixed. -=-=-=-=-=-=-=-=-=-=-=-= v := RTView new. b := RTInteractionBuilder new. b action: #inspect; action: #browse. e := (RTBox new size: 50) element. v add: e. b setUpElement: e. v -=-=-=-=-=-=-=-=-=-=-=-= Cheers, Alexandre > On Nov 7, 2014, at 7:04 PM, jannik laval <[hidden email]> wrote: > > Hi again :) > > I am trying to use a builder and I have this kind of line: > > self interaction popupText; highlightColored: Color red; > action: #inspect; > action: #browse. > > The problem is that it take into account only one of the two entries. > How can I add the two items in the menu ? > > Cheers, > Jannik > > 2014-11-07 15:01 GMT-03:00 Alexandre Bergel <[hidden email]>: > I do not remember why I suggested you to use RTAnimation. In which context? > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >> On Nov 7, 2014, at 12:59 PM, jannik laval <[hidden email]> wrote: >> >> RTAnimation > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > > -- > ~~Jannik Laval~~ > École des Mines de Douai > Enseignant-chercheur > http://www.jannik-laval.eu > http://www.phratch.com > http://www.approchealpes.info > http://car.mines-douai.fr/ > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
Here is an example on how to use RTActiveAnimation:
-=-=-= -=-=-= -=-=-= -=-=-= c := OrderedCollection new. v := RTView new. v canvas addMenu: '+1' callback: [ c add: 42 ]. box := RTBox new element. RTActiveAnimation new blockToExecute: [ (v numberOfElements ~~ c size) ifTrue: [ v clean. v addAll: ((RTBox new size: 8; color: Color blue) elementsOn: c). RTGridLayout on: v elements. ] ]; inView: v. v -=-=-= -=-=-= -=-=-= -=-=-= Does this help? Alexandre > On Nov 7, 2014, at 7:05 PM, jannik laval <[hidden email]> wrote: > > I have a graph with nodes that change. > I use RTActiveAnimation > > Jannik > > 2014-11-07 15:01 GMT-03:00 Alexandre Bergel <[hidden email]>: > I do not remember why I suggested you to use RTAnimation. In which context? > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >> On Nov 7, 2014, at 12:59 PM, jannik laval <[hidden email]> wrote: >> >> RTAnimation > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > > -- > ~~Jannik Laval~~ > École des Mines de Douai > Enseignant-chercheur > http://www.jannik-laval.eu > http://www.phratch.com > http://www.approchealpes.info > http://car.mines-douai.fr/ > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
By the way, I have just added a section in the Roassal chapter in AgileVisualization. You can have a look at Section 9 ("Automatically View Refreshing”)
Cheers, Alexandre > On Nov 7, 2014, at 7:05 PM, jannik laval <[hidden email]> wrote: > > I have a graph with nodes that change. > I use RTActiveAnimation > > Jannik > > 2014-11-07 15:01 GMT-03:00 Alexandre Bergel <[hidden email]>: > I do not remember why I suggested you to use RTAnimation. In which context? > > Alexandre > -- > _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: > Alexandre Bergel http://www.bergel.eu > ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. > > > >> On Nov 7, 2014, at 12:59 PM, jannik laval <[hidden email]> wrote: >> >> RTAnimation > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev > > > > > -- > ~~Jannik Laval~~ > École des Mines de Douai > Enseignant-chercheur > http://www.jannik-laval.eu > http://www.phratch.com > http://www.approchealpes.info > http://car.mines-douai.fr/ > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev -- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;. _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
Sorry guys there is no need to repeat all the written mail over and over
again. Where's the sound in all that noise? _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by jannik laval
Friedrich wrote:
>Sorry guys there is no need to repeat all the written mail over and over >again. Where's the sound in all that noise? +1 Stephan _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |