• Nenhum resultado encontrado

3. MyPersonal-EPG

3.2. Interface com o usuário

De forma a permitir a utilização do MyPersonal-EPG, foi desenvolvida uma aplicação cuja interface de usuário é descrita nessa seção. Esta interface de usuário foi implementada utilizando as tecnologias previstas no SBTVD e seguindo as diretrizes propostas em (Barbosa e Soares, 2008) e (BBC, 2002). O SBTVD prevê o uso da

MyPersonal-EPG

Tabelas EIT de diferentes emissoras

EPGs personalizados

linguagem declarativa NCL, da linguagem de script Lua e do middleware Ginga no desenvolvimento de aplicações.

A Figura 9 mostra a tela inicial da interface do MyPersonal-EPG. A barra de informações exibe ao usuário dados importantes como: data, título e canal. Logo abaixo, há uma tabela que mostra os programas que serão exibidos juntamente com várias informações sobre eles. À direita, há um quadro que mostra quais programas foram selecionados pelos usuários até o momento. Na parte inferior, há a barra de interação que será usado pelos usuários para explorar as funcionalidades da aplicação.

Figura 9. MyPersonal-EPG - Programas disponíveis (esquerda) e Programas Selecionados.

Um dos princípios de design que seguimos durante o desenvolvimento da IU foi o de mostrar ao usuário quais são os mecanismos de interação existentes com cada um dos elementos da tela. A barra de interação, por exemplo, possui 4 retângulos coloridos com texto indicando a ação correspondente sobre eles (um vermelho, um verde, um amarelo e um azul). As cores estão tentando mostrar que para realizar as devidas ações o usuário deve usar os respectivos botões coloridos do controle remoto. As setas mostradas na interface têm a intenção de indicar ao usuário que ele pode usar as setas do controle remoto para interagir com os elementos da interface. No caso da data mostrada

na barra de informações, por exemplo, ao utilizar as setas para cima e para baixo do controle remoto, o usuário perceberá que a data será modificada e os programas exibidos na tabela abaixo serão também modificados já que os programas exibidos estão associados à data que está sendo exibida no momento.

A inserção e remoção de programas da grade de programas selecionados são feitas de maneira bastante simples, a partir do uso das teclas coloridas do controle remoto. O usuário pode navegar entre os programas que estão em exibição usando as setas para cima e para baixo do controle remoto e, ao encontrar o programa desejado, simplesmente apertar a tecla vermelha para inseri-lo em sua grade de programação. Se, em um momento futuro, o usuário desistir de assistir a um programa que pertence à sua grade, basta selecionar o programa na grade e apertar o botão verde para removê-lo.

A borda de seleção branca (na tela inicial o primeiro programa - “Carros” - está selecionado) dá a noção de navegabilidade, que pode ocorrer quando o usuário aperta as setas para cima e para baixo do controle remoto. A única interação que fica implícita é o uso das setas para direita e para esquerda do controle remoto para alternar entre os menus. Existem, conceitualmente, três menus na tela inicial: o primeiro é representado pelos 5 botões laranja que aparecem à esquerda; o segundo é representado pelo quadro contendo a lista de programas selecionados; e o terceiro é representado pelo quadro contendo a data. A navegação entre os menus é feita de maneira circular. Para ir do

menu com os botões laranjas para o menu com o quadro de programas selecionados, por

exemplo, basta aperta a seta para direita. Apertando o mesmo botão novamente, o menu do quadro da data será selecionado. Apertando a seta para direita mais uma vez, o menu com os botões laranjas será novamente selecionado. Idéia análoga é empregada com a interação pela seta para esquerda. Em termos de mecanismos de interação, as demais telas (a tela 3 é ilustrada pela Figura 10) são semelhantes à tela 1 (Figura 9). Dessa forma, descrevemos apenas brevemente a tela 3.

Figura 10. MyPersonal-EPG - Categorias, Recomendações e Programas Selecionados

Na tela mostrada na Figura 10, há dois combo box brancos responsáveis por permitir aos usuários que eles selecionem as categorias desejadas. O texto escrito em cada combo box é modificado pelo uso das setas para cima e para baixo, conforme indicam as setas ao lado. Logo abaixo, há um quadro que exibe quais categorias estão cadastradas no presente momento. No centro da tela, há um quadro de programas recomendados pelo MyPersonal-EPG que foram disponibilizados pelos canais após o usuário ter cadastrado as categorias de interesse (modo assíncrono de recomendação). Estes programas podem ser movidos para o quadro de programas selecionados (mostrado à direita) de maneira bastante simples, basta apenas selecionar o programa na lista de programas recomendados e apertar a tecla vermelha do controle remoto. Uma vez movidos, os programas passam a fazer parte da lista de programas selecionados e a aplicação sintonizará os devidos canais no momento adequado. Todos os quadros presentes nesta tela (quadro de categorias selecionadas, programas recomendados e programas selecionados) permitem, quando estão devidamente selecionados, que o usuário possa navegar pela lista de valores usando as setas para cima e para baixo. O

valor atualmente selecionado terá o texto em cor branca para que o usuário possa perceber e podem ser removidos diretamente através da tecla colorida verde.

A tela mostrada na Figura 11 contém as opções de configuração da aplicação. As opções podem ser marcadas ou desmarcadas de acordo com o desejo do usuário. Para

alternar a opção entre “Sim” e “Não”, o usuário deve apertar a tecla enter do controle

remoto.

Figura 11. MyPersonal-EPG - Opções de Configuração

Do ponto de vista de funcionalidades, a tela da Figura 9 está relacionada aos itens (i) e (ii) apresentados no inicio desta seção. A tela da Figura 10, por sua vez, aos itens (iii) e (iv). A tela de configurações, que se refere ao item (v), é apresentada na Figura 11.

3.3 Arquitetura do MyPersonal-EPG: novos componentes Scheduler e

Recommender

A arquitetura do MyPersonal-EPG está ilustrada na Figura 12 e estende a arquitetura de (Moreno et al., 2009) (Figura 7) incluindo dois novos componentes –

Scheduler e Recommender - para atender os requisitos descritos no início da seção 3.

O componente Scheduler é responsável por avaliar periodicamente (p.ex., a cada 60 segundos) a lista de programas selecionados pelo usuário e tomar a ação correspondente. Para desempenhar sua função, esse componente precisa ter acesso à estrutura Service Data, à data e hora atuais e às informações de configuração do usuário. A cada vez que procede a avaliação, o Scheduler verifica se algum dos programas selecionados está prestes a começar, com base na data e hora atuais. Em caso afirmativo, ele deve checar as informações de configuração para o usuário que está usando a aplicação no momento, especificamente a informação que indica se os programas selecionados devem ser automaticamente sintonizados ou não.

Figura 12. Arquitetura do MyPersonal-EPG

Se o usuário tiver marcado a opção como “Sim”, o Scheduler dispara um evento

responsável por sintonizar o canal correspondente. Caso contrário, ele exibe uma mensagem de aviso na tela da televisão, indicando ao usuário que o programa selecionado em questão já está sendo exibido. Se o usuário decidir, em um momento

posterior à exibição da mensagem, que deseja assistir o programa, basta apenas apertar a tecla enter do controle remoto e o Scheduler sintonizará o canal adequado. Se o usuário decidir que não deseja ir para o programa selecionado e que não deseja mais ver a mensagem de aviso, basta apenas apertar a tecla azul do controle remoto.

Do ponto de vista arquitetural, o componente Scheduler usa as informações armazenadas na estrutura de dados Service Data, havendo, portanto, dependência indireta em relação aos componentes do estágio feeding.

O componente Recommender é responsável por fazer recomendações de programas aos usuários, tanto, explicitamente, com base nas categorias selecionadas pelos mesmos, quanto, implicitamente com base nas ações tomadas pelos mesmos. Para produzir recomendações explicitamente, ele precisa ter acesso às categorias escolhidas pelo usuário (em termos de gênero e subgênero) e aos dados contidos na estrutura

Service Data. O Recommender analisa os dados da Service Data e verifica se os

programas devem ser adicionados ao quadro de recomendações. Se o gênero e subgênero do programa forem compatíveis com um dos gêneros e subgêneros selecionados pelo usuário, o programa será adicionado ao quadro de recomendações. Uma vez que são mostrados no quadro de recomendações, os programas podem ser transferidos para o quadro de programas selecionados pela interação do usuário com o controle remoto. O mecanismo de análise que acabamos de descrever é síncrono, já que é disparado sempre que uma nova categoria é inserida ou removida pelo usuário.

Existe, no entanto, a necessidade de garantir que as recomendações sejam atualizadas constantemente, sem que seja preciso para isso o usuário reinserir uma categoria. Dessa forma, desenvolvemos um mecanismo assíncrono para atualizar as recomendações. Este mecanismo é baseado na comunicação entre os componentes

Search Engine e Data Manager e o componente Recommender. Sempre que recebe

novas informações acerca de programas, o Search Engine e o Data Manager transmitem tais informações ao Recommender diretamente. De posse dessas informações e das informações de categoria do usuário, o Recommender é capaz de atualizar automaticamente o quadro de recomendações. Portanto, o usuário tem apenas de inserir as categorias desejadas uma única vez e as recomendações permanecem sendo atualizadas continuamente.

O componente Recommender também produz recomendações de maneira implícita (sem que os usuários tenham que selecionar categorias – gêneros e subgêneros - de programas), tomando como base um modelo que é construído levando em

consideração as ações dos usuários, como por exemplo, a que programas eles assistem. Mais detalhes sobre as recomendações implícitas podem ser vistas na seção seguinte, a seção 3.4.

3.4 Sistema de recomendações baseadas em conteúdo no MyPersonal-