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 > [hidden email] > > 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 > [hidden email] > > You can reach the person managing the list at > [hidden email] > > 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 <[hidden email]> > Subject: [Newbies] sandboxing a world > To: [hidden email] > Message-ID: <[hidden email]> > 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 > [hidden email] > > > > > > > -------------- 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 <[hidden email]> > Subject: Re: [Newbies] sandboxing a world > To: [hidden email] > Message-ID: <[hidden email]> > 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 >> [hidden email] <mailto:[hidden email]> >> >> >> >> >> >> >> >> >> _______________________________________________ >> Beginners mailing list >> [hidden email] >> 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 > [hidden email] > http://lists.squeakfoundation.org/mailman/listinfo/beginners > > > End of Beginners Digest, Vol 90, Issue 2 > **************************************** > -- David Holiday [hidden email] _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
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 >> [hidden email] >> >> 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 >> [hidden email] >> >> You can reach the person managing the list at >> [hidden email] >> >> 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 <[hidden email]> >> Subject: [Newbies] sandboxing a world >> To: [hidden email] >> Message-ID: <[hidden email]> >> 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 >> [hidden email] >> >> >> >> >> >> >> -------------- 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 <[hidden email]> >> Subject: Re: [Newbies] sandboxing a world >> To: [hidden email] >> Message-ID: <[hidden email]> >> 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 >>> [hidden email] <mailto:[hidden email]> >>> >>> >>> >>> >>> >>> >>> >>> >>> _______________________________________________ >>> Beginners mailing list >>> [hidden email] >>> 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 >> [hidden email] >> http://lists.squeakfoundation.org/mailman/listinfo/beginners >> >> >> End of Beginners Digest, Vol 90, Issue 2 >> **************************************** >> > _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
In reply to this post by projectVALIS
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 On Oct 15, 2013, at 5:00 AM, [hidden email] wrote:
_______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
On 10/15/13, David Holiday <[hidden email]> wrote:
> 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, Just curious... what are your reasons to abandon going for a 'web-based' application in favor of a tool like Squeak? Was it performance, the lack of IDE in JavaScript, the amount of data to deal with, something else? Does your Squeak app work with a server or is it a single tier app? --Hannes > > David Holiday > ------------------------------------------------- > San Diego State University > [hidden email] _______________________________________________ Beginners mailing list [hidden email] http://lists.squeakfoundation.org/mailman/listinfo/beginners |
Free forum by Nabble | Edit this page |