Porque fazer software “bonito” é difícil?

Porque fazer software “bonito” e com usabilidade é tão difícil ?

chaleira1

Pegando carona no artigo anterior do autor Fernando Fonte Em software, aparência ainda é importante, tenho algumas explicações pessoais do porque existem até hoje software ERP atrasados quando o assunto é interface gráfica.

A interface gráfica de um sistema também conhecida como IHM (Interface Homem Máquina) ou GUI (Grafic User Interface) é uma das partes mais importantes do software é através dela que o usuário interage com a aplicação e obtém os resultados que espera.
Mais que isso, a IHM de um sistema é a primeira impressão que o cliente tem do software que visa comprar, já vi software serem vendidos por ser mais “bonitinhos” do que úteis.

Praticas mais recentes de desenvolvimento de software como scrum apóiam o desenvolvimento de protótipos apenas com as interface gráficas primeiro (mesmo sem funcionalidade) para apresentar ao cliente e ter o feedback se este atende suas expectativas, no caso dos ERP o software esta pronto e não há customizações de IHM.

Em uma IHM nos preocupamos com cores, disposição de botões, imagens, campos para preenchimento e formas,  acompanhado da interface gráfica vem a usabilidade no qual permite ao usuário ganhar tempo em suas tarefas rotineiras e utilizar as funcionalides de forma intuitiva.  Posso dizer que uma boa IHM é aquela que promove a usabilidade do sistema. Neste caso eu tiro o chapéu para a Microsoft com a interface do MS Office 2007.

Se analisada a evolução da IHM em softwares corporativos podemos observar que no passado as linguagens de programação como Clipper, COBOL e C não davam suporte a criação de interfaces sofisticadas, apelava-se então para aumentar a usabilidade. E os programadores da época fizeram “milagres”, software da época são realmente fáceis de usar mesmo apenas com o teclado.

Citei nos dois parágrafos anteriores dois pontos importantes na construção de IHM em software. Primeiro a preocupação com cores, layout e disposição e segundo o suporte da linguagem. A meu ver esses são os dois itens que explicam a dificuldade de se ter softwares ERP bonitos e usuais.

Cores, Formas e disposição:

Pergunto, quem cria o layout de um site? Você deve ter respondido, o webdesigner , correto! E agora quem cria o layout de um software ERP? O “progdesigner”?!  Na maioria das vezes quem é incumbido desse papel é o programador. Muitos programadores não possuem afinidade para criar boas interfaces gráficas essa é a verdade, e isso não é uma critica. O trabalho de elaboração das interfaces exige qualificações no qual programador possem pouco contato. Eu particularmente já fui webdesigner, como programador criar interfaces gráficas foi bem mais tranquilo, pois minha experiência passada contribuiu para isso. Por outro lado conheço programadores que odeiam essa parte do desenvolvimento. Sendo assim ter programadores com bons conhecimentos de interface gráfica é tão complicado como encontrar designers com conhecimento em programação. Encontramos aqui um diferencial no profissional com essas duas qualificações.

Linguagem:

Em um sistema ERP standalone (que roda no computador do usuário)  não se tem a mesma liberdade de criação que os sistemas desenvolvidos para WEB, portanto a criação de uma IHM esta intimamente dependente da linguagem de programação no qual ela é desenvolvida. Se você precisar, por exemplo, de um botão animado e a linguagem não permitir, não tem choro, terá que encontrar outra solução.  As linguagens de programação e seus frameworks de desenvolvimento devem também evoluir a ponto de oferecer ao programador recursos para a criação de IHM de maior usabilidade.

Quando o assunto é a linguagem temos outros dois importantes assuntos, produtividade e recursos. Posso afirmar, por exemplo, que a linguagem Java possui recursos extraordinários para a construção de IHM,  com componentes 100% customizáveis permitindo ir além da criação de IHM convencionais para entrada e saída de dados (a criação por exemplo de um gráfico aéreo com iteração com o usuário). No entanto dominar todo esse poder não é trivial, perde-se em produtividade. Trabalho com um sistema especialista cujo um dos seus grandes diferenciais é a interface de iteração com o usuário e isso só é possível devido aos recursos que a linguagem oferece.

Ao contrário, linguagem como dot Net possuem recursos gráficos limitados mas são muito fáceis de utilizar.

Talvez o grande desafio do desenvolvimento de software hoje seja unir as diversas funcionalidades de uma aplicação com uma interface gráfica agradável e fácil de usar.

Na sua opinião, o que torna o desenvolvimento de softwares com interfaces mais intuitivas tão difícil? (Deixe seu comentário aqui no blog).

Para quem tem interesse em explorar os recursos do JAVA para a construção de interface gráfica (GUI) acesse o link: (Clique aqui)

Últimos 5 artigos de Eduardo Costa

Seja Social, Compartilhe!

Sobre Eduardo Costa

De Campinas-SP, bacharel em Sistema de Informação pela Anhanguera Educacional e pós graduado no curso de MBA em Gestão de Projetos e Metodologia do Ensino Superior. Atualmente trabalha como arquiteto e desenvolvedor Java em empresa de desenvolvimento de software de suporte a tomada de decisão, além de ministrar aulas de Orientação a Objeto, Linguagem Java e XML. Já atuou como líder técnico, coordenador de produto e analista de negócios.