Foi-me dito e descobri por mim mesmo que muitos desenvolvedores não são bons em design de interface do usuário (não sei quão verdadeiro é isso), mas é verdade sobre mim, pelo menos .
No desenvolvimento da Web, boas habilidades de desenvolvimento de código não são suficientes sem grandes habilidades em design de interface do usuário para acompanhá-las.
Então, para mim e para muitos desenvolvedores como eu, que possuem apenas metade da coisa (boas habilidades de desenvolvimento), como devemos concluir nossa outra metade, além de pagar por um designer?
O uso de modelos da Web de código-fonte aberto com pequenas modificações é a melhor solução para isso, ou existem outras opções?
web-applications
web-design
Todos
fonte
fonte
Respostas:
Eu sou um desenvolvedor que também não é tão bom em design. Tento ao máximo, ao trabalhar em um projeto no qual devo fazer o design, manter as coisas o mais simples possível. Adoto uma abordagem muito lógica e o design apenas para a experiência do usuário. Não posso torná-lo realmente bonito, mas posso torná-lo fácil de usar e relativamente agradável aos olhos.
Eu li vários desses livros: http://www.uxbydesign.org/2009/06/24/20-user-experience-books-you-should-own/ e eles realmente me ajudaram.
editar o meu favorito nessa lista é Não me faça pensar: uma abordagem de senso comum à usabilidade na Web, 2ª edição por Steve Krug
fonte
Design (de qualquer coisa) é uma negociação entre as necessidades das várias partes interessadas (cliente, desenvolvedor, usuários). Normalmente, nenhuma das partes interessadas está em boa posição para criar o melhor design, porque elas tendem a entender melhor suas próprias necessidades e colocá-las acima das necessidades das outras partes interessadas. Um bom designer pode identificar as necessidades das várias partes interessadas - muitas vezes necessidades que o próprio interessado não percebe que tem - e apresentar uma solução que funcione para todos.
Você provavelmente já viu isso muitas vezes. Os usuários pensam em como eles precisam interagir com um sistema, geralmente em termos de outro sistema com o qual eles já estão familiarizados. Os desenvolvedores pensam principalmente em termos de como o sistema funciona. Os clientes geralmente querem algo que resolva todos os seus problemas, ou então querem resolver algum problema muito específico pelo menor custo.
Para se tornar um bom designer, você precisa aprender a parar de pensar em como implementar algo. Em vez disso, você deve se concentrar no que as outras partes interessadas estão dizendo sobre o que elas precisam e querem, e você deve ser capaz de ler nas entrelinhas. Como desenvolvedores, clientes e usuários geralmente têm em mente alguma solução preconcebida e tendem a descrever essa solução em vez dos requisitos subjacentes. (Dito isso, é importante perceber que, às vezes, um cliente quer dizer o que diz quando diz exatamente o que deseja; se não tiver certeza, pergunte.)
Mais superficialmente, o design estético de uma interface do usuário também é algo com o qual alguns desenvolvedores têm problemas. Eu acho que isso é parcialmente porque os desenvolvedores de software geralmente não têm muito treinamento em estética - os alunos de CS podem não ter muito tempo para aulas de arte. Também é parcialmente novamente porque estamos mais interessados em como algo funciona do que em como ele é; nós apenas não nos importamos se os cantos de um botão têm um raio de 9 pixels ou um raio de 10 pixels. Esses dois fatores estão certamente relacionados. Às vezes, você pode superar isso confiando em soluções enlatadas na forma de estruturas de interface do usuário, e o uso de componentes pré-projetados tem a vantagem de unificar seu próprio trabalho visualmente com outros aplicativos no mesmo sistema. Você pode melhorar suas habilidades estéticas lendo, olhando o trabalho de outras pessoas, e prestando muita atenção aos detalhes visuais que você pode ter ignorado no passado. Você também deve tentar entender a lógica por trás das diferenças visuais: os botões com cantos quadrados significam algo diferente dos botões arredondados? Como é usada a cor? etc.
fonte
Aqui estão algumas coisas que eu acho que me ajudam:
Anote o que você gosta / não gosta em outro software. Somos programadores, passamos grande parte de nossas vidas no computador. Tente tomar nota do que você ama / odeia ao usar o software. Não importa se é software de computador, videogame, dispositivo móvel, etc, apenas tente ficar de olho no que é conveniente e fácil de usar, e o que não é.
Encontre uma ferramenta de desenho fácil de usar para desenhar a interface do usuário para você e seus usuários. Adoro usar o Balsamiq, pois é rápido, simples e a versão da Web é gratuita.
Lembre-se de que você não precisa encontrar alguém especializado em design de software para ajudá-lo a projetar algo - qualquer usuário fará. Costumo executar meus esboços por algumas pessoas que não têm nenhuma relação com o projeto, apenas porque sei que elas usam o software o dia todo e podem me dizer se algo parece bom ou é fácil de usar. Lembre-se de que eles geralmente oferecem idéias malucas sobre o que fazer e você precisa saber o que seria simplesmente "legal" de fazer e o que realmente melhoraria a produtividade.
Não hesite em perguntar em /ux// para perguntas detalhadas
fonte
Para ser sincero, o design da interface do usuário é tudo diferente. Um desenvolvedor sempre pensa em um design sutil e não é muito criativo quando se trata de design. A abordagem definitiva que sinto é manter um desenvolvedor diferente para o design da interface do usuário. Embora aumente o custo, definitivamente ajudará você a obter melhores resultados.
Para alguém que faz as duas coisas sozinho, nunca dá o melhor resultado. Portanto, IMHO esses dois aspectos diferentes devem ser atribuídos a dois desenvolvedores diferentes. Um pouco de conhecimento de HTML e CSS para desenvolvimento de aparência e tema é recomendado no caso de CMS diferente, mas quando você precisar desenvolver um design totalmente novo, consulte um designer de interface do usuário.
fonte
Definitivamente, posso recomendar o livro de Joel Spolsky, User Interface Design for Programmers . Neste livro, ele praticamente adota a abordagem que você está procurando: Explicando por que o design da interface do usuário é importante para os programadores. Para algum material relacionado à Internet:
Design para pessoas que têm coisas melhores para fazer com suas vidas
fonte
O design da interface do usuário não é algo natural para muitas pessoas. No entanto, recentemente me tornei muito melhor seguindo alguns princípios fáceis.
Não surte, não é tão difícil quanto você pensa.
Modele a estrutura de dados e seu mecanismo primeiro. Crie modelos claros e correspondentes ao mundo real. Obviamente, isso pressupõe que você gastou um tempo para entender o que o cliente precisa.
Agora, com uma folha de papel e um lápis, sente-se e comece a desenhar o layout lógico das telas. Normalmente, isso simplesmente apresenta seu modelo de dados ao usuário de forma organizada. Seu objetivo deve ser simplesmente:
uma. Imite o ambiente de onde o aplicativo será implantado. Por exemplo, se for um aplicativo do Windows, ele precisa se comportar como um aplicativo do Windows, se for um aplicativo da Web, deve se comportar como aplicativos da Web semelhantes mais populares que o seu.
b. Seu objetivo é orientar o usuário através do seu modelo de dados de uma maneira que eles previssem. Uma interface do usuário é bem projetada quando um usuário faz algo em seu aplicativo e faz exatamente o que eles esperavam.
c. Isso leva tempo e é uma curva de aprendizado, mas qualquer um pode fazê-lo.
Não se preocupe com os gráficos, ou seja, os botões, os fundos, etc ... seu único objetivo neste momento é o layout lógico da página.
Você precisa dominar a guia que você está usando, seja html, gtk, cacau, android, Windows.Forms e assim por diante, na medida em que entenda os mecanismos de manipulação de eventos, o mecanismo de layout e a recuperação de entrada e exibição dados. Qualquer desenvolvedor deve ser capaz de fazer pelo menos isso.
Não há vergonha em conseguir um designer gráfico para assumir a partir daqui. Mas você deve conseguir, pelo menos, passar da etapa 5. Isso representa 95% da carga de trabalho de todo o aplicativo.
Aqui está um artigo útil que me transformou de um pobre designer de GUI para um designer de GUI muito melhor.
http://www.joelonsoftware.com/uibook/fog0000000249.html
fonte
Você também pode procurar exemplos bem-sucedidos de sites "semelhantes" para obter idéias de layouts, gráficos e designs. Com alguns ajustes no seu programa de pintura favorito, você pode emprestar muitas idéias e torná-las suas. Não copie diretamente - não é apenas má educação, é provavelmente também ilegal na maioria dos casos.
Depois de emprestar algumas vezes, você começará a ter uma idéia melhor dos designs dos sites de sucesso e conhecerá as ferramentas para criar esses designs também (com seus pequenos ajustes).
fonte
Com a introdução do HTML, a criação de um site simples e não-feio se tornou um desafio. Embora você possa ter o conceito, são necessários vários truques, ferramentas, gráficos prontos e conhecimento de CSS para acertar. Além disso, são necessárias técnicas de usabilidade e outros fatores humanos que influenciam o processo de design para produzir páginas com aparência nítida.
Os desenvolvedores passam a maior parte do tempo lutando para aprender linguagens complexas, OOP, ORM, SQL, T-SQL, etc. Também raramente investem em ferramentas para criar sites (a maioria é cara).
Como resultado, muitos desenvolvedores sofrem com sua incapacidade de produzir páginas da web impressionantes. Acredito que, se você aprender as ferramentas necessárias, também poderá criar boas páginas.
Também é importante saber qual é o seu rolo no processo de desenvolvimento de aplicativos. Você pode achar que o design da web é uma habilidade agradável, e não obrigatória. Em grandes projetos, não deve ser uma tarefa de programador pelos motivos mencionados acima, pelo menos.
Achei que essa ferramenta é uma ótima ferramenta, pode ajudar você:
Artisteer
Dê uma olhada e experimente a demo, é muito boa.
fonte
Não sei se essa afirmação é verdadeira, acho que depende de onde você trabalha.
Por exemplo, uma empresa menor provavelmente exigirá que você seja mais flexível com seu conjunto de habilidades, enquanto uma empresa grande pode não ter a mesma expectativa e você pode realmente gastar todo o seu tempo desenvolvendo enquanto uma equipe de design trabalha no design.
A Microsoft atualizou seu conjunto de ferramentas para destacar a clara separação entre desenvolvedores e designers. Eles introduziram o Expression Blend com o WPF, o que significa que o desenvolvedor pode trabalhar na funcionalidade de um software e outra pessoa pode fazer o design para ele. Ambos usam ferramentas diferentes, podem trabalhar no projeto ao mesmo tempo, mas um faz funcionalidade e outro faz o design.
O desenvolvedor especifica os pontos de dados e o designer os exibe.
fonte
Lembre-se de que o design também pode ser testado, não apenas o código. Comece simples, experimente seu design em um pequeno grupo de pessoas, registre seus comentários e vá a partir daí. Isso pode ajudar a identificar problemas com seu design e fornecer idéias sobre o que poderia / deveria ser feito de diferente. Em seguida, revise o design e itere.
fonte
Você apenas precisará fingir e copiar outros designs. Evite qualquer coisa sofisticada, exceto um ou dois recursos que serão um grande benefício para os usuários. Siga algumas práticas básicas de limitação de fontes, cores e desordem.
Não tenha medo de postar perguntas em UI.stackexchange.com
fonte
Embora não seja sua área de especialização, acho sempre interessante estudar como criar interfaces de usuário. Atualmente, a maioria das páginas da web é muito dinâmica e o conhecimento de algumas habilidades da interface do usuário certamente ajudaria ao criar componentes e definir suas interações com os elementos da sua página. Eu vim de um background de desenvolvimento somente de back-end e fiquei surpreso com o quanto de envolvido na criação de interfaces.
Há um livro particularmente bom que eu li sobre web design e que é voltado para desenvolvedores:
Web Design para Desenvolvedores: http://pragprog.com/book/bhgwad/web-design-for-developers
É um livro de fácil leitura que aborda todas as fases da criação de interfaces: desde esboçar e prototipar UIs simples até criar designs com HTML + CSS.
Para melhorar ainda mais suas habilidades de interface do usuário, também recomendo o mais recente screencast do PeepCode com Ryan Singer: http://peepcode.com/products/ryan-singer-ux
fonte
Eu acho que pegar alguns conceitos básicos de UX / UI / gráficos / tipografia é certamente um empreendimento valioso. Você nem sempre pode ter uma equipe de especialistas "completa", é claro. Muitas vezes as pessoas têm que usar vários chapéus. Um bom desenvolvedor verá valor em gastar tempo aprendendo coisas fora de seu domínio e deve ser capaz de, pelo menos, reconhecer um bom trabalho em design.
No entanto, há algo a ser dito sobre o que os designers fazem. Um desenvolvedor só pode fazer muito na área de design (reconhecidamente alguns mais que outros). Em particular, grandes projetos voltados para o público, que se estendem além de um nicho estreito, beneficiam-se enormemente ao empregar profissionais de design reais. E não me refiro simplesmente às pessoas que podem usar códigos de cores css e html. Quero dizer, pessoas que passaram ANOS estudando coisas como tipografia, que leram e entenderam o livro de Josef Alber sobre cores , que podem fazer belos esboços com carvão em ruínas em papel de jornal. Essas são habilidades valiosas e os projetos que reconhecem isso e que podem colocar essas habilidades em uso focado têm uma vantagem decisiva sobre a concorrência.
Dito isto, existem algumas áreas em que designers e desenvolvedores podem sobrepor suas habilidades. Especialmente o UX e seu subdomínio, UI. Eu recomendo ...
fonte
Contrate um profissional.
Sério, as interfaces de usuário dos desenvolvedores têm uma reputação terrível. Isso não ocorre porque os desenvolvedores estão abaixo da média no design, mas porque os desenvolvedores estão abaixo da média ao pedir ajuda.
Um desenvolvedor tem a tendência de enfrentar todos os desafios digitais que surgirem.
(Eu fui desenvolvedor profissional por 10 anos e minha esposa é designer de interface de usuário por 20 anos)
fonte