skip to main content
10.1145/3167109acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Designing a live development experience for web-components

Published: 22 October 2017 Publication History

Abstract

Explorative and live development environments flourish when they can impose restrictions. Forcing a specific programming language or framework, the environment can better enhance the experience of editing code with immediate feedback or direct manipulation. Lively Kernel's user interface (UI) framework Morphic provides such a development experience when working with graphical objects in direct way giving immediate feedback during development. Our new development environment Lively4 achieves a similar development experience, but targeting general HTML elements. Web Components as a new Web standard provide a very powerful abstraction mechanism. Plain HTML elements provide direct building blocks for tools and applications. Unfortunately, Web Components miss proper capabilities to support run-time development. To address this issue, we use object migration to provide immediate feedback when editing UI code. The approach is evaluated by discussing known problems, resulting best practices and future work.

References

[1]
Edward O. Benson and David R. Karger. 2013. Cascading Tree Sheets and Recombinant HTML: Better Encapsulation and Retargeting of Web Content. In Proceedings of the 22Nd International Conference on World Wide Web (WWW '13). ACM, New York, NY, USA, 107-118.
[2]
Sebastian Burckhardt, Manuel Fahndrich, Peli de Halleux, Sean McDirmid, Michal Moskal, Nikolai Tillmann, and Jun Kato. 2013. It's Alive! Continuous Feedback in UI Programming. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '13). ACM, New York, NY, USA, 95-104.
[3]
Adele Goldberg. 1984. SMALLTALK-80: The Interactive Programming Environment. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
[4]
Chris Granger. 2012. Light Table. Sofware. (2012). http://www.lighttable.com/.
[5]
Daniel Ingalls, Tim Felgentreff, Robert Hirschfeld, Robert Krahn, Jens Lincke, Marko Röder, Antero Taivalsaari, and Tommi Mikkonen. 2016. A World of Active Objects for Work and Play: The First Ten Years of Lively. In Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2016). ACM, New York, NY, USA, 238-249.
[6]
Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and Alan Kay. 1997. Back to the Future: The Story of Squeak, a Practical Smalltalk Written in Itself. ACM SIGPLAN Notices32, 10 (1997), 318-326.
[7]
Daniel Ingalls, Krzysztof Palacz, Stephen Uhler, Antero Taivalsaari, and Tommi Mikkonen. 2008. The Lively Kernel A Self-Supporting System on a Web Page. In S3 2008 (LNCS 5146). Springer-Verlag Berlin Heidelberg.
[8]
Robert Krahn, Dan Ingalls, Robert Hirschfeld, Jens Lincke, and Krzysztof Palacz. 2009. Lively Wiki A Development Environment for Creating and Sharing Active Web Content. In WikiSym '09. ACM.
[9]
Jens Lincke. 2014. Evolving Tools in a Collaborative Self-supporting Development Environment. phdthesis. Universität Potsdam. https://lively-kernel.org/publications/media/Lincke_2014_EvolvingToolsInCollaborativeSelfSupportingDevelopment\Environment_PRINT.pdf.
[10]
Jens Lincke, Malte Appeltauer, Bastian Steinert, and Robert Hirschfeld. 2011. An Open Implementation for Context-oriented Layer Composition in ContextJS. Science of Computer Programming (2011).
[11]
Jens Lincke, Robert Krahn, Dan Ingalls, Marko Röder, and Robert Hirschfeld. 2012. The Lively PartsBin-A Cloud-Based Repository for Collaborative Development of Active Web Content. In Hawaii International Conference on System Sciences. IEEE Computer Society, Los Alamitos, CA, USA, 693-701.
[12]
John Maloney. 2001. An Introduction to Morphic: The Squeak User Interface Framework. Squeak: OpenPersonal Computing and Multimedia (2001).
[13]
John H. Maloney and Randall B. Smith. 1995. Directness and Liveness in the Morphic User Interface Construction Environment. In UIST '95: Proceedings of the 8th annual ACM symposium on User interface and software technology. ACM, 21-28.
[14]
Sean McDirmid. 2007. Living It Up with a Live Programming Language. SIGPLAN Not. 42, 10 (Oct. 2007), 623-638.
[15]
Sean McDirmid. 2013. Usable Live Programming. In Proceedings of the 2013 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming (Onward! '13). ACM, New York, NY, USA, 53-62.
[16]
Patrick Rein, Robert Hirschfeld, and Marcel Taeumel. 2016. Gramada: Immediacy in Programming Language Development. In Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software (Onward! 2016). ACM, New York, NY, USA, 165-179.
[17]
Bret Victor. 2012. Learnable programming. (2012), 2012.

Cited By

View all
  • (2024)Talking to Objects in Natural Language: Toward Semantic Tools for Exploratory ProgrammingProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690049(68-84)Online publication date: 17-Oct-2024
  • (2024)Unanticipated Progress Indication: Continuous Responsiveness for Courageous ExplorationCompanion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming10.1145/3660829.3660843(80-86)Online publication date: 11-Mar-2024
  • (2023)Toward Studying Example-Based Live Programming in CS/SE EducationProceedings of the 2nd ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments10.1145/3623504.3623568(17-24)Online publication date: 18-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PX/17.2: Proceedings of the 3rd ACM SIGPLAN International Workshop on Programming Experience
October 2017
45 pages
ISBN:9781450355223
DOI:10.1145/3176645
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 October 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. JavaScript
  2. Live Programming
  3. Web Components
  4. Web-based Programming Environment

Qualifiers

  • Research-article

Conference

SPLASH '17
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)5
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Talking to Objects in Natural Language: Toward Semantic Tools for Exploratory ProgrammingProceedings of the 2024 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3689492.3690049(68-84)Online publication date: 17-Oct-2024
  • (2024)Unanticipated Progress Indication: Continuous Responsiveness for Courageous ExplorationCompanion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming10.1145/3660829.3660843(80-86)Online publication date: 11-Mar-2024
  • (2023)Toward Studying Example-Based Live Programming in CS/SE EducationProceedings of the 2nd ACM SIGPLAN International Workshop on Programming Abstractions and Interactive Notations, Tools, and Environments10.1145/3623504.3623568(17-24)Online publication date: 18-Oct-2023
  • (2023)Probe Log: Visualizing the Control Flow of Babylonian ProgrammingCompanion Proceedings of the 7th International Conference on the Art, Science, and Engineering of Programming10.1145/3594671.3594679(61-67)Online publication date: 13-Mar-2023
  • (2022)Explicit Tool Support for Implicit Layer ActivationProceedings of the 14th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3570353.3570355(9-17)Online publication date: 7-Jun-2022
  • (2022)Relentless Repairability or Reckless Reuse: Whether or Not to Rebuild a Concern with Your Familiar Tools and MaterialsProceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3563835.3568733(185-194)Online publication date: 29-Nov-2022
  • (2022)Example MiningCompanion Proceedings of the 6th International Conference on the Art, Science, and Engineering of Programming10.1145/3532512.3535226(60-66)Online publication date: 21-Mar-2022
  • (2020)Three trillion lines: infrastructure for mining GitHub in the classroomCompanion Proceedings of the 4th International Conference on Art, Science, and Engineering of Programming10.1145/3397537.3397551(1-6)Online publication date: 23-Mar-2020

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media