skip to main content
10.1145/2984380.2984386acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Evolving User Interfaces From Within Self-supporting Programming Environments: Exploring the Project Concept of Squeak/Smalltalk to Bootstrap UIs

Authors Info & Claims
Published:18 July 2016Publication History

ABSTRACT

It is common practice to create new technologies with the existing ones and eventually replace them. We investigate the domain of user interfaces (UIs) in self-supporting programming environments. The Squeak/Smalltalk programming system has a history of almost 20 years of replacing Smalltalk-80's model-view-controller (MVC) with Self's Morphic, a direct manipulation interface. In the course of this transition, we think it is likely that Squeak managed to provide an abstraction for arbitrary UI frameworks, called projects. In this paper, we describe plain Squeak without its user interface, considering object collaboration, code execution, and extension points in the virtual machine. We implemented a command-line interface, the Squeak Shell, to emphasize the simplicity of adding a new UI to Squeak using this project concept. We believe that self-supporting programming environments can benefit from multiple user interfaces to accommodate a variety of tasks.

References

  1. B. J. Allen-Conn and K. Rose. Powerful Ideas in the Classroom. Viewpoints Research Institute, Inc, 2003.Google ScholarGoogle Scholar
  2. P. Butterworth, A. Otis, and J. Stein. The GemStone Object Database Management System. Communications of the ACM, 34(10):64--77, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. S. Cooper, W. Dann, and R. Pausch. Alice: A 3-D Tool for Introductory Programming Concepts. In Journal of Computing Sciences in Colleges, volume 15, pages 107--116, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. P. Deutsch. The Past, Present and Future of Smalltalk. In Proceedings of the 3rd European Conference on Object-Oriented Programming (ECOOP), pages 73--87, 1989.Google ScholarGoogle Scholar
  5. T. Felgentreff, J. Lincke, R. Hirschfeld, and L. Thamsen. Lively Groups: Shared Behavior in a World of Objects Without Classes or Prototypes. In Proceedings of the Workshop on Future Programming, pages 15--22. ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. Felgentreff, T. Pape, L. Wassermann, R. Hirschfeld, and C. F. Bolz. Towards Reducing the Need for Algorithmic Primitives in Dynamic Language VMs Through a Tracing JIT. In Proceedings of the Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS). ACM, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. Freudenberg, D. H. Ingalls, T. Felgentreff, T. Pape, and R. Hirschfeld. SqueakJS: A Modern and Practical Smalltalk That Runs in Any Browser. In Proceedings of the 10th ACM Symposium on Dynamic languages (DLS), pages 57--66. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. Freudenberg, Y. Ohshima, and S. Wallace. Etoys for One Laptop Per Child. In 2009 Seventh International Conference on Creating, Connecting and Collaborating Through Computing (C5), pages 57--64. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Abstraction and Reuse of Object-oriented Design. Springer, 2001.Google ScholarGoogle ScholarCross RefCross Ref
  10. A. Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley Longman Publishing Co., Inc., 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. Goldberg and D. Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley Longman Publishing Co., Inc., 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. L. Hutchins, J. D. Hollan, and D. A. Norman. Direct Manipulation Interfaces. Human-Computer Interaction, 1(4):311--338, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Ingalls, T. Kaehler, J. Maloney, S. Wallace, and A. Kay. Back to the Future: The Story of Squeak---A Practical Smalltalk Written in Itself. ACM SIGPLAN Notices, 32(10):318--326, October 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Ingalls, K. Palacz, S. Uhler, A. Taivalsaari, and T. Mikkonen. The Lively Kernel: A Self-supporting System on a Web Page. In Self-Sustaining Systems, pages 31--50. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. D. Ingalls, S. Wallace, Y. Chow, F. Ludolph, and K. Doyle. Fabrik: A Visual Programming Environment. ACM SIGPLAN Notices, 23(11):176--190, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. W. R. LaLonde and J. R. Pugh. Inside Smalltalk Volume II. Prentice Hall USA, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Maloney. An Introduction to Morphic: The Squeak User Interface Framework. Squeak: Open Personal Computing and Multimedia, 2001.Google ScholarGoogle Scholar
  18. J. Maloney, M. Resnick, N. Rusk, B. Silverman, and E. Eastmond. The Scratch Programming Language and Environment. ACM Transactions on Computing Education (TOCE), 10(4):16:1--16:15, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. H. Maloney and R. B. Smith. Directness and Liveness in the Morphic User Interface Construction Environment. In Proceedings of the 8th Symposium on User Interface and Software Technology (UIST), pages 21--28. ACM, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. McCarthy. LISP 1.5 Programmer's Manual. MIT press, 1965. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Y. Ohshima, J. Maloney, and A. Ogden. The Parks PDA: A Handheld Device for Theme Park Guests in Squeak. In Companion of the 18th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA), pages 370--380. ACM, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. S. P. Reiss, J. N. Bott, and J. J. La Viola. Plugging In and Into Code Bubbles: The Code Bubbles Architecture. Software: Practice and Experience, 44(3):261--276, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. A. Smith, A. Kay, A. Raab, and D. P. Reed. Croquet - A Collaboration System Architecture. In Proceedings of the Conference on Creating, Connecting and Collaborating Through Computing (C5) 2003, pages 2--2. IEEE, Jan. 2003.Google ScholarGoogle ScholarCross RefCross Ref
  24. R. B. Smith. Experiences with the Alternate Reality Kit: An Example of the Tension Between Literalism and Magic. In ACM SIGCHI Bulletin, volume 17, pages 61--67. ACM, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. Taeumel, M. Perscheid, B. Steinert, J. Lincke, and R. Hirschfeld. Interleaving of Modification and Use in Data-driven Tool Development. In Proceedings of the 2014 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming & Software (Onward!), pages 185--200. ACM, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. S. L. Tanimoto. A Perspective on the Evolution of Live Programming. In Proceedings of the 1st International Workshop on Live Programming (LIVE), pages 31--34. IEEE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. D. Ungar and R. B. Smith. Self. In Proceedings of the 3rd Conference on History of Programming Languages (HOPL), pages 9/1--9/50. ACM SIGPLAN, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    PX/16: Proceedings of the Programming Experience 2016 (PX/16) Workshop
    July 2016
    60 pages
    ISBN:9781450347761
    DOI:10.1145/2984380

    Copyright © 2016 ACM

    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].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 18 July 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader