Preguiçosos, impacientes e excessivamente orgulhosos: criando experiências incríveis para desenvolvedores incríveis
De “como faço isso?” a “olá, mundo” em um piscar de olhos.
Há algumas semanas, escrevemos sobre a importância (e as dificuldades) de desenvolver kits de desenvolvimento de software (SDKs) com os quais nossos usuários finais possam interagir de forma integrada.
Mas um tema que raramente é abordado neste contexto é o da experiência do desenvolvedor (DX). As pessoas parecem esquecer que os desenvolvedores apreciam experiências simples e envolventes tanto quanto qualquer outra pessoa na frente da tela.
A diferença é que, se um desenvolvedor ficar sem saber o que fazer ou confuso ao tentar integrar um SDK ao seu aplicativo, mesmo o componente mais funcional e atraente nunca verá a luz do dia.
Aqui na Microblink, estamos fazendo tudo o que podemos para evitar que isso aconteça.
Sabemos que os desenvolvedores que estão conhecendo nossas soluções de digitalização querem começar a usar um de nossos SDKs sem precisar reinventar a roda e que, uma vez integrado, esperam que ele funcione perfeitamente dentro de seu próprio aplicativo.
Então, como podemos criar essa experiência?
Ao aceitarem sua preguiça
Larry Wall, o criador do Perl, foi o primeiro a definir, de forma bem-humorada, três virtudes que distinguem os bons desenvolvedores: preguiça, impaciência e arrogância. Ele descreveu a preguiça como “uma qualidade que faz com que você se esforce ao máximo para reduzir o gasto total de energia”. (1)
Concordamos com isso. Os desenvolvedores têm muito trabalho a fazer e, se houver uma solução que exija pouco esforço e os ajude a concluir o trabalho mais rapidamente, eles vão encontrá-la.
É por isso que não os obrigamos a passar horas fazendo um trabalho que pode ser concluído em apenas alguns minutos. Sim, a tecnologia por trás dos nossos SDKs pode ser bastante complexa, mas a integração raramente envolve mais do que algumas linhas de código.
Além disso, estamos sempre atentos para descobrir qual será o próximo recurso mais útil de que nossos desenvolvedores precisarão. Quando lançamos uma nova versão do nosso SDK, esse recurso geralmente já está incluído.

Outra coisa que evitamos fazer ao desenvolver nossos SDKs é sobrecarregar os desenvolvedores com recursos, métodos ou nomes de variáveis com os quais eles não estão familiarizados.
Isso deve parecer uma extensão natural dos aplicativos deles; é por isso que estamos mantendo as convenções de nomenclatura e a sintaxe com as quais estão acostumados.
Por exemplo, no Android, é o método `onActivityResult` que retorna os resultados da digitalização, enquanto no iOS o mesmo método é chamado por meio de um controlador de visualização e um delegado. Para desenvolvedores que trabalham com uma única base de código, reunimos boa parte dos nossos SDKs em plug-ins para as estruturas multiplataforma mais populares do mercado.
Tudo o que fazemos tem como objetivo facilitar ao máximo o trabalho dos desenvolvedores. Quando eles têm menos código para lidar e menos coisas com que se preocupar, nossos SDKs têm mais chances de encontrar seu “final feliz” em um aplicativo de verdade.
Ao economizar tempo para eles
Da mesma forma que a paciência pode ser uma fraqueza, a impaciência pode ser uma virtude. Se os desenvolvedores não fossem impacientes por natureza, você veria a “bola de praia giratória da morte” da Apple com muito mais frequência.

Os desenvolvedores que exploram nossos produtos ficam intrigados com a ideia de que seu aplicativo possa digitalizar documentos de identidade, cartões de crédito, cartões de embarque e qualquer outro tipo de documento em uma fração de segundo. Muitas vezes, eles estão ansiosos para colocar algo em funcionamento rapidamente, sem precisar adquirir a licença do SDK imediatamente.
Nós entendemos isso. Para amenizar a impaciência deles, permitimos que clonem e executem aplicativos de exemplo relevantes para o caso de uso deles, para que não precisem se aprofundar demais na nossa documentação.
E se até isso for muito trabalhoso, basta baixar o aplicativo Microblink Vision para iOS ou Android para ver nossos SDKs em ação.
Deixando que eles tenham a última palavra
Assim como acontece com qualquer outra arte, o desenvolvimento de aplicativos traz consigo uma dose de arrogância — ou orgulho excessivo. E tudo bem. Para um desenvolvedor, a sensação de lançar um aplicativo pode não ser muito diferente daquela que um escultor sente ao inaugurar uma exposição.

É por isso que estamos deixando que os desenvolvedores tenham a palavra final sobre como nossos SDKs funcionarão ou terão aparência dentro de seus aplicativos. Se a preguiça ficar em segundo plano em relação à arrogância e eles acreditarem que podem implementar a digitalização melhor do que nós, ninguém vai impedi-los.
Um desenvolvedor pode usar nosso fluxo de digitalização integrado pronto para uso, personalizá-lo ou criar uma nova experiência do usuário do zero e até mesmo assumir o controle do gerenciamento da câmera dentro do aplicativo.
Nós permitimos que eles coloquem a mão na massa e criem soluções totalmente personalizadas, sabendo que ficaríamos presos a linguagens e frameworks ultrapassados para sempre se não fosse por desenvolvedores excessivamente confiantes que dizem: “Ah, eu poderia fazer isso funcionar ou ficar melhor”.
Lembre-se: os desenvolvedores também são usuários
Embora a preguiça, a impaciência e a arrogância possam não ser úteis quando você tem uma pilha de pratos de molho na pia, elas podem ser uma poderosa força motriz de eficiência e inovação no desenvolvimento de aplicativos.
Porque, no fundo, o que eles realmente representam é um desejo disfarçado de eficiência. Os desenvolvedores só querem realizar seu trabalho de forma mais rápida e melhor. E isso significa menos código desnecessário, menos terminologia desconhecida e mais tempo dedicado à criação, em vez de à integração.
Ao desenvolver nossos SDKs, precisamos estar atentos a esses aspectos e nos empenhar em proporcionar uma experiência ao desenvolvedor que seja tão intuitiva que quase passe despercebida. É o tipo de experiência que nos apressamos em oferecer aos nossos usuários finais, mas que muitas vezes esquecemos de recriar para nossos desenvolvedores.
Nossas soluções inteligentes de digitalização foram desenvolvidas pensando na experiência do desenvolvedor. Experimente-as em seu aplicativo gratuitamente.