[squeak-dev] dynamic FileDialog pop-ups considered harmful

tim Rowledge tim at rowledge.org
Sat Dec 28 18:39:27 UTC 2019



> On 2019-12-28, at 7:44 AM, Jakob Reschke <forums.jakob at resfarm.de> wrote:
> 
> Hi everyone,
> 
> In my opinion Squeak should not neglect the outside world as a data dump.
> 
> Am Fr., 27. Dez. 2019 um 07:49 Uhr schrieb Chris Muller <asqueaker at gmail.com>:
> 
> IMO, the external world (OS, etc.) should preside over its own objects, just as Squeak's IDE should, over its, to each the maximum degrees possible.
> 
> As the user of both the external world and the Squeak world *I* want to preside over all those objects. The bounds of both systems are arbitrary to me. To achieve some kind of integration, Squeak should be able to view the outside and work with it in a reasonable, open-minded fashion. Either by providing good tools to deal with the outside world or by providing and implementing the proper interfaces of the outside world.

I agree with that sentiment. 

> 
> About those interfaces with the outside world and insular software:
> Windows has a nice object-oriented shell concept, but so few applications integrate properly. The shell objects, mostly files, could have many useful verbs (messages) in the context menu, provided by non-Microsoft software, or generously implemented drag and drop handlers, or send-to targets. TortoiseSVN and TortoiseGit are fine examples: they add version control verbs to every file you can browse. They might not be the best or most efficient Subversion or Git clients out there, but in my opinion they are the only ones true to the spirit of the Windows shell. But for almost all file types and software you are supposed to "Open" the file and then endulge yourself confined in the application that opens the file.

A practical problem with most OS's and connecting to other applications is that it seems to have become extremely painful to drive one application from another. And the choice of doing everything through a tiny lens of 'file' makes it a bit more painful to me.

> 
> About Squeak as such insular software:
> Today vanilla Squeak does not care all that much about the outside world or integrating with it. The border of the window provided by the VM is like a magical veil you cannot cross except by arcane ways (FFI) or with the wisdom to shape the universe (extending the VM, instead of the image).

Well we did try to make both of those as easy as practical. The FFI stuff is a pretty good (very) low-level interface to anything that also works via system calls etc. I dare say there  are ways it could be made faster and easier. Start a project to find them!

> The drag and drop implementation with the outside world is very limited (cannot drag anything to the outside, cannot accept anything specific in an application that lives inside) and nice services that live outside are seldom used.

I *think* that any morph can test and choose to accept a drop from outside? Starting a drag within Squeak and making it work to drop outside ... don't think I've seen that worked on. Again, RISC OS is the absolute champion for that approach to UI.

> 
> For example, and to come back to the topic, I would be happy if Squeak would use the save dialog provided by Windows itself. 

That is something that ought to be doable and would have a lot of value for many projects. VW does it so far as I can see. The trick is deciding what parts of the user experience you want to control (in order to do special things the host UI doesn't do, for example) and which you want to delegate to the host UI - and when, and how to accommodate both cases and ost of all, how to find the time to work it out.


tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: BGL: Branch and Goto Lunch




More information about the Squeak-dev mailing list