Quando a coisa é boa, temos que fazer a propaganda gratúita. Então, mais um grande desenvolvedor vira blogueiro, Washington Botelho, é desenvolvedor da Giran e trabalha com Java, Hibernate, VRaptor, JSF, JSP, jQuery, Servlet, JS e CSS. Então, fica ai a dica para quem tiver interesse em conhecer mais sobre vRaptor é só visitar o blog desse cara, ele está usando mesmo.
Estou percebendo que a preocupação com usabilidade tem crescido, vi que Luiz China da Bluesoft fez um vídeo sobre ergonomia e usabilidade. Segue o vídeo e o slide. Gostei bastante da apresentação, pois ele coloca pontos interessantes de autores conhecidos na área. Vale a penas assistir.
Como já discutido anteriormente, o estudo de projetos de interfaces não está relacionado apenas com as possibilidades e limitações tecnológicas; é muito mais abrangente que somente um elemento técnico. O estudo do ser humano e seu comportamento também está diretamente relacionado ao desenvolvimento de interfaces. Envolve o conhecimento sobre o humano, sobre a tecnologia e sobre as maneiras como um influencia e é influenciado pelo outro.
Procurar entender o usuário do sistema sobre diferentes óticas é algo imprescindível para o bom design de interface. Lembrando que, quando se fala de usuário, estamos falando de fatores humanos. Então, procura-se entender a percepção visual, a psicologia cognitiva de leitura, memória humana e raciocínio dedutivo e indutivo.
A interface é a forma que se estabelece um diálogo entre o programa e o ser humano. Se esses princípios forem levados em consideração, esse diálogo será harmonioso e um ritmo será estabelecido entre o usuário e o programa; caso não aconteça essa valorização, o sistema quase sempre será tratado por “não-amigável”.
Um dos fundadores da Ergonomia, Alphonse Chapanis diz que os seres-humanos recebem um estímulo, processam a informação recebida e produzem um resultado sob a forma de uma resposta.
As habilidades humanas para lidar com abstrações são chamadas de informação. Estas são as habilidades mentais, também conhecidas como cognitivas. É importante lembrar que não se deve deixar iludir pela aparente divisão das características humanas: estrutural-mecânica versus mental. Esta distinção é apenas uma conveniência. No entanto, existem interações complexas entre elas: o corpo afeta a mente e vice-versa” (CHAPANIS, 1996).
A ligação que existe entre homem-computador é exatamente essa. Estímulos, processamento e resultados em forma de resposta. Como isso será feito é exatamente o foco da disciplina de IHC.
Tudo parte da percepção humana. O que significa percepção?
Em psicologia, neurociência e ciências cognitivas, percepção é a função cerebral que atribui significado a estímulos sensoriais, a partir de histórico de vivências passadas. Através da percepção um indivíduo organiza e interpreta as suas impressões sensoriais para atribuir significado ao seu meio. Consiste na aquisição, interpretação, seleção e organização das informações obtidas pelos sentidos. A percepção pode ser estudada do ponto de vista estritamente biológico ou fisiológico, envolvendo estímulos elétricos evocados pelos estímulos nos órgãos dos sentidos. Do ponto de vista psicológico ou cognitivo, a percepção envolve também os processos mentais, a memória e outros aspectos que podem influenciar na interpretação dos dados percebidos. Fonte: wikipédia
Mecanismos de percepção humana:
Modelo Construtivista
Acredita que a visão do mundo é construída de forma ativa por informação obtida do ambiente somada ao conhecimento previamente armazenada.
Modelo Ecologista
Defende que percepção é um processo direto que envolve a detecção de informação do ambiente e não requer quaisquer processos de construção ou elaboração, ou seja, os objetos carregam certas características que dirigem nossa percepção sobre eles.
Para se ter um bom IHC é necessário estudar esses conceitos antes de começar a desenhar telas que achamos que serão mais intuitivas. Não podemos nos basear em intuição. Estudar como o cérebro humano processa as informações é a forma mais correta de se ter um bom IHC. Isso tem sido meu foco nos últimos meses, estudar a parte mais humana da computação. Veja que todo esse estudo tem um link muito forte com a web semântica, que é um tema para outro estudo. Tudo está interligado.
Bem, essa foi mais uma síntese do que estou estudando. IHC é um tema bastante abrangente e acho melhor ir escrevendo pequenas sínteses do que estou estudando do que esperar para escrever tudo de uma vez só. Grande abraço a todos. Espero que tenham gostado.
Bem, já tem algum tempo que venho brincando com meu iPod Touch, já tive boas conversas com @rponte e @rodrigogalba a respeito do que se pode fazer com ele. Já escutei alguns amigos apaixonados por mobilidade que não gostaram do iPod por ter várias limitações. Já vi amigos deixarem de usar pois não gostaram de saber que ele só sincroniza com um PC, mas isso é papo pra outra conversa, o que eu quero mostrar aqui é que fazendo algumas coisinhas ele abre um leque grande para brincar um pouco.
Estudar a arquitetura desse brinquedinho é o que eu quero. Sempre que encontro alguns amigos sou cobrado para que eu blogue o que ando fazendo com meu iPod. Então vamos lá. Eu costumo dizer que exitem os dois lados da moeda, o que a Apple deixa e o que a Apple não deixa. E adianto que já fiz tudo que ela não deixa e agora estou fazendo o que ela deixa. Antes de mais nada, você tem que ter coragem, eu fiz para entender mais do SO, colocar aplicativos interessantes como o iTerminal. Uma ferramente que só instala se seu aparelho estiver passado pelo processo de Jailbreak.
Bem mas o que vou mostrar aqui? Acho que antes de falar do desenvolvimento para iPhone vou mostrar algumas coisinhas que fiz com meu iPod. Para você fazer tudo isso é necessário fazer o Jailbreak no seu aparelho. Feito isso, basta ir ao Cydia e entrar em Sections e começar a deixar seu iPod poderoso.
Source: cydia.hackulo.us
Sections -> Hackulo.us
Hackulo Security
Source GUI
Source: cydia.iphonecake.com
Sections -> [iPhoneCake]
AppCake
AppSync (Escolha a versão do seu Firmeware)
Sections -> Networking
OpenSSH
Automatic SSH
cURL
network-cmds
Nmap – Caso queira fazer varredura em host procurando portinhas abertas.
Sections -> Administration
adv-cmds
Darvin Tools
Kernel Extensions Tools
PAM (Apple)
PAM Modules
Profile Directory
shell-cmds
system-cmds
Top
Sections -> Terminal Support
MobileTerminal ( Esse é importante.)
Sections -> SBSettings Addons
sbsettingstoggles
Sections -> Packaging
Escolha o que você achar melhor (apt-get ou aptitude)
Com um tempo você vai achar muitas coisas interessantes no Cydia. Mas feito isso vc já pode instalar o que você quiser. Agora você tem um SO baseado no BSD com bibliotecas e aplicativos linux rodando. Cuidado que a memória RAM do seu iPod é de apenas 128 MB. Só executar o comando “top” para ficar monitorando. Veja algumas imagens:
Acesso SSH ao meu iPod
SKD Java 1.5.0 customizado para iPod/iPhone
Hostname
Mas bem essa é a parte ilegal né? O que seria a parte legal? Porque eu falo na parte legal? Porque eu coloquei até o java pra rodar no iPod mas não vou construir aplicações java para iPhone/iPod, não tem serventia, como eu falei, foi apenas para fins de aprendizado e conhecimento do aparelho. Agora você ter um terminal em suas mãos a qualquer hora é muito interessante, hoje conectei em um servidor e um amigo meu fez uma configuração em outro, pois estava em um lugar onde não tinha computador. Serviu e ajudou bastante.
Mas vamos ao que interessa de verdade. Desenvolver aplicações para a plataforma Apple, principalmente para iPod/iPohone. Para começar, tenho que ter um Apple, não rola desenvolver em outro hardware/SO. Apesar de ter gente endoidando e colocando o MacOSX em outras máquinas.
Acho que todos estão acompanhando as notícias e estão vendo o quanto o mercado mobile está crescendo. Essa semana vi a notícias de que o o iPhoneOS superou o PS3 portátil em SO para games. Veja o gráfico a baixo:
Então está claro que a o mercado ta recebendo bem a plataforma e que o crescimento é certo. Então como faço para entrar nesse mercado? Como já foi dito. Ter um Mac, não é preciso ter um iPhone/iPod pois o SKD do iPod/iPhone tem um simulador. Mas nada como nossa app rodando no nosso aparelho né? Caso você queira desenvolver algo profissionalmente é de extrema importância estar inscrito no iPhone Developer Program, custa apenas US$ 99,00. Bem nem tudo são flores né? Apple é assim mesmo. Cobra e cobra caro. Fazendo a inscrição nesse programa você terá acesso a informações privilegiadas e personalizadas, poderá testar seu aplicativo no aparelho e publicar na App Store. Quer um exemplo de privilégio? Quem tem essa inscrição pode baixar o SKD do iPad. Eu não tenho.
Qual a linguagem utilizada para desenvolver? Simples assim, Objective-C. Quem já teve algum contato com alguma linguagem orientada a objetos não terá grandes dificuldades com essa. Sintaxe é bem parecida com C/C++ e com poderosos conceitos de Smalltalk (Flexibilidade da transmissão de mensagens entre objetos)
Bem, acho que hoje deu pra começar algo né galera? O próximo e falo sobre o ambiente de desenvolvimento e um pouco da linguagem. As coisas são devagar pois eu preciso de tempo para estudar e escrever. Uma pena né? Mas como estou metido em um pequeno projeto vou tentar publicar mais coisas interessantes.
Então ficamos acertados. Próximo post será sobre o xCode e uma introdução ao Objective-C. Espero que tenham gostado e vamos dar uma atenção maior ao mundo dos aplicativos mobile. Essa é uma tendência.
Hoje tive a oportunidade de participar de uma palestra do professor Eugênio Mussak realizada na Universidade de Fortaleza, onde o foco da palestra foi algo que já venho estudando a algum tempo e sendo assim, não poderia deixar de compartilhar com vocês.
Vou tentar fazer uma síntese da palestra que diga-se de passagem, foi fantástica. Em sua biografia encontramos a seguinte frase: “Pense em um educador que detém o poder – e o magnetismo – de transmitir o mais profundo conhecimento do jeito mais simples possível: as palavras.”
A palestra que teve o foco no pensamento sistêmico e foi dividia em 3 etapas: Inteligência, futuro e o pensamento sistêmico.
Inteligência
Imagine um cérebro com seus neurônios e as conexões existentes entre si, ou seja as sinapses. O Neurônio é a unidade básica da estrutura do cérebro, eles recebem continuamente impulsos nas sinapses que vem de milhares de outras células.
Agora vamos tentar olhar para dentro das organizações, perceberemos que a os neurônios das empresas são as pessoas, e as sinapses são as ligações que existem entre elas. Tendo em vista, que para aumentar o número de neurônios é algo muito complicado, para que eu aumente minha inteligência eu terei que aumentar as sinapses, ou seja, as relações que existem entre essas esses neurônios. Howard Gardner da Universidade de Harvard demonstrou que existem inteligências múltiplas, são elas:
Lógico-matemática
Linguistica
Musical
Corporal-cinestésica
Espacial
Interpessoal
Intrapessoal
Naturalista
Existencial
Mas o que é mesmo inteligência? Para entender melhor o conceito de inteligência temos que ir para outras área.
Definições
Psicologia: Inteligencia é a capacidade de converter fenômenos abstratos em concretos.
As pessoas que realizam seus sonhos são aquelas que colocam sua inteligência a serviço de seus sonhos. Quem não faz isso acaba culpando fatores externo por seu fracasso.
Pedagogia: Inteligencia e a capacidade de perceber, compreender, aprender e adaptar-se.
Vendo esta definição nos vem a palavra aptidão, que é a capacidade de viver no ambiente em que estamos inseridos, esse conceito serve tanto para homens quanto para animais. Então a pessoa que tem a capacidade de perceber e adaptar-se é a pessoa que consegue manter a aptidão ou seja ela consegue aprimorar seus conhecimentos a fim de não ficar para traz.
Poesia: Inteligência é doar seu tempo ao que realmente importa e tem valor.
Tempo é uma palavra importante, pois o nosso tempo é precioso. Se pararmos para pensar a única coisa que não podemos recuperar é o nosso tempo. Tudo é passível de recuperação, menos o TEMPO.
Futuro
Paulo Freire diz:
Nos somos os unicos seres que social e historicamente,nos tornamos capazes de aprender
O ser humano aprende acima de tudo com o ambiente que está inseridos. Existem sim, problemas de aprendizagem. Isso é tema para outra postagem.
Mas como pode ser o futuro?
O futuro pode ser previsto: baseado em dados concretos.
O futuro pode ser imaginado: baseado em intuição, lembrando apenas que uma boa intuição vem com a experiência adquirida e a com o controle emocional. Intuição não é algo lógico.
O futuro pode ser construido: este está intimamente ligado com a definição de inteligência que a psicologia nos dá. Construir nosso futuro a parte do abstrato. Este conceito de futuro nos leva a dois pensamentos filosóficos.
Os dois conceitos estão corretos, mas não podemos seguir os dois ao mesmo tempo. Ou seguimos um ou seguimos o outro. O determinista diz: “Nasci pobre, vou morrer pobre”. Já o possibilista diz “Eu trabalho em um lugar ruim mas eu vou tentar Mudar”.
Pensamento Sistêmico
E para finalizar, chegamos a visão sistêmica. Temos que perceber que tudo está conectado, uma decisão tomada em um ponto da organização será sentido em outro ponto. Ouvimos a vida toda que devemos aprender com nossos erros, mas trabalhar de forma individual muitas vezes não nos dá a chance de aprender com erros que nem sempre apareceram na nossa frente e que muitas vezes foram causados por decisões tomadas por nós.
Aristóteles fala de duas missões. Evoluir espiritualmente e deixar esse mundo melhor, quando fazemos algo para deixar esse mundo melhor, automaticamente evoluimos espiritualmente.
Temos que comungar com a visão da organização que estamos inseridos. Trabalhar de forma conectada essa é a idéia.
Deixo dois vídeos com diálogos riquíssimos. Vale a pena assistir.
Para quem não foi, posso dizer que perdeu boas discussões a respeito de temas que estão presentes na nossa vida diariamente. O @raitec já colocou seus comentários sobre o evento e disponibilizou toda a transmissão via TwitCam.
Olha o vídeo ai:
Ainda irá acontecer o sorteio de 10 camisas da @triadworks. Aguardem a listagem dos ganhadores. O @handersonbf já disponibilizou as fotos do evento aqui.
O título do post me veio a mente quando parei para pensar e percebi que mesmo sem notar eu estava focando meus estudos em usabilidade. Quando estudava CSS, biblioteca JS como jQuery eu não estava pensando em apenas fazer softwares bonitinhos, e sim em melhorar cada vez mais a interface com o usuário. Exite um vídeo que já está virando um clássico que retrata bastante um sentimento sentido por ambos os lados. Que lados são esse? O lado do Design e o lado do desenvolvedor.
Vamos a eles:
O desabafo de um Web Designer
Desabafo de um Desenvolvedor Web
Já tivemos outros post sobre o assunto. O @rponte blogou sobre esse tema aqui, mas como eu disse estou iniciando uma série baseada em estudos que estou fazendo nessa linha área e quero compartilhar com vocês.
Mas tudo na vida tem que existir uma motivação, em um dos materiais que estou lendo, diz que afraca usabilidade pode fazer falhar até a solução tecnologicamente mais avançada…
Muitas vezes conversando com alguns amigos percebo que, nós, que estamos na implementação não pensamos o que o usuário espera do nosso software. Mas será? Eu acredito que todos tentam entregar o que o cliente pediu, mas quem nunca viu o cliente olhando com aquela cara de quem não está entendendo nada?? Mesmo ele sabendo o que o software vai gerar ele não tem noção do que está vendo na tela. Em muitos casos nos preocupamos bastante com a tecnologia empregada na construção do software, falamos muito na arquitetura super-hiper-mega mágica, mas não pensamos na interface.
Pois deixa eu contar um segredo. “O usuário não ta nem vendo pra tecnologia usada pra fazer o software dele.. Ele quer é usar e fazer a coisa acontecer…“
Os métodos ágeis pregam que entregar software funcionando é mais importante que documentação detalhada. Mais uma prova que o cliente quer usar, quer ver a coisa acontecendo. Já tive experiência com implantação de software e já ouvi frases como essa:
“Esse seu software aumentou em 8 passos a emissão da nota fiscal…”
“Porque não posso usar o teclado nessa tela?”
Outra novidade para nós. O cliente é como uma pessoa que come com os olhos, não sabe se a comida é boa, mas se é bonita, ele come. O cliente compra o software com os olhos. Quem diz que a beleza vem depois é MENTIROSO, ou será que quando você primeiro descobre o QI de uma mulher para depois analisar se ela é bonita aos seus olhos??? NUNCA!!!
Veja algumas áreas que se relacionam com IHC (Interação-Humano Computador)
Psicologia Cognitiva
Ergonomia e Fatores Humanos
Aspectos Sociais e Organizacionais
Engenharia
Design
Antropologia
Sociologia
Filosofia
Linguística
Inteligência Artificial
Ciências da Computação
Todas essas áreas com estão relacionadas com nosso estudo, e ainda tem gente que acha que pode negligenciar essa área. Quem já leu a bíblia? Eu entendo que mesmo você sendo um ateu deveria ler a bíblia, pois não pode negligenciar o livro mais lido do mundo. Se você não se preocupa com IHC está sendo burro e pode colocar todo um projeto a baixo.
Mas falamos de usabilidade e ainda não definimos o que é isso, então lá vai.
“Usabilidade é um termo usado para definir a facilidade com que as pessoas podem empregar uma ferramenta ou objeto a fim de realizar uma tarefa específica e importante.” Fonte: Wikipédia
Este post tem como objetivo apresentar o que estou estudando e que estarei postando em breve. Estarei me aprofundando um pouco mais no assunto fazendo um link com tecnologias que nos ajudarão a melhorar a usabilidade em nossos softwares. Não quero que ninguém vire design ou que o design seja um programador, mas que tenhamos esse cuidado para não acontecer algo parecido com essa imagem a baixo.
Graduado em Sistemas de Informação pela Faculdade 7 de Setembro (2007). Atualmente trabalho para EGM Consultoria onde estou responsável pelo setor de desenvolvimento de aplicações para web. Tenho 8 anos de experiência desenvolvimento de software e experiência em equipes ágeis de desenvolvimento de software. Sou um apaixonado pelo mundo open source e outras coisinhas tecnológicas e sempre tentando ser um "Atleta" nas horas vagas. :-)
Social Networks