Back-End

26 jan, 2015

Há uma classe (PHP ou JS) para isso: recomendações de pacotes

Publicidade

Se você tentou encontrar bons pacotes para determinados fins, mas acabou perdendo muito tempo testando pacotes de baixa qualidade, vai gostar de saber que os sites PHP Classes e JS Classes estão lançando uma nova solução para esse problema.

É um sistema de recomendação de pacotes que permite obter a opinião de especialistas sobre os problemas que você precisa resolver.

Leia este artigo e assista ao vídeo de demonstração para aprender como ele funciona, para que você possa começar a receber boas recomendações sobre pacotes ou mesmo dar conselhos a outros desenvolvedores que buscam por pacotes sobre tópicos que você entende.

O problema de ter muitas classes para escolher

Grandes repositórios, como o PHP Classes, o JS Classes e outros, ajudaram a tornar muito popular a prática de compartilhamento de componentes de programação.

Por um lado, isso é ótimo, porque mais pessoas compartilhando seu trabalho podem ajudar outras a levar menos tempo e esforço para desenvolver seus projetos.

Por outro lado, ter repositórios com muitos componentes com finalidades semelhantes levanta um outro problema para aqueles que estão à procura de componentes: quais componentes são os melhores para cada finalidade?

Esse é o problema que o novo sistema de recomendação de pacotes tem o objetivo de resolver.

O novo sistema de recomendação de pacotes

No início deste ano, realizei um processo que teve como objetivo melhorar a experiência dos usuários que acessam o PHP Classes e as principais páginas do site, as páginas de pacotes de classes.

Apliquei um processo chamado de Design Thinking para saber quais são os principais problemas que o site está resolvendo bem, os problemas que o site não resolve tão bem, ou os problemas que o site não resolve de maneira nenhuma.

Entrevistei vários usuários para perceber o que eu precisava fazer. Poucos meses depois, lancei um design totalmente novo para as páginas de pacotes que melhorou muito a experiência do usuário ao acessá-las, como era a intenção original.

Como efeito colateral desse processo, também aprendi sobre coisas que o site necessita, mas que estavam totalmente ausentes. Uma dessas coisas foi uma maneira simplificada de ajudar usuários a encontrar pacotes que são os melhores para determinados fins.

Aprendi que alguns usuários não estavam felizes porque precisavam descobrir qual pacote deveriam escolher entre os diversos resultados encontrados quando era utilizado o sistema de busca do site.

O problema é que muitas vezes os usuários gastam muito tempo testando pacotes um por um até encontrarem o mais adequado às suas necessidades. Seria melhor se houvesse uma maneira de aprender quais são os pacotes mais recomendados para aquilo que precisam fazer.

Depois de analisar um pouco esse problema, decidi voltar a um plano antigo para ter um sistema no qual os usuários possam obter recomendações de bons pacotes para o que precisam. Isso é precisamente o que está sendo lançado agora.

Como isso funciona? Uma demonstração em vídeo

Na home page, há um link que pode ser utilizado para ir diretamente para a página principal do sistema de recomendação. Mas, na realidade, a maioria das pessoas não quer ler as recomendações até descobrirem que precisam tomar uma decisão de escolher entre um conjunto de pacotes encontrados voltado para aquilo que precisam.

Assim, o sistema de busca do site foi alterado para solicitar aos usuários que respondam a algumas perguntas quando olharem para os resultados da pesquisa. Ou seja, uma janela de diálogo aparecerá recomendando que os usuários enviem dicas e conselhos na página de solicitação de recomendação do pacote.

Eles precisam enviar alguns detalhes sobre o seu pedido em um formulário. Após o envio do formulário de pedido, devem esperar por outros usuários que lhes possam fornecer alguma recomendação de classe para resolver o problema explicado. Este vídeo fornece mais detalhes sobre como isso funciona.

Obtenha recomendações de especialistas

Bem, se você postar um pedido de ajuda e não contar a ninguém, ninguém virá ajudá-lo. Portanto, o site tenta fazer essa ponte entre aqueles que estão pedindo ajuda e aqueles que podem ajudar.

A primeira coisa que o site faz é tentar encontrar autores que desenvolveram pacotes com as mesmas palavras-chave que os usuários colocam no pedido recomendação.

Cada pacote no site é associado a uma ou mais palavras-chave, portanto, o site envia uma notificação para os autores que têm pacotes marcados com as mesmas palavras-chave digitadas na solicitação de recomendação.

As chances são de que os autores que conhecem razoavelmente bem os tópicos sobre as palavras-chave associadas com seus pacotes respondam. Por isso, é muito provável que os autores tenham pacotes para recomendar para os fins que os usuários necessitam.

Mesmo que não tenham um pacote para os propósitos solicitados pelo usuário, talvez eles possam recomendar um que seja mais adequado, ou até mesmo melhorar os seus próprios pacotes para torná-los mais adequados para o que o usuário quer.

Conselhos da comunidade para obter várias opiniões

Todo mundo pode recomendar pacotes. Esse é um detalhe muito importante, porque diferentes pessoas têm diferentes experiências e perspectivas sobre cada problema. Se você quiser apenas ouvir uma opinião, pode estar perdendo muito sobre perspectivas de outras pessoas que também têm conhecimento sobre o seu problema.

Então, em vez de uma opinião, você pode obter várias recomendações para o mesmo problema e poderá ler os comentários de justificação para decidir qual deles corresponde melhor às suas necessidades. Você pode até mesmo interagir, comentar as recomendações que você iniciar e obter mais esclarecimentos por parte dos usuários que recomendaram pacotes para você.

Se você gostar das recomendações recebidas, pode e deve votar nelas para ajudar outros usuários. Você também pode votar nas recomendações, mesmo se não foi você quem pediu conselhos. Por outro lado, se você encontrar uma recomendação que seja totalmente inadequada, poderá votar negativamente.

Votação e comentários nas recomendações vão ajudar outros usuários que podem vir mais tarde procurando recomendações semelhantes. Por favor, faça a sua parte e retribua votando a favor ou contra, de acordo com a sua avaliação.

Autores podem promover seus próprios pacotes

Como você pode observar, esse sistema de recomendação é muito semelhante a outros sites de perguntas e respostas que você pode ter visto. A principal diferença é que, em vez de fazer perguntas, você pede recomendações de pacotes. Assim, as respostas só podem ser os pacotes que já existem no site e que o usuário pode experimentar de imediato.

Outra diferença sutil é que os autores de pacotes podem e devem recomendar os seus próprios pacotes, se esses pacotes ajudarem a resolver o problema do usuário.

Isso é diferente de um site de perguntas e respostas típicas ou os fóruns que têm moderadores vigilantes. Normalmente, esses moderadores consideram que promover o seu próprio trabalho é uma coisa ruim e que a autopromoção deve ser evitada.

Esse sistema de recomendação é diferente, porque ele foi criado explicitamente com a intenção de conectar desenvolvedores de pacotes com os usuários do pacote. Um autor pode promover seus pacotes à vontade.

Quando um autor recomenda seu próprio pacote, uma etiqueta mostrando “package author” será exibida ao lado do título da recomendação. Em seguida, caberá ao usuário descobrir se a recomendação é tendenciosa ou não.

Reputação

Todo usuário que recomenda pacotes pode ganhar pontos de reputação. Esse é um tipo especial de pontos de reputação dados aos usuários que ajudam os outros fornecendo conselhos.

É possível ganhar pontos de reputação dando boas recomendações, e ainda mais se o usuário pedir conselhos ou outros, como as recomendações e votar a favor deles.

Os atuais pontos de reputação auferidos por cada usuário são exibidos ao lado de cada recomendação dele, o que vai ajudar os usuários que procuram conselhos adicionais a obterem dicas sobre a reputação das recomendações que recebem.

No futuro, os conselheiros de renome serão capazes de obter privilégios adicionais que estão sendo planejados agora.

Pedidos especiais e sugestões de pacotes de soluções inovadores

O site tem um monte de pacotes, mas não tem necessariamente pacotes para todas as necessidades que os usuários possuem. Por isso, pedidos de recomendação de pacotes sem recomendações serão destacados passado um tempo. Isso significa que eles estão listados na seção de pedidos em destaque.

Além disso, o site vai enviar uma notificação aos autores que têm a opção ativada para receber notificações de solicitação de destaque. Isso permitirá que esses autores obtenham ideias para pacotes potencialmente inovadores.

Dessa forma, isso serve também para dar sugestões para autores que desejam participar do Prêmio de Inovação, mas não têm nenhuma ideia para contribuir com um novo pacote.

Esperemos que isso ajude os usuários a obter o seu pacote especial mais cedo, ao mesmo tempo em que vai aumentar as chances de autores inovadores conseguirem mais prêmios e reconhecimento para seus pacotes inovadores.

Preservando a qualidade descartando pedidos de pacote inadequados

A publicação de pedidos de recomendação não é um processo moderado a priori. Isso significa que todos podem postar pedidos de recomendação.

Mas, se o pedido não é muito claro ou é abusivo, será considerado inadequado, e assim será removido depois de um tempo por um moderador. Essa é uma medida necessária para manter a qualidade do sistema de recomendação.

Conclusões e opiniões

Esta é a versão inicial do sistema de recomendação de pacotes. Várias ideias foram colocadas neste sistema, mas há um monte de outras coisas planejadas para serem implementadas em breve.

Se você gostou da ideia ou não, ou se tiver sugestões de melhorias, por favor, poste um comentário aqui para que possamos evoluir o sistema tanto quanto possível com o seu feedback.

***

Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://www.phpclasses.org/blog/post/250-There-Is-a-PHP-or-JS-Class-for-That-Community-based-Best-Package-Recommendations.html