A long
time ago, após desenvolver, juntamente com minha equipe, um aplicativo de cadastro da rede
externa do BB, fui convidado para apresentar a solução em uma agência do Banco
no exterior. Chegando lá, após as devidas apresentações, posicionamo-nos todos
à frente de um terminal – analistas de TI, representantes da Diretoria
Internacional, gerente da agência... umas 12 pessoas.
Fiz o login no sistema e caí na
tela inicial. Mal deu tempo de terminar de digitar a senha e um hermano, funcionário da agência, já
fuzilou:
- ¡Espera! Vienes de Brasil muéstrame una solución y su pantalla está en ?? portugués !!
- Ih!! É mesmo! Vou ter que
voltar e refazer a aplicação!
Mal estar generalizado...
Completei:
- Só pra gente não perder a viagem,
o senhor pode entrar no aplicativo e fazer uns testes básicos de navegação?
Visivelmente contrariado, o reclamão sentou ao terminal e, resmungando uns monossílabos ininteligíveis,
digitou furiosamente o login. Qual
não foi sua surpresa ao perceber que sua tela inicial era toda em castelhano.
Descontração total.
Na realidade, eu apenas havia
feito um teatro para gerar um impacto em todos, naquela gelada manhã em Buenos
Aires. Um quebra-gelo, que, obviamente, me gerou uma admoestação ao voltar ao Brasil, quando meu chefe soube da história.
A aplicação, na realidade, era
adaptável ao idioma do usuário. Funcionava mais ou menos assim: o funcionário
digitava suas credenciais, o sistema interfaceava com a base de RH, validava o acesso,
identificava a dependência de lotação do usuário, o país dessa dependência e o respectivo
idioma que se falava naquele país.
O ambiente, então, carregava internamente uma variável de idioma que era utilizada para gerenciar as informações apresentadas.
As opções de idioma, no caso, se resumiam a português, inglês e espanhol. Não se esperasse ver caracteres hiragana ou katakana ao utilizar o sistema em Tóquio, por exemplo.
O ambiente, então, carregava internamente uma variável de idioma que era utilizada para gerenciar as informações apresentadas.
As opções de idioma, no caso, se resumiam a português, inglês e espanhol. Não se esperasse ver caracteres hiragana ou katakana ao utilizar o sistema em Tóquio, por exemplo.
Tínhamos, portanto, nossas
limitações, mas que atendiam perfeitamente as especificações do demandante. A
tecnologia também não era a mais avançada – terminal preto, 3270, linguagem
Natural, e por aí vai...
A codificação era limpa, e não
tinha praticamente nenhuma estrutura interna de decisão, tipo ninho de IFs ou coisa semelhante.
Após identificar o idioma
nativo do usuário – que poderia ser alterado, conforme sua vontade – o sistema
carregava uma variável do Natural e a utilizava em vários contextos.
Para carregar a tela – os
famosos mapas – a instrução era
simplesmente:
INPUT USING MAP “MCEM010&”.
O último caractere no nome do mapa era uma variável
da própria linguagem, correspondente ao idioma que carregamos lá no login. O
aplicativo, portanto, carregava dinamicamente o componente adequado àquele
contexto. Outros artifícios foram utilizadas para gerenciar mensagens para o
usuário e acesso a informações parametrizadas em banco de dados, mas sempre
baseado no mesmo princípio.
Tudo muito simples. Mas muito
eficaz.
Isso faz muito tempo, mas a opção 7 do aplicativo CLIENTES continua lá, firme e forte!
Em tecnologia, assim como no
nosso dia-a-dia, temos, às vezes, a incrível capacidade de complicar o que é simples.
Como esse episódio se passou em Buenos Aires, não há como não lembrar de Francisco, um certo argentino que vem conquistando a todos com sua simplicidade...