Olá pessoal!
Dia 06 de outubro apresentei esse assunto no evento remoto da comunidade. Os exemplos foram no Jira, mas a tecnologia e conceito servem pra qualquer sistema web! Então podem replicar pra colegas e amigos que trabalhem com desenvolvimento de software ou produto! =D
É que nem Realidade Aumentada, só que com sites e sistemas web!
A tecnologia surgiu lá em 2005 com o plugin Greasemonkey pro Firefox. Depois vieram outros famosos como o Tampermonkey e o Violentmonkey.
O conceito de todos eles é o mesmo: possibilitar uma pessoa com certos plugins no browser ter uma experiência diferente no mesmo site ou sistema web.
Meio que do mesmo jeito que uma pessoa com um óculos de realidade aumentada vê uma baleia pulando no meio do ginásio ou uma pessoa com um celular vê Pokemons lutando no meio da sala.
O legal desses plugins "Userscript Managers" é que eles já cuidam de fazer download dos Userscripts e mantê-los atualizados. Também facilitam desabilitar e habilitar alguns ou todos eles.
Userscripts são os programas, geralmente escritos em Javascript, que instalamos através dos plugins acima e eles mudam ou adicionam funcionalidades nos sites/sistemas.
Pra desenvolvê-los é necessário um certo conhecimento em programação, Javascript e HTML/CSS, mas quem não tem essa fluência pode aprender ou contribuir mesmo assim com ideias do quê fazer com eles!
Nos exemplos que vou apresentar tem coisas como mostrar campos de outros sistemas na tela e automatizar o preenchimento de campos.
Dá até pra fazer um Userscript pra aplicar um "dark mode/theme" num sistema que jamais teria um negócio desses!
Pra quem trabalha com desenvolvimento e produto, esses Userscripts podem ser uma boa alternativa pra fazer POCs (Proof Of Concept) e MVPs (Minimum Value Products).
Dá pra começar validando uma idéia em Javascript só no navegador do clientes/usuários do "piloto". Ir aprimorando até onde der até o ponto que já ficou provado a real utilidade e ganho da funcionalidade e vale a pena transformá-la em um produto mais formal ou integrar a funcionalidade ao sistema de fato, ao invés de ficar só no Userscript.
No mundo Atlassian, em alguns casos dá pra fazer coisas parecidas com o que um App faria. Vendo que o Userscript tá sendo bastante usado e tendo demanda de melhorias, isso pode justificar a aquisição do tal App ou o desenvolvimento de um próprio.
E qual o problema de deixar essas funcionalidades como Userscript?
Se a gente se organizar e aceitar a responsabilidade que agora produzimos softwares que rodam nos navegadores das pessoas — isso quer dizer implantar um ALM (Application Lifecycle Management) — tá tudo bem!
Podemos desenvolver Userscripts que alterem ou adicionem funcionalidades nos nossos produtos (mas que só atenda poucas pessoas e não justificou priorizar no backlog do produto ainda) ou fazer Userscripts pra sites e sistemas web que a gente usa no dia-a-dia. Isso no conceito de incrementar o nosso "toolkit", seja pra produtos Atlassian ou pra outros sistemas web que vocês utilizem.
Nos exemplos que quero mostrar tem uns dois que facilitam o dia-a-dia do Jira Admin na configuração de campos e telas do Jira, por exemplo.
Na Atlassian, por exemplo, já existe uma "cultura de Userscripts" em algumas equipes (outras nem sabem o que é). Até mesmo no onboarding dos colaboradores, dependendo da área, tem tarefas de "instala esse plugin aqui e esse, esse, aquele e esse Userscript".
São Userscripts que adicionam funcionalidades que ajudam bastante o nosso dia-a-dia no suporte!
Também dá pra automatizar preenchimento de qualquer formulário, se vc costuma preenchê-lo sempre com os mesmos dados em alguns campos! ;)
Os Userscripts que demonstrei estão aqui: https://bitbucket.org/rodrigocmz/ace-userscripts/src/master/ (ACE é de Atlassian Community Events).
E tá tudo licenciado em CC-BY-SA 4.0, então aproveitem!
Rodrigo Martinez
Premier Support Engineer (Jira DC)
Atlassian
São Paulo, Brazil
1 accepted answer
0 comments