Enquanto não termino o BlockOut, muito mais devido a bloqueios criativos que outra coisa (acha que é fácil desenhar a tela de um jogo?), estou tocando mais um programinha para uma função pra qual não há alternativa (ou pelo menos eu não conheço): subir fotos automaticamente para um serviço de compartilhamento.
Como “subir automaticamente” eu digo automaticamente MESMO! O processo de mandar fotos para algum lugar no N900 é fácil e simples, mas irritante se você tem muitas fotos. Além de ser necessária intervenção do usuário. O que eu quero é bem simples: tirei a foto, ela teve as tags de georeferência marcadas, sobe pro servidor. Sem selecionar nada, clicar nada…tudo automático e transparente.
Como eu uso o Flickr, estou inicialmente fazendo apenas para ele, mas tenho a intenção de fazer também para o Picasa.
O funcionamento do programa não é assim tão simples, pois ele é dividido em 3 partes: uma interface gráfica para configuração (que ainda está extremamente crua e conta com apenas 3 botões), um processo rodando em segundo plano para receber as notificações de novas fotos, e um outro processo que deve ser iniciado quando há alguma foto nova a ser enviada.
O processo que fica “escutando” por novas fotos está funcionando. Não do jeito que eu gostaria, mas infelizmente não encontrei outra forma. Ele vai ser avisado sobre qualquer imagem nova no aparelho…mas mais pra frente penso em colocar uma configuração para dizer quais diretórios devem ser considerados.
Esse processo, quando recebe o evento de nova imagem, chama o outro processo responsável por fazer o upload.
Isso foi pensado para diminuir a quantidade de memória necessária para o programa rodar. Enquanto ele estiver apenas esperando por uma imagem ocupará muito pouco. Além de não ter processamento envolvido (portanto, sem grandes consumos de energia).
Neste momento eu já faço a autenticação do programa com o Flickr, inicio e finalizo o serviço de escuta (ainda manualmente), e faço o upload das imagens. E também ligo o GPS para pegar as coordenadas caso a foto não as tenha.
Ainda há bastante trabalho a se fazer, principalmente na interface gráfica.