Breve Histórico Profissional de Eryx Guimarães

Em 1986 eu iniciei minha carreira como programador utilizando dBase IV, depois Clipper, e VB6. Nos anos seguintes, desenvolvi sólidos conhecimentos sobre aplicativos para escritório e design, sistemas operacionais, redes, e assistência técnica. Neste período ensinei informática básica e avançada, e fui responsável pelo suporte técnico de primeiro e segundo nível do maior provedor de internet do estado. Em 2000, ainda com diversas atribuições em andamento, fui contratado por uma startup Solution Provider da Microsoft para o desenvolvimento de web sites para esta plataforma, e desde então, dedico a maior parte de meu tempo à minha especialização em engenharia de software. Participei do desenvolvimento de aplicações Web, Windows Forms, Windows 8, Kinect, Office Add-Ins, entre outros. Em todos os projetos da Dinâmicaweb, e de acordo com o perfil de nosso cliente, empregamos padrões e princípios de design, recursos de acessibilidade, avaliações de usabilidade, sempre priorizando a boa experiência de usuário. O design e o desenvolvimento de sistemas web foram a motivação inicial para a fundação da Dinâmicaweb, mas as necessidades de nossos clientes frequentemente me conduzem a diferentes áreas de conhecimento, tais como a assistência técnica, implantação e administração de servidores Microsoft em ambientes corporativos, capacitação e atualização de indivíduos e de equipes, arte gráfica, web marketing & SEO, consultoria de licenciamento e implantação de infraestrutura, produção de conteúdo estratégico e identidade corporativa, entre outros. Particularmente, acredito na importância da interação e no relacionamento transparente e responsável com nossos clientes, e também mantenho foco constante na otimização de nossos processos de produção e na qualidade de nossos serviços.

Design e Desenvolvimento

O Design e Desenvolvimento de sistemas, independente da plataforma em que serão executados, demanda a análise cuidadosa do seu público alvo, ou seja, os diferentes perfis que irão tirar proveito das funcionalidades oferecidas pelo sistema que será desenvolvido.

De maneira geral, avalio o fluxo de tarefas para ter uma visão geral da solução, faço uma análise do perfil dos usuários, estilo de comunicação, influências culturais, dificuldades potenciais, identifico os pontos críticos para o sucesso, sempre compatibilizando com os objetivos do projeto.

Utilizo uma abordagem de desenvolvimento com entregas gradativas e regulares de funcionalidades, e deixo claro para o cliente que ele tem toda liberdade para alterar as definições e requisitos do sistema para atender as suas demandas específicas durante o desenvolvimento do produto.

Atualmente, meu foco principal de desenvolvimento é o Microsoft .Net Framework, mas tenho experiência com código legado e outras plataformas.

Meu portfólio ASP.NET inclui projetos nos paradigmas Web Forms, MVC e Silverlight. Utilizo atualmente as linguagens Server-Side C# e VB.Net, combinadas com as tecnologias de acesso a dados, ADO.Net, Web Services, e Entity Framework através de comunicação síncrona ou assíncrona (Ajax, SignalR).

Possuo experiência com o desenvolvimento de softwares aplicativos para desktop, desenvolvidos com as tecnologias Windows Forms e Windows Presentation Foundation. E também já desenvolvi Add-Ins e soluções personalizadas para o Microsoft Office utilizando Visual Basic for Applications.

Com relação ao desenvolvimento de software, posso afirmar que se trata de uma paixão pessoal, e por esta razão, estou frequentemente criando softwares para atender as minhas necessidades pessoais, ou necessidades específicas de clientes. Muitos dos produtos da Dinâmicaweb surgem desta forma, como por exemplo, o PICTMIX que é um aplicativo Windows Forms que mescla um logotipo ou imagem em um grupo de fotos e também padroniza as respectivas dimensões.

Metodologias, Processos e Padrões de Design

Acredito que a qualidade do software é o resultado da compreensão profunda do perfil de cada usuário apoiada por princípios e padrões de design.

Utilizo técnicas e ferramentas de diferentes metodologias de análise de usuários e identificação de requisitos, como por exemplo: Design Thinking, Information Architecture, Content Strategy, User Experience Design, Avaliações de Usabilidade e Acessibilidade, entre outros. Estes conhecimentos inspiraram a criação de especificações de usabilidade específicas para o perfil de clientes.

Criação de Arte Gráfica e Identidade Corporativa

Durante os anos em que eu lecionava em escolas de informática, conhecia as ferramentas e recursos disponibilizados pelos programas de design, e era frequentemente solicitado a apoiar colegas de trabalho da profissão para o uso adequado destas ferramentas.

Nos últimos anos, venho realizando investimentos frequentes nos estudos relacionados aos princípios e padrões de design, e tenho desenvolvido meu portfólio de design gráfico que inclui a criação de logotipos, arte para outdoors, placas, adesivos, papelarias, fachadas, etc.

Utilizo o Corel Draw X6 e o Adobe InDesign para a produção de arte gráfica e diagramação respectivamente, e o Photoshop para tratamentos e efeitos visuais em imagens.

Gerenciamento ALM com Microsoft Team Foundation Server

Possuo experiência com o gerenciamento do ciclo de vida do desenvolvimento de software através do TFS da Microsoft, incluindo o uso e personalização dos Templates de metodologias, Agile, Cascade, etc.

Na Dinâmicaweb, estamos utilizando a versão online do TFS para fazer o gerenciamento de todos os projetos de software em andamento.

Planejamento, Implantação e Administração de Infraestruturas para Ambientes On-Premise e Cloud (plataforma Microsoft)

Quando sou solicitado a implantar uma infraestrutura de computadores e dispositivos em um ambiente corporativo ou residencial, verifico as necessidades dos diferentes perfis de usuário, e realizo as respectivas configurações, segundo melhores práticas de configuração e segurança.

Já realizei diversas configurações de ambientes corporativos on-premise da plaforma Microsoft, com arquitetura de domínios compostos por sistemas cliente (ex: Windows 8, Windows 7, etc.) e sistemas servidores (ex: Windows Server 2012 R2, SQL Server, Internet Information Services, Index Server, etc).

Criação e Acompanhamento de Campanhas de Marketing para Internet (SEM, SEO);

As ações de marketing e avaliações de Search Engine Optimization tem o objetivo de colocar o site nas primeiras posições dos buscadores. As campanhas de marketing apresentam grande impacto no número de acessos imediatos, mas é preciso garantir que o web site como um todo, tenha uma estrutura semântica coerente e em conformidade com os padrões e recomendações de otimização para que o impacto das ações seja duradouro. Além disto, realizo o cadastro manual do site em diretórios da web e buscadores, utilizo ferramentas especializadas para identificar opções de otimização adicionais, avalio a utilização de palavras-chave e os resultados das ações realizadas.

Criação de Conteúdo, Palestras e Capacitação Básica e Avançada em Informática

A criação de conteúdo é uma consequência natural de estudos intensivos e frequentes, junto com o prazer de produzi-lo. Passei mais de dez anos ensinando, muitas vezes com material didático criado por mim. Crio artigos para meu blog pessoal MundoTECH (eryxjose.wordpress.com), que já soma mais de sessenta mil acessos desde 2011. Produzo todo material institucional e informativo da Dinâmicaweb, incluindo dicas de informática divulgadas nas redes sociais.

Assistência Técnica Local ou Remota

Utilizo toda minha experiência com atendimento de suporte, junto com toda teoria e prática dos anos em sala de aula, e atendimentos particulares, para criar ou manter uma infraestrutura tecnológica segura e com o melhor desempenho possível. Realizo atendimentos remotos frequentemente para remoção de vírus, configurações de dispositivos, e aulas particulares. Também faço avaliações preventivas dos sistemas, para identificar e solucionar possíveis vulnerabilidades, atualizações de software, entre outros.

Conclusão

Neste post, compartilhei com você, algumas das experiências profissionais que tive a oportunidade de desempenhar na Dinâmicaweb e em outras empresas. Estas informações podem apoiar a sua decisão de se tornar nosso cliente e parceiro, e contar com nossa equipe de profissionais especializados, prontos para criar soluções inovadoras e para ajudar sua empresa a se manter focada em sua área de negócios.

Se você tem alguma dúvida ou quer mais detalhes, favor entrar em contato nos telefones 48 33643354 98113358, pelo e-mail dinamicaweb@dinamicaweb.com.br, ou através de nosso formulário de contato em http://www.dinamicaweb.com.br/home/contato .

Dicas para criação de planilhas

Neste post, selecionei 10 dicas para ajudar você a criar planilhas mais bonitas e seguras. Incluindo recursos do Excel e boas práticas em relação ao visual da planilha e a sua organização.

  1. Utilize formatações para criar contraste entre as células criadas para diferentes objetivos, como por exemplo, células de entrada de dados e células que contém fórmulas;
  2. Crie separações claras que identifiquem os limites entre as diferentes seções de suas planilhas;
  3. Mantenha a consistência da formatação aplicada aos diferentes controles e seções da interface gráfica de suas planilhas;
  4. Mantenha o foco no conteúdo, fazendo com que as letras, cores e outros elementos visuais, não distraia ou atrapalhe a interação com a interface gráfica;
  5. Mantenha o fluxo de leitura padrão, da esquerda para direita;
  6. Utilize espaços vazios entre as seções para facilitar a leitura e a compreensão da interface gráfica;
  7. Importante manter a primeira linha e a primeira coluna vazias para criar uma separação da sua interface gráfica e o Excel;
  8. Utilize todos os recursos para facilitar a entrada de dados dos usuários, incluindo comentários de células, listas de validação, mensagens de validação de dados, boas descrições para rótulos de campos, etc.;
  9. Utilize controles que fazem validações automáticas de dados, para que o usuário tenha a possibilidade de corrigir imediatamente qualquer valor incorreto;
  10. Proteja suas planilhas, bloqueando todas as células, com exceção das que serão inseridas informações;

Se houver alguma dúvida, por favor envie através do formulário de comentários do post.

Revisão da Estratégia de Máscara de Senhas para Controles de Acesso

Introdução

O uso de máscara para ocultar os caracteres digitados em campos de senha em telas de verificação de identidade está presente desde o início da web, assim como o botão Reset que limpa o conteúdo dos campos.

Alternativas

Jakob Nielsen é um conhecido pesquisador e autor de livros sobre usabilidade de interfaces gráficas da web que publicou diversos estudos sobre o assunto. Ele acredita que há espaço para uma revisão desta estratégia que pode beneficiar a usabilidade destes formulários de login e sugere a adoção de uma caixa de verificação (checkbox) onde os usuários possam escolher se a senha é mostrada com ou sem máscara.

Seus estudos comprovam que na maioria das situações a ocultação dos caracteres não traz ganhos de segurança. Ele cita exemplos onde os usuários anotam as senhas em papéis ou arquivos de texto na área de trabalho do computador, produzindo o efeito inverso ao esperado em relação ao fortalecimento da segurança do ambiente corporativo. O autor acredita que o uso de caracteres exibidos sem máscara facilita a memorização e consequente uso de senhas mais complexas, e consequentemente mais seguras.

Opinião e Exemplos

Pessoalmente concordo com os argumentos apresentados, e acho relevante esclarecer para os mais leigos, que a máscara de caracteres é apenas um efeito visual e não possui qualquer característica técnica de reforço a segurança. De fato, a senha mascarada é trafegada pela rede sem qualquer tipo de encriptação. Acredito que a senha mascarada fornece uma segurança apenas contra pessoas mal intencionadas que estejam olhando por traz dos ombros do usuário, algo que em minha opinião não é tão comum mas não tenho informações estatísticas de eventos de segurança desta natureza. E também gostaria de lembrar que as senhas de conexões de redes wireless já a referida estratégia.

Especificamente sobre a segurança de softwares aplicativos instalados ou executados através da internet, seu artigo “Security & Human Factors” apresenta o seguinte argumento: “Uma grande mentira sobre segurança em computação é dizer que a segurança aumenta com a complexidade da senha usada. Na realidade, usuários simplesmente escrevem em algum lugar as senhas difíceis, deixando o sistema vulnerável. A segurança é aumentada com o design sobre como as pessoas realmente se comportam.”

Mais Informações

O CERT.br é o órgão brasileiro responsável por monitorar e relatar incidentes de segurança envolvendo sistemas de informação. Em seu web site podemos acessar informações estatíticas sobre os diversos incidentes de segurança e respectivas estratégias de ataque. Observando os relatórios estatísticos relacionados aos incidentes dos últimos anos, fica evidente que o ataque do tipo invasão (ataque bem sucedido que resulta em um acesso não autorizado a um computador) é praticamente nulo.

Conclusão

Este é um assunto para discussão e portanto, quero pedir a sua opinião. Você acredita que a possibilidade de visualizar os caracteres dos campos de senha facilitaria a sua memorização? Comente sua opinião.

Conceitos e Normas de Qualidade de Software

Segundo a Wikipedia, qualidade de software é uma área da Engenharia de Software que tem o objetivo de garantir a qualidade do software através da definição de normatizações de processos de desenvolvimento.

A ISO 9000 (International Organization for Standardization) descreve qualidade como o grau em que um conjunto de características inerentes a um produto, processo ou sistema cumpre os requisitos inicialmente estipulados.

Bill Gates definiu a qualidade de software da seguinte maneira: “Um software de Qualidade deve encantar o cliente e não somente funcionar direito e não ter erros.”

Existem fatores conhecidos que representam o nível de qualidade obtido com o software.  Os autores MacCall e Cavano (1978) relacionam os seguintes fatores de qualidade, agrupados em três tópicos principais:

• Revisão
o Facilidade de manutenção
o Flexibilidade
o Testabilidade
• Implantação
o Portabilidade
o Reusabilidade
o Interoperabilidade
• Operação
o Corretude
o Confiabilidade
o Eficiência
o Integridade
o Usabilidade

Sommerville (2007) classifica o gerenciamento da qualidade em três atividades principais:

• Garantia de padrões que conduzem a um software de alta qualidade
• Planejamento para seleção de procedimentos e padrões apropriados, adaptados para um projeto de software específico
• Controle de qualidade através da aprovação de processos que assegurem o desenvolvimento de software tenha seguido corretamente os procedimentos e padrões de qualidade de projeto.

De maneira geral é fácil perceber que a qualidade do processo conduz à qualidade do produto. No entanto, também é importante considerar a qualidade na visão do usuário final. É fato que atualmente, com a expanção e abrangência da internet, os usuários de softwares hoje têm demandado por produtos e processos de software com mais qualidade. É preciso que as empresas desenvolvedoras de soluções de software respondam questões como:

• O software é seguro?
• As funções solicitadas estão disponíveis e são executadas de maneira eficiente?
• Funciona adequadamente diante de problemas inesperados?
• Permite fácil integração com sistemas existentes?
• Existe um atendimento de suporte disponível?

É importante destacar que a qualidade nos produtos e serviços oferecidos pela empresa são comprovadamente recompensados em muito pouco tempo. Software de qualidade permite que haja reaproveitamento de códigos, que consequentemente permite um menor prazo de entrega, menor custo de manutenção, culminando com a satisfação do cliente e em resultados satisfatórios no mercado.

Segundo Kan (2002), idenpendente da interpretação dada ao termo TQM (Total Quality Management), os elementos de qualidade podem ser resumidos em:

• Foco no cliente
• Melhoria do Processo
• Lado Humano da Qualidade
• Métricas, Modelos, Medições e Análises

Medidas e Avaliações da Qualidade de Software

As medidas da qualidade de software podem ser classificadas em dois grupos: Fatores que podem ser medidos diretamente, como o tempo; e fatores menos tangíveis, tais como a usabilidade e a manutenibilidade. O objetivo final das medidas é obter indicadores de qualidade.

McCall (1977) destaca o uso de uma escala padrão, variando de 0 a 10, para o estabelecimento da medida de qualidade sobre cada um dos fatores relevantes a qualidade de software, além do uso de checklist para verificação de atributos específicos.

A ISO/IEC 9126 (NBR 13596) apresenta seis categorias gerais que podem ser subdivididas em subcategorias, para avaliação da qualidade de software. Esta classificação é apresentada na tabela abaixo:

Características Subcaracterísticas Significados
FuncionalidadesO conjunto de funções satisfazem   as necessidades explícitas e implícitas para a finalidade a que se destina o   produto? Adequação Propõe-se a fazer o que é   apropriado?
Acurácia Gera resultados corretos ou conforme acordados?
Interoperabilidade É capaz de interagir com os   sistemas especificados?
Segurança de acesso Evita o acesso não autorizado, acidental ou deliberado a   programas e dados?
Conformidade Está de acordo com normas e   convenções previstas em leis e descrições similares?
ConfiabilidadeO desempenho se mantém ao longo do   tempo e em condições estabelecidas? Maturidade Com que frequência apresenta falhas?
Tolerância a falhas Ocorrendo falhas como ele reage?
Recuperabilidade É capaz de recuperar dados após uma falha?
UsabilidadeÉ fácil de utilizar o software? Inteligibilidade É fácil entender os conceitos   utilizados?
Apreensibilidade É fácil de aprender a usar?
Operacionalidade É fácil de operar e controlar a   operação?
EficiênciaOs recursos e os tempos utilizados   são compatíveis com o nível de desempenho requerido para o produto? Comportamento em relação ao tempo Qual é o tempo de resposta e processamento?
Comportamento em relação aos   recursos Quanto recurso utiliza?
ManutenibilidadeHá facilidade para correções,   atualizações e alterações? Analisabilidade É fácil encontrar uma falha quando ocorre?
Modificabilidade É fácil modificar e remover   defeitos?
Estabilidade Há grandes riscos de bugs quando se faz alterações?
Testabilidade É fácil testar quando se faz   alterações?
PortabilidadeÉ possível utilizar o produto em   diversas plataformas com pequeno esforço de adaptação? Adaptabilidade É fácil adaptar a outros ambientes sem aplicar outras   ações ou meios além dos fornecidos para esta finalidade no software   considerado?
Capacidade para ser instalado É fácil instalar em outros   ambientes?
Capacidade para substituir É fácil substituir por outro software?
Conformidade Está de acordo com padrões ou   convenções de portabilidade?

Em 1994, a norma ISO/IEC 12119 definiu que os pacotes de software disponibilizem os seguintes requisitos de qualidade:

• Descrição do produto compreensível e completa para ajudar o usuário ou comprador em potencial na avaliação da adequação do produto a sua realidade e fornecer informações comerciais;
• Documentação do Usuário de fácil compreensão, permitindo uma visão geral do produto e de todas as suas funções, identificando conhecimento necessário para uso da aplicação;
• Identificação do tipo de interface com o usuário: interface gráfica, linha de comando, menu de comandos, janelas, etc.;
• Instruções detalhadas sobre como instalar o produto, caso a instalação possa ser conduzida pelo usuário;
• Possibilidade de verificar se a instalação foi bem sucedida;
• Especificação de valores-limite para quantidade de registros e dados de entrada, como, por exemplo, precisão de casa decimal;
• Operação normal, mesmo quando os dados informados estão fora dos limites especificados;
• Consistência de vocabulário entre as mensagens e a documentação;
• Função de auxílio (help) sensível ao contexto;
• Mensagens de erro com informações necessárias para solucionar o problema;
• Diferenciação de tipos de mensagem: confirmação, consulta, advertência e erro;
• Clareza e padronização nos formatos de telas de entrada, relatórios e outras entradas e saídas;
• Capacidade de reverter funções de efeito drástico;
• Capacidade de recuperar dados após uma falha de hardware ou software, queda de energia ou erro fatal;
• Alertas claros para o usuário das conseqüências de uma determinada confirmação;
• Identificação dos arquivos utilizados pelo programa;
• Identificação da função do programa que está sendo executada no momento;
• Capacidade de interromper um processamento demorado.

Depois do ano 2000, com a ocorrência do bug do milênio, diversos estudos que avaliam a qualidade do software entregue em projetos, começaram a ser realizados e constatou-se o seguinte:

• Mais de 30% dos projetos são cancelados antes de serem finalizados
• Mais de 70% dos projetos falham nas entregas das funcionalidades
• Os custos extrapolam em mais de 180% do orçamento inicial
• Os prazos excedem em mais de 200% os cronogramas originais

Diversas técnicas e metodologias tem sido utilizadas para avaliação da qualidade:

• Métodos e ferramentas técnicas
o Este estudo avalia tecnicas de análise, projeto, codificação e teste que ajudam analistas e projetistas a produzirem projetos de qualidade.
• Revisão técnica formal (Formal Technical Review – FTR)
o A revisão tem se mostrado tão eficiente quanto os testes na detecção de problemas de qualidade.
o Sommerville (2007) apresenta três tipos de revisão:
 Inspeção de projeto ou de programa – usada para detectar erros detalhados nos requisitos, projeto ou código.
 Revisões de progresso – usada para fornecer informações para a gerência sobre o progresso
 Revisões de qualidade – usada para a análise técnica de componentes de produto ou documentação buscando encontrar inconsistências entre especificação e projeto, código ou documentação, e assegurar que padrões de qualidade definidos foram seguidos.

• Teste de software
o Combina diferentes métodos de projetos de casos de teste para garantir a detecção erros.
• Procedimentos formais
o Conjunto de padrões adotados pela organização, aplicados pelos desenvolvedores e verificados em auditorias pela equipe de garantia da qualidade.
• Controle de Alterações
o Realiza o controle das solicitações de mudança, avaliando o respectivo impacto.
• Medição de Software
o Coleta de medidas técnicas utilizadas para avaliar especificações de requisitos do software.
• Documentação
o Todas as revisões, auditorias, controles de mudanças, testes e outras atividades do controle de qualidade devem estar documentados. A documentação precisa estar disponível para todos os participantes da equipe de desenvolvimento.

Garantia da Qualidade

É comum na atualidade, especialmente entre órgãos governamentais, a verificação de certificados junto a fornecedores de softwares e equipamentos, com o objetivo de garantir que o eles tenham sido avaliados por uma organização pertencente ao Sistemas Brasileiro de Certificações.

A qualidade de software pode ser avaliada por uma equipe multi-disciplinar que tem as seguintes  incumbências:

• Minimizar o número de defeitos
• Criar mecanismos para controlar o desenvolvimento e manutenção, de forma a preservar prazo e custos
• Garantir que o produto seja útil e eficaz
• Melhorar a qualidade de futuras versões do produto

As recomendações principais para a equipe de qualidade (Software Quality Assurance – SQA) são:

• Ter um time idenpendente de outros departamentos para garantir a idoniedade do trabalho
• Ter uma postura de representação do cliente dentro da equipe de desenvolvimento
• Ser rígido quando as avaliações sobre o cumprimento de padrões
• Traçar planos para os casos de não-conformidade

Entre as atividades atribuídas a equipe de garantia da qualidade estão:

• Avaliar e definir ferramentas e técnicas a serem usadas pelo desenvolvimento;
• Coordenar as atividades de revisões técnicas;
• Coordenar as atividades de teste;
• Definir e controlar padrões, normas e procedimentos;
• Auditar o processo;
• Controlar versões e mudanças no software;
• Definir políticas de métricas e registros de medições;

Ferramentas de Controle de Qualidade

A apostila do professor Cristiano R R Portella da PUC, apresenta uma avaliação de qualidade com base no uso do método 5s na qualidade de software:

1- Seiri (Descarte)
a. Mantenha somente o necessário e na quantidade certa
i. Backups
ii. Documentos
iii. Manuais
iv. Bibliotecas
2- Seiton (Arrumação)
a. Um lugar certo para cada coisa e cada coisa em seu lugar;
i. Biblioteca (livros e manuais)
ii. Mídias antigas
iii. Peças e partes de hardware
iv. Árvores de diretórios (servidor e estações)
v. Fontes (onde, quem tem acesso, quem acessou, etc)
3- Seisoh (Limpeza)
a. Mantenha o ambiente de trabalho limpo
i. Produza código limpo
ii. Destrua informações confidenciais destinadas ao lixo
iii. Ao término do expediente, limpe mesas, periféricos, etc.
4- Seiketsu (Asseio)
a. Mantenha-se mentalmente asseado. Pense, concentre-se.
i. Aja com calma e refletidamente. Não contribua para aumentar o caos;
ii. Concentre-se na atividade que estiver desenvolvendo. Limpe sua mente em relação a outros problemas.
5- Shitsuke (Disciplina)
a. Tenha disposição para cumprir regras
i. Crie rotinas
ii. Descubra a maneira correta de proceder. Aplique essa rotina sempre. Melhore a rotina sempre que possível.
iii. Seja metódico nos testes e revisões.
iv. Até o trabalho criativo comporta rotinas.
v. Faça registros sistematicamente.

Conclusão

Neste artigo abordei conceitos e normas relacionadas a qualidade dos processos de desenvolvimento de software.
Nesta época em que os softwares estão presentes em praticamente todas as áreas de relacionamento humano, acredito que todos os envolvidos com a produção de software devem empregar práticas de controle de qualidade em todas as fases do desenvolvimento.

Aplicativos web interessantes e úteis

Introdução

Neste texto quero compartilhar alguns aplicativos que considero úteis e interessantes na web. Alguns deles funcionam exclusivamente online, através do navegador de sua preferência, mas também há alguns que possuem aplicativos instaláveis, que são muitas vezes chamados de aplicativos clientes, que depois de instalados em seu computador, também possuem integração com o site dos fornecedores, frequentemente disponibilizando recursos de compartilhamento e colaboração.
Esta é uma lista pequena mas pretendo revisá-la e incrementá-la periodicamente.

Bounce
http://www.bounceapp.com/
Este aplicativo possibilita capturar, comentar, organizar e compartilhar telas de páginas na web. É uma ferramenta de colaboração que agiliza o trabalho relacionado a obtenção de feedback de clientes ou do público de maneira geral.

MindMeister
http://www.mindmeister.com/
Este aplicativo é utilizado para criar organogramas que representam o mapeamento de ideias. Oferece recursos de colaboração, registro de anotações, arquivos, tarefas, e até cria uma apresentação de slides a partir das informações apresentadas na tela.

XMind
http://www.xmind.net/
O XMind possui um aplicativo do tipo mindmap para instalação local que é integrado ao web site, onde disponibiliza recursos de colaboração e compartilhamento. Também é possível visualizar e navegar pelas informações do organograma com um navegador.

WooRank
http://www.woorank.com/
Esta é uma ferramenta para avaliar as características de web sites em relação as estratégias empregadas e desempenho em sites de busca. São apresentadas informações sobre os pontos fracos e problemas encontrados no web site informado, junto com dicas para correções e melhorias.

ResizeMyBrowser
http://resizemybrowser.com/
Apresenta uma relação de tamanhos de telas de diversos dispositivos e abre uma nova janela do navegador com as dimensões selecionadas, para que seja possível obter uma visão aproximada de como o web site será visualizado. Também mostra a resolução de tela utilizada no dispositivo que você está usando para acessar o aplicativo e outras opções.

Ge.tt
http://ge.tt/
Compartilhe facilmente arquivos de qualquer tipo. O aplicativo gera o link para o compartilhamento e fornece recursos para compartilhamento em redes sociais. Você pode utilizá-lo para fazer apresentações de protótipos a clientes, inclusive através de redes sociais, e pode ver relatórios de acessos aos arquivos públicos.

Coolendar
http://www.coolendar.com/
Este aplicativo permite a criação de listas de tarefas, faz integração com diversos aplicativos de calendários como o Outlook, Google Calendar, etc. Disponibiliza integração com o G-Talk e emite um aviso automático para os compromissos. O sistema inova no quesito experiência de usuário, com uma interface fácil e intuitiva.

FontStruct
http://fontstruct.com/
FontStruct é um aplicativo para criar fontes personalizadas. É uma ferramenta grátis patrocinado por FontShop que disponibiliza diferentes formas para criação de fontes personalizadas que podem ser exportadas em fotmato TrueType, e podem ser utilizadas tanto em ambiente Mac quanto Windows.

QuirkTools
http://quirktools.com/
O site disponibiliza diversas ferramentas voltadas para desenvolvedores de aplicativos para web:
• O Smaps é usado para criar site maps e dados hierárquicos;
• O Wires é uma ferramenta para criação de wireframes e protótipos de interfaces gráficas diretamente do seu navegador;
• Screenfly é usado para testar a visualização de sites em diferentes dispositivos e resoluções de tela;

StatCounter
http://gs.statcounter.com/
Este web site apresenta gráficos estatísticos sobre o perfil dos dispositivos que acessam a internet, incluindo navegadores utilizados, resoluções de tela, sistemas operacionais, e muitos mais.

Jsbin
http://jsbin.com/
Esta é uma ferramenta de teste e depuração de códigos HTML, CSS e JavaScript no próprio navegador. Também permite que você carregue diversas bibliotecas ou frameworks comumente utilizados, tais como JQuery, JQuery UI, Bootstrap, Prototype, entre outros.

Conclusão

Meu objetivo hoje foi compartilhar com vocês, alguns aplicativos interessantes disponíveis na internet, enfatizando principalmente a colaboração e o desenvolvimento.

Descobrindo o serial de um programa instalado no seu computador

Recebi um comentário de agradecimento por uma dica que publiquei num blog que mantinha antes deste, onde mostrei como localizar o número serial de um software instalado em meu computador, e resolvi compartilhar aqui também porque pode ser útil para outras pessoas.

Precisei do número serial de um programa que eu tinha instalado em outra máquina, para fazer a reinstalação na máquina que formatei. Primeiramente fiz uma busca no Google pesquisando por “como descobrir o número serial de um programa instalado”, mas não tive sucesso.

Decidi procurar pelo nome do aplicativo no registro do Windows e após diversos cliques no botão Localizar Próximo, finalmente vi aparecer selecionado na tela a chave RegistrationKey, na pasta SOFTWARE, dentro de HKEY_LOCAL_MACHINE. Fica a dica para quem se interessar.

Criando um Controle de Despesas no Excel

Neste artigo, vamos construir uma pasta de trabalho para controle de despesas, que será composta de três planilhas.

Na planilha Dashboard, faremos uso dos recursos de tabela e gráfico dinâmicos para obter uma visualização gráfica e rica sobre a variação de gastos mensais para as diferentes categorias cadastradas.

A planilha Despesas, será usada para o registro de data, categoria, subcategoria, valor e observações. Optei por organizar as informações em categorias e subcategorias, que são relevantes tanto para o lançamento quanto para análise posterior.

Utilizei o recurso de Validação de Dados combinado com uma fórmula contendo as funções ESCOLHER e CORRESP para obter as subcategorias com base na categoria selecionada.

A planilha Categorias será usada como fonte de dados para a fórmula utilizada na Validação de Dados, e também centralizará o gerenciamento de categorias e respectivas subcategorias.

Realizaremos algumas formatações para melhorar a aparência geral da planilha, e utilizaremos um controle do tipo botão para facilitar a navegação.

Adicionando Planilhas

Comece adicionando mais duas planilhas, ficando com um total de três. Aproveite e já altere os rótulos para Dashboard, Despesas e Categorias respectivamente. Para adicionar uma nova planilha, clique no botão com o sinal de adição (+) na barra onde estão as guias das planilhas.

Para fazer a alteração dos rótulos, dê um duplo-clique em cima do rótulo que deseja renomear, entre com o nome e pressione a tecla Enter para concluir.

Você também pode clicar com o botão direito sobre o rótulo e escolher a opção Renomear para entrar em modo de edição, e em seguida informar o novo rótulo e pressionar Enter ou clicar em outro local para concluir a edição.

A Planilha Categorias

Na planilha Categorias, entre com o rótulo Categorias na célula B4, e nas células abaixo, digite os valores: Moradia, Dia a Dia, Transporte e Lazer.

No intervalo D6 até D14, entre com os valores, Moradia, que será o título deste intervalo, seguido por Aluguel, Gás, Telefone Fixo, Internet, Telefone Celular, Água, Energia, e Cartões de Crédito.

No intervalo F6:F12, entre com os valores, Dia a Dia, que representa o título desta tabela de subcategorias, seguido por Alimentos, Medicamentos, Lanches, Vestuário, Lavanderia, e Mensalidade.

Em H6, entre com o título Transporte, e nas células abaixo, digite Carro, Seguro do Automóvel, Passe de ônibus, Combustível, IPVA, e Reparos de Automóvel, finalizando na célula H12.

Vamos cadastrar as subcategorias para a categoria Lazer, começando na célula J6, inserindo respectivamente Cinema, Restaurante, Academia, e Revistas, preenchendo respectivamente o intervalo J6:J10.

E pensando em uma hipotética nova categoria que pode ser de seu interesse incluir, vamos deixar o iniciada uma nova subcategoria que conterá o título Nova Categoria na célula L6, seguido pelos valores Subcategoria1, e Subcategoria2 respectivamente.

Configurando as Tabelas

Agora precisamos fazer o Excel enxergar os valores que inserimos como tabelas. Serão seis (6) no total. Definiremos os nomes tblCategorias, referente ao interval B4:B8, tblCategorias1, referente ao intervalo D6:D14, tblCategorias2 (F6:F12), tblCategorias3 (H6:H12), tblCategorias4 (J6:J10), e tblCategorias5 (L6:L8).

As referências de células foram mencionadas apenas para fins de confirmação. Não será necessário selecionar os intervalos na hora de criar as tabelas. Repare ainda que deixamos uma coluna vazia entre cada intervalo preenchido, exatamente para facilitar o trabalho.

Para criar as tabelas faça o seguinte. Selecione a célula B4, e na guia INSERIR clique em Tabela. Observe que o Excel reconhece os limites do intervalo de valores, e exibe uma caixa de diálogo para você confirmar que o intervalo selecionado é B4:B8.

Depois de pressionar o botão OK, é importante mudar o nome da tabela na caixa Nome da Tabela que aparece na Faixa de Opções. Mas caso você esqueça, ou tenha alguma dificuldade, você pode utilizar a caixa de diálogo Gerenciador de Nomes na guia FÓRMULAS.

Repita os passos acima, para criar as demais tabelas, lembrando que é preciso primeiramente selecionar a primeira célula do intervalo para então clicar no botão Inserir Tabela da guia INSERIR. E sempre confirme o intervalo e altere o nome das tabelas conforme indicado acima.

Formatando um Título

Em seguida, entre com o título Categorias e Subcategorias na célula B1, e aplique a formatação que desejar. Você também pode inserir um título Subcategorias na célula D4 para ficar mais fácil lembrar quais são as tabelas que contém as subcategorias. Veja na ilustração abaixo, como ficou minha planilha até este momento:

Visualização Planilha Categorias

Vamos deixar a criação do botão de navegação com o rótulo Registro de Despesas para uma etapa posterior.

Configurando Nomes de Intervalos

Nosso próximo passo será criar dois nomes de intervalos, que serão usados juntamente com o recurso de Validação de Dados, para exibir os valores das tabelas durante o lançamento dos dados de despesas.

Abra a caixa de diálogo Gerenciador de Nomes na guia FÓRMULAS, onde já estarão sendo exibidos os nomes das tabelas que criamos anteriormente. Clique no botão Novo, e entre com o nome Categorias, e na caixa Refere-se a, entre com a fórmula abaixo:
=tblCategorias

Veja a caixa de diálogo Novo Nome com os valores inseridos na ilustração abaixo:

Caixa de Diálogo Novo Nome

Vamos agora criar um novo nome para as subcategorias. Mas desta vez precisamos de uma fórmula que consiga trazer somente o intervalo referente a categoria selecionada. Por exemplo, se eu selecionar a categoria Moradia, a fórmula irá retornar os valores da tabela tblCategorias1 (Aluguel, Gás, Telefone Fixo, Internet, etc).

Clique no botão Novo, entre com o título Subcategoria, e na caixa Refere-se a, inseria a fórmula abaixo:

=ESCOLHER(CORRESP(tblDespesas[@Categoria];tblCategorias[Categorias];0);tblCategorias1[Moradia];tblCategorias2[Dia a Dia];tblCategorias3[Transporte];tblCategorias4[Lazer];tblCategorias5[Nova Categoria])

Observe que estamos utilizando duas funções aninhadas. A função ESCOLHER, recebe como primeiro parâmetro, um número que indica qual dos intervalos presentes nos parâmetros seguintes será retornado pela função. A função CORRESP retorna este número com base no índice onde localizou o valor informado (ex: Moradia) no intervalo da tabela tblCategorias.

Para o valor Moradia, a função CORRESP retornará 1 para a função ESCOLHER, e esta por sua vez, retornará os valores da tabela tblCategorias1. Caso o valor informado seja “Dia a Dia”, o valor retornado pela função CORRESP será 2, e a função ESCOLHER retornará a tabela tblCategorias2, como esperado.

Avaliando a Fórmula

Recomendo que você faça o seguinte teste, caso queira entender melhor o que ocorre nesta fórmula, cole a fórmula acima em uma célula, alterando o trecho tblDespesas[@Categoria] para “Moradia”, como no exemplo abaixo:

=ESCOLHER(CORRESP(“Moradia”;tblCategorias[Categorias];0);tblCategorias1[Moradia];tblCategorias2[Dia a Dia];tblCategorias3[Transporte];tblCategorias4[Lazer];tblCategorias5[Nova Categoria])

Mas ao invés de pressionar Enter, você irá pressionar as teclas Ctrl+Shift+Enter simultaneamente, indicando para o Excel que se trata de uma fórmula de matriz. Caso, seja apresentado um erro do tipo #Valor, significa que você não conseguiu acertar no pressionamento das teclas. Entre no modo de edição da célula e tente novamente.

Caso você tenha sucesso, o resultado da fórmula será o valor Aluguel, que é o primeiro item da tabela tblCategorias1.

Neste momento, você irá clicar no botão Avaliar Fórmula, da guia FÓRMULAS. Você irá visualizar a caixa de diálogo ilustrada abaixo.

Caixa de Diálogo Avaliar Fórmula

Este recurso permite que você acompanhe passo a passo a execução da fórmula, e ajuda a compreender o seu funcionamento. A expressão sublinhada será avaliada quando você clicar no botão Avaliar, e em seu lugar aparecerá o resultado obtido. E este processo será repetido até que toda a fórmula tenha sido executada.

A Planilha Despesas

Vamos continuar com a criação da planilha Despesas, onde iremos fazer uso dos nomes de intervalos que criamos. Entre com o título Despesas na célula B1, e os rótulos de colunas Data, Categoria, Subcategoria, Valor, e Observações, respectivamente nas células B4, C4, D4, E4 e F4.

Vamos digitar apenas uma linha de informações na linha 5, visando facilitar a identificação do intervalo para tabela de despesas. Clique no botão Inserir Tabela da guia INSERIR, e defina o nome tblDespesas para a tabela.

Facilitando e Padronizando a Entrada de Dados

Selecione a célula C5, abaixo do título de coluna Categoria, e clique na opção Validação de Dados, da guia DADOS. E na caixa de diálogo Validação de Dados, selecione o item Lista nas opções do campo Permitir, e entre com a fórmula abaixo no campo Fonte.

=Categorias

Clique no botão OK, e repare que você já pode ver uma seta indicando a existência de uma lista de opções quando você seleciona a célula C5. O Excel irá disponibilizar automaticamente a lista para cada nova linha de valores que você inserir. Veja na ilustração abaixo a caixa de diálogo Validação de Dados:

Caixa de Diálogo Validação de Dados

Faça o mesmo para a célula D5, alterando a fórmula do campo Fonte para:

=Subcategorias

Lembre que criamos estes nomes que estão sendo referenciados na caixa Fonte, utilizando o Gerenciador de Nomes da guia FÓRMULAS, conforme explicado anteriormente.

Faça o teste, selecionando uma categoria na lista exibida na célula B5 e então selecione a célula C5 e confirme que você pode ver a lista de itens da respectiva subcategoria.

Neste momento recomendo lançar mais alguns registros de despesas que serão exibidas no gráfico de tabela dinâmica que iremos construir a seguir. Você pode copiar a formatação aplicada ao título da planilha Categorias, utilizando o Pincel da guia PÁGINA INICIAL.

A Planilha Dashboard e a Tabela Dinâmica

Agora, vamos construir a nossa planilha Dashboard, onde iremos obter uma visualização gráfica comparativa dos valores gastos com cada subcategoria de despesas para cada mês.

Na célula A1 da planilha Dashboard informe o título que desejar, clique na célula A5 e na guia INSERIR, selecione Tabela Dinâmica. E na caixa de diálogo Criar Tabela Dinâmica clique no campo Tabela/Intervalo e então selecione o intervalo de sua tabela na guia Despesas.

Veja abaixo, que o Excel insere o nome da tabela assim que você seleciona o respectivo intervalo.

Caixa de Diálogo Criat Tabela Dinâmica

Ao clicar no botão OK, será exibida em sua planilha a Lista de Campos ilustrada abaixo e um painel Campos da Tabela Dinâmica na lateral direita da tabela.

Visualização Tabela Dinâmica

A imagem acima mostra a estrutura inicial de criação da Tabela Dinâmica.

Nosso próximo passo será selecionar os campos Data, Categoria e Valor no painel de Campos da Tabela Dinâmica, e confirmar que eles fiquem dispostos como ilustrado a seguir.

Painel de Campos da Tabela Dinâmica

Você pode clicar e arrastar os campos para posição correta caso não estejam.

Observe que ainda precisamos agrupar os valores exibidos na tabela Dinâmica para o campo Data. Clique no primeiro registro de data exibido em sua Tabela Dinâmica, e guia ANALISAR, clique no botão Seleção de Grupo, e na caixa de diálogo Agrupamento que será exibida, selecione o valor Meses no campo Por, como ilustrado a seguir:

Caixa de Diálogo Agrupamento

Depois de clicar no botão OK, você obterá a seguinte visualização dos dados apresentados na Tabela Dinâmica. Repare que nossos dados estão prontos para inserirmos o gráfico.

Visualização Campos Agrupados

Com a primeira célula da Tabela Dinâmica selecionada, clique no menu Inserir e selecione um gráfico de Colunas 2D. É relevante dizer que qualquer alteração dos valores da tabela de despesas será refletido automaticamente na Tabela Dinâmica, e refletida no gráfico.

Para concluir, copie a formatação de título aplicada as outras planilhas, desmarque a caixa de verificação Exibir do grupo Linhas de Grade da guia LAYOUT DA PÁGINA, e vamos criar os botões, que serão usados como alternativa de navegação entre as planilhas.

Criando Botões de Navegação

Para criar os botões de navegação, exiba a guia DESENVOLVEDOR, marcando a respectiva caixa de verificação da caixa de diálogo Opções do Excel acessada através do menu Arquivo > Opções. Veja na ilustração abaixo, a caixa de diálogo Opções do Excel com a guia Desenvolvedor marcada.

Caixa de Diálogo Opções do Excel

Na guia DESENVOLVEDOR, clique no botão Inserir do grupo Controles, e selecione o Botão. Mova o mouse até a planilha e observe que o ponteiro do mouse se assemelha a um sinal de adição. Clique e arraste para criar um botão com as dimensões que desejar.

Ao soltar o botão do Mouse, será exibida a caixa de diálogo Atribuir Macro, ilustrada abaixo.

Caixa de Diálogo Atribuir Macro

Clique o botão Gravar, clique em OK para exibir a caixa de diálogo Gravar Macro, onde você pode definir um nome, tecla de atalho, e outras informações sobre a macro que iremos gravar.

Não é preciso alterar nada na caixa de diálogo Gravar Macro. Clique no botão OK, clique na planilha Despesas, selecione a primeira célula da tabela (B4). Pressione a tecla End do seu teclado, seguido pela seta para baixo, que fará com que a última célula da tabela seja selecionada, e então clique no botão de parar gravação, localizado no canto esquerdo inferior, na barra de status do Excel, conforme ilustrado abaixo:

Botão Parar Gravação de Macro

Você pode mudar o rótulo do botão clicando com o botão direito do mouse sobre o botão, e escolhendo a opção Editar Texto. E também pode copiar o este mesmo botão para a planilha Categorias, que ele será copiado com todas as suas propriedades e a funcionalidade que foi definida.

Crie um outro botão na planilha Despesas, apontando com uma macro que exiba a planilha Dashboard.

Retoques Finais

Também recomendo selecionar a linha 5 da planilha Despesas e na guia EXIBIÇÃO, utilizar o comando Congelar Painéis, para manter os títulos da coluna sempre visíveis. E ainda nesta guia, desmarque a caixa de verificação Linhas de Grade para deixar as planilhas com um aspecto um pouco menos carregado.

Conclusão

Assim concluímos a criação de nossa pasta de trabalho de controle de despesas. Mas acho relevante acrescentar que esta estratégia de lançar todos os dados em uma mesma planilha, e usar os recursos do Excel para extrair as informações que buscamos é mais indicada do que outros exemplos que tenho visto na internet, onde as pessoas armazenam as despesas em planilhas separadas, uma cada mês.

Observe que separando as planilhas, traz diversos problemas, entre eles, imagine que você precisa consultar uma planilha do ano anterior, haverá a necessidade de fazer uma rolagem nada amigável utilizando a barra das guias de planilhas.

Imagine que você precise fazer algum tipo de cálculo, para saber por exemplo, quantas parcelas foram pagas daquela contratação de serviço dividida em trinta e seis vezes, todas em planilhas separadas.

Existem muitas razões para manter o registro de despesas numa mesma fonte de dados, mas este é um equívoco muito comum nas planilhas encontradas na internet, e também foi um dos fatores que me motivaram a criar este artigo.

Disponibilizei a minha versão desta pasta de trabalho para download aqui.

Até a próxima!