The Web Browser Plugin
Last updated at 9:53 am UTC on 25 January 2011
This page should describe how the web browser plugin works and is used. Unfortunately, I don't know all the ins and outs, and so this page is still missing a lot of info! -Lex Spoon
Actually using it is quite simple. The easiest nowadays is to just point SRC to a project URL! What's described below is the older, manual approach ... -Bert Freudenberg
Squeak has a Web browser plugin, written and developed by Andreas Raab for Windows, John McIntosh for Mac (?), and Bert Freudenberg for Unix. The browser plugin is used as a mechanism to get new people using SqueakLand. In general, the browser plugin allows you to insert Squeaky interfaces into the middle of web pages, the same way that Java applets can be. Thus they smooth the transition from klunky, static web pages into the dynamic world of Squeak.
This page is about obtaining the Squeak plugin, and about programming web sites to use the plugin.
Getting the Plugin
The plugin files you need depend on the browser and the OS you are using. Thus, getting the plugin is a touch complicated. (Once you have the plugin, on the other hand, the Squeak programs embedded in them are extremely portable).
The first thing to try is The SqueakLand download Link. Click on Downloads. Some browsers are auto-detected, and if you're lucky, you'll be able to download the plug-in you need from the page which appears. Recent (as of 2010) versions of Etoys automatically install the plugin.
Q: If you're not on the list, then what?
If the automatic installer isn't suitable for you, an archive of recent plugin versions for Mac OS X is offered at:
On Mac OS X, install SqueakBrowserPlugin.plugin at /Library/Internet Plug-Ins/
Otherwise, you may have to find the source code, then compile it!
Mechanics of Operation
The way the plugin works is as follows. HTML pages may include an EMBED tag which specifies that an external object of type application/x-squeak-source, application/x-squeak-object, or application/x-squeak-project is to be embedded at a particular location on the HTML page. The tag will include the width and height of the rectangular region to use, and it will include a list of textual parameters. See EMBED reference.
Most significant of the parameters is the SRC parameter. In the case of application/x-squeak-source, the SRC parameter is a URL pointing to a Squeak fileout containing arbitrary Squeak code. When the plugin starts, it will download the fileout and execute it.
The same image is used for all plugin instances; any customization you want must appear in the downloaded fileout.
The programming approach is thus two-fold. First, you must design a set of HTML pages that use the Squeak plugin at tasteful locations. Second, you must develop Squeaklets that will be used on your site.
Syntax of the EMBED tag
The EMBED tag used in the HTML is put together as follows:
Squeaklets are granted a single window with mouse and keyboard input, just as with a regular Squeak execution – the window just happens to be embedded inside a WWW browser. However, squeaklets have some additional commands available, as well.
They can query parameters specified in the EMBED tag, as follows:
- See class
They can request the surrounding browser to swap pages, as follows:
FileStream requestURL: 'http://squeak.org/' target: '_blank'
They can retrieve files via the browser – including its cache – as follows:
FileStream requestURLStream: 'http://squeak.org/'
There are several examples of Squeak plugins floating around out there, I'm just sure....