Blog do Mário

O usuário importa!

Publicado por: Mário Marroquim em: Agosto 17, 2009

Motivado por este vídeo, eu resolvi escrever esse pequeno post sobre usabilidade. Tornar as coisas fáceis e divertidas para o usuário final é muito importante. A idéia de que “o funcionário não sabe o que quer” muitas vezes motiva o desenvolvedor a fazer boa parte das decições de design do projeto. Creio que realmente muitos usuários não têm idéia do que querem, mas outros têm. Devemos encontrá-los na empresa (talvez fazendo enquetes sobre qual tela é melhor ou que organização de campos ficou mais limpa). Saber aproveitar suas dicas sobre a interface do software é igualmente importante. Outra coisa: durante o desenvolvimento de um software, não deixe as conversas com o usuário final e preocupações com usabilidade para a fase final do projeto. Isso pode custar muito caro. Enquando você pensa na base de dados, logo no começo, ponha seus usuários finais para desenharem em um papel a “tela ideal para isso” e discutirem melhores formas de organizar o conteúdo. Ninguém sabe mais sobre o que o usuário quer do que ele mesmo.

Algumas coisas importantes:

  • Utilize metodologias ágeis de desenvolvimento de software como o XP, Scrum, etc. Assim, o usuário final poderá avaliar o progresso da aplicação a todo o tempo e não só no final do projeto. O quadro branco para desenhar coisas é essencial para discutir com o usuário as idéias que surgirem sobre interfaces;
  • Ponha seus usuários para desenhar as telas no papel! Muita gente vai desenhar besteira, mas de repente você encontra algum padrão bacana e o aplica no projeto;
  • Democratize suas decisões. Qual layout ficou melhor? Quais campos vão para a listagem? Quais campos aparecerão na tela de detalhes do produto? Faça pesquisas com os usuários finais para ver o que eles acham;
  • Pós-venda: terminou a aplicação? Ufa.. que tal agora criar um fórum para que você possa receber o feedback sobre a aplicação, dicas para a interface, etc? Garanto que depois de um tempo vão surgir idéias muito boas para melhorar a usabilidade.

Fast Rails lançado!

Publicado por: Mário Marroquim em: Julho 11, 2009

Estou desenvolvendo um projeto pequeno, mas que considero muito relevante para muita gente. É o Fast Rails: uma aplicação Rails “blank” com autenticação, autorização de recursos, temas (incluíndo suporte ao Scaffold normal e ao ActiveScaffold), além de outras coisas. Criei um repositório no Github. Baixe uma cópia e ajude a testar!

Dica de Finanças Pessoais #1

Publicado por: Mário Marroquim em: Julho 6, 2009

Esqueça o cheque especial e se possível reduza ao máximo o seu limite. Esse dinheiro não é seu.

Se algum dia você REALMENTE precisar desse dinheiro extra, certamente você poderá fazer um pequeno empréstimo de algum tipo. Os juros do cheque especial são geralmente bem mais altos do que os dos empréstimos. Segundo o site O Globo, a média dos juros para empréstimos é de 5.52% a.m. e a média para cheque especial é de 8.87% a.m.. Não faz muito sentido utilizar cheque especial.

Oxente Rails – eu vou!

Publicado por: Mário Marroquim em: Junho 30, 2009

Meu Feirão descontinuado!

Publicado por: Mário Marroquim em: Junho 11, 2009

Informo a todos que o meu serviço de vendas, Meu Feirão, foi descontinuado.

Blog Desunidos no AR

Publicado por: Mário Marroquim em: Junho 5, 2009

Lançado o blog dos Desunidos, o blog da equipe de desenvolvimento da Credishop. Não se preocupe, Desunidos significa Desenvolvedores Unidos!!!

Vamos colocar todo tipo de coisa relacionada a tecnologia, principalmente sobre desenvolvimento de software.

Palestra de Ruby on Rails no ERECOMPI 2009

Publicado por: Mário Marroquim em: Junho 5, 2009

Fiz uma palestra o ERECOMPI 2009 junto com com o Constantino Neto, sobre Ruby on Rails na Credishop, onde nos trabalhandos. Aperreio danando mas tudo deu certo! Slides a seguir:

Novo layout…

Publicado por: Mário Marroquim em: Junho 4, 2009

Achei esse template muito massa. Tudo arredondado e colorido! E agora coloquei minhas últimas “twitadas” e links do del.icio.us

Pensamento do dia

Publicado por: Mário Marroquim em: Junho 4, 2009

Faça parte da solução e não do problema. E pelo amor de Deus, só coloque conteúdo relevante na Internet (Twitter, blogs, etc). Chega de lixo.

Autocomplete versus Rails 2.x

Publicado por: Mário Marroquim em: Maio 29, 2009

Como muitos sabem, as versões mais recentes do Rails estão vindo com uma proteção muito bacana: Cross-Site Request Forgery. Basicamente, o Rails insere uma chave secreta, token, em cada formulário para validá-lo no servidor. Isso significa alguma proteção contra códigos de outros lugares que podem acessar sua aplicação Rails se passando por um formulário comum e confiável.

O problema é que isso interfere nas chamadas Ajax do plugin AutoComplete. Esse plugin faz chamadas Ajax afim de criar listas de opções filtradas de acordo com o que o usuário digita, como no campo de emails do GMail.

Para corrigir isso foi muito simples: no controller onde está a action para auto complete do campo, coloque:

class EmpresasController < AdministracaoController

 protect_from_forgery :except => [:auto_complete_for_record_cidade] 

 active_scaffold do |config|
   config.columns = [:nome, :contato, :email, :telefone,
   :celular, :endereco, :bairro, :numero, :cidade, :ativo]
   config.list.columns = [:id, :nome, :contato, :email,
   :celular, :ativo]
   config.columns[:endereco].label = "Endereço"
   config.columns[:numero].label = "Número"
   config.actions.exclude  :delete
 end

 def auto_complete_for_record_cidade
   @cidades = []
   if not params[:record][:cidade].blank? and params[:record][:cidade].size>1
     @cidades = Cidade.find(:all,
     :conditions =>["LOWER(descricao) LIKE ?","%#{params[:record][:cidade]}%"],
     :limit => 10,:order => "descricao ASC")
   end
   render :inline => "<%= auto_complete_result(@cidades,'descricao') %>"
 end

end

O protect_from_forgery continua funcionando para todas as actions, com exceção da que é utilizada para o auto complete. Isso aí é bem melhor do que desabilitar de vez a proteção direto no seu application.rb…

Ah, quer saber como integrei o plugin AutoComplete com o ActiveScaffold para o campo cidade?

def cidade_form_column(registro, nome)
  text_field_with_auto_complete :record,:cidade,{:class => "text-input"}
end

Bastou sobrescrever a geração automática do campo definindo o método para isso no helper do controller Empresa. O helper text_field_with_auto_complete aí substitui o text_field que o ActiveScaffold iria colocar por padrão!

Meu Twitter

Meu Del.icio.us

 

Novembro 2009
S T Q Q S S D
« Ago    
 1
2345678
9101112131415
16171819202122
23242526272829
30