4 research outputs found
Application of software mining to automatic user interface generation
Many software projects spend a significant proportion of their time developing the User Interface, so any degree of automation in this area has clear benefits. Research projects to date generally take one of three approaches: interactive graphical specification tools, model-based generation tools, or languagebased tools. The first two have proven popular in industry but are labour intensive and error-prone. The third is more automated but has practical problems which limit its usefulness. This paper proposes applying the emerging field of software mining to perform runtime inspection of an application's architecture and reduce the labour intensive nature of interactive graphical specification tools and model-based generation tools. It also proposes UI generation can be made more practical by delimiting useful bounds to the generation process. The paper concludes with a description of a prototype project that implements these ideas
Recommended from our members
Integration of relational database metadata and XML technology to develop an abstract framework to generate automatic and dynamic web entry forms.
Developing interactive web application systems requires a large amount of effort on designing database, system logic and user interface. These tasks are expensive and error-prone. Web application systems are accessed and used by many different sets of people with different backgrounds and numerous demands. Meeting these demands requires frequent updating for Web application systems which results in a very high cost process. Thus, many attempts have been made to automate, to some degree, the construction of Web user interfaces. Three main directions have been cited for this purpose. The first direction suggested of generating user interfaces from the application¿s data model. This path was able to generate the static layout of user interfaces with dynamic behaviour specified programmatically. The second tendency suggested deployment of the domain model to generate both, the layout of a user interface and its dynamic behaviour. Web applications built based on this approach are most useful for domain-specific interfaces with a relatively fixed user dialogue. The last direction adopted the notion of deploying database metadata to developing dynamic user interfaces. Although the notion was quite valuable, its deployment did not present a generic solution for generating a variety of types of dynamic Web user interface targeting several platforms and electronic devices.
This thesis has inherited the latter direction and presented significant improvements on the current deployment of this tendency. This thesis aims to contribute towards the development of an abstract framework to generate abstract and dynamic Web user interfaces not targeted to any particular domain or platform. To achieve this target, the thesis proposed and evaluates a general notion for implementing a prototype system that uses an internal model (i.e. database metadata) in conjunction with XML technology. Database metadata is richer than any external model and provides the information needed to build dynamic user interfaces. In addition, XML technology became the mainstream of presenting and storing data in an abstract structure. It is widely adopted in Web development society because of its ability to be transformed into many different formats with a little bit of effort. This thesis finds that only Java can provide us with a generalised database metadata based framework. Other programming languages apply some restrictions on accessing and extracting database metadata from numerous database management systems. Consequently, JavaServlets and relational database were used to implement the proposed framework. In addition, Java Data Base Connectivity was used to bridge the two mentioned technologies.
The implementation of our proposed approach shows that it is possible and very straightforward to produce different automatic and dynamic Web entry forms that not targeted at any platform. In addition, this approach can be applied to a particular domain without affecting the main notion or framework architecture. The implemented approach demonstrates a number of advantages over the other approaches based on external or internal models
Collaboration Between Developers and Designers
Customer-facing applications are essential for businesses. Therefore, a good user experience
is fundamental for their success in the market. Companies nowadays employ highly
specialized people in front-end development and User Experience (UX) & User Interface
(UI) design to achieve this goal. Their collaboration is critical, and raises some efficiency
challenges in the software industry. This work focuses and is applied on OutSystems, a
low-code platform that inherits these challenges.
While there are some code-generation plugins for popular design tools, these do
not generate code for low-code platforms. Therefore, the transformation process from
design to development is done 100% manually, which is highly inefficient. Our goal is to
accelerate this transformation process from a design model to a development model to
mitigate this inefficiency.
To do so, we developed an approach using model transformation techniques that automates
part of the process. Namely, it automates the generation of application pages/screens
by composing the screen mockups in a design technology (such as Figma or Sketch) with
a library of reusable UI components to instantiate the design in a front-end technology
(such as OutSystems).
Our approach was validated by a professional team of front-end developers from an
established enterprise-grade low-code platform who applied and evaluated this work on
some of their past real projects. Preliminary results show an overall acceptance of the developed
tool with a possible increase of 150% to 400% in the value that they can deliver
without investing more effort than they already do today. This mitigates a bottleneck
faced by development teams today. To increase the value, they could offer to customers
(e.g., by producing more application screens in the same period), they would need to
recruit new collaborators whose skill set is high on demand. This work delivers major efficiency
improvements and lessens the severe lack of qualified professionals, by allowing
existing ones to produce more without investing further effort.As aplicações são algo essencial para as empresas. Uma boa experiência de utilizador é
fundamental para o sucesso destas aplicações no mercado. Hoje em dia, para alcançar este
objetivo, as empresas empregam pessoas altamente especilaizadas em desenvolvimento
Front-End e de UX (User Experience) & UI (User Interface) design. A colaboração destas
equipas é crucial e de momento apresenta desafios de eficiência na indústria do software.
Este trabalho foca-se na OutSystems, uma plataforma low-code, que tem subjacente estas
ineficiências que estão presentes em toda a industria.
Embora atualmente existam alguns plugins de geração de código para as ferramentas
de design populares, estes não geram código para plataformas low-code. Portanto, o
processo de transformação de design para desenvolvimento é um processo 100% manual,
o que resulta em perdas de eficiência que serão refletidas no valor final entregue aos
clientes. O nosso objetivo é acelarar este processo de conversão de um modelo de design
para um modelo de desenvolvimento Front-End para mitigar esta ineficiência.
Para tal, desenvolvemos uma abordagem utilizando técnicas de transformação de modelos
que automatizam parte do processo. Nomeadamente, este automatiza a geração de
páginas/ecrãs de aplicações através da composição de mockups de ecrãs numa tecnologia
de design (como o Sketch) com uma biblioteca de componentes de UI reutilizáveis para
instanciar o design numa tecnologia Front-End (como a OutSystems).
A nossa abordagem foi validada por uma equipa profissional de desenvolvimento
Front-End de uma plataforma low-code de nível empresarial que aplicaram e avaliaram
o trabalho em projetos passados reais da equipa. Os resultados preliminares mostram
uma aceitação global da ferramenta desenvolvida, com um possível aumento entre 150%
a 400% no valor que conseguem oferecer.
Isto permite mitigar um ponto de fricção que as equipas de desenvolvimento encontram
de momento. Para aumentar o valor que a equipa consegue entregar aos clientes
(por exemplo, através da produção de mais ecrãs no mesmo período de tempo), estes
necessitariam de empregar novos colaboradores cujas habilidades têm elevada procura.
O nosso trabalho oferece uma alternativa mais económica para o aumento da eficiência e
ao mesmo tempo diminui o impacto da escassez de profissionais qualificados, ao permitir que os já existentes consigam produzir mais sem investimento adicional da sua parte
Annotation of Musical Scores: Interaction and Use Behaviours of Performing Musicians
This qualitative research study was an attempt to gain a deeper understanding of the interaction and use behaviors of performing musicians. Through qualitative data analysis of 25 musician interviews, and 193 musical scores (or parts), representing over 25,000 separate annotations, this project uncovered the motivations, necessary knowledge, and methods by which musicians annotate and thereby internalize the instructions set out in the score. The aggregate data from the interviews and data analysis provide the basis for understanding annotation's utility for future users, and the development of more robust and useful music digital library tools and systems. This research also has the more general and theoretical applicability for those interested in how humans interact with interpretable, structured, largely symbolic and formalized information. Bringing together practical applications and theoretical concerns, the findings generated by this research will have wide effect in the Information Science community