29 de abril de 2010

Além dos agregadores de informações

A moda de disponibilização dos dados das aplicações através de APIs é ótima. Os desenvolvedores têm acesso a uma infinidade de dados para brincar com eles e criar novas aplicações. Um dos usos mais comuns dessas APIs é para criação de agregadores, eles pegam dados de vários serviços diferentes e mostram tudo em um único lugar.

Isso é útil, mas já está ficando chato ver tantos serviços fazendo a mesma coisa. São tantas fontes de informação e tantos agregadores que você passa a ser bombardeado por coisas demais, e o pior, essas coisas se repetem em aplicações diferentes. São incontáveis as vezes que eu vejo os mesmos links no Google Reader, no Twitter e no Buzz. As pessoas vão acabar se saturando, se é que já não se saturaram com tanta informação.

Ainda bem que esse não é o único tipo de mashup possível, existem aplicações que vão além e não enviam uma avalanche de informações para seus usuários. Um ótimo exemplo de uma aplicação incrível que usa várias APIs é o Siri. Através dessas APIs o Siri consegue ajudar uma pessoa a encontrar e reservar um restaurante, a comprar ingressos no cinema mais próximo, a descobrir os eventos numa cidade, etc. É um mashup realmente útil. Não foi por acaso que eles foram comprados pela Apple.

As aplicações precisam processar as informações e apresentar algo relevante para as pessoas. Chega de agregar tudo e repetir a mesma coisa diversas vezes em lugares diferentes, estamos cheios disso.

27 de abril de 2010

Você gosta do que faz?

Eu já tive vontade de escrever sobre isso algumas vezes, mas por diversos motivos eu acabava desistindo e escrevia sobre alguma outra coisa. Mas minha vontade foi reforçada quando eu percebi uma relação clara entre o que falavam Gary Vaynerchuk, David Heinemeier Hansson e Leo Babauta. Todos eles conseguiram grandes realizações e podem servir de inspiração para muitas pessoas.

Você acha normal quando alguem reclama que é segunda-feira e vai iniciar mais uma semana de trabalho? Isso é realmente normal? Se você reclama, então você não gosta do que faz no trabalho, certo?

Uma pergunta que eu gosto muito para arrancar das pessoas o que eles gostam de fazer é a seguinte: se dinheiro não fosse importante, o que você faria? Isso parece radical e talvez você escolha algo que não te renderia nenhum centavo, mas a resposta dessa pergunta é um ótimo primeiro passo para descobrir sua vocação.

Faça o que gosta, pense grande, comece pequeno e faça coisas simples. Essa frase resume muito do que as três pessoas que eu citei no início do post costumam falar. Para mim isso faz muito sentido. É muito mais fácil trabalhar duro e enfrentar desafios fazendo o que gosta, assim as chances de conseguir grandes realizações são bem maiores.

"Não existe um caminho para a felicidade. A felicidade é o caminho". Se matar apenas para conseguir algo no fim? Eu não acho que você esteja certo.

22 de abril de 2010

Escolhas num mundo infinito

A Internet em seu estado atual proporciona tanta facilidade na disponibilização de conteúdo que hoje temos muito mais informações sobre qualquer coisa que imaginemos do que já tivermos.

Analisando esse fenômeno podemos pensar que quanto mais informações tivermos mais cada um se fecharia no seu próprio mundo, pois como você pode conseguir informações infinitas sobre o que gosta, você não sente a necessidade de buscar outro tipo de conteúdo. Antes, com menos escolhas, você não se sentia satisfeito em consumir uma pequena quantidade de informações sobre assuntos específicos, então era natural que você continuasse a procurar outros tipos de conteúdo aumentando seu conhecimento sobre diferentes áreas.

É isso mesmo que acontece? O livro The Long Tail aborda esse assunto e diz que não. Eu concordo com Chris Anderson, mas eu não concordo apenas por que sua idéia faz sentido, pois o contrário, como eu expliquei acima, também faz todo o sentido. Eu concordei com o que li no livro, pois consegui perceber que a mudança que ele descreveu aconteceu de forma bem parecida comigo.

Eu adoro ouvir música e adoro descobrir bandas novas. Antes eu recebia recomendações de amigos, ouvia algo na rádio ou na televisão. O número de sugestões era bem limitado se comparado com hoje. O que acontecia era que os estilos das músicas que eu ouvia variavam muito pouco. Eu estava fechado no meu próprio mundo de estilos musicais por falta de opções.

Sites como o Last.fm e rádios online fazem minha alegria, a recomendação automática de artistas e a possibilidade de ver o que meus amigos estão ouvindo me ajudam a descobrir novas músicas muito mais facilmente. Com um número maior de opções eu poderia ter me aprofundado no que eu já gostava e ter passado a escutar várias novas bandas nos mesmos estilos, mas isso não aconteceu. Com os poderosos sistemas de recomendação eu conheci músicas de estilos que eu nem sabia que gostava, as opções infinitas abriram minha cabeça para outras possibilidades. Ao contrário do que muita gente pode pensar, opções infinitas não isolam as pessoas em nichos restritíssimos, mas sim criam indivíduos cada vez mais diferentes que podem interagir com diversos nichos ao mesmo tempo.

10 de abril de 2010

Ensaio cronometrado: medindo o tempo de uma apresentação

Meus últimos posts sobre apresentações receberam vários feedbacks positivos, em especial o "Apresentações, você provavelmente está fazendo errado". Motivado pela recepção positiva desse tema eu continuarei escrevendo sobre o assunto.

Uma dúvida recorrente de quem cria uma apresentação é saber quanto tempo vai levar para expor todo assunto enquanto todos os slides são passados. Você pode pensar em criar uma relação entre a quantidade de slides e o tempo para conseguir calcular quantos slides devem ser feitos, mas a verdade é que essa relação varia de apresentação para apresentação, não sendo possível criar uma regra geral que se aplica a tudo. Eu já fiz apresentações com mais de 70 slides que duraram cerca de 40 minutos, como eu já fiz apresentações com 20 slides que duraram meia hora.

A melhor maneira de calcular o tempo que sua apresentação levará é ensaiando e marcando o tempo de cada ensaio. Após alguns ensaios você já tem uma ideia precisa de quanto tempo durará a apresentação. Se você leva em média 30 minutos em cada ensaio, o tempo da sua apresentação não será muito diferente de 30 minutos.

A maioria dos slidewares possuem a opção para marcar o tempo automaticamente das apresentações, é só escolher a opção correta, ensaiar e depois conferir o tempo que você levou para apresentar tudo e também para cada slide.

Ensaiar deixa o apresentador mais seguro. Você tem mais segurança quanto ao tempo que vai levar e não fica preocupado em demorar demais ou acabar muito rapidamente. Você também fica mais seguro em relação ao assunto. Após ensaiar várias vezes a apresentação vai ficando mais natural, você passa a dominar tão bem o assunto que tudo fica mais fluido. Você notará isso enquanto apresenta e o mais importante sua plateia notará sua segurança.

5 de abril de 2010

Comunicação a distância é um problema?

Vários problemas durante o desenvolvimento de um software estão ligados à comunicação. Pode ser entre desenvolvedores, entre um gerente e os seus funcionários, entre o cliente e a equipe de desenvolvimento do projeto, não importa, são todos problemas de comunicação. Tudo isso piora quando passamos para um ambiente de desenvolvimento distribuído, com pessoas em lugares distintos, em outros fusos e com culturas diferentes. Esse modelo é muito comum em desenvolvimento open source e também entre várias empresas espalhadas pelo mundo.

Times distribuídos perdem várias formas de comunicação. Não é possível conversar no corredor enquanto se toma um café, não é possível bater no ombro do colega e tirar uma dúvida rápida, não é possível sentar ao lado de alguém e mostrar como usar aquela API nova. Times distribuídos perdem comunicação rica, face a face e em tempo real. Entretanto times distribuídos ganham algo que é feito muitas vezes apenas parcialmente em equipes tradicionais, eles ganham a persistência da comunicação.

Toda a comunicação feita pela Internet pode ser, e geralmente é, armazenada. Arquivos de lista de discussão, logs de controle de versão, dados de um bug tracking. Quantos projetos open source possuem isso? Quase todos. Isso tudo é muita informação, ela não é perdida como uma conversa no corredor, e ela está disponível para todos. Dependendo do projeto essas informações podem estar disponíveis para qualquer pessoa com acesso a Internet que seja curiosa o suficiente para mergulhar nos seus dados.

Comunicação a distância é um problema ou ainda não sabemos aproveitar sua grande vantagem?

E se criarmos um sistema de "comunicação aumentada"? Uma forma de aproveitar todo poder dessa grande quantidade de informações para melhorar a comunicação dos times de uma maneira que não seria possível numa equipe tradicional. Não teríamos mais um problema, na verdade teríamos uma solução.

Não achem isso impossível. Muita coisa na Internet funciona exatamente dessa forma, são informações numa quantidade absurdamente grande e filtros poderosíssimos para extrair sinal de tanto ruído.