
Gustavo RossiUniversidad Nacional de La Plata | UNLP · Laboratorio de Investigación y Formación en Informática Avanzada LIFIA
Gustavo Rossi
PhD in Computer Science
About
375
Publications
136,233
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
7,118
Citations
Introduction
Additional affiliations
December 1988 - present
Publications
Publications (375)
The metaphor of technical debt (TD) has generated a conceptual framework on factors that weaken the quality of software and accumulate a repair cost. However, user-related aspects like user experience (UX) receive little consideration among TD types, for reasons like the substantial focus on code TD, some dynamics inherent to agile processes, and a...
The acquisition of new knowledge, by means of teaching programming languages, tools, methodologies, and development processes, is a need in the software industry to retain the experience of the programmer within the organization. This work aims analysing existing research on techniques, tools, approaches and experiences applied to the transmission...
Designing and evaluating user interfaces is a complex task. The current focus on user experience (UX) demands user-centered processes that take considerable time and resources, and thus collide with the fast-paced agile methodologies that currently dominate the industry. In this context, academia and industry have proposed the automation of differe...
It is generally difficult in agile teams, specially those geographically distributed, to keep up with the user experience (UX) issues that emerge on each product increment. UX designers need the help of developers to set up user testing environments and to code improvements to the user interface, while developers are too busy with functionality iss...
Different research fields related to the web require detecting similarity between DOM elements. In the field of information extraction, many approaches emerged to extract structured data from web documents, most of which require comparing sample documents to extract their underlying structure. Other fields of applicability like web augmentation or...
The metaphor of Technical Debt (TD) has generated a conceptual framework on factors that weaken the quality of software and accumulate a repair cost. However, user-related aspects like user experience (UX) receive little consideration among TD types, for reasons like the substantial focus on code TD, some dynamics inherent to agile processes, and a...
The use of prototypes in requirements engineering has widely known benefits since they actively involve the stakeholders in the development process. Web Augmentation techniques make it possible to build prototypes relying on existing web applications. Thus, high fidelity mockups can be quickly generated. One of the most critical activities is divid...
The product of good design should render a tool invisible for a user who is executing a task. Unfortunately, web applications are often far from invisible to users, who struggle with poor design of websites and processes in them. We are particularly interested in web processes that involve form filling, so we have been studying how people interact...
We discuss modeling in the context of agile software development and reflect on how we, as educators, can use modeling to help improve agile practices.
The steady evolution of wearable technology—along with augmented reality (AR)—has enabled important advances in teaching and learning. We present STEM Education, an interactive AR application for smart glasses. We evaluate the app’s user experience (UX) with undergraduate STEM (Science, Technology, Engineering, and Mathematics) students. More speci...
We study how STEM students experience the use of smart glasses for the first time. We evaluate the glasses’ usability, degree of technological acceptance, experience, and elicited emotional response. To this end, we resort to several quantitative instruments and semi-structured interviews. We found that students greatly appreciate the potential and...
This article addresses search tasks, which are the most frequent type of tasks users do nowadays on the Web. We suggest that the customization of search services would improve the user’s searching experience, and it also might make search tasks more effective and efficient. We analyze user tasks for performing searches and types of search services....
The development of software systems is a complex activity because of the nature of the software and the management of its construction. The software is by essence complex, since it should capture all the particularities of a domain. The development is also complex because many people with different skills and concerns participate to build a unique...
The Internet of Things (IoT) is a technological paradigm involved in a diversity of domains with favorable impacts on people’s daily lives and the development of industry and cities. Nowadays, one of the most critical challenges is developing software for IoT systems since the traditional Software Engineering methodologies and tools are unproductiv...
The product of good design should render a tool invisible for a user who is executing a task. Unfortunately, web applications are often far from invisible to users, who struggle with poor design of websites and processes in them. We are particularly interested in web processes that involve form filling, so we have been studying how people interact...
Most documents in the WWW are generated from templates that represent user interface (UI) elements, and later filled with contents. In the field of information extraction, many approaches emerged to analyze the documents' structure, obtain similar features amongst them, and generate wrappers that are used to extract the raw contents from such docum...
Nowadays, end-users are able to adapt Web applications when some of their requirements have not been taken into account by developers. One possible way to do adaptations is by using Web Augmentation techniques. Web Augmentation allows end-users to modify the Web sites’ user interfaces once these are loaded on the client-side, i.e., in the browser....
Web extensions are powerful software artifacts that allow end-users to adapt and enrich a website. These extensions run on the user's web browser as a single-user software that manipulates available third-party web contents. Many of them offer some collaborative features that depend on a web application. The need of two co-depending software artifa...
Since the adoption of portable devices like smartphones or smartwatches, the usage of applications has rapidly increased for supporting diverse daily activities from connecting with friends to measuring running distance. Since the Apps are an ubiquitous tool in everyday life, it is also an opportunity for a new digital business model. However, ther...
User experience (UX) is related to the feelings and emotions that people undergo when interacting with technology. This concept also applies to wearable devices, such as smart glasses, which have been widely adopted in a myriad of contexts in recent years. This paper analyzes the literature on user experience with smart glasses, with a particular f...
In the past decades recommender systems have become a powerful tool to improve personalization on the Web. Yet, many popular websites lack such functionality, its implementation usually requires certain technical skills, and, above all, its introduction is beyond the scope and control of end-users. To alleviate these problems, this paper presents a...
Web augmentation is a set of techniques allowing users to define and execute software which is dependent on the presentation layer of a concrete Web page. Through the use of specialized Web augmentation artifacts, the end users may satisfy several kinds of requirements that were not considered by the analysts, developers and stakeholders that built...
La industria del software requiere de productos y servicios de alta calidad, puede lograrse mediante la aplicación de modelos y metodologías de calidad reconocidos internacionalmente. Sin embargo, estos modelos en pequeñas y medianas empresas (PYMES) son muy difíciles de implementar ya que ello implica una gran inversión en dinero, tiempo y recurso...
Context: The development of software systems is a complex activity because of its nature and the management of its construction. It is challenging to create and follow a plan. Moreover, budget overrun is a common consequence of this situation. Agile methods, like Scrum, help to mitigate this problem using incremental and iterative development. Agil...
Usability and user interaction improvement is a central task in web development to guarantee the success of a web application. However, designers are barely able to keep up with the current development cycle because their practices are too costly, while interaction issues accumulate in applications that end-users keep suffering. In this work, we pr...
Web extensions are currently the most frequently used mechanism for end-users to externally adapt and enrich the web. While most functionality offered by extensions runs on the browser, extensions that offer collaboration, complex computation, or massive storage rely on a centralized server. Relying on a server increases the cost of building, deplo...
Abstract—The multi-device era comes thanks to mobile computing which gives remote access to resources from anywhere changing the people’s life and opening new business opportunities. However, the legacy systems do not render the content properly in mobile devices because they were thought to be only compliant with Web browsers. Economic availabilit...
Nowadays, the development of Web applications supporting distributed user interfaces (DUI) is straightforward. However, it is still hard to find Web sites supporting this kind of user interaction. Although studies on this field have demonstrated that DUI would improve the user experience, users are not massively empowered to manage these kinds of i...
The emergence of Web personalization allowed introducing improvements to an application that runs as a black box just considering those perceivable behaviors by the end-user. In spite of which mechanisms (personalization, customization, etc.) that a particular application supports; it is not realistic to state that any application, being idealized...
The Web is a natural platform for end-user development given the amount of services and contents that users may require to adapt, automate, etc. Transcodings, mashups, Web augmentation, and other techniques have emerged to allow end users to improve their Web experiences. In this context, the use of Web browser extensions is a very common strategy...
Voice Assistants, and particularly the latest gadgets called smart speakers, allow end users to interact with applications by means of voice commands. As usual, end users are able to install applications (also called skills) that are available in repositories and fulfill multiple purposes. In this work we present an end-user environment to define s...
In this chapter, we discuss methods and tools for adapting user interfaces to make them more accessible. We introduce the problem of user interface adaptation and characterize different techniques to be adapted to the user interface. We show that there is a broad range of methods and tools to transform existing interfaces to make them accessible. W...
The trend towards mobile devices usage has put more than ever the Web as a ubiquitous platform where users perform all kind of tasks. In some cases, users access the Web with 'native' mobile applications developed for well-known sites, such as LinkedIn, Facebook, Twitter, etc. These native applications might offer further (e.g. location-based) func...
Nowadays, the development of Web applications supporting distributed user interfaces (DUI) is straightforward. However, it is still hard to find Web sites supporting this kind of user interaction. Although studies on this field have demonstrated that DUI would improve the user experience, users are not massively empowered to manage these kinds of i...
The World Wide Web is a vast and continuously changing source of information where searching is a frequent, and sometimes critical, user task. Searching is not always the user's primary goal but an ancillary task that is performed to find complementary information allowing to complete another task. In this paper, we explore primary and/or ancillary...
The Web is a vast source of semi-structured datasets that are made readily available to support the construction of new knowledge. Information visualization techniques have been demonstrated as a suitable alternative for allowing users to analyze and understand a large amount of data. However, the steps required for visualizing semi-structured data...
Automating usability diagnosis and repair can be a powerful assistance to usability experts and even less knowledgeable developers. To accomplish this goal, evaluating user interaction automatically is crucial, and it has been broadly explored. However, most works focus in long interaction sessions, which makes it difficult to tell how individual i...
Mobile applications changed unexpectedly people life and business models around the world. Nevertheless, there are old applications, called legacies, without adaptation to mobile devices, because this adaptation or migration have a considerable cost in dependence of software scope. Currently, most users bring constantly their smartphones and other...
Usability evaluation is an essential task in web application development. There have been several attempts to integrate user-centered design with agile methods, but it is hard to synchronize their practices. User testing is very valuable to learn from feedback of actual use, but it remains expensive to find and solve usability problems. Furthermore...
In modern software development, much time is devoted and much attention is paid to the activity of data modeling and the translation of data models into databases. This has motivated the proposal of different approaches and tools to support this activity, such as semiautomatic approaches that generate data models from requirements artifacts using t...
Applications on mobile devices have had an exponential grow; however, there are business legacies 1.0 that have not migrated or have not been adapted due to the operating or economic cost involved in the required migration. The companies are not often aware of the benefits the mobile applications have to generate new business models. This paper aim...
Client-Side Web Refactorings (CSWRs) allow improving interaction aspects of web applications by applying changes to the user interface without altering the code base, even in production settings. However, developers are not always willing, or even allowed to apply external adaptations to their applications’ user interface. Besides, CSWRs do not gua...
Applications on mobile devices have had an exponential grow; however, there are business legacies 1.0 that have not migrated or have not been adapted due to the operating or economic cost involved in the required migration. The companies are not often aware of the benefits the mobile applications have to generate new business models. This paper aim...
Recommender systems are integrated with a significant number of Web applications helping users to find what may be of their interest. However, these systems do not always satisfy the users’ expectations regarding when and where recommendations are available, what is recommended, the source of the recommendations or how they are presented. Moreover,...
Agile approaches, one of the key methodologies used in today’s software projects, often rely on user interface mockups for capturing the goals that the system must satisfy. Mockups, as any other requirement artifact, may suffer from ambiguity and contradiction issues when several points of view are surveyed/elicited by different analysts. This arti...
Web Applications are accessed by millions of users with different needs, goals, concerns, or preferences. Several well-known Web Applications provide personalized features, e.g., they recommend specific content to users by contemplating individual characteristics or requirements. However, since most Web Application cannot consider all users’ requir...
Received (to be filled by the JWE editorial) Revised (to be filled by the JWE editorial) Model-Driven Web Engineering approaches have become an attractive research and technology solution for Web application development. However, for more than 20 years of development, the industry has not adopted them due to the mismatch between technical versus re...
Student Forum is a new column that intends to connect IT students with industry, government, and academia.
Volunteering is an indispensable cornerstone of our society, covering nearly every part of our life, from social care to emergency management and education. This omnipresence of volunteering led to a plethora of volunteer management systems (VMS), mainly supporting NPOs in scheduling and allocating tasks to volunteers. In contrast to this NPO-centr...
While Web applications have become pervasive in today's business, social interaction and information exchange, their usability is often deficient, even being a key factor for a website success. Usability problems repeat across websites, and many of them have been catalogued, but usability evaluation and repair still remains expensive. There are eff...
Usability has long been recognized as an important software quality attribute and it has become essential in web application development and maintenance. However, it is still hard to integrate usability evaluation and improvement practices in the software development process. Moreover, these practices are usually unaffordable for small to medium-si...
The importance of the Internet of Things (IoT) in our society is reflected by its exponential growth over recent and years to come. The Web of Things (WoT) emerged as a special case of IoT, allowing end-users to deal with their devices through Web applications, with which they are familiar. However, as more users are reached by this technology, it...
Web applications must quickly adapt to new business demands to keep clients onboard. When unexpected and unforeseen requirements appear, the changes pose challenges to software engineers as they were not considered in the application design and such new functionality can be only valid only for a period in certain situations.
This work presents a co...
REP (Requirements Engineering Process) is one of the most essential processes within the software project life cycle because it allows describing software product requirements. This specification should be as consistent as possible to enable estimating in a suitable manner the effort required to obtain the final product. REP is complex in itself, b...
The software industry is applying Model-driven development approaches due to a core set of benefits, such as raising the level of abstraction and reducing coding errors. However, their underlying modeling languages tend to be quite static, making their evolution hard, specifically when the corresponding metamodel does not support primitives and/or...
This article presents MoWA Authoring, an End User Development platform supporting the improvement of existing –usually third party– Web applications with mobile features. This enhancement is carried out by the addition of specific behaviours, mostly dependent on context values. The tool assists the user in the construction of applications by easily...
The World Wide Web is a vast and continuously changing source of information where searching is a frequent, and sometimes critical, user task. Searching is not always the user’s primary goal but an ancillary task that is performed to find complementary information allowing to complete another task. In this paper, we explore primary and/or ancillary...
In this work we present an approach for creating Personal Web applications by reusing existing content that can be extracted even from third-party Web sites. Our approach starts with the harvesting of content from diverse Web sites, by DOM manipulation. Users without programming skills are empowered with tools for transforming DOM elements into mea...
Mobile Web Applications combine traditional navigation access enriched with location-based services, which results in a more complex development process since there are a myriad of issues to consider while integrating these kinds of behaviours. This complexity increases even more if the integration of another specific functionality is considered, a...
The trend towards mobile devices usage has made it possible for the Web to be conceived not only as an information space but also as a ubiquitous platform where users perform all kinds of tasks. In some cases, users access the Web with native mobile applications developed for well-known sites, such as, LinkedIn, Facebook, and Twitter. These native...
odel-Driven Web Engineering (MDWE) approaches aim to improve the Web applications development process by focusing on modeling instead of coding, and deriving the running application by transformations from conceptual models to code. The emergence of the Interaction Flow Modeling Language (IFML) has been an important milestone in the evolution of We...