[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3126594.3126642acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
research-article

Codestrates: Literate Computing with Webstrates

Published: 20 October 2017 Publication History

Abstract

We introduce Codestrates, a literate computing approach to developing interactive software. Codestrates blurs the distinction between the use and development of applications. It builds on the literate computing approach, commonly found in interactive notebooks such as Jupyter notebook. Literate computing weaves together prose and live computation in the same document. However, literate computing in interactive notebooks are limited to computation and it is challenging to extend their user interface, reprogram their functionality, or develop stand-alone applications. Codestrates builds literate computing capabilities on top of Webstrates and demonstrates how it can be used for (i) collaborative interactive notebooks, (ii) extending its functionality from within itself, and (iii) developing reprogrammable applications.

Supplementary Material

suppl.mov (uistf3771-file3.mp4)
Supplemental video

References

[1]
Margaret M. Burnett and Brad A. Myers. 2014. Future of End-user Software Engineering: Beyond the Silos. In Proceedings of the on Future of Software Engineering (FOSE 2014). ACM, New York, NY, USA, 201--211.
[2]
Kerry Shih-Ping Chang and Brad A. Myers. 2014. Creating Interactive Web Data Applications with Spreadsheets. In Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology (UIST '14). ACM, New York, NY, USA, 87--96.
[3]
C. A. Ellis and S. J. Gibbs. 1989. Concurrency Control in Groupware Systems. SIGMOD Rec. 18, 2 (June 1989), 399--407.
[4]
Adele Goldberg. 1995. Why Smalltalk? Commun. ACM 38, 10 (Oct. 1995), 105--107.
[5]
Danny Goodman. 1987. The Complete HyperCard Handbook. Random House Inc., New York, NY, USA.
[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. SIGPLAN Not. 32, 10 (Oct. 1997), 318--326.
[7]
Clemens N. Klokmose, James R. Eagan, Siemen Baader, Wendy Mackay, and Michel Beaudouin-Lafon. 2015. Webstrates: Shareable Dynamic Media. In Proceedings of the 28th Annual ACM Symposium on User Interface Software & Technology (UIST '15). ACM, New York, NY, USA, 280--290.
[8]
Thomas Kluyver, Benjamin Ragan-Kelley, Fernando Pérez, Brian Granger, Matthias Bussonnier, Jonathan Frederic, Kyle Kelley, Jessica Hamrick, Jason Grout, Sylvain Corlay, and et al. 2016. Jupyter Notebooks--a publishing format for reproducible computational workflows. Positioning and Power in Academic Publishing: Players, Agents and Agendas (2016), 87--90.
[9]
Donald E. Knuth. 1984. Literate Programming. Comput. J. 27, 2 (1984), 97--111.
[10]
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 Proceedings of the 5th International Symposium on Wikis and Open Collaboration (WikiSym '09). ACM, New York, NY, USA, Article 9, 10 pages.
[11]
John H. Maloney and Randall B. Smith. 1995. Directness and Liveness in the Morphic User Interface Construction Environment. In Proceedings of the 8th Annual ACM Symposium on User Interface and Software Technology (UIST '95). ACM, New York, NY, USA, 21--28.
[12]
Jarrod K. Millman and Fernando Pérez. 2014. Developing open-source scientific practice. Implementing Reproducible Research 149 (2014).
[13]
Brad Myers, Scott E. Hudson, and Randy Pausch. 2000. Past, Present, and Future of User Interface Software Tools. ACM Trans. Comput.-Hum. Interact. 7, 1 (March 2000), 3--28.
[14]
David A. Nichols, Pavel Curtis, Michael Dixon, and John Lamping. 1995. High-latency, Low-bandwidth Windowing in the Jupiter Collaboration System. In Proceedings of the 8th Annual ACM Symposium on User Interface and Software Technology (UIST '95). ACM, New York, NY, USA, 111--120.
[15]
Dan R. Olsen, Jr. 2007. Evaluating User Interface Systems Research. In Proceedings of the 20th Annual ACM Symposium on User Interface Software and Technology (UIST '07). ACM, New York, NY, USA, 251--258.
[16]
Arvind Satyanarayan, Dominik Moritz, Kanit Wongsuphasawat, and Jeffrey Heer. 2017. Vega-Lite: A Grammar of Interactive Graphics. IEEE Transactions on Visualization and Computer Graphics 23, 1 (jan 2017), 341--350.
[17]
Eric Schulte and Dan Davison. 2011. Active Documents with Org-Mode. Computing in Science & Engineering 13, 3 (may 2011), 66--73.
[18]
Antero Taivalsaari, Tommi Mikkonen, Dan Ingalls, and Krzysztof Palacz. 2008. Web Browser As an Application Platform: The Lively Kernel Experience. Technical Report. Mountain View, CA, USA.
[19]
Lea Verou, Amy X. Zhang, and David R. Karger. 2016. Mavo: Creating Interactive Data-Driven Web Applications by Authoring HTML. In Proceedings of the 29th Annual Symposium on User Interface Software and Technology (UIST '16). ACM, New York, NY, USA, 483--496.
[20]
Jeannette M. Wing. 2006. Computational Thinking. Commun. ACM 49, 3 (March 2006), 33--35.

Cited By

View all
  • (2024)MyWebstrates: Webstrates as Local-first SoftwareProceedings of the 37th Annual ACM Symposium on User Interface Software and Technology10.1145/3654777.3676445(1-12)Online publication date: 13-Oct-2024
  • (2024)Don't Step on My Toes: Resolving Editing Conflicts in Real-Time Collaboration in Computational NotebooksProceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments10.1145/3643796.3648453(47-52)Online publication date: 20-Apr-2024
  • (2023)Lodestar: Supporting rapid prototyping of data science workflows through data-driven analysis recommendationsInformation Visualization10.1177/1473871623119042923:1(21-39)Online publication date: 14-Aug-2023
  • Show More Cited By

Index Terms

  1. Codestrates: Literate Computing with Webstrates

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    UIST '17: Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology
    October 2017
    870 pages
    ISBN:9781450349819
    DOI:10.1145/3126594
    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 ACM 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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 20 October 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. interactive notebooks
    2. literate computing
    3. literate programming
    4. real-time collaboration
    5. reprogrammable systems

    Qualifiers

    • Research-article

    Funding Sources

    • Aarhus University Research Foundation
    • Innovation Fund Denmark

    Conference

    UIST '17

    Acceptance Rates

    UIST '17 Paper Acceptance Rate 73 of 324 submissions, 23%;
    Overall Acceptance Rate 561 of 2,567 submissions, 22%

    Upcoming Conference

    UIST '25
    The 38th Annual ACM Symposium on User Interface Software and Technology
    September 28 - October 1, 2025
    Busan , Republic of Korea

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)34
    • Downloads (Last 6 weeks)6
    Reflects downloads up to 25 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)MyWebstrates: Webstrates as Local-first SoftwareProceedings of the 37th Annual ACM Symposium on User Interface Software and Technology10.1145/3654777.3676445(1-12)Online publication date: 13-Oct-2024
    • (2024)Don't Step on My Toes: Resolving Editing Conflicts in Real-Time Collaboration in Computational NotebooksProceedings of the 1st ACM/IEEE Workshop on Integrated Development Environments10.1145/3643796.3648453(47-52)Online publication date: 20-Apr-2024
    • (2023)Lodestar: Supporting rapid prototyping of data science workflows through data-driven analysis recommendationsInformation Visualization10.1177/1473871623119042923:1(21-39)Online publication date: 14-Aug-2023
    • (2023)Supporting Co-Regulation and Motivation in Learning Programming in Online ClassroomsProceedings of the ACM on Human-Computer Interaction10.1145/36100897:CSCW2(1-29)Online publication date: 4-Oct-2023
    • (2023)Lorgnette: Creating Malleable Code ProjectionsProceedings of the 36th Annual ACM Symposium on User Interface Software and Technology10.1145/3586183.3606817(1-16)Online publication date: 29-Oct-2023
    • (2023)CrossTalk: Intelligent Substrates for Language-Oriented Interaction in Video-Based Communication and CollaborationProceedings of the 36th Annual ACM Symposium on User Interface Software and Technology10.1145/3586183.3606773(1-16)Online publication date: 29-Oct-2023
    • (2023)Colaroid: A Literate Programming Approach for Authoring Explorable Multi-Stage TutorialsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581525(1-22)Online publication date: 19-Apr-2023
    • (2023)VizProg: Identifying Misunderstandings By Visualizing Students’ Coding ProgressProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581516(1-16)Online publication date: 19-Apr-2023
    • (2023)Code Code Evolution: Understanding How People Change Data Science Notebooks Over TimeProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3580997(1-12)Online publication date: 19-Apr-2023
    • (2023)Lyric App Framework: A Web-based Framework for Developing Interactive Lyric-driven Musical ApplicationsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3580931(1-18)Online publication date: 19-Apr-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media