segunda-feira, 29 de junho de 2009

Going Parallel

A lei de Moore não é mais válida. Aquele crescimento exponencial em desempenho dos processadores cessou. A tecnologia de single core parece estar bem próxima de seu limite. Neste contexto, empresas como Intel e AMD resolveram mudar o paradigma. Já que um aumento de frequência não é mais "possível", colocar vários núcleos em um único chip tem sido a saída. Entretanto, grande parte dos aplicativos atuais não tiram proveito desse poder de processamento paralelo. Nem mesmo os programadores estão bem preparados para paralelizar, seja pela quantidade extra de código ou por não conhecerem formas abstrastas de pensar. Com isso o velho conceito de Map-Reduce (Mapear e Reduzir) de linguagens como LISP, vem ganhando bastante espaço. Além de oferecer uma abstração extremamente simples ("interface mental" simples), as interfaces de código simplificam muito o desenvolvimento de software paralelos.

Map-Reduce está sendo bastante utilizado nos "Clusters" do Google.

Para um introdução, visite o link:
http://labs.google.com/papers/mapreduce-osdi04-slides/index.html

sábado, 27 de junho de 2009

Planejando o horário do proximo semestre?

Planejando o horário do próximo semestre?
Conheça o GDE, um excelente sistema web que gerência sua árvore de disciplinas, ajuda na construção da grade, disponibiliza de forma concisa quase todo conteúdo público da DAC e além disso mostra o cardápio do bandejão. Seu público alvo são os alunos da Unicamp. Se você é um deles, não perca tempo, cadastre-se no endereço: GDE (http://gde.guaycuru.net/visoes/VisaoLogin.php ).

Todo semestre era um fardo montar a nova grade. Apesar das faculdades e institutos normalmente disponibilizarem sua sugestão de disciplinas e turmas, quando esta não se adequava aos interesses do aluno ou não era compatível com seu progresso, milheres de “clicks” eram dados no site da DAC. Montar uma grade em que os horários das disciplinas não são conflitantes, podia ser bastante tedioso.

Nesse contexto, o GDE se mostrou bastante útil e sua aceitação entre os alunos é espantosa. Porém, nem tudo são flores. Farei uma breve análise considerando pontos bem importantes para uma navegação de sucesso.

1.Poder ser facilmente aprendida: Falho
A página inicial do sistema não provê nenhuma informação a respeito de suas funcionalidades. Apenas por outras pessoas é possível saber do que se trata. Observe a tela inicial.



Depois de logado, o usuário não sabe muito bem o que fazer. Se não conhecia as funcionalidade do sistema, provavelmente terá que recorrer a opção de Ajuda do menu superior. Seria desejável uma tela inicial mais intuitiva. Porém, sabendo o que o sistema consegue fazer, fica bem simples explorar seus recursos.

Mesmo com esses contratempos, esse quesito foi atendido de maneira satisfatória.


2.Ser consistente: OK

A consistência é muito boa, o menu principal está sempre presente.

3.Prover feedback: OK

Todas as ações têm um feedback. Desde o login ao logout. O usuário sabe de maneira clara o que se passa com o sistema.



4.Aparecer dentro do contexto: Falho
Muitas vezes o sistema fica sem saída, principalmente depois das buscas. Forçando o usuário a voltar pelo browser.



Não há nenhuma indicação de navegação, nem botões de “back to” ou “go to”.
Acomodar a bagunça é uma arte (Samuel Beckett). Por isso considerar a maneira como o projetista considerou os relacionamentos entre os elementos requer um pouco de tolerância, porque além de ser uma tarefa difícil é ainda bem subjetiva.
Ao se explorar a interface pode-se constatar apenas uma inconsistência. Dentro da opção “Minhas Informações” há a funcionalidade “Convidar um Amigo”, o que não é intuitivo.


5.Oferecer alternativas: Falho
Não trata isso.

6.Economizar ação e tempo: Falho
Para remover uma disciplina da árvore é necessário “clicar” com o botão direito e escolher a opção de excluir. Sendo assim, para um aluno que já cursou várias disciplinas, ele terá que clicar inúmeras vezes para atualizar sua matérias. Perde-se bastante tempo.

Verificar ortografia

7.Prover mensagens visuais claras: Falho
As cores das disciplinas na árvore estão muito valorizadas, perdendo-se a noção das dependências entre elas.

Hierarquia visual falha. Na página inicial funcionalidades como funções de árvore e planejamento, que são mais importantes, estão menores que o cardápio do bandejão.


8.Usar rótulos claros e compreensíveis: OK

Em sua maioria, os rótulos são claros.

9.Ser apropriada para os propósitos do site: Falho

Estatísticas na página inicial estão bem fora de contexto.



10.Atender a comportamentos e objetivos do usuário: OK

Nesse quesito, o sistema é perfeito. Normalmente os usuários se até se surpreendem com suas funcionalidades.

Por serem pequenas, as falhas não comprometem uma usabilidade de sucesso. Suas funcionalidades são extremamente poderoas e em pouco tempo se tornará amplamente difundida.

sexta-feira, 26 de junho de 2009

It's all about Life Experience

O Projeto Natal é uma revolucionária maneira de interagir com o vídeo-game. Não é mais necessário um controle. Em um jogo de luta, você dá um soco, um chute e todos os seus movimentos são transportados para dentro do televisor.


Esse é projeto que a Microsoft está desenvolvendo para o console Xbox 360. O vídeo abaixo mostra o que está sendo feito, e é realmente impressionante.



O slogan deles é:

"The only experience you need is life experience"

A palavra chave aqui é “Life Experience”. A Computação e toda a tecnologia existente tem o papel de melhorar nossa vida, tornando cada evento inesquecível. Não se trata apenas de desenvolver equipamentos bonitos e cada vez mais sofisticados, mas sim tornar tudo mais interessante e divertido.

Considere por exemplo a tarefa simples e cotidiana de tomar banho.


Aposto que você nunca pensou que isso poderia ser feito de maneira diferente. Você já viu esse chuveiro?


Agora, coloque um som com suas músicas favoritas e a experiência de tomar banho poderá ser elevada à um outro patamar. A partir desse momento será bem mais divertido tomar banho!


Porém, a questão não se resume a ter ou não dinheiro para comprar equipamentos modernos.


Tem mais a ver com vivencionar o agora, sem ficar pensando no passado ou imaginando algo no futuro. O segredo é o que você sente quando faz determinada atividade. Por exemplo, quais seriam boas propagandas de automóveis?


A resposta é óbvia e imediata. Mas, o modelo do carro mostrado faz pouca diferença. Na primeira figura vemos apenas um pneu, mas a cena é bem mais interessante do que um automóvel preso em um engarrafamento. Nesse caso, o importante é a sensação e o prazer de dirigir.

Donald Norman, autor do livro “Design of everyday things”, em seu vídeo “The three ways that good design makes you happy”, expressa de maneira bem clara essa idéia.



O pensamento comum, usado no marketing, é mostrar todos os recursos de determinada aplicação. O grande problema é que não é dada importância à experiência do usuário. Para um usuário, a interface é o produto, e não os recursos, e a experiência é o mais importante.

Uma interface ideal é aquela em que o usuário age sem pensar e o processo flui naturalmente. A melhor interface seria não ter uma interface ou mesmo uma interface invisível, como a do Project Natal.

Essa idéia leva a pensar sobre todos aqueles sites animados feitos em flash, que em vez de facilitar o uso, fazem com que a navegação seja comprometida.

Um exemplo de simplicidade é o buscador Google, em que uma simples caixa de texto encapsula inúmeros recursos.


Tanto usuários iniciantes como avançados usam a mesma interface, e existe uma curva linear de aprendizado para pesquisar de maneiras mais avançadas, o que é bem melhor do que usar diferentes interfaces para diferentes classes de usuários.

A interatividade é inversamente proporcional ao conteúdo, e quanto menor o conteúdo, menor o número de usuários. Assim, deixar um site “bonito” não tem relação alguma com deixá-lo acessível.

Outra questão interessante são os cliques. Em vez de clicar para obter certa informação, é melhor recebê-las diretamente. Um exemplo é um site que mostre uma notícia que contenha várias páginas. Na maioria dos casos, os visitantes que acessam o site apenas lêem apenas a primeira página por ter que clicar em uma setinha ou um número para passar para a página seguinte. Isso quebra o processo natural da leitura e faz o usuário pensar a respeito dessa atividade e decidir parar de ler, por mais interessante que seja a notícia.


Assim, tenha em mente que o sucesso das suas interfaces e de seus produtos tem uma enorme relação com a facilidade de uso e também do prazer de desfrutar dos recursos disponíveis.

quarta-feira, 24 de junho de 2009

Evolução das Interfaces

Uma boa interface é extremamente importante. Observe o vídeo abaixo, que mostra a evolução de 3 interfaces diferentes de um abridor de lata.

Note como uma melhoria na interface facilita muito a vida de um usuário. A interface deve fornecer meios para que um indivíduo realize determinada tarefa. Veja que nem todas as interfaces conseguem realizar isso de maneira adequada.

sexta-feira, 5 de junho de 2009

Web 5.0

Imagine um mundo onde tudo está indexado na Web, desde seus arquivos no computador aos seus pares de meias espalhadas por toda a sua casa. Bem vindo ao mundo da Web 5.0, onde tudo é possível.

Clique na historinha para ampliá-la ou baixe pelo link a seguir a versão musical em tela cheia.