Baidu Spark Browser

Transcrição

Baidu Spark Browser
Baidu Spark Browser
Documento de Especificação de
Requisitos de Software
Campus Party Brasil 2014
Desafio Baidu “Quero um estágio na China”
Autor: Thiago Pinheiro Silva
E-mail: [email protected]
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Índice
Introdução ................................................................................... 3
Definição dos requisitos de usuário
Agredador de feeds ............................................................ 4
Navegação rápida ............................................................... 5
Navegação segura .............................................................. 6
Integração social ................................................................ 7
Divisão de tela .................................................................... 8
Gestão de qualidade do tempo .......................................... 9
Ajuste das funcionalidades existentes ...................................... 10
2
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Introdução
Uma vez por ano a Campus Party me proporciona a possibilidade de
estar presente em um evento onde posso me profissionalizar mais no
mercado, conhecer novas tendências e tecnologias em diversas áreas de
TI, assistir palestras de várias pessoas que são referência na carreira que
almejo, construir relações profissionais e aumentar meu networking e ter
oportunidades ímpares de realizar algumas conquistas que de outra forma
seriam muito mais difíceis. E é isso que o desafio realizado pela Baidu faz:
me dá a chance de concorrer por merecimento à oportunidade de
participar de um estágio na China, em uma grande empresa de tecnologia
para desenvolver um produto. O desafio proposto consiste em conceber
melhorias para um dos produtos da Baidu, e o produto que eu escolhi foi
o Spark, um browser ou navegador para internet.
Antes de começar a pensar em melhorias, fiz o download do
navegador e realizei alguns testes para entender melhor o produto. Após
esse breve período de teste, consegui imaginar algumas melhorias que
consistem em “Agregador de feeds”, “Navegação rápida”, “Navegação
segura”, “Integração social”, “Divisão de tela” e “Gestão de qualidade do
tempo”. Também imaginei algumas melhorias que não precisam do
desenvolvimento de novas funcionalidades, mas sim no ajuste de algumas
já existentes no software. Irei detalhar cada uma dessas funcionalidades e
seus respectivos requisitos no desenvolvimento deste documento.
3
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Agregador de feeds
Há alguns meses atrás a Google descontinuou o seu agregador de
feeds “Google Reader”, deixando muitos usuários de feed RSS órfãos.
Algumas empresas enxergaram uma oportunidade e lançaram leitores de
feed alternativos, ou simplesmente melhoraram os que já possuíam e
viram seus acessos crescerem. Entre esses agregadores de feed podemos
citar o Feedly, The Old Reader e o Aol Reader.
Mas e se o usuário já pudesse contar com um agregador de feeds
RSS no seu próprio navegador, de forma nativa? Acredito que esse
navegador ganharia mais adeptos pelo simples fato de fornecer mais
comodidade na leitura das notícias dos sites que o usuário costuma
freqüentar.
Algumas possíveis possibilidades dessa funcionalidade são:
• Identificação automática do endereço de feed RSS do site que
está sendo acessado, e a possibilidade de incluí-lo na lista de
feeds com apenas um clique do mouse;
• Ao adicionar um site na lista de feeds, o navegador detecta
uma categoria de acordo com o tema do site, e sugere ao
usuário;
• O usuário poderá organizar sua lista de feeds em categorias,
arrastando o feed de um grupo para o outro, editando o
nome dos feeds e grupos, e excluindo-os;
• Existirá uma interface para exibição dos feeds, de acordo com
a ordem de cada post.
4
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Navegação rápida
Alguns sites hoje em dia fornecem uma alternativa para melhorar a
usabilidade de navegação do usuário, disponibilizando teclas de atalho
para passar de um post para outro. Dois exemplos de sites que permitem
essa navegação são o 9gag.com e o facebook.com, onde é possível ir para
o próximo post teclando “j”, voltar para o anterior teclando “k” e curtindo
um post com “l”.
A partir dessa observação, é possível sugerir uma melhoria para o
navegador Spark, que tornaria a utilização das teclas de atalho na
navegação em qualquer site, de forma automática, mesmo que o site não
tenha essa funcionalidade. Explicando de forma abstrata, o navegador iria
analisar o conteúdo do site e da navegação do usuário no mesmo, criando
uma árvore e detectando quais links poderiam ser acessados em
sequência.
Abaixo seguem algumas características dessa funcionalidade:
• A próxima publicação de um site poderia ser acessada ao
teclar “j” e a publicação anterior com “k”. Podem haver
mais teclas de atalho, como “l” para compartilhar o link da
publicação atual em alguma rede social;
• As teclas de atalho não devem funcionar quando o usuário
estiver preenchendo um formulário;
• O usuário pode desligar essa funcionalidade a qualquer
momento.
5
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Navegação segura
Vários usuários de internet ficam expostos durante sua navegação
por acessarem sites sem utilizar o protocolo de transferência de
hypertexto seguro, ou HTTPS, quando o mesmo está disponível. Seria
interessante o navegador proteger o usuário verificando a autenticidade
do servidor no início da requisição, e caso esteja autenticado forçando a
utilização do HTTPS. Assim os dados de navegação do usuário estariam
criptografados e portanto mais seguros.
Já existem alguns complementos para navegadores que permitem
isso, como o HTTPS Everywhere para Firefox. Mas um navegador que
oferecesse essa funcionalidade de forma nativa teria um grande
diferencial.
Seguem alguns requisitos dessa implementação:
• Ao acessar uma URL o navegador tenta verificar se o servidor
é autenticado, e caso positivo fornece o acesso utilizando
HTTPS;
• Se desejar, o usuário poderá desligar essa funcionalidade nas
configurações do navegador;
• O usuário poderá, nas configurações do navegador, listar
alguns endereços que prefere não acessar utilizando HTTPS.
6
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Integração social
Uma das maiores utilizações de um navegador de internet é o
acesso às diferentes redes sociais disponíveis na rede, como Facebook,
Twitter, Instagram, Youtube, LinkedIn e etc.
O Spark poderia conquistar mais adeptos facilitando o
acompanhamento das publicações nesses diferentes perfis, agregando
todas as histórias em uma única aba do navegador. Existe uma ferramenta
que faz isso atualmente, o Hootsuite, mas que organiza as publicações em
colunas específicas para cada rede. O Spark por sua vez, além de fornecer
essa possibilidade de forma nativa, poderia organizar as publicações em
uma única linha do tempo, organizadas em molduras e indicando a rede
por cores, garantindo assim também uma maior integração.
Abaixo estão listados alguns requisitos dessa funcionalidade:
• O usuário pode cadastrar várias redes sociais, como
Facebook, Twitter, Instagram, LinkedIn, YouTube e etc;
• O usuário pode personalizar qual categoria de conteúdo de
cada rede deseja receber atualizações, por exemplo:
o No Facebook, Twitter, Instagram e LinkedIn, se o
usuário desejar, ao invés de receber atualizações de
todos os amigos, pode receber apenas de perfis
selecionados;
o No YouTube o usuário pode selecionar os canais que
deseja acompanhar pela aba de integração social do
navegador;
• A aba de integração social pode ser a primeira aba a ser
aberta quando o navegador for inicializado, podendo é claro
ser desativada caso o usuário deseje;
• Novas notificações são identificadas com alertas na aba de
integração social, onde é exibido um número com a
quantidade de novas notificações.
7
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Divisão de tela
Na minha experiência como usuário de internet, é normal estar
navegando em várias abas ao mesmo tempo, e precisar ficar trocando de
uma para outra freqüentemente. Acredito que eu e muitas outras pessoas
poderiam ser mais produtivas podendo acessar vários sites ao mesmo
tempo não só em diferentes abas, como também na mesma janela.
Com as extensões para o Google Chrome “Tab Scissors” e “Tab
Glue” é possível fazer alguma coisa do tipo, mas o Spark além de oferecer
essa possibilidade de forma nativa, permitiria a visualização de vários sites
na mesma aba, e várias abas com vários sites. Além disso, essa
visualização de múltiplos sites teria como limitação apenas a capacidade
do computador do usuário, e funcionaria de fato em uma mesma janela.
Ou seja, ao minimizar o Spark todos os sites visualizados são minimizados,
e ao maximizar todos os sites são maximizados.
Seguem algumas definições dessa funcionalidade:
• Ao clicar em um botão “Split” a moldura em que o usuário se
encontra é dividida em duas. Essa ação pode ser realizada de
forma recursiva, ou seja, uma moldura que foi dividida pode
ser dividida novamente, e assim sucessivamente;
• O usuário poderá arrastar com o mouse os limites da
moldura, alterando assim a altura ou largura da mesma da
forma que desejar;
• Ao clique de um botão o usuário poderá passar os sites
visualizados em várias molduras para várias abas, voltando
assim ao modo normal de visualização;
• Uma das molduras poderá ser a aba de integração social.
8
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Gestão de qualidade do tempo
A internet oferece tantas possibilidades, que algumas vezes é muito
difícil ter disciplina e conseguir ter foco em uma tarefa. Por isso seria
importante para o usuário que alguém o ajudasse a ser mais produtivo, e
o Spark pode oferecer essa ajuda.
A idéia é montar um perfil do usuário, analisando quanto tempo ele
passa navegando em sites de diferentes categorias, e assim conseguir
identificar quando ele pode estar procrastinando. Por exemplo, se o
usuário está há muito tempo navegando em sites de “diversão”, o Spark
pode mostrar uma notificação avisando que está há muito tempo
navegando nessa categoria, e sugerir a navegação em uma nova categoria,
ou até a realização de outra tarefa. Algumas possibilidades de mensagem
seriam “Percebemos que está há muito tempo no Facebook. Que tal
verificar se chegaram novos e-mails?”, “Já está há muito tempo nesse site
de humor, por quê não se informa sobre as principais notícias do dia?” ou
“Tanto tempo assim em frente ao computador pode fazer mal à sua
saúde. O que acha de esticar as pernas e ir conversar com alguém por
alguns minutos?”.
Abaixo estão alguns requisitos dessa funcionalidade:
• As sugestões podem levar em consideração o histórico do
usuário, assim como seus favoritos, sua lista de feeds RSS e os
links compartilhados na aba de integração social;
• Se o usuário fechar a janela de notificação, poderá continuar
navegando no site em que estava sem problemas;
• Se o usuário se sentir incomodado, poderá desligar essa
funcionalidade nas configurações do navegador.
9
Baidu Spark Browser | Documento de Especificação de Requisitos de Software
Ajuste das funcionalidades existentes
Sobre o funcionamento atual do Spark, pude identificar algumas
funcionalidades que poderiam ser ajustadas com o intuito de melhorar a
experiência do usuário.
Todas elas estão relacionadas com a liberdade de uso do usuário.
Acredito que o poder de escolha sobre o uso de cada funcionalidade deve
ser do usuário, pois assim ele estará usando apenas aquilo que ele
aceitou, e nada de forma imposta. Assim, a Baidu conseguirá deixar o
usuário mais satisfeito usando o Spark e não correrá o risco de ter uma
grande rejeição com novos usuários, além de aumentar a possibilidade de
ter usuários fiéis, que se sentirão confortáveis em recomendar o uso do
software para outras pessoas.
Isso pode ser feito com a simples inclusão de algumas opções
durante a instalação, como a escolha se o Spark deve ou não ser o
navegador padrão, ou se deve ou não ser o cliente padrão para arquivos
torrent.
10