Comment by xyzzyz

3 years ago

You can make the app window disappear while keeping the disk saving thread. It is perfectly doable.

Sure, but is that actually "quitting" ? Depends on what the user actually expects "quit" to do.

Also, you're assuming that there is a thread that saves state to disk. There may be (and if the state save is a significant operation, there probably should be). But that's far from always the case.

  • The point here is that apps can be written to be both responsive and functional. They just aren’t, because devs don’t bother.

    • What you describe as "responsive" can be actually legitimately viewed as a trick.

      If the GGP wants "Cmd-q" (for example) to cause a program to immediately stop using system resources, then all the "responsive" in the world will not satisfy that goal.

      I agree that if GGP wants "Cmd-q" to cause a program to immediately vanish from the screen, the responsive design is the answer.

      However, adding a thread to a program that takes 1 second to save it's state to disk in order to allow Cmd-q to cause the window to vanish immediately feels like overkill to me. You now need a bunch of thread mutual exclusion primitives that were (potentially) not necessary before. Not doing this is not "not bothering". It's facing the tradeoffs from adding a thread and deciding it is not worth it (a decision the user may not agree with).

      1 reply →