Há muitas empresas que gerem um sítio e uma aplicação móvel, os medem com duas ferramentas diferentes, e descobrem que as duas nunca concordam sobre coisa nenhuma. A resposta habitual é escolher o número que apoia a discussão que está a decorrer. Eis o que está mesmo a correr mal, e o que tem de ser verdade numa ferramenta para ela cobrir as duas coisas sem te mentir.
As quatro coisas que diferem mesmo
É tentador tratar uma aplicação como um sítio com um navegador pior. Há quatro diferenças que partem essa suposição, e qualquer ferramenta que meça as duas coisas tem de ter uma resposta para cada uma.
Não há endereço. Um sítio tem um endereço de página que serve ao mesmo tempo de nome, de hierarquia e de forma de agrupar coisas. Uma aplicação tem ecrãs, cujos nomes escolhes e podes mudar. Não há nada que imponha coerência, portanto Checkout, checkout e CheckoutViewController acabam como três ecrãs no mesmo relatório.
Não há carregamento de página. Na web, uma navegação é um acontecimento óbvio e observável que o navegador anuncia. Numa aplicação, mudar de ecrã é uma chamada de função. Se nada a instrumentar, nada é gravado, e nenhum erro é levantado.
A rede não é fiável. Um separador de navegador está normalmente ligado. Uma aplicação muitas vezes não está: um túnel, um avião, uma zona sem cobertura. Os eventos têm de ficar em fila no dispositivo e ser enviados mais tarde, o que quer dizer que uma ferramenta que assuma que a ordem de chegada é a ordem do tempo os vai desordenar, e uma que não faça ideia de que um evento esteve em fila vai carimbar-lhe a hora errada.
As sessões acabam de maneira diferente. Uma sessão web expira ao fim de um período de inatividade, convencionalmente trinta minutos. Uma aplicação passa para segundo plano, e pode lá ficar dias antes de voltar à frente com o processo ainda vivo. Uma regra de sessão ingénua reporta uma sessão que durou quatro dias.
O que "o mesmo lugar" devia querer dizer, e o que costuma querer
A maior parte das ferramentas que anuncia as duas coisas faz uma de duas, e a diferença importa mais do que o marketing sugere.
A primeira é um painel partilhado por cima de dois conjuntos de dados completamente separados. Ficas com um início de sessão. Não ficas com um número, porque os dois lados contam coisas diferentes e não há nada que os reconcilie.
A segunda é um conjunto de dados com uma coluna de plataforma, para um relatório poder ser filtrado ou dividido. É isto que as pessoas normalmente julgam que estão a comprar.
Há um terceiro arranjo, e vale a pena dizê-lo com todas as letras porque é o que causa as discussões: uma aplicação e um sítio são genuinamente coisas diferentes, e forçá-los para dentro de uma entidade produz relatórios em que nenhum dos dois está certo. Um ecrã visto não é uma página vista. Uma aplicação tem versões, e um sítio não. Uma aplicação estoira; um sítio devolve um 500.
O arranjo útil é serem entidades separadas com os seus próprios identificadores, medidas pelo mesmo produto, reportadas na mesma interface, cobradas a partir da mesma conta. Consegues olhar para uma sem a forma da outra escorrer para dentro dela, e consegues olhar para as duas.
Perguntas que vale a pena fazer a um fornecedor
- Como é que o SDK se comporta sem rede? Concretamente: põe em fila, quantos eventos, o que acontece quando a fila está cheia, e preserva o carimbo de hora original em vez da hora do envio?
- O que acontece a um evento malformado? Um SDK que reenvia para sempre um evento permanentemente recusado é um problema de bateria e de plano de dados para os teus utilizadores. O comportamento certo é deitá-lo fora e contar o descarte.
- O formato de transmissão tem versão? As aplicações não atualizam num dia. Uma fatia dos teus utilizadores vai estar numa versão de há um ano, e o servidor tem de continuar a aceitar o que essa versão envia.
- Como é que um nome de ecrã é decidido? Se a resposta for "o que quer que passes", pergunta o que as ferramentas fazem para o manter coerente.
- Qual é a regra de sessão depois de passar para segundo plano? Um número concreto, não um "nós tratamos disso".
Essa terceira pergunta apanha mais problemas reais do que todas as outras juntas, e é a que ninguém faz. Um rastreador web pode ser mudado editando uma página e está em produção nessa tarde. Um SDK de aplicação sai quando a aplicação sai, é adotado ao longo de semanas ou meses, e nunca chega a toda a gente. Partir o formato que as tuas versões antigas enviam não é um defeito que se corrija a quente; é uma frota de instalações que deixa de reportar.
Onde é que a Skomi se posiciona
A Skomi trata uma aplicação medida como uma entidade própria com o seu próprio espaço de nomes, ao lado dos sítios e não dentro deles. Os relatórios vivem na mesma conta e navegam-se da mesma maneira, mas uma aplicação nunca é descrita como um sítio e os ecrãs dela nunca são chamados páginas.
Há SDK para as plataformas comuns, e o formato de transmissão que falam tem versão e está congelado, precisamente porque uma versão antiga não se consegue corrigir à distância. A página do App Analytics cobre o que é medido e que plataformas são suportadas.
Os créditos são partilhados por tudo o que está na conta (sítios e aplicações por igual), portanto acrescentar uma aplicação não é uma segunda subscrição. A página de preços tem a aritmética.
As duas metades ficam com o vocabulário delas onde diferem (um sítio tem páginas vistas, uma aplicação tem ecrãs vistos), e partilham a janela de sessão que as torna comparáveis.