What UI direction now (or in the near future)?

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

What UI direction now (or in the near future)?

Petr Fischer
Hello!

Suppose, that I need to write simple UI app + write my own UI list component (some special behaviour, can’t use default list UI component from Pharo) + I need perfect keyboard support (shortcuts, tab navigation + navigation by cursor keys in some windows), which also means, that I need perfect UI component “focus” support…

Another priority: I do not want to learn things (in exhaustive detail) that expire in 2 years.

Current status: I like Smalltalk (Pharo!), know basics of Morphic and I noticed some future as Athens and Bloc. I am trying to get out from “closed” app development and Apple “closed” technologies as ObjC/Swift/Cocoa and want to be little more productive and platform independent. Simple, snappy, attractive and smooth UI is the key for me/users.

And now… which direction:

1) old Morphic (simple powerful work with old Morphs etc.)

2) Morphic + Athens drawing (maybe I don’t understand the connection)

3) Bloc

Sub-questions:

A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now...

B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?

C) Is current keyboard + UI component focus support perfect or pain in...

Isn’t a “bad time” for this decision (Pharo) now?

Thanks very much for any brief hint, Petr Fischer



Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

abergel
Morphic has been around for over a decade. Probably it will stay for a while.
Athens is quite stable. However it is not made to do UI. It does not do much for event handling. Roassal does the drawing with Athens and the event management with Morphic.

Cheers,
Alexandre

> On Feb 25, 2015, at 12:02 AM, Petr Fischer <[hidden email]> wrote:
>
> Hello!
>
> Suppose, that I need to write simple UI app + write my own UI list component (some special behaviour, can’t use default list UI component from Pharo) + I need perfect keyboard support (shortcuts, tab navigation + navigation by cursor keys in some windows), which also means, that I need perfect UI component “focus” support…
>
> Another priority: I do not want to learn things (in exhaustive detail) that expire in 2 years.
>
> Current status: I like Smalltalk (Pharo!), know basics of Morphic and I noticed some future as Athens and Bloc. I am trying to get out from “closed” app development and Apple “closed” technologies as ObjC/Swift/Cocoa and want to be little more productive and platform independent. Simple, snappy, attractive and smooth UI is the key for me/users.
>
> And now… which direction:
>
> 1) old Morphic (simple powerful work with old Morphs etc.)
>
> 2) Morphic + Athens drawing (maybe I don’t understand the connection)
>
> 3) Bloc
>
> Sub-questions:
>
> A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now...
>
> B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?
>
> C) Is current keyboard + UI component focus support perfect or pain in...
>
> Isn’t a “bad time” for this decision (Pharo) now?
>
> Thanks very much for any brief hint, Petr Fischer
>
>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

jfabry
In reply to this post by Petr Fischer
Hi Petr,

what you should do is use Spec for the UI. If you want to write your own list component you can do that in Morphic and integrate it in a Spec UI. All pointers to info about Spec were given by Sven on Feb 13th in one mail entitled ‘Learning Spec'. I will quote his first 3 pointers here for your convenience:

> Here is a guide to documentation about Spec, most recent first.
>
>
> There is an excellent presentation by Johan Fabry did during the last Pharo Days, 'Using Spec to Build a UI'. *MUST WATCH* (the video is not yet fully public, but soon will be, the link should work though):
>
>  http://youtu.be/OL23s9ZUIR0?list=PL4actYd6bfnz98ngrKALwwStl3C3odEKG
>
> The slides are also not yet available, but soon will be (the talk is much better that the slides on their own).
>
>
> This draft chapter 'Spec: a framework for describing user interfaces' for an upcoming book:
>
>  https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/Spec/Spec.pier.html
>
>
> Look in the image.
>
> Browse the hierarchy below AbstractWidgetModel in the category Spec-Core-Widgets in Pharo 4, look at the protocols called 'protocol' & 'protocol-events' mainly. Look for references to each class. Trace senders of methods until you arrive at examples. Study the examples, play with them, change them.
>
> The UI of most tools in Pharo is also implemented using Spec. Browse the hierarchy below ComposableModel to find them. (Komitter, Versionner, Critics, Metacello, the old Eye Inspectors, ..). Watch and learn.


I wish you success!


> On Feb 25, 2015, at 00:02, Petr Fischer <[hidden email]> wrote:
>
> Hello!
>
> Suppose, that I need to write simple UI app + write my own UI list component (some special behaviour, can’t use default list UI component from Pharo) + I need perfect keyboard support (shortcuts, tab navigation + navigation by cursor keys in some windows), which also means, that I need perfect UI component “focus” support…
>
> Another priority: I do not want to learn things (in exhaustive detail) that expire in 2 years.
>
> Current status: I like Smalltalk (Pharo!), know basics of Morphic and I noticed some future as Athens and Bloc. I am trying to get out from “closed” app development and Apple “closed” technologies as ObjC/Swift/Cocoa and want to be little more productive and platform independent. Simple, snappy, attractive and smooth UI is the key for me/users.
>
> And now… which direction:
>
> 1) old Morphic (simple powerful work with old Morphs etc.)
>
> 2) Morphic + Athens drawing (maybe I don’t understand the connection)
>
> 3) Bloc
>
> Sub-questions:
>
> A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now...
>
> B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?
>
> C) Is current keyboard + UI component focus support perfect or pain in...
>
> Isn’t a “bad time” for this decision (Pharo) now?
>
> Thanks very much for any brief hint, Petr Fischer
>
>
>
>



---> 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: What UI direction now (or in the near future)?

Pharo Smalltalk Users mailing list
In reply to this post by Petr Fischer
Hello Petr,

So far we have Morphic  (Athens is the next underlying framework for 2D Drawing).
Thanks to Nicolai, Athens is near to be fully integrated.
We have Spec for widgets composition.

Regarding Bloc:

> Sub-questions:
>
> A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now…

I’ve started Bloc with Stephane. So far I’m the main developper, But, you are perfectly right. No future for Bloc if it stays like that.
We’ve stopped adding because now, design decisions are to be made regarding the widgets layer.
Currently, we are writing a documentation of the core. The next step is to make it available in the hope we will get feedbacks and also to bootstrap contributions from the community.
It will take time. Be sure that I will stop Bloc if we stay only two or if someone else come and propose something better than Bloc. No problem, I’ve fun with Bloc.

Spec will stay, so we will also have to build new adapters to be able reuse tools.

>
> B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?

Bloc bring nothing on that point except that it is is based on Athens

>
> C) Is current keyboard + UI component focus support perfect or pain in…

I guess yes :)

Cheers
Alain


>
> Isn’t a “bad time” for this decision (Pharo) now?
>
> Thanks very much for any brief hint, Petr Fischer
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

Sean P. DeNigris
Administrator
Pharo Smalltalk Users mailing list wrote
now, design decisions are to be made regarding the widgets layer.
I assume you've studied the original Self Morphic, which seemed very simple and elegant in my brief experiments with it. One of the key principles was uniformity e.g. the World, Hand, etc could all be regular objects, like any other Morph. Our implementation creates special cases which are barriers to understanding and experimentation e.g. it's very difficult to create and customize a World within a World…
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

stepharo
In reply to this post by abergel
Do not confuse things.
Athens is a CANVAS it has ***nothing*** to do with events.
Events are managed by the UI layer not the drawing layer.
Athens is about drawing.

> Morphic has been around for over a decade. Probably it will stay for a while.
> Athens is quite stable. However it is not made to do UI. It does not do much for event handling. Roassal does the drawing with Athens and the event management with Morphic.
>
> Cheers,
> Alexandre
>
>> On Feb 25, 2015, at 12:02 AM, Petr Fischer <[hidden email]> wrote:
>>
>> Hello!
>>
>> Suppose, that I need to write simple UI app + write my own UI list component (some special behaviour, can’t use default list UI component from Pharo) + I need perfect keyboard support (shortcuts, tab navigation + navigation by cursor keys in some windows), which also means, that I need perfect UI component “focus” support…
>>
>> Another priority: I do not want to learn things (in exhaustive detail) that expire in 2 years.
>>
>> Current status: I like Smalltalk (Pharo!), know basics of Morphic and I noticed some future as Athens and Bloc. I am trying to get out from “closed” app development and Apple “closed” technologies as ObjC/Swift/Cocoa and want to be little more productive and platform independent. Simple, snappy, attractive and smooth UI is the key for me/users.
>>
>> And now… which direction:
>>
>> 1) old Morphic (simple powerful work with old Morphs etc.)
>>
>> 2) Morphic + Athens drawing (maybe I don’t understand the connection)
>>
>> 3) Bloc
>>
>> Sub-questions:
>>
>> A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now...
>>
>> B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?
>>
>> C) Is current keyboard + UI component focus support perfect or pain in...
>>
>> Isn’t a “bad time” for this decision (Pharo) now?
>>
>> Thanks very much for any brief hint, Petr Fischer
>>
>>
>>


Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

stepharo
In reply to this post by Sean P. DeNigris
Do not ask alain extra work.
Read Bloc code.

Stef

> Pharo Smalltalk Users mailing list wrote
>> now, design decisions are to be made regarding the widgets layer.
> I assume you've studied the original Self Morphic, which seemed very simple
> and elegant in my brief experiments with it. One of the key principles was
> uniformity e.g. the World, Hand, etc could all be regular objects, like any
> other Morph. Our implementation creates special cases which are barriers to
> understanding and experimentation e.g. it's very difficult to create and
> customize a World within a World…
>
>
>
> -----
> Cheers,
> Sean
> --
> View this message in context: http://forum.world.st/What-UI-direction-now-or-in-the-near-future-tp4807447p4807725.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

stepharo
In reply to this post by Petr Fischer

Le 25/2/15 04:02, Petr Fischer a écrit :

> Hello!
>
> Suppose, that I need to write simple UI app + write my own UI list component (some special behaviour, can’t use default list UI component from Pharo) + I need perfect keyboard support (shortcuts, tab navigation + navigation by cursor keys in some windows), which also means, that I need perfect UI component “focus” support…
>
> Another priority: I do not want to learn things (in exhaustive detail) that expire in 2 years.
>
> Current status: I like Smalltalk (Pharo!), know basics of Morphic and I noticed some future as Athens and Bloc. I am trying to get out from “closed” app development and Apple “closed” technologies as ObjC/Swift/Cocoa and want to be little more productive and platform independent. Simple, snappy, attractive and smooth UI is the key for me/users.
>
> And now… which direction:
>
> 1) old Morphic (simple powerful work with old Morphs etc.)
You can use old Morphic but be prepared to understand or not
change/updates sometimes strange behavior, mixed with event update.

I would prefer to spend time building widgets in Bloc rather than fixing
the one in Morphic because it is circumvoluted.
But from time to time I will continue to clean it.
>
> 2) Morphic + Athens drawing (maybe I don’t understand the connection)
Morphic will run on Athens. It is already based on the work of Nicolai.

> 3) Bloc
Bloc does not offer widgets. The people from SCG are building Bricks
that can work (inside) or on top of Bloc.


>
> Sub-questions:
>
> A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future,

bloc is about future.
Now doing it would be silly but there is a risk. So do we die because we
do not move and
continue to have a huge system that nobody really understand well or do
we try to improve
with the risk of failiure. Now alain is one Morphic expert, he wrote
miro and miro2 with the ancestor
of Athens (Rome).
>   support, long-term issues?
We are working on documentation.
You can for example, open Bloc and execute the examples.
You can try to turn some of them into examples. This is what I did and
it helps alain.
> Look at Marina CMS framework, even used for Pharo website, but not maintained now...
Can I ask yourself a question?
What do you do that is simple that could help us to avoid to focus on
simple things and concentrate on the difficult ones.
You see this is not a huge challenge. But you should ask yourself the
question.

I'm sad about Marina but we could not guess that nicolas would leave
Smalltalk like that.

About Bloc I think that the design stabilized and now it is ready for
other people to have a look and play with it.
Before it was not constructive. We got several iterations (I did not do
much, just read the code and ask stupid questions).
But I see that it is getting there. Now Bloc-Core is not about widget it
is about events, drawing, listeners, space.
Then we started to see that we can use Spec on top of Bloc. So this is
why I'm starting to clean Spec.
But commenting pragmas is a task that anybody could do but apparently
I'm the only that is doing.
The next steps are:
     - expose valueHolder via getter (named xxxHolder for consistency)
     - remove all the whenChanged.... that are pure delegation
     - verify if the adapter can be just use during widget creation to
bind the widget to the model (and not as a middle like now)
     - cleaning more.
Now if somebody wants to step in I can reviews changes.
>
> B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?
     As much as Athens with a cairo back end is.
     Bloc is 100% based on Athens. Athens is a vectorial canvas API


>
> C) Is current keyboard + UI component focus support perfect or pain in...
Nothing is perfect. My mac crashes. I cannot open my old keynote
presentations because keynote 09 crashes.
You see the world is complex. Now when keynote crashes I cannot do much.

We should finish a pass on the hardcoded keybindings that are left. But
someone should do it.

>
> Isn’t a “bad time” for this decision (Pharo) now?
Now the point is that with Pharo you can fix problems.


>
> Thanks very much for any brief hint, Petr Fischer
>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

Petr Fischer
In reply to this post by Pharo Smalltalk Users mailing list
Thanks (to all). So, the best way (for now) is the old friend Morphic.

Will be internal drawing methods in Morph switched to Athens drawing by default in future?

pf


Subject: Re: [Pharo-users] What UI direction now (or in the near future)?
From: Alain Plantec <[hidden email]>
Date: 25. února 2015 20:17:46 SEČ
To: Any question about pharo is welcome <[hidden email]>

Hello Petr,

So far we have Morphic  (Athens is the next underlying framework for 2D Drawing).
Thanks to Nicolai, Athens is near to be fully integrated.
We have Spec for widgets composition.

Regarding Bloc:

Sub-questions:

A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now…

I’ve started Bloc with Stephane. So far I’m the main developper, But, you are perfectly right. No future for Bloc if it stays like that.
We’ve stopped adding because now, design decisions are to be made regarding the widgets layer.
Currently, we are writing a documentation of the core. The next step is to make it available in the hope we will get feedbacks and also to bootstrap contributions from the community.
It will take time. Be sure that I will stop Bloc if we stay only two or if someone else come and propose something better than Bloc. No problem, I’ve fun with Bloc.

Spec will stay, so we will also have to build new adapters to be able reuse tools.


B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?

Bloc bring nothing on that point except that it is is based on Athens


C) Is current keyboard + UI component focus support perfect or pain in…

I guess yes :)

Cheers
Alain



Isn’t a “bad time” for this decision (Pharo) now?

Thanks very much for any brief hint, Petr Fischer








Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

abergel
> Will be internal drawing methods in Morph switched to Athens drawing by default in future?

You can do the drawing in Athens. It is up to you. Using Athens will make your rendering faster and nicer (if you use the Cairo binding, which is the default binding).

If I would be a beginner who want to understand what there is, I would simply give a try to Spec, bloc, and plain Morphic. In any case, your application logic should be independent from the UI. Because UI is frequently changing (have you though about exposing your UI on the web?)

Cheers,
Alexandre

>
>
>> Subject: Re: [Pharo-users] What UI direction now (or in the near future)?
>> From: Alain Plantec <[hidden email]>
>> Date: 25. února 2015 20:17:46 SEČ
>> To: Any question about pharo is welcome <[hidden email]>
>>
>> Hello Petr,
>>
>> So far we have Morphic  (Athens is the next underlying framework for 2D Drawing).
>> Thanks to Nicolai, Athens is near to be fully integrated.
>> We have Spec for widgets composition.
>>
>> Regarding Bloc:
>>
>>> Sub-questions:
>>>
>>> A) Is Bloc (complete Morphic rewrite, sigh) “one man show”? What about future, support, long-term issues? Look at Marina CMS framework, even used for Pharo website, but not maintained now…
>>
>> I’ve started Bloc with Stephane. So far I’m the main developper, But, you are perfectly right. No future for Bloc if it stays like that.
>> We’ve stopped adding because now, design decisions are to be made regarding the widgets layer.
>> Currently, we are writing a documentation of the core. The next step is to make it available in the hope we will get feedbacks and also to bootstrap contributions from the community.
>> It will take time. Be sure that I will stop Bloc if we stay only two or if someone else come and propose something better than Bloc. No problem, I’ve fun with Bloc.
>>
>> Spec will stay, so we will also have to build new adapters to be able reuse tools.
>>
>>>
>>> B) Is Bloc prepared with Retina displays in mind (perfect smooth fonts and graphics, scaling, more detailed images for retina etc.)?
>>
>> Bloc bring nothing on that point except that it is is based on Athens
>>
>>>
>>> C) Is current keyboard + UI component focus support perfect or pain in…
>>
>> I guess yes :)
>>
>> Cheers
>> Alain
>>
>>
>>>
>>> Isn’t a “bad time” for this decision (Pharo) now?
>>>
>>> Thanks very much for any brief hint, Petr Fischer
>>>
>>>
>>>
>>
>>
>>
>>
>

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

Pharo Smalltalk Users mailing list
In reply to this post by Sean P. DeNigris
Hi Sean,

No, I’ve not studied Self Morphic but I hope that I understand well the idea and a part of its design.
I think it is still  the idea of Morphic even in Pharo but as you say, pollute with special cases.
The Bloc core is a reimplementation of this Morphic idea. I hope you will
appreciate its uniformity. (yes, you can open a World in a World :)  )

Cheers
Alain

> Le 25 févr. 2015 à 23:03, Sean P. DeNigris <[hidden email]> a écrit :
>
> Pharo Smalltalk Users mailing list wrote
>> now, design decisions are to be made regarding the widgets layer.
>
> I assume you've studied the original Self Morphic, which seemed very simple
> and elegant in my brief experiments with it. One of the key principles was
> uniformity e.g. the World, Hand, etc could all be regular objects, like any
> other Morph. Our implementation creates special cases which are barriers to
> understanding and experimentation e.g. it's very difficult to create and
> customize a World within a World…
>
>
>
> -----
> Cheers,
> Sean
> --
> View this message in context: http://forum.world.st/What-UI-direction-now-or-in-the-near-future-tp4807447p4807725.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>


Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

Peter Uhnak
In reply to this post by Petr Fischer
Thanks (to all). So, the best way (for now) is the old friend Morphic.
Better way may be to stay at Spec level for all available components you need and for your special component write Morph which could be adapted back to Spec. After all Spec components still have Morphic under them, but you are not exposed to low level Morphic.

Peter
Reply | Threaded
Open this post in threaded view
|

Re: What UI direction now (or in the near future)?

jfabry

On Feb 26, 2015, at 19:13, Peter Uhnák <[hidden email]> wrote:

Thanks (to all). So, the best way (for now) is the old friend Morphic.
Better way may be to stay at Spec level for all available components you need and for your special component write Morph which could be adapted back to Spec. After all Spec components still have Morphic under them, but you are not exposed to low level Morphic.

I agree with Peter: build your UI with Spec, this will automatically use your old friend Morphic but make it much easier to construct a complete UI.

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

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