UI framework&design options

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

UI framework&design options

Sebastian Heidbrink-2
Hi!

I need to visualize&manipulate data within a graph representation.
Something like the "Maya Node Editor".

I am also interested in decorationless windows&widgets. Is it possible to embed entry fields, lists and such in the "desktop" of pharo?

What is suitable for overlay menus?

What would be the current framework to go with Pharo?
Which one will still stay for a while (is supported by Pharo) and is thought to be well tested.

Thank you for any advice, link, video, picture or hint.

Sebastian
Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

jfabry
Hi Sebastian,

for building UIs I would go with Spec. It however does not support adding widgets without decoration straight to the desktop. What’s wrong with having them open in different windows? If the windows keep references to each other they can interact (more specifically if the different ComposableModels keep references to each other they can use each others’ public API … which you define as their implementer).

As for pretty graphs, I recommend Roassal2 by the ObjectProfile guys. It however cannot embed widgets in the graph as this is not its focus.

Greetings,

On Jan 25, 2015, at 04:09, Sebastian Heidbrink <[hidden email]> wrote:

Hi!

I need to visualize&manipulate data within a graph representation.
Something like the "Maya Node Editor".

I am also interested in decorationless windows&widgets. Is it possible to embed entry fields, lists and such in the "desktop" of pharo?

What is suitable for overlay menus?

What would be the current framework to go with Pharo?
Which one will still stay for a while (is supported by Pharo) and is thought to be well tested.

Thank you for any advice, link, video, picture or hint.

Sebastian



---> Save our in-boxes! http://emailcharter.org <---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile

Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Piotr Klibert
Hi,

>
> It however does not support adding
> widgets without decoration straight to the desktop.
>

What about #openWorldWithSpec? As I understand this your top-level
widget becomes your desktop and you can do whatever you want with it.


>
> As for pretty graphs, I recommend Roassal2 by the ObjectProfile guys. It
> however cannot embed widgets in the graph as this is not its focus.
>

I didn't try it yet, but I'd be very surprised if it wasn't easily
hackable, even if not directly supported. In the worst case you'd need
to create RTView (or something similar, I read the docs long ago)
subclasses to wrap pluggable widgets.

BTW, when I browse Roassal2-Core I see almost all the classes are
undocumented. This makes it a bit hard to infer high-level design of
the code (it's common for me to work with Nautilus and pen&paper
notebook for this...) - is there a high-level overview of Roassal
architecture somewhere?


Best regards,
Piotr Klibert

Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Piotr Klibert
>
> is there a high-level overview of Roassal
> architecture somewhere?
>

I just found http://agilevisualization.com/#book - last time I read
about Roassal was in a draft for Deep into Pharo a couple of years ago
and I'm glad to see that documentation situation improved so much.
Added to my reading list.


Best regards,
Piotr Klibert

Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Sven Van Caekenberghe-2

> On 25 Jan 2015, at 13:26, Piotr Klibert <[hidden email]> wrote:
>
>>
>> is there a high-level overview of Roassal
>> architecture somewhere?
>>
>
> I just found http://agilevisualization.com/#book

Yes, that one.

The thing with Roassal and friends is also the examples, there are tons of them.

But class comments would be good too ;-)

> - last time I read
> about Roassal was in a draft for Deep into Pharo a couple of years ago
> and I'm glad to see that documentation situation improved so much.
> Added to my reading list.
>
>
> Best regards,
> Piotr Klibert
>


Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Stephan Eggermont-3
In reply to this post by Sebastian Heidbrink-2
That Maya Node Editor looks like a PasteUpMorph with Connectors to me.
You'd might want to wrap them (Morphic) in a  in a standard window
with menu bar and toolbar from either Spec or Glamour for now.

And then follow Bloc developments to move there.

Stephan

Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Peter Uhnak
In reply to this post by Piotr Klibert
Hi,

what is in Deep into Pharo is describing Roassal1, but now we have Roassal2. Also the book is still work in progress... I believe Alex mentioned releasing it in mid 2015.
Right now also the pharo and moose mailing list is good source of information, since roassal was discussed a lot in the past few months.

Peter

From: [hidden email]
Sent: ‎1/‎25/‎2015 1:26 PM
To: [hidden email]
Subject: Re: [Pharo-users] UI framework&design options

>
> is there a high-level overview of Roassal
> architecture somewhere?
>

I just found http://agilevisualization.com/#book - last time I read
about Roassal was in a draft for Deep into Pharo a couple of years ago
and I'm glad to see that documentation situation improved so much.
Added to my reading list.


Best regards,
Piotr Klibert

Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Sebastian Heidbrink-2
In reply to this post by Stephan Eggermont-3
Okay, .... I am new to the UI implementations and options in the Pharo
world and I am really confused.

So, am I right to say.
- Polymorph is no more really the way to go?
- Spec is the official way to go right now?
- Roassal2 is the way to go for visualizations?
- Athens is well, I can't even say.... hmm interesting when it comes to SVG?
- Glamour has to be seen in conjunction with Moose? I had a look into
GTSpotter and I have the feeling this took a long long time for
implementation.
- No e.g. Google material like UI possible since there are no frameworks
available to do animation stuff.... didn't Squeak and E-Toys do that? Is
there nothing left in Pharo?
- Lumiere or Roassal3D when it come to sprites?

Are all of these framework compatible to each other? How much
maintenance and repair effort may I expect when I combine e.g. Spec with
Morphic and Roassal2?

VASmalltalk has a very strong separation of UI-View and UI-Control
layers. Which Pharo framework could allow me t replace the look and feel
of my application without loosing my event handling/ control layers?

This is Smalltalk and this is objects, and I am bound so much to a
windowing representation? There is nothing I could do like with HTML5
and css? Put some pictures in the world and just add event handlers to them?

So I might go with Spec and Morphic then? Glamour is more Moose? Or is
there a direction to deprecate one of them?

Thanks for all you into so far. I'll carefully read all the so far
provided resources.

Sebastian





On 2015-01-25 6:04 AM, Stephan Eggermont wrote:
> That Maya Node Editor looks like a PasteUpMorph with Connectors to me.
> You'd might want to wrap them (Morphic) in a  in a standard window
> with menu bar and toolbar from either Spec or Glamour for now.
>
> And then follow Bloc developments to move there.
>
> Stephan
>
>


Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Sebastian Heidbrink-2
In reply to this post by jfabry
Hi!

Is there any library or resource where I could have a look what others have done with Spec?
I have a hard time to find screenshots and additional information on what was used.

Sebastian

On 2015-01-25 2:34 AM, Johan Fabry wrote:
Hi Sebastian,

for building UIs I would go with Spec. It however does not support adding widgets without decoration straight to the desktop. What’s wrong with having them open in different windows? If the windows keep references to each other they can interact (more specifically if the different ComposableModels keep references to each other they can use each others’ public API … which you define as their implementer).

As for pretty graphs, I recommend Roassal2 by the ObjectProfile guys. It however cannot embed widgets in the graph as this is not its focus.

Greetings,

On Jan 25, 2015, at 04:09, Sebastian Heidbrink <[hidden email]> wrote:

Hi!

I need to visualize&manipulate data within a graph representation.
Something like the "Maya Node Editor".

I am also interested in decorationless windows&widgets. Is it possible to embed entry fields, lists and such in the "desktop" of pharo?

What is suitable for overlay menus?

What would be the current framework to go with Pharo?
Which one will still stay for a while (is supported by Pharo) and is thought to be well tested.

Thank you for any advice, link, video, picture or hint.

Sebastian



---> Save our in-boxes! http://emailcharter.org <---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile


Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

jfabry
In reply to this post by Sebastian Heidbrink-2
Hi,

I’ll try to answer what I can ... Spec is the way to go, Roassal2 is the best visualization tool we have (and I think it’s excellent), Glamour is separate from Moose.

If I may simplify: Spec is for any kind of traditional user interface, where Glamour is for a subset of that: those where there is a flow of data from one widget to a next widget and so on.

Spec uses Morphic for its widgets, but is not tightly coupled to Morphic, the idea is to move on to other things later. Non-widget morphs can be incorporated in Spec windows, and Roassal2 visualizations also ( for example of the latter see my work on LRP http://pleiad.cl/LRP ). As long as I will be using Roassal2 (hopefully a long time) I can guarantee you that I will annoy the Roassal guys when integration with Spec breaks. In general this has never been a major issue, and I am quite sure that it never will be.

> On Jan 25, 2015, at 18:52, Sebastian Heidbrink <[hidden email]> wrote:
>
> Okay, .... I am new to the UI implementations and options in the Pharo world and I am really confused.
>
> So, am I right to say.
> - Polymorph is no more really the way to go?
> - Spec is the official way to go right now?
> - Roassal2 is the way to go for visualizations?
> - Athens is well, I can't even say.... hmm interesting when it comes to SVG?
> - Glamour has to be seen in conjunction with Moose? I had a look into GTSpotter and I have the feeling this took a long long time for implementation.
> - No e.g. Google material like UI possible since there are no frameworks available to do animation stuff.... didn't Squeak and E-Toys do that? Is there nothing left in Pharo?
> - Lumiere or Roassal3D when it come to sprites?
>
> Are all of these framework compatible to each other? How much maintenance and repair effort may I expect when I combine e.g. Spec with Morphic and Roassal2?
>
> VASmalltalk has a very strong separation of UI-View and UI-Control layers. Which Pharo framework could allow me t replace the look and feel of my application without loosing my event handling/ control layers?
>
> This is Smalltalk and this is objects, and I am bound so much to a windowing representation? There is nothing I could do like with HTML5 and css? Put some pictures in the world and just add event handlers to them?
>
> So I might go with Spec and Morphic then? Glamour is more Moose? Or is there a direction to deprecate one of them?
>
> Thanks for all you into so far. I'll carefully read all the so far provided resources.
>
> Sebastian



---> Save our in-boxes! http://emailcharter.org <---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile


Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

jfabry
In reply to this post by Sebastian Heidbrink-2

That’s easy :-), the Pharo tools themselves are examples. Have a look at the hierarchy of ComposableModel. You will not only find the basic widgets there, but also all UIs built with Spec that are delivered in Pharo. A random example from that is the code critics browser CriticBrowser.

You can also look at the LRP user interface if you want to see Roassal2 integration in action ( http://pleiad.cl/LRP )
 
On Jan 25, 2015, at 18:58, Sebastian Heidbrink <[hidden email]> wrote:

Hi!

Is there any library or resource where I could have a look what others have done with Spec?
I have a hard time to find screenshots and additional information on what was used.

Sebastian


---> Save our in-boxes! http://emailcharter.org <---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile

Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

Nicolai Hess
In reply to this post by Sebastian Heidbrink-2


2015-01-25 18:52 GMT+01:00 Sebastian Heidbrink <[hidden email]>:
Okay, .... I am new to the UI implementations and options in the Pharo world and I am really confused.

So, am I right to say.
- Polymorph is no more really the way to go?
- Spec is the official way to go right now?
- Roassal2 is the way to go for visualizations?
- Athens is well, I can't even say.... hmm interesting when it comes to SVG?

athens is a api for doing 2d rendering (shapes, fill, strokes, ..). Roassal2 is built with athens.
DrGeo (https://launchpad.net/drgeo) was ported to use athens.
 
- Glamour has to be seen in conjunction with Moose? I had a look into GTSpotter and I have the feeling this took a long long time for implementation.
- No e.g. Google material like UI possible since there are no frameworks available to do animation stuff.... didn't Squeak and E-Toys do that? Is there nothing left in Pharo?
- Lumiere or Roassal3D when it come to sprites?

Are all of these framework compatible to each other? How much maintenance and repair effort may I expect when I combine e.g. Spec with Morphic and Roassal2?

VASmalltalk has a very strong separation of UI-View and UI-Control layers. Which Pharo framework could allow me t replace the look and feel of my application without loosing my event handling/ control layers?

The look: there are different themes. And you can even use different themes per application (I think).
The feel: I think pharos theming is only for the look, maybe keymappings are theme dependent.

 

This is Smalltalk and this is objects, and I am bound so much to a windowing representation? There is nothing I could do like with HTML5 and css? Put some pictures in the world and just add event handlers to them?

This is, for sure, much more easier in squeak/pharo than with HTML5 and css. You can attach an eventhandler to any
morph (ImageMorph for example). And you are not "bound to windowing representation".
This is exactly what morphs are for: build, use and combine visible and active elements directly on the screen.
(The problem is now, this is not what people expect. They expect an "application" with buttons and list and textfields.
And this is why you need frameworks like polymorph, spec or glamour, in order to use commonly known widgets).


 

So I might go with Spec and Morphic then? Glamour is more Moose? Or is there a direction to deprecate one of them?

Thanks for all you into so far. I'll carefully read all the so far provided resources.

Sebastian






On 2015-01-25 6:04 AM, Stephan Eggermont wrote:
That Maya Node Editor looks like a PasteUpMorph with Connectors to me.
You'd might want to wrap them (Morphic) in a  in a standard window
with menu bar and toolbar from either Spec or Glamour for now.

And then follow Bloc developments to move there.

Stephan





Reply | Threaded
Open this post in threaded view
|

Re: UI framework&design options

hernanmd
In reply to this post by Sebastian Heidbrink-2
Hi Sebastian,

2015-01-25 14:52 GMT-03:00 Sebastian Heidbrink <[hidden email]>:
Okay, .... I am new to the UI implementations and options in the Pharo world and I am really confused.

So, am I right to say.
- Polymorph is no more really the way to go?

Polymorph is a very low-level UI "framework". I wouldn't go there.
 
- Spec is the official way to go right now?

Spec is now probably the easiest library to build windowed UI's in Pharo. I don't know about its status or plans, the main developer left the project months ago. If you want something like the Maya editor, you better take a look to Connectors.
 
- Roassal2 is the way to go for visualizations?

Yes.
 
- Athens is well, I can't even say.... hmm interesting when it comes to SVG?
- Glamour has to be seen in conjunction with Moose? I had a look into GTSpotter and I have the feeling this took a long long time for implementation.

Glamour is a browser framework. I think most Glamour users are Moose users.
At the time I've tried to build a typical UI using it I had a hard time figuring how to fit everything into Glamour vocabulary.

 
- No e.g. Google material like UI possible since there are no frameworks available to do animation stuff.... didn't Squeak and E-Toys do that? Is there nothing left in Pharo?

The best I have seen for animation is the Open Cobalt platform in a Thesis presentation. But that's Squeak and uses Tweak - a supposedly enhanced E-Toys -
The E-Toys system has been mostly removed from Pharo. I guess it was really unusable/unmaintanable from outside Squeak.

 
- Lumiere or Roassal3D when it come to sprites?

Are all of these framework compatible to each other? How much maintenance and repair effort may I expect when I combine e.g. Spec with Morphic and Roassal2?


You do not combine Spec with Morphic, it is already "combined" in the Pharo 3,4 image. AFAIK no-one yet build a bridge from Spec to web/native controls, so it is only theoretically cross-UI specification.
You will have to invest time and energy if you want rich controls like those grids used in business apps. And you depend on Morphic widgets because Spec is only a description framework. This situation will presumably change in the future.
 
VASmalltalk has a very strong separation of UI-View and UI-Control layers. Which Pharo framework could allow me t replace the look and feel of my application without loosing my event handling/ control layers?

This is Smalltalk and this is objects, and I am bound so much to a windowing representation? There is nothing I could do like with HTML5 and css? Put some pictures in the world and just add event handlers to them?


HTML5 and CSS are a crap and I wouldn't bother with them if I could choose.
 
So I might go with Spec and Morphic then? Glamour is more Moose? Or is there a direction to deprecate one of them?


Go ahead with Spec but you need to research in SmalltalkHub and GitHub repositories for more advanced Spec examples. The problem is Pharo tools are poor examples for typical desktop applications UIs (built for Smalltalk developers and power users). Sure you can get how to instantiate basic controls (ComposableModel's) but you will have to learn to play layouts models and compose a lot of specs if you want the boring real world UI - however not the pain of using tools like Glade.

 
Thanks for all you into so far. I'll carefully read all the so far provided resources.

Sebastian






On 2015-01-25 6:04 AM, Stephan Eggermont wrote:
That Maya Node Editor looks like a PasteUpMorph with Connectors to me.
You'd might want to wrap them (Morphic) in a  in a standard window
with menu bar and toolbar from either Spec or Glamour for now.

And then follow Bloc developments to move there.

Stephan