Software deveria ser bonito

February 10th, 2007 § 5 comments

Eu já escrevi aqui algumas vezes sobre estética e estilo em código como objetivos importantes do desenho e desenvolvimento de qualquer aplicação. Como várias pessoas comentaram, e acredito que a maioria dos programadores concorde, ambos são critérios relevantes para se julgar a qualidade de um trecho de código qualquer. Obviamente, o gosto pessoal influencia bastante as duas áreas, mas, como em matemática, há um qualidade subjacente a esses critérios que pode ser percebida independentemente das preferências individuais.

Estética e estilo em código, eu acredito, são apenas uma parte da equação. A qualidade geral de um software qualquer também é refletida na qualidade de sua interface, ou seja, aplicações bem desenhadas possuem o código elegante e são também agradáveis em termos de uso.

Isso é um conclusão natural, eu acredito, considerando a experiência que temos com produtos como o iPod e o iPhone. Esses produtos são esteticamente interessantes não só pelo design físico como também pela usabilidade do seu software. E isso, é claro, vale mesmo para aplicativos que não possuem uma contraparte física. Produtos como o Basecamp, Blinksale e Wufoo são bem sucedidos porque funcionam muito bem e porque são visualmente interessantes.

Chega a ser algo irônico: a vasta maioria dos programas rotineiramente humilhados pelo seu péssimo desenho no conhecido The Daily WTF possui interfaces deploráveis.

É claro, eu não estou dizendo que isso vale para todas aplicações. Existem exceções gloriosas como o Emacs, que possui uma interface arcaica comparada com outros editores de texto e é um dos programas mais poderosos e usáveis em existência. O que eu estou dizendo é que, de uma maneira geral, cuidado com a interface implica também em cuidado com o código. Facilidade, usabilidade, intuição andam de mãos juntas com estabilidade e funcionalidade. Se forma segue função ou vice-versa, não importa. O que importa é que qualidade é algo que permeia toda aplicação. Não adianta um código perfeitamente funcional e elegante se ninguém consegue usar o seu produto.

Como um programador sem qualquer talento artístico, eu acho extremamente difícil conceber interfaces agradáveis. Por isso, delego isso a quem consegue. Os clientes sempre agradecem. E quando os clientes estão satisfeitos, obviamente é você que ganha. Ou seja: software bonito vale a pena em todos os sentidos.

§ 5 Responses to Software deveria ser bonito"

  • Denniscs says:

    Lendo este ótimo post, onde a palavra “qualidade” aparece 5 vezes e tem até a expressão “qualidade subjacente”… impossível não lembrar de um livro que eu adorei ter lido em 2006 — Zen e a Arte da Manutenção de Motocicletas (Robert Pirsig). Leitura recomendada 😉

  • Concordo com você quando diz que o software deve ser bonito e elegante para o desenvolvedor, e usável e bonito para o usuário final.

    Uma pena é ver alguns softwares que capricham na usabilidade e beleza para o usuário final e são uma lástima em termos de código.

  • Ronaldo says:

    Dennis, cinco vezes? Não tinha reparado. Bem, pelo menos, obrigado pelo elogio–embora eu esteja com o ligeira impressão que você está tirando uma onda com minhas “qualidades”.

    Sobre o livro, é um item eterno na minha lista de leituras futuras. Todo mundo fala muito bem, mas ainda não parei para pegar.

    Rafael, nesse segundo tipo de software, eu acho que há uma desconexão profunda entre os designers e os programadores. Felizmente, é mais raro porque programadores ruins assim raramente trabalham em conjunto com bons designers.

  • Marcio says:

    Ronaldo,
    há muito tempo atrás o Steve Jobs respondeu sobre a questão do “design”. Ele deu uma excelente resposta, e tem tudo a ver com o q voce falou, olha só :

    Fortune Magazine: What has always distinguished the products of the
    companies you’ve led is the design aesthetic. Is your obsession with design
    an inborn instinct or what?

    Steve Jobs: We don’t have good language to talk about this kind of thing.
    In most people’s vocabularies, design means veneer. It’s interior decorating.
    It’s the fabric of the curtains and the sofa. But to me, nothing could be
    further from the meaning of design. Design is the fundamental soul of a
    man-made creation that ends up expressing itself in successive outer layers
    of the product or service. The iMac is not just the colour or translucence or
    the shape of the shell. The essence of the iMac is to be the finest possible
    consumer computer in which each element plays together.

    On our latest iMac, I was adamant that we get rid of the fan, because it is
    much more pleasant to work on a computer that doesn’t drone all the time.
    That was not just “Steve’s decision” to pull out the fan; it required an
    enormous engineering effort to figure out how to manage power better and do
    a better job of thermal conduction through the machine. That is the furthest
    thing from veneer. It was at the core of the product the day we started.

    This is what customers pay us for–to sweat all these details so it’s easy
    and pleasant for them to use our computers. We’re supposed to be really good
    at this. That doesn’t mean we don’t listen to customers, but it’s hard for
    them to tell you what they want when they’ve never seen anything remotely
    like it.

  • Ronaldo says:

    Grande citação, que reflete muito bem o que eu estava pensando. Gostei especialmente da parte em que ele fala que não é que os clientes não sabem o que querem, é apenas que nunca viram nada similar. Muitos dos “aahs” e “oohs” que ouvimos quando uma nova aplicação é lançada não vem de funcionalidade especialmente original, mas de modos expressivos de interface. Já cansei de ver empresas em que o produto fazia tudo o que devia e ainda assim era terrível de usar, o que causava a impressão permanente de que ele não estava completo–o que é óbvio, mas algo que muitos clientes percebem apenas em um nível visceral.

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading Software deveria ser bonito at Superfície Reflexiva.

meta