
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Desenvolvendo Software &#187; Interface com Usuário</title>
	<atom:link href="http://www.desenvolvendosoftware.com.br/category/software/interface-usuario/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.desenvolvendosoftware.com.br</link>
	<description>Tudo o que um desenvolvedor quer e precisa saber</description>
	<lastBuildDate>Tue, 29 Dec 2009 22:11:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Como projetar um Wizard</title>
		<link>http://www.desenvolvendosoftware.com.br/2009/08/como-projetar-um-wizard/</link>
		<comments>http://www.desenvolvendosoftware.com.br/2009/08/como-projetar-um-wizard/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 20:09:03 +0000</pubDate>
		<dc:creator>Leila</dc:creator>
				<category><![CDATA[Interface com Usuário]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Wizard]]></category>

		<guid isPermaLink="false">http://www.desenvolvendosoftware.com.br/?p=260</guid>
		<description><![CDATA[O que são Wizards?
Wizards guiam o usuário através de vários passos, realizando as tarefas em um ordem definida. Um Wizard pode ser implementado de diversas maneiras. A forma mais usual inclui uma série de telas, onde o usuário passa de uma para outra seqüencialmente. A estrutura de um Wizard pode ser linear (A) ou possuir [...]]]></description>
			<content:encoded><![CDATA[<h2>O que são Wizards?</h2>
<p>Wizards guiam o usuário através de vários passos, realizando as tarefas em um ordem definida. Um Wizard pode ser implementado de diversas maneiras. A forma mais usual inclui uma série de telas, onde o usuário passa de uma para outra seqüencialmente. A estrutura de um Wizard pode ser linear (A) ou possuir saltos ou ramificações (B), em qualquer um dos casos deve ser dada a opção de voltar. Há também a possibilidade de se implementar em apenas uma tela, onde os passos vão sendo habilitados ou mostrados à medida que os campos são preenchidos. Nesse último caso, diferentes passos podem ser identificados com títulos.</p>
<p><a href="http://www.desenvolvendosoftware.com.br/wordpress/wp-content/uploads/2009/08/estrutura.png"><img src="http://www.desenvolvendosoftware.com.br/wordpress/wp-content/uploads/2009/08/estrutura.png" alt="estrutura" title="estrutura" width="278" height="230" class="aligncenter size-full wp-image-272" /></a><br />
<span id="more-260"></span></p>
<h2>Quando usar Wizards?</h2>
<ul>
<li>A tarefa é longa ou complicada e não há necessidade do usuário possuir um controle fino sobre ela.</li>
<li>O usuário precisa completar os passos em uma determinda seqüência.</li>
<li>Os passos necessários para chegar a um objetivo final podem variar de acordo com as decisões anteriores.</li>
<li>O usuário não possui conhecimento técnico necessário para completar a tarefa.</li>
<li>A tarefa é complexa e é formada por diversas subtarefas dependentes entre si.</li>
</ul>
<h2>Quais são as Vantagens?</h2>
<ul>
<li>Guia o usuário, decisões são vistas muitas vezes como um peso pelos usuários.</li>
<li>A divisão da tarefas faz com que o usuário se preocupe apenas com um passo de cada vez, simplificando o trabalho.</li>
<li>A tarefa é completada com um número menor de erros.</li>
</ul>
<h2>Quais são as Desvantagens?</h2>
<ul>
<li>A estrutura do Wizard é rígida.</li>
<li>Usuários mais avançados podem sentir falta do controle.</li>
</ul>
<h2>O que evitar?</h2>
<ul>
<li><strong>Propósito não claro &#8211; </strong> O usuário precisa ser lembrado do propósito do Wizard. Cada tela precisa ser adequadamente rotulada.</li>
<li><strong>Muitas Telas &#8211; </strong> Wizards muito longos tendem a ser muito monótonos, os usuários desistem no meio.</li>
<li><strong>Telas muito Longas &#8211; </strong> Um dos propósitos dos Wizards é <em>simplificar</em> as tarefas, e telas muito longas fogem desse objetivo.</li>
<li><strong>Jargão Técnico &#8211; </strong> Deve ser usada uma linguagem acessível ao usuário, pois esse não pode tomar boas decisões em cima do que não entende.</li>
<li><strong>Falta da Opção Cancelar &#8211; </strong> Os usuários devem poder desistir do Wizard sem que nada seja feito. O botão &#8220;cancelar&#8221; deve estar presente.</li>
</ul>
<h2>O que incluir?</h2>
<ul>
<li><strong>Dividir as Tarefas Logicalmente &#8211; </strong> As tarefas devem ser quebradas de forma a ficarem confortáveis aos usuários. Isso pode ser feito observando-se como esse completam suas tarefas.</li>
<li><strong>Informar o Progresso do Usuário &#8211; </strong> Os usuários precisam ter uma idéia do progresso já realizado. Pode ser exato ou aproximado, pois muitas vezes não é possível determinar o número exato de passos.</li>
<li><strong>Indicar Campos Obrigatórios &#8211; </strong>precisa estar claro todos os campos que precisam ser preenchidos, principalmente quando alguns forem opcionais. Especialmente útil no preenchimento de formulários.</li>
<li><strong>Resumir os Dados dos Wizard &#8211; </strong> No final do Wizard pode ser mostrado uma tela com o resumo de todas as escolhas feitas.</li>
<li><strong>Incluir Aviso de Saída &#8211; </strong> Se a saída do Wizard ocasionar perda de dados, uma confirmação pode ser adicionada. Isso pode se tornar irrelevante se o usuário ao começar novamente o Wizard, as informações anteriormente fornecidas não são perdidas.</li>
<li><strong>Incluir Métodos Alternativos para Completar a Tarefa &#8211; </strong> Que o Wizard não seja a única forma de completar a tarefa, é uma recomendação vista muitas vezes. Não que essa recomendação seja inválida, mas deve ser decidido caso a caso. Muitas opções ao usuário muitas vezes causam apenas problemas e confusão.</li>
</ul>
<h2>Fontes: </h2>
<p><a href="http://designinginterfaces.com/Wizard">Designing Interfaces &#8211; Wizard</a><br />
<a href="http://www.ibm.com/developerworks/library/us-wizard/">Crafting a wizard</a><br />
<a href="http://ui-patterns.com/pattern/Wizard">Design Patterns &#8211; Wizard</a><br />
<a href="http://www.welie.com/patterns/showPattern.php?patternID=wizard">Welie.com Wizard</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.desenvolvendosoftware.com.br/2009/08/como-projetar-um-wizard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>7 Pontos Críticos de um bom Software</title>
		<link>http://www.desenvolvendosoftware.com.br/2009/08/7-pontos-criticos-para-se-desenvolver-um-bom-programa/</link>
		<comments>http://www.desenvolvendosoftware.com.br/2009/08/7-pontos-criticos-para-se-desenvolver-um-bom-programa/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 05:38:34 +0000</pubDate>
		<dc:creator>Leila</dc:creator>
				<category><![CDATA[Interface com Usuário]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Desempenho]]></category>
		<category><![CDATA[Resolução Problemas]]></category>

		<guid isPermaLink="false">http://www.desenvolvendosoftware.com.br/?p=85</guid>
		<description><![CDATA[Ao se fazer um programa, além do funcionamento correto e desempenho, mais fatores contribuem para que esse seja um bom software. A interface não é lugar para arrombos criativos ou para um amontoado de opções de menus, ícones, etc. A documentação precisa estar presente. Abaixo detalho 7 pontos críticos.

1 &#8211; Conheça o seu usuário
O usuário [...]]]></description>
			<content:encoded><![CDATA[<p>Ao se fazer um programa, além do funcionamento correto e desempenho, mais fatores contribuem para que esse seja um bom software. A interface não é lugar para arrombos criativos ou para um amontoado de opções de menus, ícones, etc. A documentação precisa estar presente. Abaixo detalho 7 pontos críticos.<br />
<span id="more-85"></span></p>
<h2>1 &#8211; Conheça o seu usuário</h2>
<p>O usuário do seu programa normalmente não é você. Parece óbvio, não? Mas não é. Desenvolvedores possuem hábitos diferentes de um usuário &#8220;médio&#8221;. Por exemplo, estou digitando essa postagem em um editor de texto comum, que apenas mostra em destaque a marcação HTML. Não gosto de editores WYSIWYG (What You See, Is What You Get &#8211; O que você vê, é o que você terá), ou seja, editores visuais. Muitos cientistas odeiam o Word, usam só <a href="http://pt.wikipedia.org/wiki/LaTeX" target="wikipedia">Latex</a>. Se você está criando um software para desenvolvedores de Perl, um sistema de buscas usando <a href="http://pt.wikipedia.org/wiki/Expressão_regular" target="wikipedia">regex</a> fará sucesso, mas será inútil para biólogos. Ouça seu usuário, mas não faça aquilo o que ele quer e sim o que ele precisa. </p>
<h2>2 &#8211; Mantenha o simples</h2>
<p>Quantas vezes você não ficou perdido, procurando nas inúmeras opções apresentadas aquilo que você estava procurando? Parece difícil reduzir as opções, garanto que é mesmo. Não encha seu programa de recursos apenas porque você acha que possam ser útil. Interfaces complicadas são mais complicadas de usar e podem dificultar a vida do usuário, pois ele não consegue encontrar o que <strong>realmente</strong> precisa. A simplicidade é difícil de atingir, significa fazer escolhas. O seu software não precisa se dispor a resolver todos os problemas do usuário mas deve se concentrar em resolver um bem.</p>
<h2>3 &#8211; Seja Consistente</h2>
<p>Há dois tipos de consistências:</p>
<ul>
<li><strong>Interna</strong> -A consistência interna significa que as partes do programa funcionam de forma esperada. Por exemplo, se o seu programa tem diversos tipos de cadastros como fornecedores, produtos,<br />
clientes, etc; esses cadastros devem funcionar de forma semelhante.</li>
<li><strong>Externa</strong> &#8211; diz respeito a padrões. Por exemplo, os menus de aplicações diferentes têm usualmente algumas dessas opções: Arquivo, Editar e Ajuda. Eu lhe pergunto qual a opção você acessará para:
<ul>
<li>Copiar um trecho de um texto?</li>
<li>Saber a versão do programa?</i>
<li>Salvar o documento que você está editando com outro nome?</li>
</ul>
<p>Foi fácil, não? Nem falei qual era o programa.</li>
</ul>
<h2>4 &#8211; Forneça boas mensagens de erros </h2>
<p>As mensagens de erro devem ser positivas, indicando ao usuário o caminho a tomar. Por exemplo, em uma busca no banco de dados pelo nome <em>Felipe Santos</em>, a pessoa cometeu um erros de digitação e escreve <em>Felipe Snatos</em>. Uma mensagem do tipo  “Felipe Snatos não foi encontrado na tabela TP_CLIENTES” é inadequada. Seria melhor algo assim “Não consegui encontrar o cliente <em>Felipe Snatos</em>, você quis dizer <em>Felipe Santos</em>?”.</p>
<h2>5 &#8211; Não puna o usuário pelos erros cometidos</h2>
<p>Os dados e o trabalho do usuário são sagrados, faça tudo para que eles não sejam perdidos. Um sistema de desfazer as operações é essencial para a maioria dos programas e confirme todas as operações que são destrutivas, como sair do programa sem salvar o documento.  </p>
<h2>6 &#8211; Preste atenção nas cores e fontes</h2>
<p>A interface gráfica precisa ser facilmente lida, as cores precisam de um bom contraste entre si e as fontes precisam ser escolhidas com critério. Nada de usar fontes rebuscadas, escolha fonte simples como Times New Roman, Arial e Verdana.</p>
<h2>7 &#8211; Sistema de Ajuda e Documentação</h2>
<p>O seu software precisa de um sistema de ajuda. Inclua vários tipos de ajuda contextual, para guiar o usuário durante o uso do sistema. No sistema global, não liste apenas os diversos recursos existentes, mas também explique como executar tarefas específicas. A documentação pode ter vários níveis de detalhamento. Ninguém gosta de ler manuais extensos, seja breve e claro. Inclua um guia rápido de como usar as principais funções do seu programa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.desenvolvendosoftware.com.br/2009/08/7-pontos-criticos-para-se-desenvolver-um-bom-programa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

