Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
New Features in 2.4
Last updated at 9:00 pm UTC on 26 May 2018

1999

Here is a summary of major improvements in the 2.4 release (4/22/99):


  • Balloon3D Rasterizer
    This is Andreas Raab's first implementation of a platform-independent 3D rasterizer built to work with Balloon, his existing, rotation-, and scale-independent anti-aliasing rendering engine. A number of subtle features remain yet to be implemented, but its already awesome capability can be seen by playing with Wonderlands.

  • Wonderlands
    Wonderlands are 3D environments in Squeak-Alice. What is Squeak-Alice? Alice (http://www.alice.org) is an authoring tool designed by the Stage 3 Research Group (Randy Pausch director) to allow people without programming experience to build interactive 3D worlds. Squeak-Alice represents three months of mad-man hacking by Jeff Pierce, a member of the original Alice design team, and a research intern with the Squeak Team.

    With the Balloon3D engine as its vehicle, models built and used in Squeak-Alice should run on any platform from Wintel, Mac, and Unix machines down to bare hardware, with no reliance on 3rd-party rendering software. It's cool.

  • Image Segments
    Squeak 2.4 is capable of tracing and writing to file any hierarchical data structure. Working from an array of roots, it determines the segment extent from the "shadow" of a GC mark pass. It is capable of tracing, writing to disk and rereading a megabyte of objects in about a second. Included is the ability to recover from faults due to the replacement of classes or instances by root stubs, after reloading the objects on demand.

  • 2.4 also incorporates some 380 new features and fixes, including...
    Optional annotationPanes in message-list browsers.
    Can now add, delete and rename instance variables and methods in EToy viewers.
    Defines a reader for X-Bitmap files.
    Introduces sound codecs – an architecture for sound compression/decompression
    Examples include mu-law (2:1), ADPCM (4:1), GSM (10:1), and wavelet (variable).
    New parser for Autodesk 3D Studio files.
    New 'Flap' screen extension package for Morphic. Flaps can reside on any edge (left,right,top,bottom), be inboard or outboard, slide the world's submorphs over or not.
    New EventRecorder support includes voice-over and on-the-fly speech compression.
    New scrollbars indicate extent of viewable section and shadow showsorigin of drag.
    New C code to support playing MIDI through the QuickTime synth on the Mac.
    Primitive support for pen-based tablets (tested with the Wacom ArtZ 6x8)
    When running in morphic, all the old MVC classes can be deleted to reclaim space.


    Here is a summary of what was included in the 2.3 release (1/13/99):
    Interface...
    New-look menus in Morphic
    New preferences panel with help messages for most entries.
    Note especially inboard Scrollbars, browse w/prettyPrint, and project zoom
    Morphic windows now adjust pane boundaries
    Support for translucent colors in Morphic
    Drop-shadows work better, as is display in 1- and 2-bit depths
    Morphic changeLists support multiple selection
    FileContentsBrowser is now in the base image, 'browse code' from FileList
    Improved compare to clipboard (CTRL-C) and compare to current (ChangeList)
    MessageLists generally support cmd-n, m, b, v for
    seNders, iMplementors, Browse full, and Versions
    Character recognizer has been integrated with Morphic
    Senders-of-it (cmd-n) and implementors-of-it (cmd-m) in the editor
    now deal almost perfectly with embedded parens and brackets.
    Morphic selectorBrowser supports acceptOnCR
    Normal cursor now has white surround – good for dark backgrounds.
    Handy 'show' and 'find' commands added to ChangeSorters.
    Debuggers now update their inspectors dynamically
    Scripting...
    Numerous improvements have been made in the area of scripting.
    These and other deeper topics will hopefully filter into documentation
    on the Swikis or elsewhere in the near future.
    Books (Morphic)...
    A number of page transitions are supported and integrated with Morphic.
    Some are slow, but each has its place.
    A menu item offers choices, by the book, by the page, and on bookmarks.
    Page sorters are more convenient.
    Sound...
    MIDI input is available from class MIDISynth.
    Numerics...
    A completely new coercion scheme with array math thrown in.
    VM now performs Float/Integer coercion on the fly.
    New wavelet transform (see class FWT).
    Object Memory...
    Weak classes and finalization support are now part of the standard image
    New Forward become: is planned to replace exchanging become:
    Engine Room...
    Fixed a bug that limited image size to 512 MB
    Fixed a bug that limited object size to 256 MB
    Files should be able to position and access up to 2^32 bytes.
    Files should be able be up to 2^32 bytes long).
    All 4 above are in need of test.
    Bytecode and Message-send speeds up by 20-30%.
    Integraton of Jitter pluggable compiler interface.
    [Jitter is an major project that will be described when it is released].
    Much faster string searches, both case-sensitive and not.
    Pluggable Primitives...
    A new primitive interface for extending the VM without having to modify it.
    A PP is called by name, not by number and its code can reside in an external
    library (e.g., a DSO on Unix, a DLL on Windows, etc.
    An example is FFT>>pluginTest which is a factor 60-100 faster than
    the regular (interpreted) FFT. Look at class InterpreterPlugin and subclasses.
    Balloon...
    Balloon is a vector graphics engine that brings a new quality of graphics to
    Squeak. Try playing with TrueType fonts (Yeah!!), as in Play With Me -3
    or with the Flash File reader (see example in the Welcome window.
    Note that you can read TrueType fonts or Flash files directly from the FileList.
    When playing Flash files, use the Morph menu to spawn a control panel
    so that you can start, stop and change the degree of smoothing. Note that,
    to an increasing degree, it is possible to take apart Flash graphics in Squeak.
    Quality will be nicest in 16- and 32-bit color (natch).
    Squeak Pages...
    A significant new system (called Squeak Pages) allows morphic worlds to be
    cached in Squeak, but resident on Web Pages. See more below.
    Files...
    Several tweaks to HtmlFileStream and CrLfFileStream

    Here is a summary of what was included in the 2.2 release (9/23/98):
    Continued improvements to the Morphic window system and scripting.
    Three all-new network applications written entirely in Squeak
  • Celeste (a mail reader by John Malone)
  • Scamper (a web browser by Lex Spoon)
  • IRC chat (also by Lex Spoon)

    Support for looped sampled music timbres for high quality synthesis.
    Piano roll display for the MIDI player, and external MIDI output.
    Rejuvenated support for shrinking the Squeak system (see Image Size).
    A couple of new features in the VM, including
  • Better handling of delays (more accurate messageTallies)
  • Support for opaque as well as transparent cursors.
  • Mac support for high-speed asynchronous disk I/O.

    Hundreds of other bug fixes and features.

    Here is a summary of what was included in the 2.1 release (6/30/98):
    need to cull updates and summarize

    Here is a summary of what was included in the 2.0 release (5/20/98):
    More responsive cursor tracking in Morphic
    Flex morphs (meaning any morph can be scaled and rotated).
    On-the-fly compression/decomp (20MB/s) of bitmaps
    As an option, when you enter a project it zooms visually.
    Mac interpreter that now supports full-screeen display
    Numerous Swiki tweaks
    Many numeric cleanups that have been discussed on the Squeak list
    A fast string compare primitive with collation table
    Support for serial ports.
    Remote FTP access through the standard FileList.
    An automatic code update mechanism based on remote servers.
    Basic MIDI support in the VM.



    See also Balloon3D examples