Hello
I want to evaluate the use of Spec for desktop application. What are the recommended spec reading? Is Spec feature complete enough to develop application with complex GUI? (very subjective question) Is it intended to remain compatible with future release and modification of the underneath graphic system? Thanks Hilaire -- Dr. Geo http://drgeo.eu |
Hi,
On 04/02/16 17:42, Hilaire wrote: > Hello > > I want to evaluate the use of Spec for desktop application. > > What are the recommended spec reading? I suppose this link: http://spec.st/docs/home/ and the examples in 'Spec-Examples' package. > > Is Spec feature complete enough to develop application with complex GUI? > (very subjective question) I can not really answer this since I only begin with Spec but, right now, I have difficulties with drag and drop between lists but it may be my fault. > > Is it intended to remain compatible with future release and modification > of the underneath graphic system? > > Thanks > > Hilaire Julien |
In reply to this post by HilaireFernandes
Hello Hilaire,
I think a mail of Sven of last year will answer most of your questions, I quote it below. In addition to that mail: - Spec is the standard UI builder for Pharo so it is reasonably complete and should be supported in the future. - The book Sven talks about is very much a work in progress, the URL for now is https://ci.inria.fr/pharo-contribution/view/Books/job/PharoBookWorkInProgress/lastSuccessfulBuild/artifact/book-result/Spec/ Here is the original mail by Sven: > 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. > > > The cool Spec website: > > http://spec.st > > > Read some cool articles like: > > https://medium.com/concerning-pharo/rediscovering-the-ux-of-the-legendary-hp-35-scientific-pocket-calculator-d1d497ece999 > > See the section 'HP35CalculatorModel' for the Spec part. > > > The following papers (some older ones refer to API that has changed): > > 'Seamless Composition and Reuse of Customizable User Interfaces with Spec' > > http://rmod.lille.inria.fr/archives/papers/Ryse13a-SCICO-Spec.pdf > > 'Spec - A Framework for the Specification and Reuse of UIs and their Models' > > http://rmod.lille.inria.fr/archives/papers/Ryse12b-Spec-IWST12-Final.pdf > > 'Spec – Technical Report' > > http://rmod.lille.inria.fr/archives/reports/Ryse12a-SpecTechReport.pdf > > > Use the image to build a couple of simple UIs using Spec. You will be surprised to learn that it is not that difficult. Just go with the flow, don't try to enforce your world view on it, wait until you are further along. > On Feb 4, 2016, at 13:42, Hilaire <[hidden email]> wrote: > > Hello > > I want to evaluate the use of Spec for desktop application. > > What are the recommended spec reading? > > Is Spec feature complete enough to develop application with complex GUI? > (very subjective question) > > Is it intended to remain compatible with future release and modification > of the underneath graphic system? > > Thanks > > Hilaire > -- > Dr. Geo > http://drgeo.eu > > > ---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD and RyCh labs - Computer Science Department (DCC) - University of Chile |
In reply to this post by HilaireFernandes
On 04-02-16 17:42, Hilaire wrote:
> Hello > > I want to evaluate the use of Spec for desktop application. > > What are the recommended spec reading? > > Is Spec feature complete enough to develop application with complex GUI? > (very subjective question) You will probably have to encapsulate a few more Morphic classes and add some behaviors to the spec models. In PharoLauncher you can already see a few extensions and combinations. In PharoLauncher there is a single session called PhlCommandContext and commands that operate on that session. You might need to add better form layout. > Is it intended to remain compatible with future release and modification > of the underneath graphic system? Yes. Stephan |
In reply to this post by HilaireFernandes
Hilaire
Spec is not at the level I would like. I feel concerned about it and sad as well. Now I do not have the time to improve it. What would be is that people provide some snippet showing their use and that we collect that into the draft. Stef Le 4/2/16 17:42, Hilaire a écrit : > Hello > > I want to evaluate the use of Spec for desktop application. > > What are the recommended spec reading? > > Is Spec feature complete enough to develop application with complex GUI? > (very subjective question) > > Is it intended to remain compatible with future release and modification > of the underneath graphic system? > > Thanks > > Hilaire |
In reply to this post by HilaireFernandes
Hi Hilaire,
2016-02-04 13:42 GMT-03:00 Hilaire <[hidden email]>: Hello In this case, the best is to read source code in the image. Is Spec feature complete enough to develop application with complex GUI? Besides all good intentions and nice innocent feelings, Spec is not ready yet for professional UI development. However you can lower your ambitions by building simpler UI components. The lack of a UI builder is not helping at all. Hernán |
BTW have a look at http://www.smalltalkhub.com/#!/~hernan/SpecUIAddOns . Repository contains behaviors I had to add while developing a desktop application. Hernan 2016-02-05 8:52 GMT-03:00 Hernán Morales Durand <[hidden email]>:
|
Thanks. Do you have screenshots of the application to share?
Hilaire Le 05/02/2016 18:55, Hernán Morales Durand a écrit : > BTW have a look at http://www.smalltalkhub.com/#!/~hernan/SpecUIAddOns > <http://www.smalltalkhub.com/#%21/%7Ehernan/SpecUIAddOns> . > Repository contains behaviors I had to add while developing a desktop > application. -- Dr. Geo http://drgeo.eu |
Hernán 2016-02-05 16:31 GMT-03:00 Hilaire <[hidden email]>: Thanks. Do you have screenshots of the application to share? |
Thanks for the link Hernán! It looks nice.
Are you mixing spec with other widgetery or is pure spec widget composition? Hilaire -- Dr. Geo http://drgeo.eu |
In reply to this post by hernanmd
Really interesting tool ! Is it possible to query GBIF portal from your tool ? Regards Sent from my iPhone
|
Hi Serge, It could be interesting to add a GBIF API for a future release, however the GBIF dataset is oriented to taxonomies and name resolution (of already assigned genetic data), and we do not put much focus on taxonomy but a determining phylogeography, origins of domestic breeds, etc. of a few well-defined species. Regards, Hernán2016-02-06 9:59 GMT-03:00 <[hidden email]>:
|
In reply to this post by HilaireFernandes
Hi Hilaire, Besides using Roassal2 for visualizations, it is pure Spec.Hernán 2016-02-06 4:38 GMT-03:00 Hilaire <[hidden email]>: Thanks for the link Hernán! It looks nice. |
In reply to this post by hernanmd
Hernan
why did you push such extensions in the main spec version inside the image? I do not get the rationale of not doing it. Especially since we always welcome enhancements. Stef Le 5/2/16 18:55, Hernán Morales Durand
a écrit :
|
As always I don't have time to open, follow and check issues. It is faster (for me) if I have them isolated. But my repos are always open and anyone can feel free to ask me about the extensions.2016-02-06 16:45 GMT-03:00 stepharo <[hidden email]>:
|
Le 6/2/16 21:44, Hernán Morales Durand
a écrit :
I cannot believe that it takes you that much time to open a bug entry and package your changes compared with getting impacted the next teim we will do a pass on spec Now you are telling us that do not know what you did to do that. This is a bit unfair when I see the COUNTLESS hours I spend writing docs and improving Pharo. Stef
|
In reply to this post by hernanmd
Hi hernan
some feedback/questions while waiting for my kids... ============= "protocol: *SpecUIAddOns" includesNameBeginsWith: aString " Answer whether the receiver begins with aString. " ^ self asLowercase = aString first asLowercase does not look like doing what it says. ===================================== I do not get specModalParent " Receiver cannot be modal parent, answer a default (morphic world) " ^ [ self currentWorld ] on: Error do: [ : ex | UIManager default currentWorld ] ===================================== In searchableTree either use tree or self tree "protocol: *SpecUIAddOns" autoMultiSelection: aBoolean self tree autoMultiSelection: aBoolean It was interested to see that you added a lot of methods methods self xxxmodel methods I was against them. Now the point is if we ban such idiom remove: anItem self listModel remove: anItem then (beside exposing the model which would be ok for me if we consider it as a port) we have the problem of encapsulating more complex behavior such removeAllItems self listModel removeAll. self updateList So probably that remove: anItem self listModel remove: anItem is better Stef |
In reply to this post by stepharo
2016-02-07 5:33 GMT-03:00 stepharo <[hidden email]>:
When I am coding I am concentrated in building features for my application, I cannot stop 5 minutes every time I find missing or bug in methods in Spec, Metacello, Glamour (which is *very* often), or other core packages. On the other side opening an entry is more than saying "this doesn't work", there is a context of usage you have to explain, you have to search for previously opened similar entries, you have to try to reproduce the exact steps (not always possible), describe them in an undestandable way for the reader, and if you propose a fix sometimes you have to explain again, and check for regressions.... you all know the right steps. So in this case, I have packaged my Spec extensions (which needs to be reviewed anyway) and uploaded to SmalltalkHub under MIT license. I am sorry to hear that is not enough for you. If anyone really wish to review extensions in Spec please welcome - because they would probably also contains bugs - I cannot do more for Pharo now and I have to work for my employer which is asking me everyday things completely far far away from Pharo (you know I do not want to get fired :).
Yes, and I think most of us sincerely appreciate your efforts. And I also believe many of us have our own battles. Actually I had to "fight" every week for Pharo because having people telling Python/R has implemented X (which is crappy argument) is not easy. Hernán
|
In reply to this post by stepharo
Thanks, I will check later because it's 6 a.m. and I have to sleep :) Cheers,2016-02-07 6:13 GMT-03:00 stepharo <[hidden email]>: Hi hernan |
In reply to this post by hernanmd
On Sun, Feb 7, 2016 at 10:22 AM, Hernán Morales Durand
<[hidden email]> wrote: > > 2016-02-07 5:33 GMT-03:00 stepharo <[hidden email]>: >> >> >> >> Le 6/2/16 21:44, Hernán Morales Durand a écrit : >> >> As always I don't have time to open, follow and check issues. It is faster >> (for me) if I have them isolated. >> But my repos are always open and anyone can feel free to ask me about the >> extensions. >> Sorry for this. >> >> I cannot believe that it takes you that much time to open a bug entry and >> package your changes >> compared with getting impacted the next teim we will do a pass on spec >> > > When I am coding I am concentrated in building features for my application, > I cannot stop 5 minutes every time I find missing or bug in methods in Spec, > Metacello, Glamour (which is *very* often), or other core packages. > > On the other side opening an entry is more than saying "this doesn't work", > there is a context of usage you have to explain, you have to search for > previously opened similar entries, you have to try to reproduce the exact > steps (not always possible), describe them in an undestandable way for the > reader, and if you propose a fix sometimes you have to explain again, and > check for regressions.... you all know the right steps. > > So in this case, I have packaged my Spec extensions (which needs to be > reviewed anyway) and uploaded to SmalltalkHub under MIT license. I am sorry > to hear that is not enough for you. If anyone really wish to review > extensions in Spec please welcome - because they would probably also > contains bugs - I cannot do more for Pharo now and I have to work for my > employer which is asking me everyday things completely far far away from > Pharo (you know I do not want to get fired :). > >> Now you are telling us that do not know what you did to do that. >> This is a bit unfair when I see the COUNTLESS hours I spend writing docs >> and improving Pharo. >> > > Yes, and I think most of us sincerely appreciate your efforts. And I also > believe many of us have our own battles. Actually I had to "fight" every > week for Pharo because having people telling Python/R has implemented X > (which is crappy argument) is not easy. We are on the same boat Hernan :-) I heard the same crap. This is why this is important to play cooperatively between us and report bugs upstream if possible. Thank you for your effort for pushing the use of Pharo in such directions ! I will have a look to your work about phylogenetics. With BioSmalltalk, SciSmalltalk and Kendrick, I think that we are pushing hard Pharo in the domain of biology/epidemiology modeling. We should try to share as much as possible what we are doing. Regards, -- Serge Stinckwich UCBN & UMI UMMISCO 209 (IRD/UPMC) Every DSL ends up being Smalltalk http://www.doesnotunderstand.org/ |
Free forum by Nabble | Edit this page |