sexta-feira, 13 de março de 2009

GOMS - Metrificação de usabilidade

Para se medir qualquer coisa, é necessário uma métrica adequada.
Para metrificação de usabilidade, gostaria de apresentar padrão GOMS, e gostei muito dos resultados, principalmente no quesito "mostrar ao cliente".
Na prática, funciona assim:

1) Estabelecer custos para determinadas ações de usabilidade:

Mover o ponteiro do mouse até determinado ponto = 1
Clicar e arrastar um item = 4
Localizar um botão = 2
Tomar uma decisão booleana = 3
Preencher um form aprox 10 campos = 10
...

2) Listar os casos de uso seu sistema

Cadastrar um usuário
Preencher uma nota fiscal
Alterar dados de um usuário
...

3) Para cada caso de uso, pontue o custo de acordo com a primeira tabela

Dessa forma, você terá como identificar e aprimorar a usabilidade de seu sistema, utilizando uma metrificação numérica.

terça-feira, 3 de março de 2009

Criptografia de cookies

Criptografia de cookies é um requisito de segurança quando se armazenam informações críticas nos navegadores dos clientes de seu portal.
Em Java, os algorítimos de criptografia populares (AES, DES3) trabalham com vetores de bytes, o que demanda certa atenção no momento de convertê-los para uma String para se salvar em um cookie, em relação à codificação de caracteres (UNICODE UTF-8 e URLEncode).
Pode-se utilizar Base64 para converter a informação binária para String, porém é possível encarar problemas de padding de bytes.
A melhor solução encontrada foi a codificação dos bytes em Hexadecimal. Fica um pouco maior que o Base64, porém, totalmente bugfree, pois o output só terá caracteres "naturais", de 0 a 9 e A a F. Nada de / = + e outros caras estranhos pra quebrar a codificação de sua string. O pacote Apache Commons Codec implementa ambas as conversões.

http://java.sun.com/javase/technologies/security/
http://pt.wikipedia.org/wiki/Base64
http://commons.apache.org/codec/