[squeak-dev] We need to talk about graphics

Marcel Taeumel marcel.taeumel at hpi.de
Tue Jul 14 08:40:41 UTC 2020

Hi Stephen.

Separation of model, view, and maybe controller-like objects is a choice you can still make in your application designed for and written in Morphic.

Try exploring and working with the direct-manipulation concepts Morphic has to offer. Those concepts can speed up the feedback cycle, which can then lead to a better architectural design in your application.

Many of your thoughts on a "good OO framework" omits the fact that software rather grows -- refactoring being a vital part in its lifecycle.

Happy programming! =)

Am 11.07.2020 20:02:55 schrieb Stephen Pope <stephen at heaveneverywhere.com>:

To put it bluntly: I gave porting old-school MVC to Cuis.

[flame on] Morphic is miserable and really needs to be replaced by MVC, though (IMHO).


1. There’s a reason views and controllers were initially separated; that reason is reusability and better factoring.

2. The composite design pattern is a good thing (https://en.wikipedia.org/wiki/Composite_pattern [https://en.wikipedia.org/wiki/Composite_pattern]) and should be applied to everything where one builds trees, such as view hierarchies. The root view object should not have subviews, the view-composite should. (I know that old-school MVC didn’t do it that way, but new implementations certainly should).

3. In a good OO framework, the more abstract classes generally have the minimum necessary state (or none at all). Class Morph has 7 instance variables.

4. The goal of OO design is to reuse specifications across multiple implementations, so why does class Morph rename the usual geometry methods of bounds, extent, width, height, etc. as (e.g.,) morphBounds?

I could go on… [flame off] 

It would be really nice to have a simple MVC (and display-list graphics) framework that could be placed on top of several graphics back-ends including BitBLT, OpenGL and HTML5.



                    Stephen Travis Pope   Santa Barbara, California, USA    
          http://HeavenEverywhere.com [http://HeavenEverywhere.com]        http://FASTLabInc.com [http://FASTLabInc.com]
                       https://vimeo.com/user19434036/videos [https://vimeo.com/user19434036/videos]      http://heaveneverywhere.com/Reflections [http://heaveneverywhere.com/Reflections]


On Jul 9, 2020, at 11:12 PM, stephen at heaveneverywhere.com [mailto:stephen at heaveneverywhere.com] wrote:

…on a related topic, I’ve started porting old-school MVC* to Cuis with the intention of replacing Morphic with a generic framework that can be back-ended by BitBLT, OpenGL or HTML5.

Anybody want to help?


* = starting with traditional MVC classes and system windows, and following that with some version of the “Wrapper” framework as still used in VisualWorks.


                    Stephen Travis Pope   Santa Barbara, California, USA    
 <pastedGraphic.tiff>         http://HeavenEverywhere.com [http://heaveneverywhere.com/]        http://FASTLabInc.com [http://fastlabinc.com/]
                       https://vimeo.com/user19434036/videos [https://vimeo.com/user19434036/videos]      http://heaveneverywhere.com/Reflections [http://heaveneverywhere.com/Reflections]


On Jun 28, 2020, at 5:53 PM, tim Rowledge <tim at rowledge.org [mailto:tim at rowledge.org]> wrote:

Seriously. We've been sitting around twiddling thumbs about better graphics for decades now.

We had Balloon2D & 3D.
We had 'Pooh graphics' to do vector forms.
We have some excellent stuff being done by the Cuis crew.
We have some amazing ideas from Nile/Gezira.
We have a number of potential 3rd party graphics libraries we might adopt.
We have an advanced JIT that could be used to make on-demand graphics routines either on their own or working with pretty much any of the above.
We probably have other options I've not even heard of.

Maybe we should actually do something? Can we at least talk about it?

tim Rowledge; tim at rowledge.org [mailto:tim at rowledge.org]; http://www.rowledge.org/tim [http://www.rowledge.org/tim]
Strange OpCodes: SVE: Skip on Vernal Equinox

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200714/81b5397c/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 2442 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200714/81b5397c/attachment-0001.tiff>

More information about the Squeak-dev mailing list