Olá Pessoal
No post de hoje gostaria de compartilhar com vocês uma experiência que tivemos aqui na ITS usando API do DropBox para resolver alguns problemas e facilitar a vida do usuário. Aqui no blog já apresentei para vocês como usar API do Dropbox, hoje veremos como fazer umas coisas legais na sua aplicação.
Lets go…
Starting…
Case 1
Em um projeto aqui na ITS tínhamos que renderizar imagens em algumas páginas da aplicação e queria fazer isso de maneira simples, fácil e transparente para o usuário final. Considerando que o usuário que coloca as imagens não precisasse conhecer a aplicação, ou melhor, ele poderia nem ter idéia onde aquela imagem que ele criou seria usada, o foco dele era fazer a criação e depois de pronto disponibilizar a imagem em folder chamado de “live” e pronto. Essa imagem já estaria atualizada na aplicação automaticamente.
Como resolvemos esse problema sem precisar envolver o design com aplicação?
Simples, usando o DropBox.
É isso mesmo. Os designers usam o dropbox para colocar a arte final e uma pasta final onde outro designer faz um review para ver se está ok. Nada de especial aqui, apenas usando o dropbox de maneira tradicional, só que a arte final desse designer ia ser usada na aplicação e precisamos subir a imagem, como fazer?
- Via upload na aplicação; ou
- Colocar a imagem direto no servidor e dar uns tapas na app para reconhecer a nova imagem
E o que fizemos?
Usamos dropbox. Para ser sincero eu fui dormir com esse problema, sonhei, e veio o dropbox como solução. Passei alguns dias estudando API e fazendo POC para validar a solução.
A solução
A solução é muito simples: o design vai continuar fazendo o trabalho dele como antes, a aplicação apenas vai buscar imagens na pasta “live” que é uma pasta onde tem a versão final da arte. Daí se o designer fizer alguma alteração nessa imagem, automaticamente ela é atualizada na aplicação. E não precisamos nos preocupar em fazer um novo upload da imagem no servidor com a versão atualizada, porque há um sync com a pasta “live”. A esta pasta “live” não é qualquer um que possui acesso, somente Designers mais Seniors tem permissão de escrita nessa pasta. Futuramente vamos facilitar a vida dos designers e implementar um esquema de automatizar os deploys de imagem nessa pasta, mas por enquanto ela ocorre manual.
O que ganhamos?
– Nada de imagem no Server, então em uma migração de Server não preciso ficar preocupado em copiar imagens e, a depender da quantidade e tipo de negócio, pode demorar a cópia. Quantas imagens você acha que o submarino possui?
– Mais produtividade para o designer. Ele continua focado no trabalho dele fazendo tudo como antes, sem se preocupar onde e quem vai usar aquela imagem;
– Atualização automática da imagem na aplicação. Ou seja, subiu a imagem para pasta “live” já está atualizada na aplicação.
Case 2
Esse aqui também foi fantástico em outro projeto que usava bastante documentos durante o dia. A vida dos usuários era o Microsoft Word aberto, atualizando os documentos publicados, criando novos ou corrigindo. Na versão atual, sempre que um documento é corrigido por uma questão de mudança de lei ou cláusula de contrato, há um prazo de publicação que, a depender da situação, é de até 8hrs a disponibilidade. Se fosse apenas 1 documento e se acontecesse isso em um período longo, seria fácil, mas não é assim no dia a dia. Hoje o nosso cliente tem que acessar a aplicação, deletar o arquivo anterior e fazer upload do novo. E pior, é interessante manter o antigo como backup, por questão de segurança o delete não remove o arquivo do servidor, apenas move para uma pasta específica. Então o pessoal que trabalha nesses documentos passava boa parte do tempo fazendo upload, fora que às vezes enfrentavam problemas e demora nesse processo, já que tinham arquivos com 10 mb, como projetos com imagens.
E como resolvemos?
Com dropbox API. Os usuários trabalham no dropbox com limitação de acesso, vendo apenas aqueles folders de acordo com o departamento. Eles não precisam mais se preocupar em fazer upload, apenas trabalham nos docs em uma determinada pasta. Seus superiores podem ir avaliando o documento sendo escrito e já dando feedback. Uma vez concluído, vai para uma pasta que representa o arquivo online e pronto, o arquivo já está atualizado em produção e quem fizer o download já pega o arquivo atualizado.
Fantastico, não?
O que aprendemos?
Nessa solução vimos que apenas saber uma tecnologia não é suficiente; é preciso estar envolvido com o negócio do cliente para chegarmos à solução ideal e sabermos se realmente resolve o problema e agrega valor ao dia a dia do nosso cliente. Não resolver um problema apenas por que temos que resolver, mas buscar como solucionar da melhor forma. É assim que os profissionais na ITS vivem e respiram todos os dias, e sabemos que negócio & TI não estão separados, e sim juntos. Se você for na API do dropbox é tudo abstrato, o que você vai fazer com ela é uma questão sua. E nós chegamos a essa arquitetura devido ao nível de envolvimento que tínhamos com o negócio, senão ia ser mais uma API disponível como qualquer outra.
Agora temos mais desafios de automatizar alguns trabalhos e permitir que a promoção de uma pasta para outra seja rápida e simples.
Não deixe de conhecer o easyJavaDropboxAPI
Abraços. See ya!