[Newbies] Re: sandboxing a world

David Holiday neuburge at rohan.sdsu.edu
Tue Oct 15 19:24:15 UTC 2013


Thank you everyone for your help! I've been looking at Squeak/Pharo for a few weeks because I've been creating a platform for knowledge workers to work with information that was going to be a javascript single page application. For various reasons I think it makes sense not to have a 'web-based' app and was looking for a way to create a beautiful interface atop a powerful tool that I could easily deploy to whatever platform the user may have. This was the last concern I had, so I'm going to go ahead and start whipping up some awesome code. 


David Holiday 
-------------------------------------------------
San Diego State University
neuburge at rohan.sdsu.edu






On Oct 15, 2013, at 5:00 AM, beginners-request at lists.squeakfoundation.org wrote:

> Send Beginners mailing list submissions to
> 	beginners at lists.squeakfoundation.org
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	http://lists.squeakfoundation.org/mailman/listinfo/beginners
> or, via email, send a message with subject or body 'help' to
> 	beginners-request at lists.squeakfoundation.org
> 
> You can reach the person managing the list at
> 	beginners-owner at lists.squeakfoundation.org
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Beginners digest..."
> 
> 
> Today's Topics:
> 
>   1. Re: sandboxing a world (Herbert K?nig)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Mon, 14 Oct 2013 22:25:22 +0200
> From: Herbert K?nig <herbertkoenig at gmx.net>
> Subject: Re: [Newbies] sandboxing a world
> To: beginners at lists.squeakfoundation.org
> Message-ID: <525C5332.8020308 at gmx.net>
> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
> 
> Hi David,
> 
> yes that's definitely possible. Back in 2006 and 2007 I did it 
> frequently for software used in the production of electronics. Meant for 
> users with no computer knowledge assumed. Those programs refused to be 
> resized in that they snapped back to their original size by changing the 
> World 's extent in the step method of the app. You may want to read the 
> World's extent to re-layout after resizing and only refuse to shrink 
> below a minimal size.
> 
> This was long ago and I assume it is not how you would do it today but 
> the process will be similar.
> 
> As a user of Windows I had a batch file with the following line:
> Squeak_newVM.exe lockdown.image start.st
> 
> This starts the VM with a certain image and a Smalltalk script. So I 
> just copied my image and changes into that folder under a fixed name and 
> edited the class name in the script. Don't remember why I used a custom 
> VM there, but it was a minimal change I did. Maybe use the VM to fix the 
> window size.
> 
> The script read:
>     "set up autostart"
>     Smalltalk addToStartUpList: PrüfRepDatenApplication .  "The class 
> of my Application"
>     "remove the Flaps. For a recent Squeak you also might want to 
> remove the menu bar at the top. Search Preferences for 'docking'"
>     Flaps globalFlapTabsIfAny do:    [:aFlapTab | Flaps removeFlapTab: 
> aFlapTab keepInList: false]. "usually not enabled in modern Squeak"
>     GZipReadStream fileIn: 'SqueakLockdown-nk.1.cs.gz' asFileName. 
> "this is the changeset which does the lockdown"
>     Preferences disableProgrammerFacilities.    SmalltalkImage current 
> snapshot: true andQuit: true. "This must be on one line"
> 
> If you can't locate the the changeset, drop me an email, I will send it 
> to you so you can examine it.
> 
> In those days (and I assume still today) your class needed two class 
> side methods in category system startup:
> 
> startUp
>     implemented as self startUp: nil
> and strartUp: anIgnoredObject
>     which did the initialization like self new buildGUI
> 
> Please refer to the other pointers for more up to date information. I 
> just want to give you an example illustrating the process. Especially 
> the program "Plopp" mentioned there was distributed on CD and was meant 
> for kids. I bought a copy so I know it was like any old windows program.
> 
> Cheers
> 
> Herbert
> 
> 
> Am 13.10.2013 23:12, schrieb David Holiday:
>> Hi Herbert,
>> 
>> Thanks for getting back to me so quickly. As I understand you, it's
>> possible to create an application that prevents the user from seeing
>> anything but the application controls and widgets. Does this include the
>> Squeak world menu bar? I'm looking to avoid having a
>> window-within-a-window situation. Ideally, to the novice eye, the end user
>> would have no indication that this is a smalltalk application.
>> 
>> -david
>> 
>> 
>>> Send Beginners mailing list submissions to
>>> 	beginners at lists.squeakfoundation.org
>>> 
>>> To subscribe or unsubscribe via the World Wide Web, visit
>>> 	http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>> or, via email, send a message with subject or body 'help' to
>>> 	beginners-request at lists.squeakfoundation.org
>>> 
>>> You can reach the person managing the list at
>>> 	beginners-owner at lists.squeakfoundation.org
>>> 
>>> When replying, please edit your Subject line so it is more specific
>>> than "Re: Contents of Beginners digest..."
>>> 
>>> 
>>> Today's Topics:
>>> 
>>>    1. sandboxing a world (David Holiday)
>>>    2. Re: sandboxing a world (Herbert K?nig)
>>> 
>>> 
>>> ----------------------------------------------------------------------
>>> 
>>> Message: 1
>>> Date: Sun, 13 Oct 2013 01:23:56 -0700
>>> From: David Holiday <neuburge at rohan.sdsu.edu>
>>> Subject: [Newbies] sandboxing a world
>>> To: beginners at lists.squeakfoundation.org
>>> Message-ID: <B8C798A9-A2CE-40A4-B0A8-86765205B84D at rohan.sdsu.edu>
>>> Content-Type: text/plain; charset="us-ascii"
>>> 
>>> Hi all,
>>> 
>>> I'm just now getting into squeak and finding it a delightful programming
>>> environment. I am, however, curious as to why some features don't seem
>>> readily available. First and foremost, why isn't there a stripped down
>>> version of the VM that runs Squeak programs and nothing else? That is, why
>>> isn't it possible to distribute Squeak program to users in the way Java
>>> developers distribute Java programs?
>>> 
>>> To put this another way, let's say I'm a Squeak developer and I want to
>>> distribute my program to a community of people that does X. Under the
>>> current paradigm, all the people that do X also have to be Squeak savvy
>>> people if they are going to make use of my program. They have to be savvy
>>> enough to know what it is, install it, run it, install my program, and run
>>> my program. Moreover, they have to know enough about the Squeak interface
>>> to know what to do if they accidentally close my program window.
>>> Conversely, with Java, the user doesn't have to know anything about Java
>>> beyond downloading JVM. In this way, I can distribute my program to
>>> everyone that does X without having to worry about whether or not they
>>> also know anything about Squeak.
>>> 
>>> So why isn't something like this available?
>>> 
>>> 
>>> David Holiday
>>> -------------------------------------------------
>>> San Diego State University
>>> neuburge at rohan.sdsu.edu
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -------------- next part --------------
>>> An HTML attachment was scrubbed...
>>> URL:
>>> http://lists.squeakfoundation.org/pipermail/beginners/attachments/20131013/52827f6b/attachment.html
>>> 
>>> ------------------------------
>>> 
>>> Message: 2
>>> Date: Sun, 13 Oct 2013 11:21:46 +0200
>>> From: Herbert K?nig <herbertkoenig at gmx.net>
>>> Subject: Re: [Newbies] sandboxing a world
>>> To: beginners at lists.squeakfoundation.org
>>> Message-ID: <525A662A.2060201 at gmx.net>
>>> Content-Type: text/plain; charset="iso-8859-1"
>>> 
>>> Hi David
>>> 
>>> replying to the contents of your mail not to the subject. Sandboxing is
>>> a different matter.
>>> 
>>> There are several ways to distribute Squeak as an application. The
>>> Squeak all in one is an example.
>>> 
>>> Disclaimer: I never distributed a packaged Squeak application myself.
>>> 
>>> An overview:
>>> 
>>> When Squeak is saved it starts just where it was saved, e.g. with an
>>> animation (or your app) runnig.
>>> 
>>> There's a startup list in which you can enter messages which are sent on
>>> system startup. (e.g. start and initialize your app)
>>> 
>>> Squeak can take a command line parameter which is the name of a file
>>> with Smalltalk source which will be executed. This may start your app.
>>> 
>>> There's a lockdown script which can be used to make the dev tools
>>> unavailable to the end user.
>>> 
>>> Scratch and Etoys are examples of applications with the development
>>> tools hidden.
>>> 
>>> In the preferences you will find options to disable the search for a
>>> sources and changes file and other things you may find useful for
>>> distributing an application.
>>> 
>>> You can resource-hack the icon of Squeak and just replace the splash
>>> screen with your own picture.
>>> 
>>> If you want an installable package, people use some of the freely
>>> available installer generators.
>>> 
>>> Not sure if this list is exhaustive.
>>> 
>>> As a first start I suggest you download the all in one from squeak.org.
>>> Then bring your image in a state that you would call "My application
>>> running". Save that image.  Use that image and changes to replace the
>>> image and changes in the all in one (Assuming you use Squeak 4.4 for
>>> your app). Voila, you have a one click application that runs on Win,
>>> Linux, Mac.
>>> 
>>> Due to the nature of Smalltalk there is no different VM for an
>>> application. There is no difference beteween e.g. the compiler or your
>>> application. Both are just objects that get sent messages. The VM runs
>>> both in the same way.
>>> 
>>> Then maybe you can ask more specific questions.
>>> 
>>> 
>>> Cheers
>>> 
>>> Herbert
>>> 
>>> Am 13.10.2013 10:23, schrieb David Holiday:
>>>> Hi all,
>>>> 
>>>> I'm just now getting into squeak and finding it a delightful
>>>> programming environment. I am, however, curious as to why some
>>>> features don't seem readily available. First and foremost, why isn't
>>>> there a stripped down version of the VM that runs Squeak programs and
>>>> nothing else? That is, why isn't it possible to distribute Squeak
>>>> program to users in the way Java developers distribute Java programs?
>>>> 
>>>> To put this another way, let's say I'm a Squeak developer and I want
>>>> to distribute my program to a community of people that does X. Under
>>>> the current paradigm, all the people that do X also have to be Squeak
>>>> savvy people if they are going to make use of my program. They have to
>>>> be savvy enough to know what it is, install it, run it, install my
>>>> program, and run my program. Moreover, they have to know enough about
>>>> the Squeak interface to know what to do if they accidentally close my
>>>> program window. Conversely, with Java, the user doesn't have to know
>>>> anything about Java beyond downloading JVM. In this way, I can
>>>> distribute my program to everyone that does X without having to worry
>>>> about whether or not they also know anything about Squeak.
>>>> 
>>>> So why isn't something like this available?
>>>> 
>>>> 
>>>> David Holiday
>>>> -------------------------------------------------
>>>> San Diego State University
>>>> neuburge at rohan.sdsu.edu <mailto:neuburge at rohan.sdsu.edu>
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Beginners mailing list
>>>> Beginners at lists.squeakfoundation.org
>>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>> -------------- next part --------------
>>> An HTML attachment was scrubbed...
>>> URL:
>>> http://lists.squeakfoundation.org/pipermail/beginners/attachments/20131013/08bf24e2/attachment-0001.htm
>>> 
>>> ------------------------------
>>> 
>>> _______________________________________________
>>> Beginners mailing list
>>> Beginners at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>> 
>>> 
>>> End of Beginners Digest, Vol 90, Issue 2
>>> ****************************************
>>> 
>> 
> 
> 
> 
> ------------------------------
> 
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
> 
> 
> End of Beginners Digest, Vol 90, Issue 4
> ****************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20131015/f46bef61/attachment-0001.htm


More information about the Beginners mailing list