On Sat, May 2, 2015 at 2:33 PM, Dan Norton <dnorton@mindspring.com> wrote:
Writing and reading files can be done easily. For Cuis, I summarized the protocol in World > Help... > Terse Guide to Cuis > File Streams. If a file is used for the output, then it will have to be parsed in some way in the future.

A file can be AN output, not THE output.   In general, it is useful to have a variety of outputs.  I was thinking of creating text files in addition to what you are doing now.

But, yes, one alternative is for the history of the drawings to be kept in a file and read in when you start up.  That would require parsing the file.  But I was assuming that was not what you meant.

A GUI might be appropriate for a user who does not like computers, but a definite requirement IMO is to not have the IDE obvious.

Horrors!  Don't show the IDE unless the user is a programmer!

1) The trivial way to hide the IDE (while making it easy to get it back if you want it)

Open the window for the application (assuming you built a GUI for your application).   Close all other windows, especially windows for the IDE.   Save the image.

Now, when people start up the image, the first thing they see will be the window for the application.  On the other hand, they can still get a menu to create a browser if they want to, so the IDE is only slightly hidden.

2) A much more complete way to hide the IDE.   When the virtual machine starts up an image, it runs a bit of code (I think it actually runs a block that is stored in a class variable somewhere, but it has been a long time since I have looked at it) that redraws the windows and starts up a process to follow the mouse and the keyboard.   You can change this to have it start up your own application.   This is useful if you are trying to build a video game in Squeak.  If you do this, you can hide everything except your application.  There will be no way to get a browser, though usually you will still get a debugger if there is an error, and you can then evaluate an expression to open up a browser.   If you REALLY want to hide the browser, delete its classes from the system.   Of course, that makes debugging hard if you find an error later.

In either case, it is possible to merge the image file with the virtual machine file to create a single, double-clickable file.   That way, your customer can just double-click the file and run the application.  It has been many years since I have done this, but I have often told students about it and they tell me it isn't hard.   See http://wiki.squeak.org/squeak/778.diff?id=42