Partilhar via


Windows Client: User Interface (UI) vs. User Experience (UX)

Olá pessoal, tudo certo?

A semana continua quente com as discussões sobre usabilidade, interfaces, Windows Client, Silverlight, Win32, experiência do usuário e recursos presentes na plataforma cliente.

Um tempo atrás, vi uma sessão conduzida pelo arquiteto Simon Guest da Microsoft. Ele fez um discurso muito interessante sobre User Interfeace (UI) versus User Experience (UX). Se preferir, UI vs. UX :)

Imagine que você é chamado para ajudar na arquitetura de uma aplicação, que possui grandes demandas para a interface do usuário. Porém, você é chamado para questões como atualização de dados em certos componentes de tela, melhor comunicação entre projetos da interface, mais animação ou menos animação, tipos de protocolos para trâfego de imagens, streaming de vídeos, etc. Na defesa do Simon, esse tipo de questionamento está mais ligado ao USER INTERFACE e não ao USER EXPERIENCE.

Assim, posicionamos no USER INTERFACE os diversos aspectos de controles gráficos, tipos visuais, imagens, renderização, etc, que formam o resultado final da interface. Quando falamos em UX ou USER EXPERIENCE estamos preocupados com a abordagem escolhida para a interação do usuário com nossa aplicação. Colocar animações diversas no canto superior esquerdo em formulários de dados é bem diferente de escolher uma abordagem MULTI-TOQUE para a navegação pelo menu de opções da aplicação, por exemplo.

Veja o desenho abaixo, que encontrei no site da Experience Dynamics, empresa especializada no assunto:

image

Ref.: https://www.experiencedynamics.com/sites/default/files/Importance_of_ux_ready.jpg

Legal não é?! Até hoje, vimos muito exemplos de abordagens inovativas e USER EXPERIENCE na Web 2.0, com sites e Web Designers abusando da criatividade e da ousadia, encantando milhares de usuários pela Web. Porém, assim como vimos o conceito de mashup migrar para o mashup corporativo, abordagens criativas e USER EXPERIENCE de fato começa a descer com mais força para o cenário enterprise.

Pensando em plataforma Microsoft, hoje estamos falando de Windows 7, .NET 4.0, WPF 4, mas como desenvolvedores e arquitetos já vimos uma infinidade de tecnologias na plataforma Windows Client. Com certeza você já utilizou ou ainda utiliza uma dessas tecnologias. Alguns exemplos são:

para a User Interface:
•    Accessibility
•    Gadgets
•    International Support
•    Microsoft Agent
•    Text Services Framework
•    Windows Animation Manager
•    Windows Controls
•    Windows Ribbon Framework
•    Windows Shell
•    Windows Touch
•    Windows User Interface
•    Desktop Window Manager
•    Resource Compiler
•    Windows Help

para Graphics e Multimedia
•    Audio e Video
•    Direct2D
•    DirectWrite
•    DirectX
•    GDI+
•    Monitor Configuration
•    OpenGL
•    Print Schema
•    Picture Acquisition
•    Windows Color System
•    Windows GDI
•    Windows Image Acquisition (WIA)
•    Windows Imaging Component (WIC)
•    Windows Media Center Software Development Kit
•    WPF Bitmap Effects

Sem falar de outros componentes como Data Access, System Services, Storage, Devices, Diagnostics, Messaging e Collaboration, Security, COM+, Transactions, etc. Todas essas tecnologias são nativas do sistema operacional, presentes como recursos do Windows Client. Portanto, são exemplos de funcionalidades que sairam do escopo da aplicação e passaram para o sistema operacional, facilitando o desenvolvimento de aplicações Desktop com grande USER EXPERIENCE e USER INTERFACE.

Entre os vários anúncios feitos durante o último PDC09, vimos que o Visual Studio 2010 seria construído sobre o WPF – Windows Presentation Foundation. Em adição, o VS estaria usando agora o MEF como mecanismo de extensibilidade.

O que é o MEF?

  • O Managed Extensibility Framework (MEF) é uma biblioteca nova do .NET 4.0 que torna fácil a extensão e o reuso de componentes. Em linhas gerais, o MEF fornece padrões para o host de aplicações, discover, exposição e consumo de componentes de extensão, sem a necessidade de acomplamento entre eles. No coração do MEF encontramos o ComposablePart, que exporta serviços ou consome serviços fornecidos externamente. Isso é feito usando um Contrato, que é referenciado de forma simples, através de Import (para consumo) ou Export (para exposição).

O MEF ainda está em desenvolvimento, mas você encontrará mais material no site do CodePlex, aqui:

Managed Extensibility Framework (MEF)
Ref.: https://www.codeplex.com/MEF

Tem sido interessante resgatar as várias tecnologias presentes no Windows Client e seus recursos. Na velocidade das coisas, nossos usuários corporativos já são tão exigentes em relação a usabilidade quanto nossos usuários de internet mais conectados. Por isso, vale conhecer o SO que você está utilizando no mundo cliente.

Por enquanto é só! Até o próximo post :)

Waldemir.