[es] PROGRAMACIÓN VÍA INTERFAZ
[pt] PROGRAMAÇÃO VIA INTERFACE;
[en] PROGRAMMING VIA INTERFACE
Description
[pt] A indústria de software vem ao longo dos anos aumentando a funcionalidade das aplicações, numa tentativa de satisfazer as necessidades do maior número de usuários possível. Esta solução, no entanto, implica grandes desafios de usabilidade, devido à complexidade cada vez maior destas aplicações. Uma tendência que visa a acomodar as necessidades dos usuários sem sobrecarregar o software com funcionalidade de uso infreqüente é permitir que os próprios usuários finais configurem ou programem as aplicações, através de mecanismos de extensão que suportam um tipo específico de programação, chamado programação feita por usuários finais. Entretanto, grande parte das técnicas existentes para tal não conseguem atingir níveis aceitáveis de utilidade e usabilidade. Este trabalho trata alguns desafios de aplicações extensíveis, propondo uma abordagem que rompe com algumas barreiras entre interface e extensão. Esta abordagem traz para a interface, e ao alcance dos usuários finais, mecanismos de extensão de software com base em recursos semântico-pragmáticos, utilizando cálculos de metáforas e metonímias. Estes mecanismos foram escolhidos devido ao reconhecimento das Ciências Cognitivas do papel que desempenham em nosso raciocínio, em especial quando tentamos descrever ou entender um conceito abstrato ou complexo (Lakoff e Johnson, 1980; Lakoff, 1987; Lakoff, 1993; Ortony, 1993). Descrevemos um modelo de aplicações extensíveis que utiliza uma base de conhecimento onde devem ser representados os elementos do domínio e da aplicação que podem ser estendidos, bem como as classificações necessárias aos mecanismos de extensão. Nosso modelo considera os aspectos comunicativos das aplicações computacionais. Para garantir a consistência entre a aplicação original e a aplicação estendida, seguimos princípios da Engenharia Semiótica (de Souza, 1993) e prevemos, no modelo, a representação de regras que restringem as extensões na interface, a fim de refletir adequadamente as extensões de funcionalidade.[en] In the past few years, we have witnessed an increase in software functionality as an attempt to meet most users` needs. This approach brings about serious usability challenges, due to an increase in application complexity as well. In order to try and meet users` needs, without overloading the application with functionality that is rarely used, there is a tendency to allow end users to configure or program applications, by means of mechanisms that support the so-called end user programming. However, many existing techniques fail to attain acceptable thresholds of usefulness and usability. This work addresses some of the challenges posed by extensible applications. We follow an approach that drops some walls between interface and extension. This approach brings some extension mechanisms to the interface, and readily accessible to end- users, namely extensions based on the semantic-pragmatic resources of metaphors and metonymies. These mechanisms were chosen due to the acknowledgment of the Cognitive Sciences of their critical role in our reasoning processes, especially when we try to describe or understand complex or abstract concepts (Lakoff e Johnson, 1980; Lakoff, 1987; Lakoff, 1993; Ortony, 1993). We describe an extensible application model that makes use of a knowledge base in which we represent the domain and application elements that may be extended, as well as the necessary classifications for calculating the possible extensions. Our model takes into account the communicative aspects of computer applications, and follows Semiotic Engineering (de Souza, 1993) principles to guarantee the consistency between the original application and the extended one. For that purpose, our model entails the representation of rules that constrain interface amendments, so that extended functionality is adequately reflected at the resulting interface.
[es] La industria de software ha aumentado, a lo largo de los años, la funcionalidad de las aplicaciones, en un intento de satisfacer las necesidades del mayor número de usuarios posible. Esta solución, implica grandes desafíos de usabilidad, debido a la complejidad cada vez mayor de estas aplicaciones. Una tendencia que trata de acomodar las necesidades de los usuarios sin sobrecargar el software con funcionalidad de uso poco frecuente es permitir que los proprios usuarios finales configuren y programen las aplicaciones, a través de mecanismos de extensión que soportan un tipo específico de programación, llamado programación hecha por usuarios finales. Sin embargo, gran parte de las técnicas disponibles no consiguen alcanzar níveles aceptables de utilidad y usabilidad. Este trabajo trata algunos desafíos de aplicaciones extensibles, proponiendo un enfoque que rompe con algunas barreras entre interfaz y extensión. Este enfoque trae para la interfaz, y al alcance de los usuarios finales, mecanismos de extensión de software con base en recursos semántico-pragmáticos, utilizando cálculos de metáforas y metonímias. Estos mecanismos fueron escogidos debido al reconocimiento de las Ciencias Cognitivas del papel que desempeñan en nuestro raciocinio, en especial cuando tentamos describir o entender un concepto abstracto o complejo (Lakoff y Johnson, 1980; Lakoff, 1987; Lakoff, 1993; Ortony, 1993). Describimos un modelo de aplicaciones extensibles que utiliza una base de conocimiento donde deben ser representados los elementos del dominio y de la aplicación que pueden ser extendidos, bien como las clasificaciones necesarias a los mecanismos de extensión. Nuestro modelo considera los aspectos comunicativos de las aplicaciones computacionales. Para garantizar la consistencia entre la aplicación original y la aplicación extendida, seguimos los principios de la Ingeniería Semiótica (de Souza, 1993) y prevemos, en el modelo, la representación de reglas que limitan las extensiones en la interfaz, a fin de reflejar adecuadamente las extensiones de funcionalidad.