[squeak-dev] The Trunk: Morphic-mt.1852.mcz

Chris Muller asqueaker at gmail.com
Wed Jan 26 23:38:42 UTC 2022


> and during that moment of "re-initialization" of their brain
> on "where they were" with their project, could easily forget that all
> the workspaces on the screen are stale, and that they need to "reload"
> them..

I just realized being able to save Workspaces opens this can of worms
of needing a stale-detection system in any case -- otherwise users
will face this "doubt" every single time they launch the image.  The
user would wonder, "Are these workspaces up to date with the files on
disk?  Did I change these files in another image, since?"  Without
some sort of reliable refresh mechanism, this burden is worse than the
original problem, IMO.

But it would be complicated to implement, because you can't just
auto-load everything upon image start, in case the user saved the
image with dirty workspaces and, uh, didn't want to lose their work...




On Wed, Jan 26, 2022 at 5:27 PM Chris Muller <asqueaker at gmail.com> wrote:
>
> Hi Jaromir,
>
> > 1) you work and document your experiments in the Workspace -> then close the Workspace by mistake -> work's gone
>
> The conducted experiments are in the changes log.
>
> > ---> recovering closed windows would solve this (Chris)
> >
> > 2) again, you work in the Workspace and don't want to save the image -> then crash and lose the image -> work's gone
>
> The most recent work conducted in the workspace is in the changes log
> (otherwise, what made the image crash?).
>
> > ---> here I need to know to fileout the Workspace before the (expected) crash; optional fileout associated with Accept (CTRL+s) sounds nicely "intuitive" but if this approach breaks some other considerations I'm not fully aware of then any form of "teaching" the user like the "first time message" about the dangers and options might be very helpful (Jakob)
>
> Unfortunately, it won't work.  What we're trying to figure out here,
> abstractly, is how to protect the user from losing work --
> specifically the cost of an unintentional gesture -- closing a
> Workspace that was Accepted causing the user to accidentally lose
> work.
>
> But just like when not saving the image, you'll lose all the work
> since your last file save, and the user will end up just one easy
> gesture away from "work's gone".  When the image is relaunched all
> they will see are all their old workspaces with the snippets they
> remember, and during that moment of "re-initialization" of their brain
> on "where they were" with their project, could easily forget that all
> the workspaces on the screen are stale, and that they need to "reload"
> them.. somehow??  If they instead get drawn in and start working on
> what they see right there, then they will instantly have "two
> versions" -- the new (re)work one in memory and last-saved work on
> disk, which will be obliterated upon the next press of Cmd+s.
>
> It doesn't solve the abstract issue of protecting the user from losing
> work by an accidental gesture.
>
> I believe there's a reason *Workspaces* shouldn't be able to save --
> because if you're doing so much work that it should be saved, then it
> should be put into a method instead.
>
> Best,
>   Chris


More information about the Squeak-dev mailing list