Académique Documents
Professionnel Documents
Culture Documents
Por
Dissertação submetida à
UNIVERSIDADE DE TRÁS-OS-MONTES E ALTO DOURO
para obtenção do grau de
MESTRE
em Engenharia Electrotécnica e de Computadores, de acordo com o disposto
no
DR – I série–A, Decreto-Lei n.º 74/2006 de 24 de Março e no
Regulamento de Estudos Pós-Graduados da UTAD
DR, 2.a série – Deliberação n.º 2391/2007
Orientação Científica:
Palavras Chave: Second Life, SL, Balcão de atendimento, Short Message Service, SMS,
Mensagens Instantâneas, IM, XMPP
i
ii
Second Life Information Desk System using Instant
Technologies
Abstract - Organizations with a presence in the Second Life® world typically only
provide direct user interaction with staff at specific schedules, or not at all. We present a
system that provides organizations with a simple way to enable constant interaction
with users of the Second Life world, by simulatingstaff presence using automated
avatars as communication channels to real-life staff by means of instant messaging and
short message service technologies. Staff members are assigned tocommunication with
Second Life avatars based on a hierarchy of information desk staffing priorities, and
communication is bidirectional.
Keywords: Second Life, SL, Help Desk, Short Message Service, SMS, Instant Messaging,
IM,XMPP
iii
iv
Agradecimentos
Aproveito este pequeno espaço para agradecer às pessoas que me apoiaram no decorrer
desta jornada, aos meus pais que tornaram isto possível a todos os níveis, à minha
namorada Ana Paula pelo apoio e aconselhamento dado, aos colegas pelo
companheirismo demonstrado e finalmente mas sem menor importância aos professores
que devido ao seu profissionalismo, prazer de ensinar e de ver aprender me terem dado
motivação para melhorar a nível académico.
v
vi
Índice
Resumo ........................................................................................................................................... i
Abstract ........................................................................................................................................ iii
Agradecimentos ............................................................................................................................ v
1. Introdução ........................................................................................................................... 10
1.1. Motivação.................................................................................................................... 10
1.2. Objectivos.................................................................................................................... 12
1.3. Organização da dissertação ........................................................................................ 13
2. Mundos Virtuais .................................................................................................................. 14
2.1. Potencialidades dos mundos virtuais .......................................................................... 14
2.2. SL ................................................................................................................................. 15
2.3. Comunicação entre SL e o mundo exterior ................................................................. 16
2.4. Formas de comunicação com o SL .............................................................................. 16
2.4.1. Comunicação por mail............................................................................................. 17
2.4.2. XML-RPC .................................................................................................................. 18
2.4.3. Pedidos HTTP........................................................................................................... 19
2.4.4. Comunicação utilizando um software alternativo de cliente ................................. 19
3. Serviços de mensagens instantâneas e sms ........................................................................ 21
3.1. Sistemas IM ................................................................................................................. 21
3.1.1. Windows Live Messenger........................................................................................ 23
3.1.2. Yahoo! Messenger................................................................................................... 23
3.1.3. AOL Instant Messenger ........................................................................................... 23
3.1.4. Skype ....................................................................................................................... 24
3.1.5. Sapo Messenger ...................................................................................................... 24
3.1.6. Protocolos de mensagens instantâneas .................................................................. 24
3.1.7. MSNP – Microsoft Notification Protocol ................................................................. 24
3.1.8. YMSG – Yahoo! Messenger Protocol....................................................................... 26
3.1.9. XMPP – Extensible Messaging and Presence Protocol............................................ 26
3.1.10. OSCAR - Open System for Communication in Realtime .......................................... 27
3.1.11. Skype Protocol......................................................................................................... 28
3.2. Sistemas IM e o SL ....................................................................................................... 29
3.3. Sistemas de comunicação SMS no SL .......................................................................... 31
4. Sistemas de informação no SL............................................................................................. 33
vii
5. Concepção e utilização do estudo realizado ....................................................................... 36
5.1. Orientações globais ..................................................................................................... 36
5.2. Métodos desenvolvidos .............................................................................................. 36
5.3. Aspectos gerais............................................................................................................ 37
5.4. Estratégias da arquitectura ......................................................................................... 38
5.4.1. Armazenamento de informação ............................................................................. 39
5.5. Interligação tecnológica .............................................................................................. 40
5.6. Arquitectura do sistema .............................................................................................. 41
5.6.1. BotSecondLife.......................................................................................................... 42
5.6.2. Classe ChatClient ..................................................................................................... 45
5.7. Módulos GSM .............................................................................................................. 48
5.7.1. Módulo de Envio SMS ............................................................................................. 48
5.7.2. Módulo de Recepção SMS....................................................................................... 50
5.8. Site ............................................................................................................................... 53
6. Testes, Resultados e Trabalho Futuro ................................................................................. 54
6.1. Funcionamento do sistema ......................................................................................... 54
6.2. Conclusões e Trabalho Futuro..................................................................................... 57
Referências .................................................................................................................................. 59
Índice de Figuras
Figura 1 – Comunicação por e-mail no SL ................................................................................... 17
Figura 2 – Comunicação por XML-RPC no SL............................................................................... 18
Figura 3 – Comunicação por pedidos HTTP no SL ....................................................................... 19
Figura 4 – Penetração de mercado dos serviços IM ................................................................... 22
Figura 5 – Windows Live Messenger da Encarta ......................................................................... 26
Figura 6 - SLeek ........................................................................................................................... 29
Figura 7 – GnomiChat .................................................................................................................. 30
Figura 8 – SL Messenger .............................................................................................................. 30
Figura 9 – Vodafone InsideOut.................................................................................................... 32
Figura 10 – e-Justice Center ........................................................................................................ 33
Figura 11 – Balcão de informação no Dreamland Central Hub ................................................... 34
Figura 12 – Diagrama do funcionamento geral........................................................................... 37
Figura 13 – Diagrama do armazenamento de informação ......................................................... 39
Figura 14 – Interacção com a base de dados .............................................................................. 40
Figura 15 – BotSecondLife (funcionamento geral)...................................................................... 42
Figura 16 – Tratament das mensagens SL ................................................................................... 44
Figura 17 – ChatClient (funcionamento geral) ............................................................................ 46
Figura 18 – Tratamento das mensagens dos messengers e actualização de contactos ............. 48
viii
Figura 19 – Módulo GSM de envio .............................................................................................. 49
Figura 20 – Módulo GSM de recepção ........................................................................................ 51
Figura 21 – Funcionamento geral do site .................................................................................... 53
Figura 22 – Registo de utilizadores e seus dados ........................................................................ 54
Figura 23 – Página de gestão do Bot ........................................................................................... 55
Figura 24 – Balcão de Informação com Bot ................................................................................ 56
Figura 25 – Comparação lado a lado: Cliente SL e Cliente IM ..................................................... 56
Figura 26 – Demonstração da troca entre sessões ..................................................................... 58
Índice de tabelas
Tabela I – Métodos de comunicação presentes no SL ................................................................ 17
ix
1. Introdução
1.1. Motivação
10
A diferença mais susceptível entre os balcões de informação do mundo físico e
mundo virtual é a típica inexistência de contacto pessoal entre o utilizador e instituição.
Deste modo, os utilizadores familiarizaram-se com uma interacção através da procura
por documentos ou introdução de informação em formulários de pedidos Web que
podem ser tratados com alguma flexibilidade em termos de tempo de resposta.
Mundos virtuais como o Second Life (SL) apresentam-se como um novo desafio
para balcões de informação, em que os utilizadores esperam ocupar um espaço virtual.
Assim, organizações que usem mundos virtuais enfrentam uma nova realidade: a
necessidade de constante animação do espaço virtual em que se encontram através da
constante presença de um funcionário virtual ou defraudar as expectativas fornecendo
um espaço vazio. Esta situação advém do facto que aquando da visita de um Web site o
utilizador não esperar partilhar esta experiencia, mas em um mundo virtual, a constante
sensação de presença num espaço ainda que virtual suscita consigo a noções de
compania e solidão, de espaços vazios e espaços povoados.
Soluções típicas para evitar esta situação envolvem a organização de eventos no
espaço do mundo virtual, de modo a que os utilizadores tenham motivação para visitar o
espaço regularmente, ou mesmo estabelecer áreas específicas para entretenimento.
No entanto, tais soluções não resolvem as expectativas de contacto directo com
um representante da organização. De modo a que um membro do staff esteja online no
SL, ele/ela necessita de ter o software cliente do SL a correr no seu computador,
prestando regularmente atenção ao mesmo, verificando se alguém está a tentar
estabelecer contacto. Para a maioria das organizações, o transito esperado de avatares
provavelmente não justifica a presença constante de alguém em um espaço de negócio e
balcões de informação desta forma.
Vários sistemas permitem aos utilizadores estar presentes no SL sem a
componente 3D, mantendo-se acessível através de mensagens instantâneas, mas isto
expõe os membros internos da organização do balcão de informação aos utilizadores
externos: filas podem formar-se; ou os visitantes serem confrontados com a escolha
entre um número de membros disponíveis para atendimento, ao invés de simplesmente
se aproximarem de um avatar genérico do balcão de informação.
O sistema apresentado aqui permite aos membros do staff interagir com avatares
do mundo virtual sem necessitarem de usar o software cliente do mundo virtual ou
serviços de telefonia móvel SMS. Os mesmos ficam livres de executar outras tarefas
enquanto não existe comunicação no mundo virtual, e poder estabelecer uma conversa
11
simultânea com mais de um utilizador ao mesmo tempo. Também, se demasiadas
conversações estiverem a ser iniciadas, novas podem ser automaticamente distribuídas a
outros membros do staff. Tudo isto ocorre de uma forma transparente aos utilizadores
do mundo virtual; através do seu ponto de vista, eles estão em comunicação directa com
o avatar representativo de um membro do staff da organização.
1.2. Objectivos
12
1.3. Organização da dissertação
13
2. Mundos Virtuais
Os espaços dos mundos virtuais têm sido explorados por organizações, para usos
diversos como contactar clientes potenciais, divulgação de marcas, comércio virtual e
ferramentas de colaboração para empregados ou parceiros comerciais [4;5].
Tecnologias de mundos virtuais podem ser utilizadas para criar mundos virtuais
customizados de raiz dando uso a várias ferramentas [6;7], uma aproximação que
organizações perseguem para aplicações de efeitos especiais para espaços privados para
os seus empregados, mas serviços e aplicações também podem ser construídos sobre
mundos virtuais existentes, sendo através de acordos de desenvolvimento entre
empresas detentoras de mundos virtuais ou através da utilização de componentes e
bibliotecas para conectar a sistemas externos com esses mundos virtuais [8]. Esta última
aproximação nivela o suporte tecnológico para assuntos como a concorrência e largura
de banda de servidor, assim como permite serviços e aplicações ao alcance de
utilizadores já presentes nesse mundo virtual.
14
Esta aproximação é mais adequada onde a disseminação abrangente é o objectivo
em que existirá um controlo limitado sobre o contexto técnico de utilizador de mundo
virtual, e em que, as actividades pretendem nivelar a destreza dos utilizadores actuais.
O desenvolvimento para mundos virtuais existentes emprega a combinação de
elementos do mundo virtual (software executado dentro dos servidores dos mundos
virtuais), elementos do lado do cliente (software executado no computador dos
utilizadores) e elementos exo-world, software executado em outros servidores (Web
services [9;10].
2.2. SL
15
Por estas razões escolhemos o SL como a plataforma de implementação do
protótipo aqui descrito. Em parte devido ao impacto mediático e por outro lado pelas
características aqui descritas e outras, de modo incremental organizações têm estado a
criar presenças institucionais ou activas no SL (BBC, Cisco, Dell, IBM, Mazda,
Reuters, Universal, Wells Fargo [12], mesmo que em muitos casos o objecto não seja
mais que divulgação da marca.
16
Quem inicia a Tamanho
Método Atraso
comunicação Mensagem
Ambos
E-Mail (script/sistema 4096 Caracteres 20 segundos
externo)
17
não é necessário este método é adequado, no entanto pelas razões o seu uso para
aplicações interactivas de elevado uso não é adequado.
2.4.2. XML-RPC
18
2.4.3. Pedidos HTTP
19
Uma desvantagem do uso do libopenmv relativamente aos métodos que utilizam
scripts LSL é que eventualmente a biblioteca necessita de actualizações. O protocolo de
comunicação entre os clientes SL e os servidores é actualizado regularmente, e por
vezes estas actualizações impõem uma também actualização do software de cliente. Isto
significa que aplicações que usem versões anteriores do libopenmv devem ser
reinstaladas ou reconstruídas usando uma versão actualizada.
20
3. Serviços de mensagens
instantâneas e sms
3.1. Sistemas IM
21
Figura 4 – Penetração de mercado dos serviços IM
[29]
Também há que ter em conta outros serviços como AOL Instant Messenger (AIM)
e o Skype.
Segundo a comScore, em Fevereiro de 2006 o AIM disputava uma fatia de 27% a
37% do mercado norte-americano, sendo OSCAR (Open System for Communication in
Realtime) o protocolo usado.
Segundo o mesmo estudo o Skype é já usado por 14 por cento dos utilizadores a
nível Mundial, sendo que este usa o Skype Protocol. A nível nacional destaca-se o Sapo
Messenger, cujo protocolo usado é o XMPP. Existem ainda outros serviços menos
usados, que usam vários dos protocolos supra referidos. É o caso do Trillian, do Pidgin,
do Adium e do Miranda. Mais não são do que programas que permitem a um utilizador
aceder as diferentes contas de mensagens instantâneas e às respectivas redes (rede do
Live Messenger, do Yahoo Messenger, etc.), permitindo funcionar com os vários
protocolos, conforme a rede pretendida. Existem ainda outros serviços semelhantes a
estes, mas baseados em páginas Web, não em aplicações de computador pessoal. Por
exemplo, os serviços Meebo e eBuddy.
22
3.1.1. Windows Live Messenger
23
3.1.4. Skype
O Skype, embora geralmente visto como programa para comunicação vocal sobre
a Internet, permite também a troca de mensagens instantâneas, através de um protocolo
proprietário.
24
só são públicas até à versão 2, conhecida por MSNP2. A Microsoft não divulgou
publicamente as versões mais recentes – incluindo a actual 15. Como os actuais
servidores da Microsoft para este serviço só aceitam conexões segundo versões iguais
ou superiores à versão 8 do MSNP, não é possível utilizar qualquer especificação
garantida para esta comunicação, sem recurso a informações proprietárias. Contudo, a
sintaxe e funcionamento das versões actuais do MSNP foram alvo de retro-engenharia,
pelo que é possível encontrar em locais de acesso público informações suficientes para
conseguir utilizar o serviço, embora tal levante questões de ordem jurídica. Não é
contudo necessário actualmente conhecer a especificação MSNP para poder, legalmente
utilizar o serviço Windows Live Messenger. A Microsoft disponibiliza um pacote de
desenvolvimento (SDK, Software Development Kit) que permite criar programas que,
de forma automática, acedam ao serviço. Este integra as aplicações Windows Live
Agents. As aplicações Windows Live Agents funcionam da seguinte forma: após
programadas, acrescentam-se à aplicação Windows Live Messenger, como se fossem
um contacto normal (uma pessoa). O utilizador “conversa” com estes Windows Live
Agents como se fossem pessoas, mas na verdade são programas que, habitualmente,
automatizam alguma tarefa. Por exemplo, um serviço automático de atendimento ao
consumidor, uma interface para efectuar pesquisas em bases de dados, etc.
Como exemplo desta funcionalidade dos Windows Live Agents, apresenta-se na
Figura 5 o agente da Encarta (a enciclopédia multimédia digital da Microsoft).
No entanto a aplicação que permite desenvolver bots ainda se encontra em fase
beta, sendo restrito o acesso público. Ainda não está prevista nenhuma data oficial para
o lançamento final deste produto, sendo no entanto é anunciado que mediante uma
requisição será possível aceder à aplicação, após análise prévia da proposta por parte da
Microsoft.
25
Figura 5 – Windows Live Messenger da Encarta
Tal como acontece com o MSNP, o YMSG não é do domínio público, sendo um
protocolo proprietário da Yahoo!. No entanto a Yahoo!, tal como a Microsoft, permite a
construção de aplicações para o seu serviço de mensagens instantâneas. Isto é
conseguido através da utilização do Yahoo! Messenger Plug-in SDK. Esta ferramenta
consiste numa API em JavaScript e C++ que permite adicionar vários recursos sendo
um deles a possibilidade de criar uma aplicação que interaja com contactos do Yahoo,
bastando para isso a adição deste recurso por parte dos utilizadores.
27
3.1.11. Skype Protocol
28
3.2. Sistemas IM e o SL
Uma aplicação similar é o SLeek, que permite aos utilizadores executar tarefas
simples além da troca de mensagens como ver o seu inventário [20]. Existem também
alternativas similares mas baseadas em serviços Web, como o ajaxlife.net e o
movablelife.net. Os utilizadores estão para todos os efeitos online enquanto usam o
SLim, SLeek ou as alternativas Web mencionadas e não existe conexão entre redes de
IM não SL, assim os utilizadores necessitam de outro software cliente IM nas suas
máquinas.
Figura 6 - SLeek
Figura 8 – SL Messenger
30
O problema do uso destes sistemas para balcões de informação, no entanto, é que os
mesmos mostram a identidade dos seus utilizadores aos visitantes. Apesar disto, se uma
organização necessita de manter um canal comum entre visitantes para permitir a vários
membros do seu staff o acesso comum à palavra-chave do avatar da organização,
conectando-se e desconectando-se de modo a passar o serviço de um membro do staff
para outro. Na eventualidade de várias pessoas de aproximarem do balcão de
informação ao mesmo tempo, elas terão que esperar pela sua vez, porque para todos os
efeitos existe apenas uma pessoa (avatar) encarregada de todas as comunicações.
Existem vários sistemas SMS emergentes no SL, desenvolvidos tanto por empresas
de telecomunicações como indivíduos. Estes sistemas tipicamente empregam um
objecto SL programado que um avatar pode utilizar como um “Telefone SL” para
enviar e receber mensagens SMS ou mesmo estabelecer chamadas de voz. Os principais
sistemas são Vodafone InsideOut, Cabines telefónicas móveis da Swisscom, Serviço de
SMS/MMS da telefónica e o Switchboard.
31
1 – Luz de aviso
2 – Minimizar
3 – Ajuda
4 – Ferramentas
5 – Página principal
6 – Histórico
7 – Contactos
8 – Estado de rede
Estes serviços ainda não são suficientemente modulares para suportar um sistema de
informação genérico transferindo mensagens de texto entre utilizadores SL e
utilizadores de telemóveis.
32
4. Sistemas de informação no SL
33
Outra aproximação é deixar os visitantes ter conhecimento de membros da empresa
se encontram online noutra parte do SL. Este método obedece a um sentido mais forte
de actividades em curso, e os visitantes tornam-se conscientes que os membros da
organização se encontram online (assim evitando a sensação de duvida ou se a
organização se encontra comprometida à sua presença no SL). Um sistema do género é
utilizado por Anshe Chung Studios na Dreamland Central Hub (Figura 11). Esta
localização [28] suporta os escritórios virtuais desta empresa. Pessoas interessadas em
comprar ou alugar terrenos deslocam-se a esta localização, onde uma serie de bolas
representativas de cada um dos membros da organização: bolas pretas representam que
o membro específico se encontra offline, quando as mesmas se parecem com a Terra
representam um membro que se encontra online. As bolas também permitem aos
visitantes enviar uma mensagem ao membro da organização correspondente.
Um problema desta aproximação é que não fornece um único ponto de contacto para
os novos visitantes. É adequado para o espaço desta empresa pois cada visitante
precisará possivelmente de um acompanhamento personalizado de longo prazo e todos
os membros da organização fornecem o mesmo serviço, mas possivelmente não para a
maioria das organizações.
34
uma área de principal actividade, não é o caso para a maioria das organizações e
certamente não é o caso de alguém pretende criar vários balcões de informação em
vários mundos virtuais.
35
5. Concepção e utilização do
estudo realizado
Vão ser analisados as orientações globais que serviram de molde para o protótipo
realizado, os métodos desenvolvidos e uma visão geral do sistema, sua arquitectura,
armazenamento de informação e para finalizar a explicação detalhada do funcionamento
do processo em quatro partes.
36
também é responsável por possibilitar o registo e controlo (login/logout) do bot Second
Life que irá atender os clientes in-world.
O sistema global é constituído por quatro partes: o site de registo e gestão, o bot SL,
o bot IM e o software de comunicação com os modems.
37
O controlo do sistema está a cargo do administrador de uma determinada empresa
(cliente do serviço) que terá que se registar no website criado de forma a criar uma lista
de funcionários para o sistema. Para tal basta introduzir o respectivo contacto IM e/ou o
número de telemóvel de cada um, assim como quantos clientes poderá um determinado
funcionário atender em simultâneo. Esta informação será adicionada numa base de
dados, usada pelo bot IM para enviar pedidos de amizade para as contas de IM dos
funcionários especificados.
Quando o bot se liga ao SL, ele recolhe todo o chat a partir dos utilizadores SL
próximos dele, como todas as mensagens IM enviadas directamente para ele,
armazenando-as na base de dados do servidor de gestão. Este passo de armazenamento
intermédio entre o bot SL e o bot IM é feito de modo a simplificar a gestão e supervisão
do fluxo de informação, e consequentemente obter um código de bot mais simples e
leve. Também permite o reencaminhamento de conversações (no caso de um
funcionário ficar off-line a meio de uma conversação).
38
5.4.1. Armazenamento de informação
- Administradores de empresas;
- Bots;
Todas estas informações são armazenadas numa base de dados (BD), usando o
MySQL (programa para sistema de gerenciamento de base de dados) como demonstra
Figura 13.
39
e de um ou mais bots adicionados por ele estando cada uma destas acções relacionadas
com o armazenamento de informações à BD.
A solução adoptada para resolver este problema foi a utilização da base de dados
mySQL que faz um armazenamento intermédio da informação para posterior
distribuição por parte de ambos os sistemas. Assim as funções principais de cada um
dos módulos de comunicação são a colocação de mensagens recebidas no seu meio na
BD e a procura temporizada na BD de mensagens provenientes do módulo oposto como
é demonstrado na Figura 14.
40
5.6. Arquitectura do sistema
41
5.6.1. BotSecondLife
42
Após a inicialização do programa é feita uma pesquisa temporizada à base de dados
para procurar um bot cujo seu administrador tenha requerido o login. Caso não seja
encontrado nenhum bot habilitado para efectuar o login o programa adormece durante
dois segundos de modo a evitar pesquisas desnecessárias voltando à fase inicial.
Se for recebida uma resposta à tentativa de login ela será analisada para verificar se
o login foi bem ou mal sucedido. Caso o login tenha sido mal sucedido será armazenada
na base de dados a mensagem de erro obtida da GRID SL e o programa retorna à fase
inicial.
Com o login bem sucedido é então armazenada na base de dados essa informação de
modo a informar o administrador via site.
O programa neste estado irá efectuar pedidos à base de dados para procura de novas
mensagens e caso não seja encontrada nenhuma irá aguardar 500ms para efectuar uma
nova pesquisa de modo a não sobrecarregar o sistema.
Quando uma nova mensagem é encontrada é verificado se essa mensagem é para ser
transmitida por chat ou instant message no SL. Se for mensagem de chat então ela será
transmitida pelo chat global do bot, caso contrário será transmitida por instant message
até ao avatar destino. Em ambos os casos após o envio da mensagem esta será marcada
na base de dados como entregue.
43
Figura 16 – Tratament das mensagens SL
É necessário saber se o avatar que comunica com o bot já tem uma sessão
estabelecida com um funcionário, pois, se este for o caso as mensagens serão
directamente enviadas para esse funcionário consoante o tipo de sessão estabelecida que
poderá ser IM ou SMS. Se a sessão estabelecida for do tipo IM a mensagem será
armazenada na BD para entrega posterior por Messenger, caso contrário será
armazenada para posterior entrega por SMS pelo modem GSM ligado ao sistema.
44
Caso nenhum funcionário esteja disponível por Messenger será procurado um
funcionário disponível por SMS, se não for encontrado será enviada uma mensagem ao
avatar no SL a avisa-lo que não existe ninguém disponível para o atender. Na situação
de haver um funcionário disponível por SMS é adicionada uma sessão na BD entre o
funcionário e avatar e a mensagem será armazenada na BD para entrega por SMS pelo
modem GSM.
A classe ChatClient é responsável por criar um bot que irá enviar as mensagens
armazenadas do SL e receber as mensagens de qualquer serviço de messaging de forma
a serem também armazenadas para posterior entrega via SL.
45
Figura 17 – ChatClient (funcionamento geral)
Quando se coloca esta classe a correr pela primeira vez num servidor, é feita uma
tentativa de conexão ao servidor XMPP público, neste caso, o Sapo. Caso não seja
possível a conexão, o programa sai, deixando de correr no servidor.
46
No caso de sucesso passa a próxima etapa, o login. No caso de não ser possível
efectuar o login este fica a tentar até conseguir. Quando o login for efectuado com
sucesso, é chamada a função responsável por actualizar a presença de todos os contactos
do bot. Esta função foi criada uma vez que, caso o bot deixasse de correr por alguma
razão no servidor XMPP ou no nosso servidor, não seria possível actualizar todos
contactos, uma vez que o método que é disparado pela alteração de presença só
funciona quando o bot está conectado ao servidor XMPP.
Assim, tendo em conta este factor, a classe executa três funções (enviar mensagens
armazenadas do SL, adicionar e remover contactos) de modo sequencial (após um login
bem sucedido) até ser atingido um determinado valor no contador (ou temporizador).
No entanto estas funções só serão executadas caso se verificar a conexão e login ao
servidor XMPP.
O contador, serve como um relógio, uma vez que a classe executa as três funções de
2 em 2 segundos e quando atinge um determinado valor é efectuado o logout seguido de
uma conexão e login do bot em relação ao servidor XMPP. Nessa sequência, também é
efectuado a actualização de todos os contactos.
1 – 2s
x – 14400s
De seguida explica-se o Figura 18, sendo este, parte do Figura 17. Assim pretende-
se dar uma explicação de como é feito o processamento das mensagens recebidas de
qualquer contacto de Messenger, assim como é feito a actualização dos contactos.
47
contacto estar offline é verificado se existe alguma sessão activa com este. No caso de
existir esta é apagada, uma vez que a conversação estará concluída.
48
Figura 19 – Módulo GSM de envio
49
5.7.2. Módulo de Recepção SMS
Depois do envio a mensagem é marcada como enviada e entra-se num novo ciclo de
procura de mensagens.
50
Figura 20 – Módulo GSM de recepção
51
Assim para cada nova SMS recebida será gerado um evento que permite efectuar de
seguida uma procura no cartão por novas mensagens. Os dados da mensagem precisam
de ser filtrados e de seguida a mensagem ser apagada do cartão de modo a evitar o
esgotamento da sua memória a longo prazo.
Seja uma mensagem normal para entrega é verificado se o avatar tem sessão
estabelecida e caso não tenha é assumido que o funcionário introduziu incorrectamente
o nome e será então armazenada uma SMS para entrega ao mesmo a avisar deste facto.
Se o avatar tiver uma sessão a mensagem é então armazenada para posterior entrega
no SL pelo bot.
52
5.8. Site
Como se demonstra pelo diagrama abaixo, foi criado um módulo responsável pelo
registo/actualização dos funcionários (módulo RegistaFuncionarios).
53
6. Testes, Resultados e Trabalho
Futuro
Neste capítulo é mostrado todo o funcionamento do sistema desde a sua fase inicial de
registo do administrador no site até à fase em que se iniciam as conversas entre
visitantes de um espaço virtual no SL e funcionários de um balcão de atendimento
Após isto o administrador regista um avatar SL no servidor. Este avatar será utilizado
pelo balcão de informação e necessita de ser conectado no SL (Figura 23)
54
Figura 23 – Página de gestão do Bot
No SL, utilizadores no balcão de informação vão ver o bot como se fosse um membro
da equipa de atendimento. Podem interagir com o mesmo por chat ou enviar uma
mensagem privada, como poderiam com um avatar normal. Na figura 9, o bot é o avatar
no centro, e as duas outras pessoas estão a procura de informações. Uma conversa
pública desenvolve-se e também é visível uma mensagem janela de mensagens
privadas.
55
Figura 24 – Balcão de Informação com Bot
Na mesma Figura, podemos ver que os membros da equipa podem utilizar os números
para definir para onde as mensagens são enviadas (Se não forem especificados números,
é assumido que deve ser usada a mesma sessão activa).
56
6.2. Conclusões e Trabalho Futuro
Foram realizados testes tanto em conversações com um único visitante como com
vários em simultâneo. Confirma-se a correcta operação do sistema prototipo com o
software IM em geral mas com um pequeno atraso para os utilizadores do Windows
Live.
Ainda será necessário realizar testes com equipas reais para estabelecer se o interface
actual (particularmente o mecanismo de gestão de sessões) é adequado, como
determinar outros elementos que podem ser necessários para melhor o comportamento
do bot SL (por exemplo, virar-se para a pessoa com quem está a conversar).
Verificaram-se também alguns problemas com o gateway XMPP (utilizou-se o gateway
publico do SAPO), algum trabalho terá que ser realizado a este nível.
57
Figura 26 – Demonstração da troca entre sessões
Como apenas o bot SL é específico deste mundo virtual e vários mundos virtuais
permitem a programação de bots similares é exequível que este sistema permita que
organizações facilmente transformem a sensação de presença no atendimento em
variados espaços virtuais ao mesmo tempo, mesmo em mundos virtuais diferentes.
58
Referências
[1] Woodcock, B. S. (2008). “An Analysis of MMOG Subscription Growth – Version 23.0. – April 9th,
2008” [On-line]. http://www.mmogchart.com /(retrieved October 4th, 2008).
[2] Association of Virtual Worlds (2008). “The Blue Book – A Consumer Guide to Virtual Worlds”, 4th
edition, August 2008. Ponte Vedra Beach, Florida, USA: Association of Virtual Worlds
[3] Taylor, Dan (2007). “Second Life in perspective: A round-up of 50 virtual worlds”. Fabric of Folly,
14-10-2007. [On-line] http://www.fabricoffolly.com/2007/10/second-life-in-perspectiveroundup- of.html
(retrieved October 4th, 2008).
[4] Barnes, Stuart (2007). “Virtual worlds as a medium for advertising”. The DATA BASE for Advances
in Information Systems, 38 (4), 45-55.
[5] Reynolds, Roo (2008). “IBM Virtual Worlds 1Q 2008 roundup”. Eightbar, March 25th, 2008 [On-
line]. http://eightbar.co.uk/2008/03/25/ibm-virtual-worlds-1q-2008-roundup/ (retrieved October 4th,
2008).
[9] Myrl (2008). “Welcome to – Myrl” [On-line]. http://www.myrl.com/ (retrieved October 4th, 2008).
[10] Sloodle (2008). “Sloodle – Virtual Environment Learning System” [Online]. http://www.sloodle.org/
(retrieved October 4th, 2008).
59
[11] Linden Lab (2008). “Second Life Virtual Economy – Key Metrics – Through August 2008” [On-
line]. http://static.secondlife.com/economy/stats_200808.xls (retrieved November 3rd, 2008).
[17] Gwyneth Llewelyn (2007). “Figuring out your online status revisited” [On-line]
http://gwynetllewelyn.net/2007/08/11/figuring-out-youronline-status-revisited/ (retrieved November 15th,
2007)
[19] Linden Lab (2008). “Linden Lab Builds Bridge Between Second Life and Real World With New
Voice-Driven Instant Messaging Client” [On-line]. http://lindenlab.com/pressroom/releases/09_03_08
(retrieved November 3rd, 2008).
60
[22] Chase, N. (2007). “A virtual office: IBM Lotus Sametime chatting and Second Life”. [On-line]
http://www.ibm.com/developerworks/edu/lsdw-ls-stsl.html (retrieved October 20th, 2008).
[24] Global Kids Digital Iniciative (2008). “Crossing the Metaversal Divide: Second Life teens exchange
text messages with Ugandan girl on her cell phone” [On-line]
http://www.holymeatballs.org/2008/09/crossing_the_metaversal_divide. html (retrieved November 4th,
2008)
[25] Reuters (2008). “Comverse demos Second Life on mobile phones” [Online].
http://secondlife.reuters.com/stories/2007/02/08/comverse-demossecond-life-on-mobile-phones/ retrieved
November 3rd, 2008).
[26] Telefónica S.A. (2007). “Telefónica in the Mobile World Congress 2008” [On-line]
http://saladeprensa.telefonica.es/documentos/Dossier_PS_Movistar-O2_eng.pdf (retrieved April 28th,
2008)
[27] E-Arbitration-T (2008). “e-Justice Centre, ODR in Second Life” [Online]. http://www.e-arbitration-
t.com/2008/02/28/e-justice-centre-odr-insecond-life/ (retrieved November 3rd, 2008).
61