Publicação

User Interface for Live Programming Application Construction

Ver documento

Detalhes bibliográficos
Resumo:In today’s technology-driven society, as software becomes ubiquitous in everyday life, fostering new approaches to software development is essential for improving efficiency, quality, and usability. Traditional live programming environments often pose challenges: they are difficult for novices to approach and offer limited support for reactivity and incremental development. While live programming provides real-time feedback, most systems remain constrained by code-centric interaction models. This thesis presents the design andimplementation of a live programming environment that innovates data-centric application development through visual interaction. The system enables applications to be constructed and evolved incrementally, intertwining immediacy with dual modes of interaction: direct manipulation of visual elements and a command console for textual development. Program elements such as variables, actions, definitions, and HTML views are represented as nodes in a directed acyclic graph, making dependencies explicit and navigable. This visual composition is tightly coupled with realtime execution, so that every modification is instantly reflected in the running application. The environment emphasizes usability and clarity through organization, filtering, and search mechanisms, while maintaining expressiveness for advanced users. By abstracting away the syntax of the underlying language, it allows developers to work productively without prior familiarity with it, while still rewarding general programming knowledge. A user study with computer science students demonstrated the effectiveness of the approach: participants successfully built applications, reported high satisfaction and ease of use, and completed tasks with confidence. This thesis contributes to the fields of live programming and user-centered design by presenting a scalable environment that lowers the barrier to application development while broadening how applications can be created, tested, and refined.
Autores principais:Santos, João Pedro Branco dos
Assunto:live programming GUI user-centered design visual programming reactivity
Ano:2025
País:Portugal
Tipo de documento:dissertação de mestrado
Tipo de acesso:acesso aberto
Instituição associada:Universidade Nova de Lisboa
Idioma:inglês
Origem:Repositório Institucional da UNL
Descrição
Resumo:In today’s technology-driven society, as software becomes ubiquitous in everyday life, fostering new approaches to software development is essential for improving efficiency, quality, and usability. Traditional live programming environments often pose challenges: they are difficult for novices to approach and offer limited support for reactivity and incremental development. While live programming provides real-time feedback, most systems remain constrained by code-centric interaction models. This thesis presents the design andimplementation of a live programming environment that innovates data-centric application development through visual interaction. The system enables applications to be constructed and evolved incrementally, intertwining immediacy with dual modes of interaction: direct manipulation of visual elements and a command console for textual development. Program elements such as variables, actions, definitions, and HTML views are represented as nodes in a directed acyclic graph, making dependencies explicit and navigable. This visual composition is tightly coupled with realtime execution, so that every modification is instantly reflected in the running application. The environment emphasizes usability and clarity through organization, filtering, and search mechanisms, while maintaining expressiveness for advanced users. By abstracting away the syntax of the underlying language, it allows developers to work productively without prior familiarity with it, while still rewarding general programming knowledge. A user study with computer science students demonstrated the effectiveness of the approach: participants successfully built applications, reported high satisfaction and ease of use, and completed tasks with confidence. This thesis contributes to the fields of live programming and user-centered design by presenting a scalable environment that lowers the barrier to application development while broadening how applications can be created, tested, and refined.