Conheça a Informant          RSS

Posts Tagged: Tecnologia


29
May 14

16 extensões para Chrome que todo programador precisa conhecer

Keyboard

Todo bom programador conhece – e tem disponível para si – uma grande variedade de ferramentas que o ajudam a construir softwares melhores, mais rápidos e confiáveis. Com todo o avanço da tecnologia, atualmente não é mais necessário confiar apenas numa página de texto em branco para que seu código atenda todas as demandas dos usuários.

Da mesma forma, os próprios browsers evoluíram para que as aplicações ficassem melhores. Neste sentido, não precisamos considerar apenas os avanços nos motores de renderização, mas principalmente nas possibilidades criadas pela inclusão de extensões – tanto no Google Chrome quanto no Mozilla Firefox.

Neste contexto, criamos uma lista com 16 extensões que todo programador precisa conhecer para levar seu código para o próximo nível de qualidade. Confira:

Programadores front-end

JSON View: extensão que serve para organizar qualquer arquivo JSON, deixando-o legível e mais fácil de trabalhar. É terrível abrir esse tipo de documento e dar de cara com milhares de caracteres sem indentação, não é? Essa extensão resolve!

W3C Validator: validar um código HTML ou CSS de acordo com as normas W3C ficou muito mais fácil com essa extensão. Basta entrar no site, clicar no botão e pronto.

jQuery API Browser: a maneira mais rápida de encontrar a documentação de qualquer API jQuery. Abra a caixa de busca, digite o nome do método e toda a documentação será carregada.

Frameworks: a extensão para descobrir quais frameworks o site que você está navegando utiliza.

Programadores mobile

Window Resizer: a extensão Window Resizer faz o que o nome promete, redimensiona a tela do navegador para testar como o site se comporta em resoluções diferentes. Uma mão na roda para quem se preocupa com design responsivo!

Ripple: Ripple é um emulador completo. Através dele é possível mudar simular perfeitamente como um smarphone reagiria ao seu código, incluindo a orientação da tela e até o acelerômetro.

Para usar com Github

Octofication: Após sincronizado com sua conta do GitHub, permite receber notificações dos repositórios que você acompanha.

Diff for Gist: é uma extensão que exibe as diferenças entre cada revisão do código, simplificando a manutenção e o acompanhamento, principalmente em trabalhos em grupos.

Webdesign

ColorZilla: ColorZilla é um “conta-gotas” instalado diretamente no seu Chrome que apresenta o código de qualquer cor, clicando sobre ela.

WhatFont: O WhatFont tem um funcionando muito parecido ao ColorZilla, mas para fontes. Selecione um trecho, aponte o WhatFont e descubra qual fonte está sendo utilizada.

Workflow

LiveReload: Extensão que evita a necessidade de ficar dando F5 para visualizar as alterações na página. Ajuda, principalmente, a economizar tempo na troca de janelas.

Performance

PageSpeed: Verifica cada aspecto do seu site e avalia se ele está de acordo com as diretrizes de desempenho e SEO do Google.

YSlow: Famosa ferramenta do Yahoo! que verifica a performance do seu site.

Speed Tracer: Analisa e gera relatórios sobre a velocidade de execução dos seus JavaScripts e seletores CSS, entre outros detalhes.

Outros

Firebug e WebDeveloper poderiam se encaixar em várias das categorias acima, mas estão em “Outros” porque ajudam em todo o processo de desenvolvimento através de ferramentas de debug e otimização.

Conhece alguma outra extensão importante que ficou de fora? Aproveite os comentários abaixo e complemente nossa lista!


27
Mar 14

Entenda o que é SaaS (e como isto afeta o seu bolso)

Uma das siglas mais quentes no mundo dos negócios e internet hoje é o SaaS. Hoje, no blog da Informant, explicamos tudo sobre esta modalidade de negócios e como ela faz diferença para você e para a sua empresa! Acompanhe!

A internet sempre se mostrou reveladora de mudanças nas formas de fazer e criar novos modelos de negócios. Foi assim para a música, cinema, jogos, livros e tantas outras indústrias que migraram do offline para o online.

No entanto, para a indústria de softwares, a internet não apresentou apenas mudanças na maneira que compramos e consumimos tecnologia, mas criou uma forma de distribuição e comercialização completamente nova: o software as a service (SaaS).

Preparamos um guia para explicar o que é SaaS e quais os motivos que o faz a melhor opção tanto para quem desenvolve quanto para quem utiliza diariamente, confira:

O que é SaaS

SaaS é a sigla em inglês para software as a service (software como serviço), um modelo que o fornecedor da ferramenta se responsabiliza por toda a disponibilização do sistema: servidores, conectividade, cuidados com as informações e segurança, enquanto o usuário o utiliza via internet, pagando um valor recorrente. É como se fosse uma assinatura ou mensalidade.

O modelo SaaS não é determinado pela sua tecnologia e nem mesmo precisa ser totalmente web. Sua característica principal é a não necessidade de aquisição de licenças, mas sim o pagamento pelo uso.

Vantagens para quem cria

Software as a service apresenta diversas vantagens para quem trabalha na indústria de programação. Não apenas por ser um modelo mais simples de implementar, mas também por facilitar a aquisição de usuários.

Por meio do SaaS, a empresa proprietária do sistema não exige que o cliente crie uma estrutura e treine seu pessoal para começar a usar o software. Na verdade, muitas empresas de SaaS não possuem nenhuma relação com o cliente, já que tudo pode ser contratado pela internet. Essa facilidade permite que a mesma ferramenta seja oferecida para mais clientes de forma mais rápida, potencializando o faturamento. A pouca dependência do setor de TI para a manutenção do código ainda faz do modelo SaaS uma boa opção de custo.

Outra vantagem é que o SaaS permite modelos de cobrança recorrentes. A empresa que trabalha com esta fonte de receita consegue previsões financeiras de faturamento mais precisas, o que permite que ela planeje melhor o seu fluxo de caixa.

Vantagens para quem usa

Do lado do consumidor de software, as vantagens em adquirir SaaS são muitas também. Não há necessidade de instalação da ferramenta, que já está pronta na web; não exige capacitação de funcionários para suporte e implementação; não exige contratação de licenças caras; permite a integração com outros serviços e o encerramento do uso de forma rápida. Ainda são mais flexíveis, podem estar disponíveis em qualquer computador com acesso à internet sem perda de dados. Seus backups (feitos na nuvem) são mais confiáveis que os feitos localmente. Mesmo assim, em geral são opções mais baratas!

O uso de SaaS não se mostra apenas uma tendência. Essa nova forma de consumir software já está estabelecida no mercado e é cada vez mais utilizada tanto por empresas quanto por usuários comuns. Com a expansão dos dispositivos móveis e a maior facilidade de compra de computadores, não há mais necessidade de se prender a uma ferramenta instalada localmente. O SaaS, em todos os sentidos, é a melhor solução para software disponível.

Ainda que seu uso já comum, muitos usuários e empresas se confundem na adaptação a este novo modelo. Estamos disponíveis para tirar todas as suas dúvidas. Entre em contato com a Informant!


20
Dec 13

Como acompanhar o trabalho de desenvolvimento da fábrica de software que você contratou?

O outsourcing é uma das maiores tendências da tecnologia da informação nos últimos anos. Cada vez mais, empresas decidem focar tempo e esforço preciosos em seus negócios e confiam o desenvolvimento de sistemas e aplicações a parceiros especialistas, como as fábricas de softwares.

No entanto, é comum que algumas organizações cometam o equívoco de entregar a tarefa ao fornecedor e apenas esperar o produto final. Essa prática é comum em outros tipos de prestação de serviço, mas pode não trazer os resultados esperados no desenvolvimento de softwares.

Os projetos de tecnologia da informação, em geral, apresentam muitas mudanças durante sua execução. Dessa forma, ao contratar uma fábrica de softwares, é fundamental que sua empresa consiga acompanhar o andamento das etapas do projeto para que o produto final esteja dentro dos requisitos estabelecidos.

Saiba como acompanhar o trabalho de desenvolvimento da fábrica de software:

Monte um plano

As fábricas de software são especialistas no desenvolvimento de sistemas e costumam usar métodos ágeis para realizar entregas mais rápidas e com qualidade. No entanto, isso não impede que sua empresa use ferramentas mais tradicionais para acompanhar o progresso do projeto.

Antes que o desenvolvimento tenha início, liste as principais tarefas que o parceiro precisará desenvolver para entregar o produto final. Com isso, será possível incluir as informações em uma ferramenta de gerenciamento de projetos ou uma planilha para organizar as tarefas, ordená-las e criar links entre aquelas que possuem dependência entre si.

Documente informações básicas para o projeto, como escopo, cronograma, custos, funcionalidades esperadas, requisitos de qualidade, riscos e até mesmo planos de contingência. Não se esqueça de destacar informações essenciais como prazos das entregas e marcos que ajudem a acompanhar o progresso.

Com essas informações bem registradas e organizadas, será possível registrar o que se espera da fábrica de softwares e verificar se ela está desenvolvendo o trabalho conforme esperado.

Monitore o progresso

Peça ao representante da fábrica de software que informe quais das etapas listadas inicialmente já foram cumpridas. Defina quem será o responsável por alimentar essas informações e qual o prazo necessário para isso.

Isso permite que você e sua equipe visualizem o que já foi realizado e aquelas tarefas podem atrasar e impactar o projeto mais adiante. Caso necessário, organize reuniões para levantar mais informações ou entender questões que ainda não estejam claras junto à fábrica.

Outra forma eficaz de acompanhar o progresso é montar uma planilha com as funcionalidades que serão entregues e classificá-las de acordo com alguns critérios: progresso no desenvolvimento, se já foi testada e se já foi integrada a outros sistemas da sua empresa.

Seja visual

Uma maneira interessante de facilitar o trabalho de acompanhamento da fábrica de softwares é desenvolver relatórios com apelo visual.

Crie ferramentas para gerar automaticamente gráficos e desenhos com as principais informações do projeto. Isso garante uma análise do andamento do projeto de forma mais rápida e eficaz.

Os relatórios podem ser desenvolvidos em formatos diferentes para serem aproveitados por colaboradores com diferentes necessidades, como alta direção, desenvolvedores, patrocinador, analistas, etc.

Além disso, esses recursos atrairão mais atenção dos membros da equipe envolvidos no projeto, estimulando o interesse e o acompanhamento da evolução das atividades.

Interfira

Ao acompanhar o andamento do projeto com as ferramentas já descritas, use indicadores e metas para detectar os desvios e as tendências e ser notificado sempre que algo fora do esperado ocorrer.

Dessa forma, você poderá intervir junto à fábrica para verificar que ações podem fazer com que o trabalho volte para os trilhos novamente.

Precisando de uma fábrica de software? Quer saber mais? Entre em contato com a Informant!


03
Dec 13

User Centric Design: o que é e por que importa

User Centric Design

As organizações que se tornaram líderes de mercado após sobreviverem a anos de competição e desafios conhecem a importância de manter o foco sempre no cliente. No entanto, essa é uma lição que também serve para empresas de todos os tamanhos e setores.

No mercado da tecnologia da informação, a filosofia user-centered design (UCD) é voltada especificamente para entender os anseios dos usuários de uma interface no intuito de incorporá-los ao desenvolvimento de um novo produto ou serviço. Compreender as necessidades e superar as expectativas do consumidor final podem ser os grandes diferenciais na busca por novas oportunidades de negócio e na consolidação de uma empresa.

Saiba o que é user-centered design e suas vantagens:

UCD

User-centered design (UDC), ou design centrado no usuário, é o processo em que as necessidades, vontades e limitações do usuário são o foco principal de todas as etapas do desenvolvimento, criando um caminho para que sua experiência em um novo produto ou serviço seja satisfatória.

Essa estratégia se diferencia de outros métodos mais tradicionais do design, nos quais os produtos são desenvolvidos somente a partir de objetivos de negócio e funcionalidades disponíveis. Essas metodologias clássicas fazem com que o consumidor apenas se adapte à interface concebida inicialmente.

Já no UCD, o trabalho tem ênfase na forma como o usuário gostaria de usar o sistema, levando em conta suas crenças, atitudes, comportamentos e sua forma de interação com a máquina.

Aplicação

O design centrado no usuário é muito usado no processo de desenvolvimento de softwares e websites, passando pelas fases de análise, design, implementação e deployment (ou instalação da aplicação). A filosofia exige que os designers prevejam e analisem como os usuários usarão o produto a ser desenvolvido e, em seguida, apliquem testes para que as percepções sejam avaliadas em um ambiente real. Essas verificações são fundamentais em iniciativas que usam user-centered design, pois o comportamento dos usuários não é fácil de ser previsto.

Para conseguir entender o cliente e obter informações úteis para o desenvolvimento, os profissionais devem pensar em quem é o usuário, quais seus objetivos ao usar o sistema, que tarefas realizará, como pensa que a ferramenta deveria funcionar, entre outras.

Uma das palavras-chave na aplicação do UCD é a usabilidade, ou seja, a experiência do usuário em uma interface. Quando ela é alta, é possível realizar as tarefas de forma eficiente, sem exigência de aprendizado.

Vantagens

Em projetos de sites e softwares, o foco na experiência do usuário pode ser a grande diferença entre o fracasso ou sucesso do produto.

Dessa forma, ao usar o user-centered design, a empresa mantém seu foco sobre uma entrega que poderá ser mais eficiente e com maior usabilidade. Isso aumenta as chances de que o usuário fique mais satisfeito, potencializando as vendas e a fidelização.

Além disso, produtos e serviços desenvolvidos por meio do UCD podem aumentar a produtividade de equipes que utilizam um sistema. Ignorar o usuário final, mais que um simples descuido, pode se provar um erro fatal no desenvolvimento.

Quando não há alinhamento entre as necessidades e capacidades do usuário com o software que ele utiliza, erros são mais frequentes e a experiência de uso torna-se frustrante.

Ainda em dúvida sobre como aplicar o UCD em seu sistema ou software? Fale com a Informant!


28
Nov 13

design de interação, o que é ?

design de interação

Pare e pense: quando foi a última vez que você passou um dia inteiro sem qualquer contato com uma interface digital, como um computador ou um smartphone?

Com a grande quantidade de interfaces disponíveis para usos variados e a demanda crescente dos consumidores, a experiência que temos ao usar produtos e serviços digitais vem se transformando em uma das maiores preocupações dos desenvolvedores de novas tecnologias.

Uma das áreas que busca soluções para essa experiência é o design de interação, setor em plena expansão nos países líderes em novas tecnologias. No Brasil, apesar de ainda estar incipiente, o tema também já conta com cursos universitários e inúmeras oportunidades de trabalho.

Qualquer empresa em busca de vantagens competitivas no mercado deve saber como o design de interação pode ser o grande diferencial para o fracasso ou sucesso de um novo produto.

Aprenda hoje o que é design de interação e qual a sua importância:

Foco na experiência

O design de interação é uma das vertentes do design que trabalha a forma como um produto, (seja um site, um aplicativo, um jogo ou outras aplicações) permitirá que os usuários façam uso dele. O objetivo da disciplina é melhorar a relação entre as pessoas e as máquinas, aumentando as chances de sucesso de um produto no mercado.

Um dos objetivos desse conceito é fazer aquilo que a engenharia sozinha não consegue ao desenvolver novas tecnologias: pensar no usuário. É como se fosse um acabamento artístico para um produto científico, levando em conta, além do seu funcionamento, o visual e a experiência interativa do de quem interage com ele. O foco está nas pessoas, e não na tecnologia em si.

A disciplina executa projetos a partir de conceitos que foram estabelecidos por meio de testes com usuários. No entanto, é inviável desenvolver um método único para qualquer interface, pois cada produto ou serviço possui demandas diferentes, exigindo estudos específicos para que a interação seja realmente satisfatória.

Na prática

O design de interação serve, na prática, para avaliar os diversos aspectos que afetam a experiência do usuário com um sistema em busca de soluções inovadoras.

Primeiro, é necessário saber se um produto é útil, seja porque é funcional e atende a uma necessidade básica ou por ter relevância emocional para o usuário. Em seguida, deve-se pensar sobre sua usabilidade, ou seja, a forma como o usuário realizará ações no produto, para que possa ser eficiente e de fácil assimilação. Além disso, é preciso ter em mente que o sistema deve lidar com os possíveis erros humanos.

No design de interação, também é fundamental que o profissional da área esteja em uma busca constante por soluções inovadoras e seja capaz de montar protótipos rápidos para que possam ser rapidamente testados.

Muitas vezes o trabalho do designer de interação ocorre em colaboração com profissionais de outras vertentes, como o design gráfico, da informação e industrial. Apesar disso, o foco do trabalho deve ser mantido na compreensão do comportamento do usuário, a partir da observação de suas ações ao usar um produto.

Importância

Com todas essas preocupações em mente, o designer de interação consegue fazer com que um sistema qualquer seja mais apto a responder de forma adequada às demandas do usuário. Com tantas alternativas no mercado, os consumidores estão cada vez mais impacientes e, caso a interface do produto não atenda a suas necessidades, ele rapidamente buscará os concorrentes.

O design de interação também ajuda a definir, em um sistema, o que é prioritário e o que pode ser considerado secundário. Isso facilita a navegação e diminui a necessidade de muitos cliques e esperas. Imagine um website de vendas em que o usuário não consegue acessar informações básicas sobre um produto ou executar ações simples como iniciar uma compra. Em poucos minutos ele provavelmente desistirá do site e vai procurar outra solução.

Essa vertente do design também serve como um ponto de equilíbrio entre a capacidade de interação e a funcionalidade do produto, evitando que um sistema não consiga entregar aquilo que promete. Além disso, por meio da disciplina, é possível prevenir que o usuário encontre erros ou consiga contorná-los quando necessário.

Agora que você sabe o quão importante, perguntamos: como esta questão é abordada na sua empresa? Já desenvolve este aspecto nos seus produtos? Comente!


02
Aug 12

Solr torna-se opção de plataforma para facilitar buscas por conteúdo

Quantas vezes você já entrou em uma página da Internet, procurou por alguma informação, e depois de não encontrá-la, voltou ao Google e conseguiu o que procurava em outro site? Geralmente, quando não encontramos o que buscamos, ou nos sentimos perdidos em um site, vamos para o próximo resultado no Google, já que sempre existirá outra forma de alguém nos atender. Devido à constante falta de tempo, se um usuário demorar a localizar as informações em um site, por exemplo, isso pode afetar de forma significativa as vendas, visibilidade e a experiência que ele associará à sua marca. Daí vem à importância da organização da informação e a facilidade na pesquisa.

Mas, como resolver esta questão? Hoje, uma solução para o problema é o uso de ferramentas de indexação e busca de texto, como o Solr, uma plataforma de busca super-rápida, open-source, baseada na tecnologia Apache Lucene, desenvolvida para facilitar a implementação de buscas por conteúdo (textos em documentos de diversos formatos), em qualquer tipo de aplicação.

Para que você entenda melhor, o Solr utiliza, por padrão, a biblioteca de buscas Lucene. Com isso, poupa o esforço da implementação de técnicas de busca binária e outros algoritmos complexos. Isso também torna a busca mais performática que a de um banco de dados relacional. Outra vantagem, são as várias técnicas existentes para otimização de performance da ferramenta, como os tipos de cache e as warm up queries.

No atual cenário brasileiro, a maioria das empresas busca resolver os problemas encontrados ao trabalhar com grande volume de documentos, desenvolvendo suas próprias alternativas, gerando um investimento maior, e soluções que não são as ideais. Isso acontece muitas vezes, por falta de conhecimento das soluções disponíveis ou pela dificuldade em encontrar mão-de-obra qualificada. Em outros países, a adoção do Solr e de outros servidores de pesquisa é muito maior. A tendência é que o cenário mude no Brasil, já que cada vez mais surgem organizações capacitadas para trabalhar com tecnologias de ponta, como a Informant.

A implantação do Solr começa com o desenvolvimento do esquema de dados da solução. Uma fase onde se analisa os tipos de dados que serão trabalhados, as informações que o usuário normalmente busca, e como se define a relevância de um resultado. Ou seja, a estratégia de implantação considera a necessidade específica de cada perfil. Depois desta fase, elabora-se um protótipo, para validar que a solução desenvolvida atingiu as necessidades do cliente. Após a validação do protótipo, inicia-se a implantação da solução.

Hoje, o Solr é uma tecnologia madura, utilizada por grandes empresas como whitehouse.gov, AOL, http://www.guardian.co.uk/, digg.com, att.com, disney.com, para que possam se beneficiar da ferramenta e melhorar suas soluções em diferentes sistemas, como: sites de comércio eletrônico; gerenciamento de documentos nos mais diversos formatos, como PDF, Word, XML e HTML; para fins que contenham funcionalidades de buscas, como ERPs; portais empresariais, ou educativos que disponibilizam informações para funcionários e clientes, principalmente quando há documentos em mais de um idioma; e para armazenar dados de geolocalização (pesquisa por locais que estejam à determinada distância de um ponto, por exemplo).

Resumindo, com a utilização do Solr, permitimos que o usuário consiga pesquisar em milhões de documentos, instantaneamente. Além disso, a atualização dos dados também é rápida, o que demonstra um nível de serviço que poucas organizações conseguem atingir neste tipo de solução. Vale lembrar que um servidor de pesquisa, como este, não busca substituir tecnologias como banco de dados, mas sim facilitar a implantação de pesquisas em sistemas. E, não será ele que guardará informações como logins de usuários, saldo de contas e permissões de acesso.