Jesper Richter-Reichhelm, engenheiro chefe na Wooga, falou no GOTO Amsterdam 2014 a respeito de dificuldades inesperadas para encontrar serviços de backend no mercado adequado às necessidades dos jogos móveis desenvolvidos pela Wooga. Combinar custo razoável, integração com o conjunto de ferramentas existentes e acesso transparente a dados se provou impossível. Como resultado deste cenário, a Wooga decidiu realizar o desenvolvimento de serviços nestes padrões in-house.
Jesper Richter-Reichhelm focou o desenvolvimento em três serviços de backend comuns a diversas aplicações móveis: persistência de dados do usuário, ferramentas de teste AB e tratamento de erros.
No que diz respeito a persistência de dados, os requisitos da Wooga de suporte a dados de usuários com múltiplos dispositivos e múltiplos ambientes (integração contínua, teste e produção) não foram atendidos pelo Parse e, embora atendidos pelo Kinvey, o custo se tornou proibitivo para a base de 40 milhões de usuário da Wooga. Foi assim que a Wooga decidiu desenvolver seu próprio sistema de armazenamento chave-valor utilizando ETags, bem como serviços de configuração e autorização.
Omniata disponibilizou um conjunto bastante completo de ferramentas para análise de dados e testes A/B, mas a falta de integração com as ferramentas já utilizadas na Wooga e ausência de acesso informações "mais profundas" como, por exemplo, quais usuários receberam uma determinada configuração do se tornou um obstáculo para sua adoção como serviço de backend pela Wooga. A Wooga desenvolve suas próprias ferramentas para analytics, dashboard e relatórios desde o começo.
No caso do tratamento de erros, faltou ao HockeyApp informações a respeito das exceções e sobre que circunstâncias os erros aconteceram. O Crittercism tem as funcionalidades necessárias oferecendo um serviço adequado, mas o custo para uma base de usuários na casa dos milhões é alto demais. Além disso, não oferece suporte a segmentação (por exemplo, permitir a verificação em testes A/B se versões mais recentes possuem mais ou menos erros do que versões mais antigas) e normalização (por exemplo, percentual de usuários afetados por um determinado erro). A Wooga incluiu essas duas funcionalidades em sua solução para tratamento de erros em tempo real.
Com o número crescente de serviços de backend genéricos, a Wooga decidiu criar serviços de backend dedicados para dispositivos móveis seguindo o modelo da Amazon (o time da Wooga disponibiliza uma API REST, e os desenvolvedores de jogos são responsáveis por analizar os resultados). A decisão por desenvolver e manter esse tipo de serviço "in house" foi imposta pela falta de opções externas adequadas, enfatiza Jesper Richter-Reichhelm. Tanto é que a Wooga adota outros serviços de backend. Ele cita exemplos como o New Relic para o monitoramento de websites e o GitHub e o Travis CI para o desenvolvimento, dentre outros.
Jesper Richter-Reichhelm mencionou que a Wooga está considerando a idéia de abrir o código de seus serviços backend no próximo ano.