[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