Porque fazer software “bonito” é difícil? 11


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

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.

Deixe uma resposta

11 pensamentos em “Porque fazer software “bonito” é difícil?

  • @CesarWow

    IHM (Interface Homem Máquina) ou GUI???? Amigo os dois não representam a mesma coisa pois a GUI está contida no IHM, sendo esta ultima ampliada a Interface de som, comunicação(a internet tambem faz parte)e etc, então voce nao poderia utilizar OU na sua frase pois vai gerar uma informação falsa para os mais leigos. CERTO?

  • Mauro Viking

    Alguém conhece uma boa ferramenta para prototipar telas e fluxos de navegação de sistemas que serão desenvolvidos em Dot Net ? Conheço pessoas que prototipam no Visio, outros no próprio Office, etc.. Alguém teria uma sugestão mais direcionada a plataforma ? Obrigado .

  • Marco Antonio

    vejo a coisa assim:
    steve jobs, preza a arte e acabamento acima de tudo, com produtos de acessibilidade para um publico mais restrito,e vejam os mercados que conquistou…
    vejam bill gates, a objetividade, a praticidade, acssessivel
    a maioria da população, e vejam tbm os mercados que conquistou…
    mas posso estar errado, a oportunidade que vejo, é que há uma brecha no meio termo, pois não tem nehum gigante dono desse vácuo.

  • Daniel Lima

    Creio eu que o maior problema, não é a do programador muitas vezes não gostar ou não ter experiência no Design do Software, eu como Programador Web e ter feito curso de Web Designer, vejo o Tempo que é pedido muito pouco para que você associe a Funcionalidade com a Usabilidade, as duas são importantes, é óbvio. Mas como conciliar as duas com o tempo que nos é exigido para entrega do Sistema. Se eu for pensar na usabilidade (deixar o software fácil de usar, para agradar ao usuário) praticamente terei menos tempo para pensar em sua Funcionalidade (fazer com que o sistema faça realmente o que deve fazer) e vice-versa. Não adianta eu criar um sistema agradável aos olhos, e qdo o usuário pedir pra executar determinado comando, simplesmente o sistema trava ou não executa corretamente, muitas empresas contam com equipes desde Designer (definindo as telas), programadores (se preocupando com a funcionalidade) entre outras Equipes (testers, analistas, etc…). Mas tudo é uma questão a se pensar, Software com qualidade não é somente funcional, hoje também deve agradar aos olhos e deixar o usuário mais confortável com o seu manuseio.

  • Fernando Fonte - Dim

    Respondendo a pergunta no final do texto, creio que o que torna o desenvolvimento de softwares com interfaces mais intuitivas tão difícil é a percepção de quem está desenvolvendo a IHM, como usuário. O cara que desenvolve consegue elogiar por exemplo, o novo desktop do Windows Seven mas não consegue auto criticar a sua tela de cadastros.

    Todo desenvolvedor, por mais "fodástico" que ele seja, tem o seu lado usuário. O problema é saber ouvir esse lado quando se está desenvolvendo.

  • Marco Antonio

    concordo com tudo que disse meu querido Mestre na FAC4!
    digo que se você, e outro Mestre nesse semestre passado, não tivesse dado apostilas e aplicações práticas de IHM para pesquisa referência e estudo em sala de aula, laboratório e apoio por email, e nos intervalos de aula…não teriamos nada de IHM até agora, por isso, penso que essa preferência de metodologias de muitas faculdades, relegam a segundo plano IHMs, sendo as maiores responsáveis por essa situação de mercado!

  • Fausto Ferreira

    Eduardo, acredito que realmente os programadores não são preparados no mercado para desenvolvimento da IHM mais amigável e muitos se preocupam realmente com os recursos que serão utilizados no software e não com o usuário em questão que estará trabalhando com o software. Realmente precisamos nos preparar para o desenvolvimento desta interface gráfica na elaboração de um software, até para que seja melhor visto no mercado.