Similar systems

Fizzygum belongs to a category of web “live programming” apps/sites which:

  • allow users to have multiple concurrent coding sessions (for complex changes, or to allow composition and chaining of artefacts);
  • allow users to modify the largest possible scope of code within the environment, i.e. the whole environment itself;
  • are largely self-contained system (often with the exceptions of the Javascript runtime and graphics, and sometimes the DOM), so to allow the users to a) “use” the system for extended sessions and for several different use cases (systems of this type have been traditionally called “residential”) and b) change the system in deep ways.

This category is a set of closely related environments, all inspired by Smalltalk or LISP systems, several of them using the Morphic UI framework (which gives affordances to change and compose functionality of running objects visually via “direct manipulation”).

Morphic.js by Jens Moenig

Fizzygum was started from Morphic.js by Jens Mönig in October 2012 (followed by independent rework of existing parts and new extensions) and it carries similarities in terms of visual appearance and parts of the underlying structure. The main differences with Morphic.js are listed here.

Lively.next

Lively.next (was: LivelyKernel) [1] is a thriving research platform that hosts many research projects and spans many goals. Fizzygum aims at being an alternative and independent re-implementation of a narrower scope, to focus on a smaller codebase that can be more easily understandable and modifiable.

Caffeine by Craig Latta

Caffeine by Craig Latta uses SqueakJS (see below) as a live programming environment for JavaScript, bringing Smalltalk’s inspection, code browsing and debugging tools to in-browser and Node.js development. It supports several UI frameworks, including Morphic.js, React, A-Frame, Impress, and native DOM, as well as the Chrome Remote Debugging Protocol and WebDAV.

Others

References

[1] Ingalls D., Palacz K., Uhler S., Taivalsaari A., Mikkonen T. (2008) The Lively Kernel A Self-supporting System on a Web Page. In: Hirschfeld R., Rose K. (eds) Self-Sustaining Systems. Lecture Notes in Computer Science, vol 5146. Springer, Berlin, Heidelberg

[2] Spitz, A., Flowers, J. “Avocado: Programming JavaScript in a Self-ish Environment”. Available: https://liveprogramming.github.io/2013/papers/avocado.pdf. Last accessed 30th May 2017.

[3] Nathan Dinsmore. 2014. nathan/m2e. (January 2014). Retrieved May 30, 2017 from https://github.com/nathan/m2e

[4] Nicolas Petton and contributors. 2017. Amber Smalltalk. (April 2017). Retrieved May 30, 2017 from https://en.wikipedia.org/wiki/Amber_Smalltalk

[5] Matthias Springer. 2015. matthias-springer/amber-athens. (June 2015). Retrieved May 30, 2017 from https://github.com/matthias-springer/amber-athens

[6] Bert Freudenberg, Dan H.H. Ingalls, Tim Felgentreff, Tobias Pape, and Robert Hirschfeld. 2014. SqueakJS: a modern and practical smalltalk that runs in any browser. In Proceedings of the 10th ACM Symposium on Dynamic languages (DLS ‘14). ACM, New York, NY, USA, 57-66. DOI=http://dx.doi.org/10.1145/2661088.2661100

[7] Gilad Bracha. Illiterate Programming. Retrieved May 31, 2017 from https://gbracha.github.io/illiterateProgramming/out/illiterateProgramming.html