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 [email protected] On Oct 15, 2013, at 5:00 AM, [email protected] wrote: > Send Beginners mailing list submissions to > [email protected] > > 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 > [email protected] > > You can reach the person managing the list at > [email protected] > > 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 <[email protected]> > Subject: Re: [Newbies] sandboxing a world > To: [email protected] > Message-ID: <[email protected]> > 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 >>> [email protected] >>> >>> 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 >>> [email protected] >>> >>> You can reach the person managing the list at >>> [email protected] >>> >>> 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 <[email protected]> >>> Subject: [Newbies] sandboxing a world >>> To: [email protected] >>> Message-ID: <[email protected]> >>> 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 >>> [email protected] >>> >>> >>> >>> >>> >>> >>> -------------- 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 <[email protected]> >>> Subject: Re: [Newbies] sandboxing a world >>> To: [email protected] >>> Message-ID: <[email protected]> >>> 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 >>>> [email protected] <mailto:[email protected]> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> Beginners mailing list >>>> [email protected] >>>> 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 >>> [email protected] >>> http://lists.squeakfoundation.org/mailman/listinfo/beginners >>> >>> >>> End of Beginners Digest, Vol 90, Issue 2 >>> **************************************** >>> >> > > > > ------------------------------ > > _______________________________________________ > Beginners mailing list > [email protected] > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > End of Beginners Digest, Vol 90, Issue 4 > ****************************************
_______________________________________________ Beginners mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/beginners
