[squeak-dev] Survey: what do you do with Squeak, what do you *want* to do?

Tm Jhnsn digit at sonic.net
Fri Feb 23 16:50:13 UTC 2018


Hi Tim,

Thanks for the opportunity for feedback!


> What do you use Squeak for?


I've used Squeak at home and (individually) at work over the past ten years, 
on various projects:

* first, of course, a project to learn Smalltalk
* later, some Seaside web apps with business purpose:
   * managing the schedules of student workers at a university
   * managing stakeholders of software offered in computer labs
   * building & filtering email lists from various other email lists 
   * reporting on disk drive surveys at a non-profit datacenter
* a lot of use of Chronology for Duration and friends
* tools for importing obscure file formats and outputting human-readable formats

At home I use Squeak to test and explore ideas.  

Many years ago (2009?), I followed Ian Piumarta's Porting instructions and made a functional, but not entirely complete, port of SqueakVM 2.3 to AmigaOS 3.x/m68k.  



> If you don't use Squeak, why not?


At my last job, I shared some of my Squeak tools with coworkers, who privately grumbled that they were in Smalltalk.  This left some kind of 'taint';  when I left this position and handed over my responsibilities, one of these coworkers was surprised to find that most or all of the tools I'd written were indeed in the preferred Python, not Squeak.



> If you used Squeak in the past and don't now, what pulled you away?


Over the past 5 years or so, it has been frustrating or impossible to find the right versions of packages which will work in recent images and VMs on whichever platform I happen to be developing or deploying on.  This applies to many things I try to use in Squeak, including Cryptography, SqueakSSL, WebClient, Seaside, JSON, OSProcess (though this usually works, many thanks), and various database connectors (MySQL, PostgreSQL, SQLite)...

Most recently, coworkers have demanded that output be in SQLite, and at the time, I could not find any contemporary packages for Squeak that worked with SQLite.  I since have found a working combo in Squeak 4.6/5.0 thanks to:

https://milanvavra.wordpress.com/2016/08/12/squeak-5-0-using-sqlite3/

...but it's too late for that use case.

Another part of why I don't use Squeak more often is entirely specific to my own peculiarities.  New OS X VMs require OS X 10.11 or higher, and I still run older versions at home.  I know Apple, Xcode, and CI tools make it difficult to support older OS X versions.  Amusingly, it's easier for me to use Squeak 6.0alpha and the latest Cog VMs on my 2003/2004-era Windows XP ThinkPad than it is on my preferred "daily driver" OS X laptop.  (I'd try to scratch my own itch and get the build system working to support older versions of Mac OS X, but the contemporary build system intimidates me.)

Also, the shift to HTTPS reliance has made Squeak's web offerings more difficult or complicated to use as either a web server or a web client. 


> What does Squeak lack that you think might make you use it for 'regular' development?


I am not a professional software developer.  I am more of a professional sysadmin by day and student by night.

That said, perhaps the following apply:  

* I'd like to see Debian and BSD packages updated for Squeak versions newer than 3.x or 4.x.  This would make it easier to deploy newer versions of images and VMs in server environments.  

* Maybe if something like RSqueak for Python, or an equivalent for Ruby or other du-jour language, were to reach a release state with low barrier-to-entry for non-initiates, I could use my preferred Squeak environment but stay within the bounds of languages accepted by coworkers at whichever place I happen to be working.  Not sure if that's true.


> What things are too hard or annoying to do?


- It was rough for a few image release cycles to find that every new image broke some standard (documented) keyboard shortcut or mouse gesture I'd become accustomed to since Squeak 2.x (Cmd-Shift-L/R for example), and forced new ones on me.  Happily the new 5.x config wizard takes care of a lot of that.

- WebClient HTTPS seems to take magic incantations to work on any various platform.  Perhaps this is due to the necessary interplay of image, package, plugin, VM.

- I have wanted to learn specialized tooling for refactoring but it has always been too complicated, too difficult to load, or too moving of a target.  Now I think it's gone completely.  That's probably OK -- something simpler than OB would be nice.

- Keeping track of various magic Installer incantations to paste into Workspaces seems so unsophisticated when we have SqueakMap.



> What would you like to be able to use Squeak for?


Everything!

But if I were truly dreaming:

* I'd be using Squeak to build a Croquet-style system to implement some amount of my pal Ted Nelson's Xanadu Space and/or ZigZag.  Compare Croquet demos to http://xanadu.com/XanaduSpace/btf.htm  (amusingly, this article is also named "Back to the Future")

* A UI construction system where you could assemble Morphs via drag-n-drop but then turn your living assemblage back into Smalltalk code (perhaps this exists?  Perhaps eToys scripting resembles this?)

* A web framework which embraces du-jour client-side (rather than server-side) computation & rendering but with Seaside-like ease of development

* My own higher education;  if I could find a computer science program or digital humanities program which allowed/encouraged the use of Squeak, I'd apply. 



 



More information about the Squeak-dev mailing list