1,795 research outputs found

    A model for widget composition in the OutSystems Platform

    Get PDF
    Developers use visual programming languages for faster development of user interfaces due to better ease of use, readability, component reusability – widgets –, and an instant preview of the desired effects. However, the most common composition models to form user interfaces are black-box: combine existing widgets to form new widgets, but generally do not allow indiscriminate modification of their internal components. The OutSystems platform provides a What You See Is What You Get (WYSIWYG) experience where developers can build user interfaces by assembling user interface elements from predefined building blocks: the more fundamental and native components (widgets) represent HTML elements, and custom-made building blocks (web blocks) represent reusable compositions. However, web blocks and widgets are not uniform. Currently, through some workarounds, creators can define compositions that, after instantiated, their inside components can be customizable by other developers, but they either do not follow OutSystems’ good practices for creating web applications, do not show the user’s customizations – no preview –, or need expertise that citizen developers do not have. Our objectives with this work are to develop a new composition model for user interface components that allows to customize the properties of the inner elements of reusable compositions at the places where they are instantiated, integrate the model with the platform in a visual and interactive way where creators can control what can be modified, and users can customize respectively while getting a consistent preview. Reusable compositions in the OutSystems language are unique and static. Thus, for developers to be able to change internal components of a composition and get a preview of that change, the underlying models must explicitly receive and transmit properties of the components internal state to the composition elements. The work was validated by usability testing and by comparison between our solution with widgets that are specialized by OutSystems for specific use cases. The new presented approach is faster and more intuitive to use than what is currently offered by OutSystems. We also observed it works best in tandem with mechanisms already in place (e.g., input parameters) to offer more complete reusable compositions. In the end, all objectives were met, providing a working solution which enables users to customize their or other’s web blocks. With this work, reusable composition creators and users will get more control, customization possibilities, and user experience more intuitive, increasing productivity and user satisfaction.Os programadores usam linguagens de programação visual para um desenvolvimento mais rápido das interfaces de utilizador devido à maior facilidade de uso, legibilidade, reutilização de componentes – widgets – e uma visualização instantânea dos efeitos desejados. No entanto, os modelos de composição mais comuns para formar interfaces de utilizador são black-box: combinam os widgets existentes para formar novos widgets, mas geralmente não permitem modificações indiscriminadas dos seus componentes internos. A plataforma OutSystems fornece uma experiência What You See Is What You Get (WYSIWYG), na qual os programadores podem criar interfaces de utilizador ao montar elementos da interface de utilizador a partir de blocos de construção predefinidos: os componentes mais básicos e nativos (widgets) representam elementos HTML e blocos de construção personalizados (web blocks) representam composições reutilizáveis. No entanto, web blocks e widgets não são uniformes. Atualmente, por meio de soluções alternativas, os criadores podem definir composições que, após instanciadas, os componentes internos podem ser customizados por outros programadores, mas estas não seguem as boas práticas da OutSystems para criar aplicações Web, não mostram as customizações do utilizador – sem preview –, ou são necessários conhecimentos que os programadores podem não possuem. Os nossos objetivos com este trabalho são desenvolver um novo modelo de composição para componentes da interfaces de utilizador que permita customizar as propriedades dos elementos internos das composições reutilizáveis nos locais em que são instanciadas, integrar o modelo à plataforma de maneira visual e interativa, onde os criadores podem controlar o que pode ser modificado e os utilizadores podem customizar respectivamente enquanto obtêm uma visualização consistente. As composições reutilizáveis na linguagem OutSystems são únicas e estáticas. Assim, para que os programadores possam alterar os componentes internos de uma composição e obter um preview dessa alteração, os modelos subjacentes devem receber e transmitir explicitamente propriedades do estado interno dos componentes para os elementos da composição. O trabalho foi validado através de testes de usabilidade e comparação entre a nossa solução e com widgets especializados pela OutSystems para casos de uso específicos. A nova abordagem apresentada é mais rápida e mais intuitiva para usar do que o modelo de composição que é atualmente oferecido pela OutSystems. Também observámos que é mais eficiente usar em conjunto com os mecanismos já existentes (e.g., parâmetros de entrada) para oferecer composições reutilizáveis mais completas. No final, todos os objetivos foram alcançados, fornecendo uma solução funcional que permite aos utilizadores customizar os seus web blocks ou os de outros. Com este trabalho criadores e utilizadores de composições reutilizáveis terão mais controlo, possibilidades de customização e experiência do utilizador mais intuitiva, aumentando a produtividade e a satisfação do programado

    Musikla: Language for generating musical events

    Get PDF
    In this paper, we'll discuss a simple approach to integrating musical events, such as notes or chords, into a programming language. This means treating music sequences as a first class citizen. It will be possible to save those sequences into variables or play them right away, pass them into functions or apply operators on them (like transposing or repeating the sequence). Furthermore, instead of just allowing static sequences to be generated, we'll integrate a music keyboard system that easily allows the user to bind keys (or other kinds of events) to expressions. Finally, it is important to provide the user with multiple and extensible ways of outputing their music, such as synthesizing it into a file or directly into the speakers, or writing a MIDI or music sheet file. We'll structure this paper first with an analysis of the problem and its particular requirements. Then we will discuss the solution we developed to meet those requirements. Finally we'll analyze the result and discuss possible alternative routes we could've taken.- (undefined

    Microservice-based Reference Architecture for Semantics-aware Measurement Systems

    Get PDF
    Cloud technologies have become more important than ever with the rising need for scalable and distributed software systems. A pattern that is used in many such systems is a microservice-based architecture (MSA). MSAs have become a blueprint for many large companies and big software systems. In many scientific fields like energy and environmental informatics, efficient and scalable software systems with a primary focus on measurement data are a core requirement. Nowadays, there are many ways to solve research questions using data-driven approaches. Most of them have a need for large amounts of measurement data and according metadata. However, many measurement systems still follow deprecated guidelines such as monolithic architectures, classic relational database principles and are missing semantic awareness and interpretation of data. These problems and the resulting requirements are tackled by the introduction of a reference architecture with a focus on measurement systems that utilizes the principles of microservices. The thesis first presents the systematic design of the reference architecture by using the principles of Domain-driven Design (DDD). This process ensures that the reference architecture is defined in a modular and sustainable way in contrast to complex monolithic software systems. An extensive scientific analysis leads to the core parts of the concept consisting of the data management and semantics for measurement systems. Different data services define a concept for managing measurement data, according meta data and master data describing the business objects of the application implemented by using the reference architecture. Further concepts allow the reference architecture to define a way for the system to understand and interpret the data using semantic information. Lastly, the introduction of a frontend framework for dashboard applications represents an example for visualizing the data managed by the microservices

    Data storing with an external web database for e-learning activities in Second Life

    Get PDF
    Projecte realitzat mitjançant programa de mobilitat. POLITECNICO DI TORINO. III FACOLTÀ DI INGEGNERIAImplemented an external database in order to save E-Learning gathered information from Second Life, as Second Life does not provide a native way to do it. It involved: - Implementing a script in Second Life (in the SLS scripting language) which collects information and it sends to an external server. - Implementing a server that receives the information from the Second Life script, saves it to a database, and also provides a web application that allows administrators (i.e. professors) to manage information (meetings, activities and locations in which to to these activities) and users (i.e. students) to see this information

    Behavior Trees with Dataflow: Coordinating Reactive Tasks in Lingua Franca

    Full text link
    Behavior Trees (BTs) provide a lean set of control flow elements that are easily composable in a modular tree structure. They are well established for modeling the high-level behavior of non-player characters in computer games and recently gained popularity in other areas such as industrial automation. While BTs nicely express control, data handling aspects so far must be provided separately, e. g. in the form of blackboards. This may hamper reusability and can be a source of nondeterminism. We here present a dataflow extension to BTs that explicitly models data relations and communication. We provide a combined textual/graphical approach in line with modern, productivity-enhancing pragmatics-aware modeling techniques. We realized and validated that approach in the recently introduced polyglot coordination language Lingua Franca (LF)

    Weaving the Web(VTT) of Data

    Get PDF
    International audienceVideo has become a first class citizen on the Web with broad support in all common Web browsers. Where with struc- tured mark-up on webpages we have made the vision of the Web of Data a reality, in this paper, we propose a new vi- sion that we name the Web(VTT) of Data, alongside with concrete steps to realize this vision. It is based on the evolving standards WebVTT for adding timed text tracks to videos and JSON-LD, a JSON-based format to serial- ize Linked Data. Just like the Web of Data that is based on the relationships among structured data, the Web(VTT) of Data is based on relationships among videos based on WebVTT files, which we use as Web-native spatiotemporal Linked Data containers with JSON-LD payloads. In a first step, we provide necessary background information on the technologies we use. In a second step, we perform a large- scale analysis of the 148 terabyte size Common Crawl corpus in order to get a better understanding of the status quo of Web video deployment and address the challenge of integrat- ing the detected videos in the Common Crawl corpus into the Web(VTT) of Data. In a third step, we open-source an online video annotation creation and consumption tool, targeted at videos not contained in the Common Crawl cor- pus and for integrating future video creations, allowing for weaving the Web(VTT) of Data tighter, video by video

    Completely Customizing Modern GUIs Through Command-Driven Interfaces

    Get PDF
    An ideal user interface accommodates the requirements and abilities of its users, and every user has a specific set of needs that must be fulfilled in order for an interface to be useful. This thesis concentrates on using the post-deployment tailoring technique of customization in order to ensure that an interface meets a user's needs and abilities in a final, user-driven design step. To this end, the more entirely a UI can be customized, the more perfectly it can be transformed into a state that best suits its user. Very few systems offer complete customization: allowing the entirety of an interface to be customized, baring change to its interaction style. While a few systems do offer complete customization, no fully customizable system exists that is built using modern widget-based GUI's. This is the goal of the architecture described in this thesis, the Interface Manager. It uses interface building techniques to make cosmetic customizations and a command-driven style similar to that of Unix shells to make functionality customizations. This system allows interfaces to become well suited to their user, but it also offers open questions about user-initiated innovation in software and the scaling of visual interface design tools

    Towards VocBench 3: Pushing collaborative development of thesauri and ontologies further beyond

    Get PDF
    More than three years have passed since the release of the second edition of VocBench, an open source collaborative web platform for the development of thesauri complying with Semantic Web standards. In these years, a vibrant user community has gathered around the system, consisting of public organizations, companies and independent users looking for open source solutions for maintaining their thesauri, code lists and authority resources. The focus on collaboration, the differentiation of user roles and the workflow management for content validation and publication have been the strengths of the platform, especially for those organizations requiring a centralized and controlled publication environment. Now the time has come to widen the scope of the platform: funded by the ISA2programme of the European Commission, VocBench 3 will offer a general-purpose collaborative environment for development of any kind of RDF dataset, improving the editing capabilities of its predecessor, while still maintaining the peculiar aspects that determined its success. In this paper, we review the requirements and the new objectives set for version 3, and then introduce the new characteristics that were implemented for this next iteration of the platform
    • …
    corecore