Blog

Android – Injeção de dependência com RoboGuice (Parte 3)

 

Começando mais um post para a série sobre RoboGuice, se você não viu os posts anteriores, sugiro que confira em: http://www.dclick.com.br/?p=6325 e http://www.dclick.com.br/?p=6341.

Neste post eu demonstrarei como realizar injeção de dependência de uma interface com diversas implementações, utilizando o RoboGuice.

 
Continue Lendo

Android – Injeção de dependência com RoboGuice (Parte 2)

 

Dando continuidade ao post anterior (http://www.dclick.com.br/2012/08/01/android-injecao-de-dependencia-com-roboguice/), neste post eu darei alguns outros exemplos de utilização do RoboGuice, de forma simples. Para a injeção de outras classes, conteudos e valores. Seguem alguns trechos de código que exemplificam a utilização de algumas anotações do RoboGuice:

 
Continue Lendo

Android – Injeção de dependência com RoboGuice

 

Neste post eu farei uma breve introdução ao RoboGuice, uma das ferramentas disponíveis no Android para injeção de dependência. Com o simples exemplo apresentado a seguir será possível ter uma noção da grande utilidade e praticidade que o RoboGuice fornece aos projetos mobile. Quem já utiliza Spring ou algo similar no desenvolvimento Java, sabe como este modelo de programação é útil.

 
Continue Lendo

Oportunidade de estágio Designer / Arquiteto de Informação

A DClick está em fase de expansão e oferece estágio para o cargo de Designer /Arquiteto de Informação, o profissional fará parte da equipe de UX. Pessoas proativas, comprometidas e autodidatas são sempre bem aceitas em qualquer lugar e no time da DClick não é diferente.

Vaga para trabalhar em São Paulo

Pré-Requisitos

- Conhecimentos de Photoshop (Intermediário)
- Estar cursando pelo menos o segundo ano dos cursos Design / Publicidade ou similar.
- Vontade de trabalhar com Arquitetura da Informação
- Plataforma Mac

Diferenciais

- Algum conhecimento sobre Arquitetura da Informação e Experiência do Usuário
- Ter alguns trabalhos mesmo educacionais desenvolvidos na área de User Interface ou Iconografia.
- Experiência no exterior (viagens pessoais, conferências ou trabalho)
- Inglês (pelo menos leitura).

Foco da vaga

O profissional aprenderá a desenvolver interfaces de aplicações corporativas, sendo elas webapps ou mobileapps, terá amplo aprendizado na área de Arquitetura de Informação onde atuará diretamente com dois arquitetos experientes, auxiliando-os nos protótipos.
O objetivo é formar um profissional capaz de desenvolver wireframes, fluxogramas até chegar a interface da aplicação, sempre acompanhado e orientado por um profissional mais experiente.

Sobre a DClick

A DClick é uma das primeiras empresas Brasileiras inteiramente focada no desenvolvimento do Rich Internet Applications. Com escritórios no Rio de Janeiro e em São Paulo, a DClick possui grandes clientes como Petrobras, Johnson & Johnson, Odebrecht, Mercado Eletrônico, Yahoo entre outros.

Os interessados devem enviar um currículo com portfolio para:
oportunidade@dclick.com.br“ com cópia para:
eduardo.horvath@dclick.com.br“.

Guideline iOS – Experiência do Usuário 8

Sempre esteja preparado para parar

Aplicações iOS param quando as pessoas pressionam o botão Home para abrir um aplicativo diferente ou usam um recurso do dispositivo, como o telefone. Em particular, as pessoas não tocam em um botão para fechar a aplicação ou selecionam Sair em um menu. Para proporcionar uma boa experiência de parada, um aplicativo do iOS deve:

  • Salvar os dados do usuário o mais rapidamente e sempre o mais razoávelmente possível, pois uma saída ou notificação de término podem aparecer a qualquer momento.
  • Salvar o estado atual quando parar, no nível mais detalhado possível para que as pessoas não percam o seu contexto quando iniciarem a aplicação novamente. Por exemplo, se seu aplicativo exibe dados de rolagem, salve a posição de rolagem atual.

Nunca Termine Programadamente

Nunca termine uma aplicação de iOS programadamente, porque as pessoas tendem a interpretar isso como uma falha (crash). No entanto, se as circunstâncias externas impedem que o aplicativo funcione como previsto, você precisa informar seus usuários sobre a situação e explicar o que eles podem fazer sobre isso. Dependendo o quão grave o mau funcionamento das aplicações é, você tem duas escolhas.

  • Exiba uma tela atraente que descreva o problema e sugira uma correção. A tela fornece feedback que tranquilizará os usuários de que não há nada de errado com a sua aplicação. Ela coloca os usuários no controle, deixando-os decidir se querem ou não tomar uma ação corretiva e se continuam a usar o seu aplicativo ou se pressionam o botão Home para abrir um aplicativo diferente.
  • Se apenas algumas das características de sua aplicação não esta funcionando, ou exiba uma tela ou um alerta quando as pessoas ativarem esse recurso. Exiba o alerta apenas quando as pessoas tentarem acessar o recurso que não está funcionando.
Essa parte é óbvia como quase toda a Guideline do iOS, mas eu vejo a Guideline como um checklist que você deve seguir, porque podemos esquecer dos detalhes, e uma boa experiência é feita pelos detalhes.
Dessa forma é importante ressaltar que a comunicação com o usuário deve ser feita a todo momento, quer seja no momento em que ele usa a aplicação ou mesmo quando não está utilizando. As diversas formas de comunicação são o push, notificações que o usuário recebe quando a aplicação aparentemente está fechada. A notificação durante o uso da aplicação, e porque não, a notificação sobre a instabilidade da aplicação. É muito mais importante e significativo avisar o usuário que a aplicação está sofrendo instabilidades do que esperar que ela dê crash e o usuário sinta esse problema perdendo assim confiança na sua app.
Avisar o usuário é fundamental, quer seja o fato de que sua aplicação não irá rodar muito bem uma determinada versão do iOS, o que é comum, ou que está sobrecarregada e poderá fechar a qualquer o momento. Certa vez eu utilizei o Foursquare e apareceu para mim a informação de que a aplicação estava instável, indicando que eu deveria reiniciar a aplicação pois ela poderia fechar a qualquer momento, e claro, como qualquer usuário eu fui até o limite da aplicação até ela fechar na minha frente. A diferença é que como era um crash previsto não me causou uma experiência ruim, pois parece indicar que a aplicação tem o controle da situação, e que não vou um mero crash por erro no desenvolvimento.
Esse tipo de informação pode definir entre a sua aplicação permanecer ou não no device do usuário, pois alguns dos usuários preferem deletar uma app logo no primeiro crash, por achar que a app não é confiável.

Android – Realizando PUTs e DELETEs com SpringAndroid

 

Dando continuidade à série de desenvolvimento de aplicações REST com Spring, neste post eu darei um exemplo de como realizar PUT e DELETE nas suas aplicaçoes Android com a utilização do Spring.

Caso não tenha visto os posts anteriores, confira em: Desenvolvimento REST com Android, Consumindo JSON com Spring e Realizando POSTs com SpringAndroid.

A seguir, serão demonstradas algumas formas de enviar PUT e DELETE à um servidor, de acordo com o que a função espera receber.

 
Continue Lendo

Guideline iOS – Experiência do Usuário 7

Utilizar Modal nas tarefas ocasionais e simples

Sempre que possível, minimize o número de vezes que as pessoas devem estar em um ambiente restrito para executar uma tarefa ou fornecer uma resposta. Aplicações do iOS devem permitir que as pessoas interajam com as mesmas de maneira não-linear. O uso do Modal impede essa liberdade pela interrupção do fluxo de trabalho das pessoas e força-as a escolher um caminho particular. O uso do Modal e é mais adequado quando:

  • É fundamental chamar a atenção do usuário.
  • A tarefa deve ser concluída (ou explicitamente abandonada) para não deixar os dados do usuário em um estado ambíguo.

As pessoas apreciam serem capazes de realizar uma subtarefa autonoma em uma visão modal, pois a mudança de contexto é clara e temporária. Mas se a subtarefa é muito complexa, as pessoas podem perder de vista a tarefa principal que elas suspenderam quando entraram na exibição modal. Isso aumenta o risco quando a exibição é restrita em tela cheia e quando ela inclui vários pontos de vista ou estados subordinados. Continue Lendo

Guideline iOS – Experiência do Usuário 6

Faça os alvos do tamanho da ponta de um dedo

O tamanho da tela dos dispositivos iOS pode variar, mas o tamanho médio de um dedo, não. Independentemente do dispositivo que seu aplicativo é executado, seguindo estas guias (guidelines), garantem que as pessoas podem usar confortavelmente a sua aplicação.

De elementos tappable (tocáveis) na sua aplicação, uma área-alvo de cerca de 44 x 44 pixels. A aplicação da calculadora do iPhone é um bom exemplo dos controles do tamanho de um dedo.

Se você criar controles menores, ou se você os coloca muito próximos, as pessoas devem mirá-los com cuidado antes de tocar e eles estão mais propensos a tocar o elemento errado. Como conseqüência, a aplicação torna-se muito menos agradável, ou mesmo impossível de usar. Por exemplo, um jogo que tem controles de pequeno porte que são muito próximos uns dos outros as pessoas esforçam-se para se concentrar na interface, em vez de jogar o jogo.

 

Use Animações Sutis para se comunicar

A animação é uma ótima maneira de se comunicar de forma eficaz, contanto que não fique no caminho das tarefas dos usuários ou os atrase. Uma animações sutil e apropriada pode:

  • Comunicar status
  • Fornecer feedback útil
  • Aumentar o senso de manipulação direta
  • Ajudar as pessoas a visualizar os resultados de suas ações

Adicione animações cautelosamente, especialmente em aplicações que não fornecem uma experiência imersiva. Em aplicações que estão focadas em tarefas sérias ou produtivas, animação que parece excessiva ou gratuita pode obstruir o fluxo da aplicação, diminuir o desempenho, e distrair os usuários da tarefa.

Faça uma animação consistente com aplicações integradas (built-in) quando necessário. As pessoas estão acostumadas com a animação sutil utilizadas nas aplicações built-in do iOS. Na verdade, a maioria das pessoas consideram a transição suave entre pontos de vista, a resposta fluida para as mudanças na orientação do dispositivo, e folhear e rolar (flipping and scrolling) realistas como uma parte esperada da experiência iOS. A menos que você esteja criando um aplicativo que permite uma experiência imersiva, tal como um jogo, animações personalizadas devem ser comparáveis as animações built-in.

Use animações consistentes em todo o aplicativo. Assim como outros tipos de personalização, é importante usar animações personalizadas de forma consistente para que os usuários possam contar com a experiência que eles ganham com a sua aplicação.

Continue Lendo