"Michael Haupt" <[hidden email]> wrote:
> > Let me explain. Over the last few days, I've been trying for some time > to assemble a GUI as simple as this: a SystemWindow with a > PluggableListMorph in it. > > I must admit two things: I'm not an experienced GUI programmer, and > quite possibly I didn't try too hard, though it took me some time. In > the end, I gave up because I couldn't figure out how to make the > PluggableListMorph appear below the window's title bar. > > I don't believe that assembling a GUI as simple as this should be too > complicated. Maybe it's very easy. I just couldn't do it, and that's > frustrating. (BTW browsing and exploring some of the other > SystemWindow offsprings didn't help much.) > can do that. This evening I will try to work out an explanation of the ideas behind that solution. Greetings, Boris MorphicListExample.1.cs (2K) Download Attachment |
Boris,
Thank you very much for this example.I was also unable to figure out how to use PluggableListMorph (it would be nice if someone put it in example protocol). On 9/25/06, "Boris Gärtner" <[hidden email]> wrote: > "Michael Haupt" <[hidden email]> wrote: > > > > > Let me explain. Over the last few days, I've been trying for some time > > to assemble a GUI as simple as this: a SystemWindow with a > > PluggableListMorph in it. > > > > I must admit two things: I'm not an experienced GUI programmer, and > > quite possibly I didn't try too hard, though it took me some time. In > > the end, I gave up because I couldn't figure out how to make the > > PluggableListMorph appear below the window's title bar. > > > > I don't believe that assembling a GUI as simple as this should be too > > complicated. Maybe it's very easy. I just couldn't do it, and that's > > frustrating. (BTW browsing and exploring some of the other > > SystemWindow offsprings didn't help much.) > > > > Attached you find a change set (for Squeak 3.9 #7046) that shows how you > can do that. This evening I will try to work out an explanation of the > ideas behind that solution. > > Greetings, Boris > > > > > > > -- Hiren J.Thacker |
In reply to this post by Boris.Gaertner
Hi Boris,
On 9/25/06, "Boris Gärtner" <[hidden email]> wrote: > Attached you find a change set (for Squeak 3.9 #7046) that shows how you > can do that. This evening I will try to work out an explanation of the > ideas behind that solution. thank you very much indeed. :-) Apologies for my earlier rant, but I really think people who want to build ordinary GUIs in Squeak deserve some attention, too... Best, Michael |
In reply to this post by Tapple Gao
On Mon, 25 Sep 2006 01:20:06 -0700, Matthew Fulmer wrote:
> > This is an excellent tutorial, and I hope our squeak tutorial can be of > similar quality. However, I think this tutorial is unsuitable to a > reader who is already familiar with blocks, loops, classes, and methods. > If one understands these topics, the density of new information in the > first tutorial is very low. Our tutorial should be much shorter and > denser, since we are assuming that the reader already understands > blocks, loops, classes, and methods. I did not look at the second > tutorial. > After some reading on the wiki I see that you are writing for an experienced programmer new to Squeak. He still needs to know how to implement what he knows in Squeak but yes, at a much faster pace. > I realize I disagree with some of you about what should be in the > tutorial, and what applications are interesting. Most of this > disagreement can be summarized in three words: Morphic vs. Seaside. I am > on the Morphic side, and Bakki and Chris seem to be on the Seaside side > (Jason and Derek have not expressed an opinion). I cannot predict > whether a beginner will be more interested in rich client development > (Morphic), or web development (Seaside), and a including both in a > single tutorial would make the tutorial broad rather than focused. Thus, > I think that we should include one in the tutorial and save the other > for later. I am libra - I have no side. > Why should Morphic be in the beginners tutorial, rather than Seaside? * > Morphic comes with the default Squeak image * Craig Latta wants a > beginners tutorial on Morphic * Morphic is "cooler" than web development Agreed. > We could maintain a separate Seaside tutorial. However, we do not > currently have the organizational capacity to focus on more than one > project. I have said before: > > The reason that previous documentation efforts failed is the lack of > focus. To succeed, we must press ahead. There is no "ahead" unless we > set a goal and work toward it. Our current goal is reasonably small and > well-defined. By achieving a small goal, we will prove to the community > and to ourselves that we can achieve progressively bigger and better > goals. Focus on the task at hand; everything else will come in time. Agreed. >> I am also willing to edit and prepare content provided by others. > > Welcome to the team! Could you email the login for the wiki? Chris |
In reply to this post by Tapple Gao
Matthew
Firstly let me say that I am quite new to Smalltalk and Squeak though I am quite experienced with a number of other programming languages. In some ways I wish I had not ignored Smalltalk for so long. For the most part I agree with your comments. I found working through the Cincom VisualWorks tutorial a little less than interesting. The information they present is solid but the subject didn't hold my attention. Seaside, for all its merits, wouldn't be a good choice for a beginners tutorial. Having to explain the concept of Seaside before the tutorial even begins is a distraction that is best avoided. I don't mean to detract from Seaside, I just believe that web development is too specific a topic for an introduction to Squeak. A graphical environment is presented as soon as Squeak starts. It would seem silly to ignore it. I'm not sure of you target audience but I see no reason to exclude novice programmers. Smalltalk is good choice for a first language to learn. This doesn't mean there needs to be a wordy explanation of concepts like looping and flow control. To the contrary. Consider 'The C Programming Language' by Brian Kernighan and Dennis Ritchie. A book that describes a language that is syntactically much more complex than Smalltalk without making assumptions the reader is an experienced programmer. Their style is to use concise explanations that are illustrated by short snippets of code so as not to bore more knowledgeable readers. Some people may say that this is a difficult book to read. I would suggest that is more to do with the subject than it's presentation. Smalltalk that has a higher degree of readability would lend itself to this style of writing. I first learned programming in the '80s on computers that had simple graphics and built in BASIC interpreters. In a few of lines you could get them to draw something. It was easy and it was fun. Squeak is the only modern platform I know of that shares this same spirit. It deserves to be made more accessible. Anyway I'm willing to help and I've rambled enough for now. Drew On 25/09/2006, at 6:20 PM, Matthew Fulmer wrote: > On Sun, Sep 24, 2006 at 10:41:23AM -0400, Chris Kassopulo wrote: >> Cincom has a pair of tutorials that are excellent. They are >> intended for >> people with little programming and no smalltalk experience. They >> contain >> lots of graphics and lots of links to more detailed information. >> You are >> guided through developing an application that analyzes web log >> stats by >> first coding in a workspace and and then moving your code to >> methods. The >> first tutorial creates the classes and methods. In the second you >> develop >> a gui for the application and package it. Along the way you learn >> the >> basics of using smalltalk. By the end you hunger for more. >> >> While I'm sure you have your own ideas of content, you would do >> well to >> look over their material: >> >> http://www.cincomsmalltalk.com/userblogs/cincom/blogView? >> content=tutorials > > <personal_opinion> > > This is an excellent tutorial, and I hope our squeak tutorial > can be of similar quality. However, I think this tutorial is > unsuitable to a reader who is already familiar with blocks, > loops, classes, and methods. If one understands these topics, > the density of new information in the first tutorial is very > low. Our tutorial should be much shorter and denser, since we > are assuming that the reader already understands blocks, loops, > classes, and methods. I did not look at the second tutorial. > > Also, the example of reading a log file did not seem very > interesting or exciting to me; it is also not a typical > application of Squeak. > > </personal_opinion> > > My idea for a demo application is a mock stock ticker. It would > consist of two components: > > 1. A data "retrieval" class. This would not retrieve real data, > but would make up companies and numbers and send that data > to a client. It would mostly be a wrapper around a > Dictionary or something similar; it would be an easy first > class to write. It would also serve to introduce the reader > to Collections and to the System Browser. > > 2. A StockTickerMorph. This would take the data from the server > class and present it in a "scrolling ticker" widget similar > to the one on TV. Again the real functionality is minimal, > but it would illustrate how easy it is to create custom > animated widgets in Squeak and Morphic (I am assuming it is > easy). > > I admit that I am partial to pretty animations, and am not > really interested in routine tasks like parsing log files. > Also, I want to show the reader that Squeak not only makes > "easy" things easy (log file inspection), but also makes "cool" > things easy (animated widgets). I believe that is (or should be) > a major selling point for Squeak. > > I realize I disagree with some of you about what should be in > the tutorial, and what applications are interesting. Most of > this disagreement can be summarized in three words: Morphic vs. > Seaside. I am on the Morphic side, and Bakki and Chris seem to > be on the Seaside side (Jason and Derek have not expressed an > opinion). I cannot predict whether a beginner will be more > interested in rich client development (Morphic), or web > development (Seaside), and a including both in a single tutorial > would make the tutorial broad rather than focused. Thus, I > think that we should include one in the tutorial and save the > other for later. > > Why should Morphic be in the beginners tutorial, rather than > Seaside? > * Morphic comes with the default Squeak image > * Craig Latta wants a beginners tutorial on Morphic > * Morphic is "cooler" than web development > > We could maintain a separate Seaside tutorial. However, we do > not currently have the organizational capacity to focus on more > than one project. I have said before: > > The reason that previous documentation efforts failed is the > lack of focus. To succeed, we must press ahead. There is no > "ahead" unless we set a goal and work toward it. Our current > goal is reasonably small and well-defined. By achieving a small > goal, we will prove to the community and to ourselves that we > can achieve progressively bigger and better goals. Focus on the > task at hand; everything else will come in time. > >> I am also willing to edit and prepare content provided by others. > > Welcome to the team! > > -- > Matthew Fulmer > > |
In reply to this post by Michael Haupt-3
Hello Michael,
MH> By the way, and contradicting what I wrote at the very beginning of MH> this e-mail, I think I could write some tutorial-like stuff if I MH> managed to get that little GUI up and running. Is that enough of a MH> teaser? ;-) take a 3.6 Squeak and look at TestRunner class side >>openAsMorph. It's all in one single method, later Versions are better factored and IMO thus harder to follow. In case your problems arise from dealing with PluggableListMorph get PluggableMorphsDemo.pr from the swiki. Soon (tomorrow?) I can provide a mini-connectors like thing (UI and graph building) which might be helpful as a tutorial. It's only 33K of ST and provides stepping (animation) and context menus. Cheers! Herbert mailto:[hidden email] |
Herbert König píše v Po 25. 09. 2006 v 15:03 +0200:
> Soon (tomorrow?) I can provide a mini-connectors like thing (UI and > graph building) which might be helpful as a tutorial. It's only 33K of > ST and provides stepping (animation) and context menus. > Yes, tutorial for connectors would be great! pf |
In reply to this post by Andrew Norrie
On Mon, Sep 25, 2006 at 10:45:14PM +1000, Andrew Norrie wrote:
> I'm not sure of you target audience but I see no reason to exclude > novice programmers. Smalltalk is good choice for a first language to > learn. This doesn't mean there needs to be a wordy explanation of > concepts like looping and flow control. To the contrary. I agree that we should target novice programmers. There are two reasons I am not writing for novice programmers in this tutorial: 1. it would be more work to write for them. The documentation team is very new; a larger project will stall it from gaining necessary momentum. 2. it is currently more critical that Squeak get attention from experienced programmers than it is for others This topic is addressed more thoroughly in a previous email, and its responses: http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-September/108919.html > Consider 'The C Programming Language' by Brian Kernighan and Dennis > Ritchie. A book that describes a language that is syntactically much > more complex than Smalltalk without making assumptions the reader is > an experienced programmer. Their style is to use concise explanations > that are illustrated by short snippets of code so as not to bore more > knowledgeable readers. Some people may say that this is a difficult > book to read. I would suggest that is more to do with the subject > than it's presentation. Smalltalk that has a higher degree of > readability would lend itself to this style of writing. I agree completely. > I first learned programming in the '80s on computers that had simple > graphics and built in BASIC interpreters. In a few of lines you could > get them to draw something. It was easy and it was fun. Squeak is the > only modern platform I know of that shares this same spirit. It > deserves to be made more accessible. > > Anyway I'm willing to help and I've rambled enough for now. I will be glad to have you on the team -- Matthew Fulmer |
In reply to this post by Bert Freudenberg
>From: Bert Freudenberg <[hidden email]> >Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: The general-purpose Squeak developers >list<[hidden email]> >Subject: Re: [ANN] Squeak Documentation Team formation >Date: Sun, 24 Sep 2006 22:49:14 +0200 > >systems. The question is if a tutorial could solve that or if there needs >to be system changes to make Squeak less strange for newcomers - or if we >explain to everyone why this is not simple, and should not be. > >- Bert - What do you mean "and should not be". Of course it should be. It should be drop dead simple. What possible argument is there for it being simple in other languages yet hard in smalltalk? |
In reply to this post by Tapple Gao
>From: Matthew Fulmer <[hidden email]>
>Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: [hidden email] >Subject: Squeak Beginners Tutorial >Date: Mon, 25 Sep 2006 01:20:06 -0700 > >Seaside. I am on the Morphic side, and Bakki and Chris seem to >be on the Seaside side (Jason and Derek have not expressed an >opinion). I would like to see the tutorial stretch the legs of the language (like the recipies I showed) and then end up with some application to show for it. But I would not want to have the first tutorial get extremely deep in Morphic or Seaside. I think both topics are rich enough for their own documentation. But if I had to pick between the two, my money is on seaside. I think there is something too what Paul Graham (sp) said about the future and web based software (can anyone thing of any morphic apps out there with users? I can already think of several seaside apps). But like I say, just going through the tools, the language and advanced features of the language is going to be a mouthful. Keep in mind; the environment that just comes with Squeak for free is what Java, C++, .et al go shopping for (sometimes for quite some time) and don't wind up with something as powerful. That's worth spending a little time on. |
In reply to this post by J J-6
On Mon, Sep 25, 2006 at 07:27:15PM +0000, J J wrote:
> > > > >From: Bert Freudenberg <[hidden email]> > >Reply-To: The general-purpose Squeak developers > >list<[hidden email]> > >To: The general-purpose Squeak developers > >list<[hidden email]> > >Subject: Re: [ANN] Squeak Documentation Team formation > >Date: Sun, 24 Sep 2006 22:49:14 +0200 > > > >systems. The question is if a tutorial could solve that or if there needs > >to be system changes to make Squeak less strange for newcomers - or if we > >explain to everyone why this is not simple, and should not be. > > > >- Bert - > > What do you mean "and should not be". Of course it should be. It should > be drop dead simple. What possible argument is there for it being simple > in other languages yet hard in smalltalk? I think you two are agreeing, and do not realize it. There are three approaches to fixing a usability problem, in order of decreasing usefulness: 1. fix it 2. teach everyone how to work around it 3. tell everyone that the problem only arises when you do something wrong. For this example, that would mean: 1. Make text processing easy 2. Teach everyone the hard way of text processing 3. Imply that squeak makes text files obsolete I believe Bert is saying that 3 has been done enough that nobody has really taken the problem seriously. It may not have been an active decision, but a general ignorance of the problem. The mere act of stating the problem makes it sound absurd, and I believe that was Bert's intent. -- Matthew Fulmer |
>From: Matthew Fulmer <[hidden email]>
>Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: [hidden email] >Subject: Re: [ANN] Squeak Documentation Team formation >Date: Mon, 25 Sep 2006 12:43:25 -0700 > >I believe Bert is saying that 3 has been done enough that nobody >has really taken the problem seriously. It may not have been an >active decision, but a general ignorance of the problem. >-- >Matthew Fulmer > You could be right, but too many times I have seen people stuck with something.... less then ideal actually decide that they are the only one's who are right and therefor should not change. I can think of a certain language that is almost nothing but warts, but when you ask one of its proponents about it's rediculous features some of them will actually tell you they are the only ones with the correct implimentations. As another example, I took a java class shortly after it came out. The teacher showed us how one did file IO. In response to our "*How* many classes do I need just to open a file?" we were explained why it should be this way. Didn't make me feel better at all and certainly made me think a lot less of the language. |
In reply to this post by J J-6
On Mon, Sep 25, 2006 at 07:36:48PM +0000, J J wrote:
> >From: Matthew Fulmer <[hidden email]> > >Reply-To: The general-purpose Squeak developers > >list<[hidden email]> > >To: [hidden email] > >Subject: Squeak Beginners Tutorial > >Date: Mon, 25 Sep 2006 01:20:06 -0700 > > > >Seaside. I am on the Morphic side, and Bakki and Chris seem to > >be on the Seaside side (Jason and Derek have not expressed an > >opinion). > > I would like to see the tutorial stretch the legs of the language (like the > recipies I showed) and then end up with some application to show for it. > But I would not want to have the first tutorial get extremely deep in > Morphic or Seaside. I think both topics are rich enough for their own > documentation. > > But if I had to pick between the two, my money is on seaside. I think > there is something too what Paul Graham (sp) said about the future and web > based software (can anyone thing of any morphic apps out there with users? > I can already think of several seaside apps). My opinion is that Croquet will eventually replace most of the current web apps, and the web will go back to what it was meant to be: a place to publish documents. > But like I say, just going through the tools, the language and advanced > features of the language is going to be a mouthful. Keep in mind; the > environment that just comes with Squeak for free is what Java, C++, .et al > go shopping for (sometimes for quite some time) and don't wind up with > something as powerful. That's worth spending a little time on. You are right. I will not cover animated morphs in the tutorial (unless it is so easy that it is too good to pass up). The tutorial will just cover widgets, windows, and layout. -- Matthew Fulmer |
In reply to this post by Tapple Gao
Am 25.09.2006 um 21:43 schrieb Matthew Fulmer:
> On Mon, Sep 25, 2006 at 07:27:15PM +0000, J J wrote: >> >> >> >>> From: Bert Freudenberg <[hidden email]> >>> Reply-To: The general-purpose Squeak developers >>> list<[hidden email]> >>> To: The general-purpose Squeak developers >>> list<[hidden email]> >>> Subject: Re: [ANN] Squeak Documentation Team formation >>> Date: Sun, 24 Sep 2006 22:49:14 +0200 >>> >>> systems. The question is if a tutorial could solve that or if >>> there needs >>> to be system changes to make Squeak less strange for newcomers - >>> or if we >>> explain to everyone why this is not simple, and should not be. >>> >>> - Bert - >> >> What do you mean "and should not be". Of course it should be. Agreed :) >> It should >> be drop dead simple. What possible argument is there for it being >> simple >> in other languages yet hard in smalltalk? > > I think you two are agreeing, and do not realize it. There are > three approaches to fixing a usability problem, in order of > decreasing usefulness: > > 1. fix it > 2. teach everyone how to work around it > 3. tell everyone that the problem only arises when you do > something wrong. > > For this example, that would mean: > > 1. Make text processing easy > 2. Teach everyone the hard way of text processing > 3. Imply that squeak makes text files obsolete > > I believe Bert is saying that 3 has been done enough that nobody > has really taken the problem seriously. It may not have been an > active decision, but a general ignorance of the problem. > > The mere act of stating the problem makes it sound absurd, and I > believe that was Bert's intent. Indeed :) Although IMHO the actual text processing is quite simple compared to the task of deploying that text processor. - Bert - |
In reply to this post by Derek O'Connell
On Fri, Sep 22, 2006 at 06:48:53AM -0700, Derek O'Connell wrote:
> Count me in when you have specific tasks to launch. At the moment I need to > focus on learning enough so I can put fingers-to-keyboard and start > producing code as quickly as possible. I created a task list: http://minnow.cc.gatech.edu/squeak/5869 Start working on one of the tasks. I will be on #squeak if you want me to look at your work; however, I have a hard deadline on Wednesday for a large project in MATLAB (ugh), and will not be able to help much. But don't hesitate to ask if you have a quick question, or need clarification. I hope that is enough to get you started. This is the point at which we will either make it or break it. I will start contributing Thursday. -- Matthew Fulmer |
In reply to this post by Tapple Gao
We are like the UN and you can call on us when you need to keep the peace ;-) |
In reply to this post by Tapple Gao
>From: Matthew Fulmer <[hidden email]>
>Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: [hidden email] >Subject: Re: Squeak Beginners Tutorial >Date: Mon, 25 Sep 2006 13:02:42 -0700 > >My opinion is that Croquet will eventually replace most of the >current web apps, and the web will go back to what it was meant to >be: a place to publish documents. > I totally disagree. The web is going to be the publish place of choice for as many end user apps as possible. Imagine not having to worry about versions, buggy OS'es that you can't see or control, and on and on. I'm surprised it is moving as slowly as it is, but I expect client GUI apps to do nothing but become more scarce. It's just too paintful to deploy them. |
In reply to this post by Derek O'Connell
Well I certainly hope we are more effective. :) >From: Derek O'Connell <[hidden email]> >Reply-To: The general-purpose Squeak developers >list<[hidden email]> >To: [hidden email] >Subject: Re: Squeak Beginners Tutorial >Date: Mon, 25 Sep 2006 22:47:26 -0700 (PDT) > > > >Matthew Fulmer wrote: > > > > Jason and Derek have not expressed an opinion > > > >We are like the UN and you can call on us when you need to keep the peace >;-) >-- >View this message in context: >http://www.nabble.com/-ANN--Squeak-Documentation-Team-formation-tf2315490.html#a6500749 >Sent from the Squeak - Dev mailing list archive at Nabble.com. > > |
J J skrev:
> > Well I certainly hope we are more effective. :) Unless some power hungry moron veto's all decisions and then call the decision process a failure we should be fine ;-) Karl > >> From: Derek O'Connell <[hidden email]> >> Reply-To: The general-purpose Squeak developers >> list<[hidden email]> >> To: [hidden email] >> Subject: Re: Squeak Beginners Tutorial >> Date: Mon, 25 Sep 2006 22:47:26 -0700 (PDT) >> >> >> >> Matthew Fulmer wrote: >> > >> > Jason and Derek have not expressed an opinion >> > >> >> We are like the UN and you can call on us when you need to keep the >> peace >> ;-) >> -- >> View this message in context: >> http://www.nabble.com/-ANN--Squeak-Documentation-Team-formation-tf2315490.html#a6500749 >> >> Sent from the Squeak - Dev mailing list archive at Nabble.com. >> >> > > > > |
In reply to this post by J J-6
he, he, same could be said about web browsers themselves, esp for a web dev'er. Interestingly I think the originator/s of the "web" (http at least) are not so convinced browers per se are the end product. I believe the number of protocols (inc conflicts), plug-in's, security issues, etc, etc, may just leave a crack open for an alternative. |
Free forum by Nabble | Edit this page |