How to improve Squeak (BookMorph)

lex at cc.gatech.edu lex at cc.gatech.edu
Wed Jul 14 19:58:07 UTC 2004



Raymond Asselin <raymondasselin at sympatico.ca> wrote:
> ' THE BETTER WAY TO GET RID OF BOOKMORPH IS TO ENHANCE THE
> SQUEAK ENVIRONNEMENT SO THAT NO BODY WANT TO USE
> BOOKMORPH ANYMORE...'
> 
> I repeat, IMHO, we are not there yet.

I repeat, the guys who wrote BookMorph have learned from their
experience and moved on.  Are you sure you might simply be overlooking
where the new functionality is?



> Don't forget that BookMorph is "also" a way to 'bundle', to 'package'
> content in one file, and to transport it...or send it to somebody else it
> is not only pages we can flip.  

Yes.  Nowadays there are two options in addition to BookMorph:

	1. Send around an image as a bundle.
	2. Save your projects on a superswiki, and ship around a project that
holds links to all the projects.

> It is'nt a good idea to think in
> term of replacing Projects with BookMorphs.

That's a deep question.  On the face of it, both approaches look fine to
me.  Instead of choosing one way or the other, it seems more important
to pick a direction and be consistent about it.  That is the main thing
that bugs me about trying to patch up every single method currently in
BookMorph; I would much rather see one of:

	1. Phase out BookMorph, and copying over any missing functionality to
the newer "threads" approach.  Possibly leave behind a lobotomized
BookMorph if that makes sense.

	2. Refactor BookMorph and ITNM somehow so that they really are just
different views on the same underlying components.  This seems more
trouble than it is worth, but would be neat to see.


> - For example, you can save a BookMorph 'as a morph' in a file, and
> load it in another image....go load the 40 projects you used as 'pages'
> instead of one BookMorph.... ! 

I normally use whole images or use a SuperSwiki, both of which work well
in these situations.  You should probably also be able to save an ITNM;
I haven't tried.

A save-all command may still be nice, however.  I don't see one in
there, but here's some untested code that is probably close:

	saveAllInThread
		listOfPages do: [ :pageInfo |
			(Project named: pageInfo first) storeOnServer  ]


There's no nead for load-all, by the way -- once you load the ITNM
top project, the others will get loaded.


> - There is time too where you have pictures and where you prefer to
> put them in a BookMorph instead of in multiple projects you first have
> to create.   Again it may be just another functionality we can add to
> the image but we will need PersonaliseGraphicalImport we can pick an
> say 'create projects for each image' in that one.

I don't understand what you are describing.  I have had no problems
putting pictures into projects....


> 
> - Or you just want to browse the pages in a BookMorph without
> leaving the current project.... again we need a kind of GraphicalImport
> ENHANCED with method to view graphics files on disk before to import
> them etc....

The functionality of looking at multiple things at the same time comes
via overlapping windows and via flaps.  Can you be more specific about
what you are missing?  (Other than a better file browser)




Stephane_ducasse <ducasse at iam.unibe.ch> wrote:
> The problems with projects is that you can get a lot of problems with 
> them. I tried to do some simple
> extension of the navigator to be able to save and load automatically 

Automatic loading is already in there.  Automatic saving is missing
AFAIK, but let's add it like I described above.

I'm not sure whether auto-save as you flip through is useful, if there
were a "save all" menu item.  It's easy to implement though; just add a
'autoSave' instance variable to ITNM, and have the switch-to-page method
check the flag.


> some projects to build a demo from a textual description and this is 
> complex....

Why build from a text list when you have a GUI?  Anyway, if you really
want it, you should look at ThreadNavigationMorph class>>example1, which
does just that.


> and with a simple way yo sort pages is definitively needed.

Choose "edit this thread" from the menu.


-Lex



More information about the Squeak-dev mailing list