• Aucun résultat trouvé

ESCAPE SEQUENCES

Dans le document TEXAS INSTRUMENTS (Page 49-53)

Interfaces gráficas geralmente são um meio do usuário interagir com funcionalidades de um sistema que se integra a essa interface. Nesse contexto, é comum que interfaces sejam desenvolvidas com uma certa funcionalidade que será integrada a outra base de código, seja essa base no mesmo dispositivo ou na nuvem. Nesse contexto, as duas ferramentas são deficientes no suporte à integração com outras bases de código e devido ao seu propósito mais focado na construção de interfaces.

O GUIslice é voltado apenas para a criação de interfaces, inserção de componentes e alguma ligação entre diferentes telas. Para que uma integração acontecesse entre uma interface em GUIslice e outra base de código, o mesmo problema enfrentado na customização dos elementos voltaria novamente à tona. Essa integração requisitaria uma noção mais robusta da API do GUIslice através do estudo da documentação oficial da ferramenta.

O Atomik, apesar de possuir diversas ferramentas que flexibilizam o processo de implementação do desenvolvedor, também não dá suporte nativo à integração com outras bases de código. Portanto, nas duas ferramentas uma integração com outras codebases teria que ser escrita do zero. Entretanto, apesar do Atomik não fornecer esse recurso nativamente, a

classe Container ou a classe Screen podem ser estendidas para a implementação dessa integração, podendo também ser reusada posteriormente.

5.5 Conclusão

De acordo com os critérios analisados, podemos perceber que o GUIslice é uma ferramenta adequada para construção rápida de interfaces. O Builder é eficiente para construir e organizar elementos de interface de maneira intuitiva. A possibilidade de utilização de componentes prontos como gráficos, botões e barras de progresso otimiza bastante a criação de interfaces de usuário. O código de interface gerado pelo Builder possui uma legibilidade fraca, porém isso não deve ser prioridade caso a necessidade seja apenas de uma interface funcional que apenas execute instruções.

No entanto, como falado no capítulo 3 sobre contexto histórico e trabalhos relacionados, a interface gráfica vem se tornando cada vez mais importante na experiência que um usuário tem de um produto e, caso a GUI seja aplicada num produto ou situação onde a experiência do usuário é importante, talvez o GUIslice não seja a melhor escolha. O Atomik fornece meios flexíveis para que a interface gráfica seja criada com comandos intuitivos. Exemplos desses meios são os elementos de interface e telas que podem ser estendidos para a implementação de novos recursos. Também tem-se o estilo é desacoplado do elemento para facilitar o reuso. Além desses, animações são implementadas numa camada de abstração que possibilita transições entre telas com poucas linhas de código.

Vale salientar que nenhuma ferramenta é melhor que outra, cada uma se encaixa no melhor num determinado contexto. O Atomik não vale a pena ser utilizado se a necessidade do desenvolvedor é criar uma interface simples de apenas uma tela que apenas exibe informações. Além disso, o Atomik possui recursos que o GUIslice poderia melhorar e vice-versa: o

Atomik poderia ter uma interface com o Builder e o GUIslice poderia ter a flexibilidade de customização do Atomik.

6 Considerações Finais

O Atomik foi desenvolvido com o propósito de fornecer à comunidade desenvolvedora de interfaces gráficas um meio mais prático de criar GUIs para sistemas embarcados. Alguns exemplos desses meios são as maneiras simples de se incorporar animações, hierarquia de elementos, estilização e outros recursos à interface gráfica através de instruções intuitivas e legíveis. Tais recursos visam aplacar a criação de GUIs sofisticadas num campo onde as ferramentas investigadas carecem de flexibilidade e customização.

A solução proposta pelo trabalho foi desenvolvida de forma a modularizar e baixar o acoplamento entre componentes que gerenciam a interface gráfica. Ao desacoplar as instâncias de classes como Screen,

Container e Style, o desenvolvedor tem mais liberdade de escolha ao

construir sua interface. Uma adaptação da metodologia meet-in-the-middle (Berger, 2002) foi utilizada para o desenvolvimento da solução. Para a validação do Atomik, foi realizada uma avaliação comparativa entre a solução proposta e a biblioteca GUIslice, assim como o GUIslice Builder, software responsável por criar interfaces que utilizam a GUIslice.

Alguns desafios encontrados durante o desenvolvimento foram enfrentados abraçando as limitações do sistema. Por exemplo, animações não puderam ser executadas em laços iterativos, devido ao baixo processamento do Arduino Mega. Entretanto, as animações puderam se tornar factíveis quando foram implementadas por máquinas de estados. Contudo, outros desafios trouxeram maiores modificações, como a adoção do Arduino Mega ao invés do Arduino Uno como plataforma de desenvolvimento do Atomik.

Trabalhos futuros relacionados ao melhoramento do Atomik seria a implementação de modelos para componentes. Um componente poderia se ligar a um modelo e consumir dados desse modelo, desacoplando o modelo de dados da sua representação na tela. Outro recurso que aumentaria a qualidade do Atomik seria a indexação de elementos da interface. Com essa indexação, o desenvolvedor poderia acessar qualquer elementos através de um identificador e manipulá-lo. Além disso, a criação de um suporte à

drivers na ferramenta traria um grande benefício ao desenvolvimento de

GUIs para sistemas embarcados. Dessa forma, GUIs construídas em Atomik poderiam ser portadas para outras plataformas apenas reescrevendo a camada que conecta a interface ao hardware, sem a necessidade de modificar o código que gera a interface gráfica. Assim, uma interface construída em Atomik seria independente do hardware que a executa, estabelecendo comunicação apenas através do driver.

Referências

DAVIS, F. User acceptance of information technology - system characteristics, user perceptions and behavioral impacts.pdf. International

Journal of Man-Machine Studies, n. 38, p. 475-487,1993.

GALITZ, W.O. The Essential Guide to Use Interface Design. Indianopolis: Wiley, 2004.

GONZALEZ, C. Does Animation in User Interfaces Improve Decision Making ? Puebla, Mexico: Universidad de las Americas, 1996.

HORNBÆK, K.; HERTZUM, M. Technology Acceptance and User Experience : A Review of the Experiential Component in HCI. ACM Transactions on Computer-Human Interaction, v.24, n.5, p. 1-30, 2017. HUHTALA, J.; SARJANOJA, A.; MÄNTYJÄRVI, J.; ISOMURSU, M.; HÄKKILÄ, J. Animated UI Transitions and Perception of Time – a User Study on Animated Effects on a Mobile Screen. In: Proceedings of the 28th International Conference on Human Factors in Computing Systems, CHI 2010, p. 1339-1342. Atlanta, 2010.

HUTCHINGS, W.D.; FRANKLIN, D;, ANDERSON, F. Improving Performance in

Rich User Interfaces for Embedded Systems Performance Challenges for Rich User Interfaces. Windows Embedded Compact 7 Technical Article, p.1-12, 2011.

KOMISCHKE, T. The Impact of Rich Application Frameworks on User

Experience Design. In: Jacko J.A. (eds) Human-Computer Interaction. Design

and Development Approaches. HCI 2011. Lecture Notes in Computer Science, v. 6761. Springer, Berlin, Heidelberg, p. 92-97, 2011.

MALEETIPWAN-MATTSSON, P.; LAIKE, T.; JOHANSSON, M. The effects of user interface designs on lighting use The effects of user interface designs on

lighting use. Journal of Engineering Design and Technology, v.15, n.1, p. 58-78, 2017.

MARCUS, A. Return on Investment for Usable User- Interface Design : Examples and Statistics Introduction : What do We Mean by. Emeryville, CA: Aaron Marcus and Associates, 2002.

MCCRICKARD, D.S.; STASKO, J.T., ZHAO; Q.A. Exploring Animation as a Presentation Technique for Dynamic Information Sources, p. 1–14, 1999. MURPHY, N. GUI Development : Embedding Graphics, Part II, p. 1-14, 2019. STELMASZEWSKA, H.; FIELDS, B; BLANDFORD, A. Conceptualising user hedonic experience. In: D. J. Reed, G. Baxter & M. Blyt. Proceedings of ECCE-12, the 12th European Conference on Cognitive Ergonomics. Living and Working with Technology, 2004, York. York: European Association of Cognitive Ergonomics, p. 83-89, 2004.

SENSEN, H. Design and Implementation of Embedded GUI Middleware. Yangtze University,p.61–65, 2012.

SRIDEVI, S. User Interface Design. International Journal of Computer Science and Information Technology Research, v.2, n.2, p.415-426, 2014.

HASSENZAHL, M.; TRACTINSKY, N.. User experience - a research agenda User experience – a research agenda. Behaviour & Information Technology, v. 25, n.2, p. 91-97, 2006.

UMAR, M.A.; GHAZALI, M. Investigation into Usability Attributes for Embedded Systems Testing. International Journal of Software Engineering and Technology Investigation, v.1. n.2, p.13–18, 2014.

VAN, U. The impact of animated interface agents : a review of empirical research. Int. J. Human-Computer Studies, v.52, p. 1-22, 2000.

WANG, L.; PAN, L.; SUN, X.; NI, H. Design and Implementation of a Novel User Interface for Embedded System. International Symposium on Intelligent Information Technology Application Workshops Design, p. 247-250, 2008.

ZURITA, M. Projeto de sistemas embarcados. Teresina: Universidade Federal do Piauí, Curso de Engenharia Elétrica, Campus Universitário Ministro Petrônio Portela, 2011.

Dans le document TEXAS INSTRUMENTS (Page 49-53)

Documents relatifs