Re: [Newbies] material design for squeak!

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Newbies] material design for squeak!

David T. Lewis
On Sun, Jan 25, 2015 at 09:02:35PM +0530, Mayuresh Kathe wrote:
> considering the *great* graphics and animation support available under
> squeak, would it be difficult to mould the squeak 'ui' to adhere to
> material design guidelines [1] from google?
>
> 1. http://www.google.com/design/spec/material-design/introduction.html
>
> ~mayuresh
>

Designing and implementing user interfaces tends to be a lot of work, but
aside from that I so no reason that it could not be done.

One of the nice aspects of Squeak (often overlooked) is that it provides
a concept of "projects" in which different types of user interface
environments can be implemented. You can open a Morphic project or an
MVC project, and the system will look and feel quite different depending
which kind of project you are currently using. The concept can be extended
to other kinds of UI implementation, such as the one you are suggesting
here.

I am cross-posting to the squeak-dev list, which is probably a better
place to continue the discussion.

Dave

 

Reply | Threaded
Open this post in threaded view
|

Re: [Newbies] material design for squeak!

David T. Lewis
On Sun, Jan 25, 2015 at 09:31:49PM +0530, Mayuresh Kathe wrote:

> On Sun, Jan 25, 2015 at 10:47:43AM -0500, David T. Lewis wrote:
> > On Sun, Jan 25, 2015 at 09:02:35PM +0530, Mayuresh Kathe wrote:
> > > considering the *great* graphics and animation support available under
> > > squeak, would it be difficult to mould the squeak 'ui' to adhere to
> > > material design guidelines [1] from google?
> > >
> > > 1. http://www.google.com/design/spec/material-design/introduction.html
> > >
> > > ~mayuresh
> > >
> >
> > Designing and implementing user interfaces tends to be a lot of work, but
> > aside from that I so no reason that it could not be done.
> >
> > One of the nice aspects of Squeak (often overlooked) is that it provides
> > a concept of "projects" in which different types of user interface
> > environments can be implemented. You can open a Morphic project or an
> > MVC project, and the system will look and feel quite different depending
> > which kind of project you are currently using. The concept can be extended
> > to other kinds of UI implementation, such as the one you are suggesting
> > here.
> >
> > I am cross-posting to the squeak-dev list, which is probably a better
> > place to continue the discussion.
> >
> > Dave
>
> okay, since i am still self-training for smalltalk and all stuff squeak,
> would like to know if the preferred approach be to create my own project
> and do what i want with it without crippling the rest of my system
> image?

Hi Mayuresh,

Start by doing this:

        Project current explore

This will give you an explorer on your current project. This corresponds
to everything that you are interacting with on your Squeak display right
now.

If you have created other projects, they will be linked together though
the nextProject, previousProject, and parentProject that you see in the
explorer.

You will also see a uiManager in your explorer. Your current project is
probably an instance of MorphicProject, and the UI manager will be an
instance of MorphicUIManager. The two cooperate to manage the Morphic
user interface. If you were in an MVC project (try it) you would have an
MVCProject that has an MVCUIManager.

If you browse the class hierarchy for both Project and UIManager, you
will see that these are abstract classes that have subclasses to represent
the Morphic and MVC user interfaces. There is also a related ToolBuilder
hierarchy that is used for creating the the Morphic or MVC tools (browsers,
debuggers, and so forth).

To create a different kind of user interface, you would want to create
new kinds of Project and UIManager, and maybe also ToolBuilder. One way
to get started would be to subclass the existing MorphicProject and
MorphicUIManager, and start changing those subclasses a little bit at
a time until you achieve the behavior you want.

Your new kind of Project would be activated through the Squeak menus. I
will not try to explain that now, but if you look at the toolbar at the
top of the Squeak window, you  will see:

  Project
       -> New Project
            -> New MVCProject
            -> New MorphicProject

So you would add your new kind of project into the menus:

  Project
       -> New Project
            -> New MVCProject
            -> New MorphicProject
            -> New MaterialDesignProject

And more generally, we might hope some day to see a few other kinds
of projects:

  Project
       -> New Project
            -> New MVCProject
            -> New MorphicProject
            -> New MaterialDesignProject
            -> New ScratchProject
            -> New EtoysProject
            -> New Morphic3Project
            -> New SeasideProject

Dave


Reply | Threaded
Open this post in threaded view
|

Re: [Newbies] material design for squeak!

David T. Lewis
On Sun, Jan 25, 2015 at 11:27:27PM +0530, Mayuresh Kathe wrote:

> On Sun, Jan 25, 2015 at 12:16:55PM -0500, David T. Lewis wrote:
> > On Sun, Jan 25, 2015 at 09:31:49PM +0530, Mayuresh Kathe wrote:
> > > On Sun, Jan 25, 2015 at 10:47:43AM -0500, David T. Lewis wrote:
> > > > On Sun, Jan 25, 2015 at 09:02:35PM +0530, Mayuresh Kathe wrote:
> > > > > considering the *great* graphics and animation support available under
> > > > > squeak, would it be difficult to mould the squeak 'ui' to adhere to
> > > > > material design guidelines [1] from google?
> > > > >
> > > > > 1. http://www.google.com/design/spec/material-design/introduction.html
> > > > >
> > > > > ~mayuresh
> > > > >
> > > >
> > > > Designing and implementing user interfaces tends to be a lot of work, but
> > > > aside from that I so no reason that it could not be done.
> > > >
> > > > One of the nice aspects of Squeak (often overlooked) is that it provides
> > > > a concept of "projects" in which different types of user interface
> > > > environments can be implemented. You can open a Morphic project or an
> > > > MVC project, and the system will look and feel quite different depending
> > > > which kind of project you are currently using. The concept can be extended
> > > > to other kinds of UI implementation, such as the one you are suggesting
> > > > here.
> > > >
> > > > I am cross-posting to the squeak-dev list, which is probably a better
> > > > place to continue the discussion.
> > > >
> > > > Dave
> > >
> > > okay, since i am still self-training for smalltalk and all stuff squeak,
> > > would like to know if the preferred approach be to create my own project
> > > and do what i want with it without crippling the rest of my system
> > > image?
> >
> > Hi Mayuresh,
> >
> > Start by doing this:
> >
> > Project current explore
> >
> > This will give you an explorer on your current project. This corresponds
> > to everything that you are interacting with on your Squeak display right
> > now.
> >
> > If you have created other projects, they will be linked together though
> > the nextProject, previousProject, and parentProject that you see in the
> > explorer.
> >
> > You will also see a uiManager in your explorer. Your current project is
> > probably an instance of MorphicProject, and the UI manager will be an
> > instance of MorphicUIManager. The two cooperate to manage the Morphic
> > user interface. If you were in an MVC project (try it) you would have an
> > MVCProject that has an MVCUIManager.
> >
> > If you browse the class hierarchy for both Project and UIManager, you
> > will see that these are abstract classes that have subclasses to represent
> > the Morphic and MVC user interfaces. There is also a related ToolBuilder
> > hierarchy that is used for creating the the Morphic or MVC tools (browsers,
> > debuggers, and so forth).
> >
> > To create a different kind of user interface, you would want to create
> > new kinds of Project and UIManager, and maybe also ToolBuilder. One way
> > to get started would be to subclass the existing MorphicProject and
> > MorphicUIManager, and start changing those subclasses a little bit at
> > a time until you achieve the behavior you want.
> >
> > Your new kind of Project would be activated through the Squeak menus. I
> > will not try to explain that now, but if you look at the toolbar at the
> > top of the Squeak window, you  will see:
> >
> >   Project
> >        -> New Project
> >             -> New MVCProject
> >             -> New MorphicProject
> >
> > So you would add your new kind of project into the menus:
> >
> >   Project
> >        -> New Project
> >             -> New MVCProject
> >             -> New MorphicProject
> >             -> New MaterialDesignProject
> >
> > And more generally, we might hope some day to see a few other kinds
> > of projects:
> >
> >   Project
> >        -> New Project
> >             -> New MVCProject
> >             -> New MorphicProject
> >             -> New MaterialDesignProject
> >             -> New ScratchProject
> >             -> New EtoysProject
> >             -> New Morphic3Project
> >             -> New SeasideProject
> >
> > Dave
>
> hello dave,
>
> "Project current explore" is definitely cool, i did not know about it.
>
> as i'd mentioned, i am still quite some time away from completing my
> self-training in smalltalk using squeak, post which i would need to
> spend a considerable amount of time gaining experience, and i guess
> that's when i would be ready to dive in to work on creating my own
> user interface.
>
> i am quite impressed with the work done on "thirdway", an extension of
> the 'mvc' project world, and i hope to become atleast as good as the
> creator of that project.

I think you mean this project by Boris Gaertner:

http://bgaertner.gmxhome.de/twinfo.html
http://wiki.squeak.org/squeak/1829

It looks very interesting, although I do not know if the code is still
available.


>
> thanks for your detailed response, it was quite nice of you.
>

Good luck with your self-training. That is how I learned Smalltalk and
Squeak also. Keep asking questions :-)

Dave