What UI direction now (or in the near future)?
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
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 <petr.fischer@me.com> 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 ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
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 <petr.fischer@me.com> 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
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/PharoBookWorkInProgres...
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 <petr.fischer@me.com> 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
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
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
participants (5)
-
Alain Plantec -
Alexandre Bergel -
Johan Fabry -
Petr Fischer -
stepharo