On Fri, Aug 02, 2002 at 04:21:15AM +0900, Tom Sawyer wrote: > On Thu, 2002-08-01 at 07:16, Massimiliano Mirra wrote: > > It seems that quite a few of us have been experimenting with interface > > abstraction by using standard tools only. > > > > I wonder if there is merit in the idea of joining minds and creating a > > proof-of-concept application that uses the best of what we've learnt. > > > > In the worst case a fine tuned skeleton could be produced that people > > would be able to use as a guideline; in the best case a design pattern > > could be isolated and then required at will, like observer.rb or > > forwardable.rb. > > > Massimiliano (and all other interested parties): > > i believe you have a plan. and i would love to host that endeavor. > > i'm curious to know how you see the design pattern being different from > the model-view-controller pattern. a higher level meta-pattern on top of > mvc? i guess we'll find out. I don't know if it is a design pattern in the Gang Of Four sense. It might be a program design pattern, rather than an architecture design pattern. Or a coding pattern, e.g. distributing code among modules so as to be able to play with clever conditional require's. In any case I think there is a working pattern somewhere, even if its pieces are spread among the works of different authors. (``Pattern'' might not be the most correct term here, but you get the sense.) As to the reason of actualizing it with standard tools: given that we're able to write program logic that follows a convention when it comes to GUI (a little meta language, one could say), not only it becomes simple for us to provide it with a GUI based on our favourite toolkit, it also becomes simple for others to provide it with a GUI based on *their* favourite toolkit. I believe that, if a program is worthy, and ground is well prepared, open development will do its job and people will happily design interfaces for it. The key point is that it has to be made very easy, almost routine work for them, for this to work: if yesterday I built a GTK interface for your program, and today I'm building a GTK interface for another one, the tasks will have to look extremely similar, and in neither case I will have to investigate the internals of the program. There are examples of this around. Take `licq': it's got GTK, QT, KDE, ncurses and maybe more interfaces. It probably can't be done easily with complicate programs, but that's fine -- I doubt one would take the time to build an alternate interface for Illustrator, however well paved the road may be. ;-) > anyway, i think your idea is a must-do. > > which brings me to GUtopIa. i want to let you know that the GUI project > i've been talking about has gotten under way. go to > > http://www.rubygui.org. > > i've also set up a savannah account to host the development cvs and > mailing lists, etc. i set up two mailing lists which should be ready > later this evening: gutopia-dev and gutopia-user. we could use one or > the other to host this initial disscusion (preferably gutopia-dev, but > participants would have to sign up as gutopia developers.) I'll sign on the usr list for now. :-) > (NOTE: I HAVE TO THANK CURT HIBBS FOR ALL THIS! THANKS CURT!) Yeas, he's patron to rpkg as well. Can't thank him enough. :-) > you can see an example of my initial work on the site. and there is > source available at the savannah site. i feel i have done pretty well at > refining the gui "code pattern" but i am still not 100% satisfied with > it on a few points. and who knows perhaps there's a much better way too! > (Be aware that while i have laid-out a fairly good appraoch of beginning > with a back-end GUI that is already available for Ruby and migrating to > a more capable one, all is still very much subject to change and open to > suggestion.) > > i would think the best approach to this discussion would be to announce > the upcoming discussion with a prior call for submissions of related > materials --simple "white-papers" and/or code samples to act as a bases > for the discussion. Hmmm, theoretically fine, but ask around and I bet ten people out of ten will tell you they can spare one hour to write code but not one to explain it. Given the expressive nature of Ruby code (and a bit of attention on our side not to obfuscate it ;-)) I think we could just throw our code in with some comment and let a bigger picture emerge. > if this sounds good to you let me know, (and all other interested > parties) and i will proceed. Brainstormers wanted. :-) Massimiliano