terça-feira, 27 de maio de 2008

Pesquisa API mashup

1- Nome: Virtual Video Map
2- URL: http://www.virtualvideomap.com
3- Descrição: O Virtual Video Map é um mashup que integra o google maps com exibição de videos. Ao clicar em um marcador no google maps uma janela é aberta no proprio marcador onde são exibidos os videos.
4- Recursos: Permite criar marcadores no google maps e exibir videos nos marcadores.

sexta-feira, 23 de maio de 2008

Calendario + API Google Maps

Calendario usando html, javascript, php e ajax.
Permiti inclusão e visualização de compromissos.

Integração com API do Google Maps para visualizar endereço do compromisso.

Clique aqui para visualizar.

segunda-feira, 19 de maio de 2008

Evolução dos meios de pagamento.

A evolução dos meios de pagamento teve um grande salto a partir do momento em que foi possível separar o dinheiro do seu "meio físico", sendo assim uma nota de 50 reais, tem o mesmo valor que um cheque de 50 reais e pode ser convertido facilmente em números quando depositado os 50 reais em um banco. Com essa separação o "meio físico" pode evoluir muito, passando de moedas a cédulas, cheques, e cartões. Atualmente o meio que tem sido utilizado pela maior parte das pessoas é o cartão, que traz benefícios como segurança e facilidade nas compras, sendo elas em lojas reais ou virtuais. Mesmo com a grande aceitação dos cartões existem diversas criações como pagamento por meio de celular e pagamento por meio eletrônico (email) que podem ser os meios que se tornarão o padrão no futuro devido a facilidade do uso e a crescente utilização de lojas virtuais.

terça-feira, 13 de maio de 2008

Avaliação do site Submarino

Principais pontos positivos identificados:

1- Publicidade relacionada com itens de interesse do consumidor, baseada em historico de navegação, pesquisa e compras.

2- Pagina principal personalizada com itens de interesse do consumidor, baseada em historico de navegação, pesquisa e compras.

3- Opinião de outros compradores

4- Sugestão de produtos relacionados

Principais pontos negativos identificados:

1- Excesso de informações exibidas para o consumidor. Muitas propagandas e informações que podem dificultar a localização do produto ou informações desejadas.

segunda-feira, 28 de abril de 2008

API de busca do Google

Analise do tráfego de jogos em rede sem fio

Atualmente uma quantidade considerável do tráfego total da internet tem sido gerado pelos jogos online, segundo Fäber (2006) 3 a 4% de todos os pacotes que trafegam em um backbone são associados a apenas seis dos mais populares jogos online. Os jogos tem se mostrado um grande mercado em constante crescimento, o faturamento anual dos jogos já ultrapassou o faturamento do mercado cinematográfico. Apesar do grande crescimento os jogos online têm exigências muito altas com relação ao hardware e a banda necessária para o tráfego dos dados. O grande crescimento do mercado e as altas exigências dos jogos têm tomado a atenção das empresas prestadoras de serviços para internet que tem buscado criar protocolos e componentes de rede aperfeiçoadas para melhorar o desempenho do tráfego de jogos. Segundo Zander e Armitage (2005) as empresas prestadoras de serviço para internet têm percebido que ao garantir um melhor suporte para os jogos online também vão garantir a fidelidade de muitos clientes e ate ganhar novos clientes. Para conseguir adequar sua estrutura e seus serviços a essa demanda e conseguir garantir um melhor serviço as empresas devem ter conhecimento do trafego que é gerado pelos jogos. Segundo Brun, Safaei e Boustead (2006) estruturas de rede que geram lentidões nos jogos afetam os aspectos relacionados à jogabilidade e a equidade nos jogos, esses fatores são considerados de grande importância para que os jogadores possam ter experiências prazerosas no jogo. Jogadores não gostam de gastar seu tempo em jogos em que suas ações são lentas e onde outros jogadores parecem ter vantagens injustas devido a lentidões na rede.

Em paralelo com o crescimento do mercado de jogos o mercado móvel tem tido um grande crescimento e como conseqüência tem gerado uma grande exigência na utilização de redes sem fio. É crescente a quantidade de usuários que utilizam seus dispositivos moveis em redes sem fio para jogar. Com os aspectos já citados em relação à demanda dos jogos e ao crescimento do mercado móvel se torna claro a importância de um estudo detalhado de ambientes de jogos na rede sem fio.

Atualmente existem diversas categorias de jogos online, as mais populares são as seguintes: FPS (First Person Shot), MMORPG (Massive Multiplayer Online Role-playing Game) e jogos de estratégia, para compreender o comportamento dos jogos multiplayers são necessários estudos independentes para cada categoria a fim de descobrir as diferenças no comportamento do trafego gerado e nas exigências de QoS (qualidade de serviço) de cada categoria. Para exemplificar essa diferença de comportamento foram realizados testes de jogabilidade com jogos de duas diferentes categorias, FPS e estratégia, foram induzidos diferentes tempos de respostas enquanto os jogadores utilizavam o jogo, segundo Fäber nos jogos da categoria de FPS quando o tempo de resposta chega a 150ms as lentidões começam a ser consideradas intoleráveis pelos jogadores, enquanto nos jogos da categoria de estratégia apenas quando o tempo de resposta passa de 500ms é que as lentidões começam a ser notadas, isso acontece porque na categoria FPS os jogos precisam de ações e reflexos mais rápidos e precisos do que os jogos de estratégia. Outro estudo que demonstra as diferenças entre jogos é sobre a categoria de MMORPG, que tem tido um grande crescimento e vem chamando a atenção dentro do mercado de jogos, segundo Fritsch, Ritter e Shiller (2005) os MMORPGs trouxeram um conjunto completamente novo de problemas, primeiramente devido ao grande número de jogadores em um mesmo ambiente e outra característica é o grande tamanho dos ambientes e mapas que são usados, os exemplos citados demonstram como as categorias de jogos são diferentes entre si e mostram que tanto as características do próprio jogo quanto as exigência de QoS não podem ser generalizadas para os jogos online.

O foco deste trabalho está na categoria de FPS e por isso serão descritos com maiores detalhes o trafego que é gerado entre os clientes e servidores dessa categoria. Segundo Fäber (2006) é possível que um mesmo modelo seja usado para descrever toda a classe de jogos de ação multiplayer em primeira pessoa, o que significa que a maior parte dos jogos dessa categoria apresentam características semelhantes com relação ao trafego gerado. Esse tráfego pode ser dividido em duas partes, tráfego gerado do cliente para o servidor e do servidor para o cliente, esse tráfego obedece ao seguinte ciclo o servidor envia pacotes com as informações da partida para cada cliente que realiza a leitura e o processamento da informação, os clientes sincronizam o estado do jogo local com o estado do servidor, processam as ações do jogador e enviam pacotes de atualização com as movimentações e status do jogador. O tráfego gerado pelo servidor tem como característica principal a rajada de pacotes, a maior parte do tempo o servidor gera rajadas de pacotes (um pacote para cada cliente ativo) com informações e status do jogo, podemos perceber então que o tráfego gerado pelo servidor varia diretamente com o número de clientes ativos no jogo. O tráfego gerado pelos clientes é na maior parte do tempo constante, os clientes apresentam diferentes tempos de resposta para o envio dos pacotes, essa diferença de tempo é gerada normalmente pela diferença de hardware entre os clientes que devem realizar o processamento dos pacotes e das ações do jogador antes de enviar os pacotes de atualização.

As características do trafego descrito acima são típicas dos jogos multiplayers da categoria de FPS em infra estrutura locais ou na internet, o foco desse trabalho é analisar as características em uma infra estrutura de rede sem fio que pode gerar variações quando comparada com o tráfego descrito por Fäber. Para realizarmos as analises dos impactos do tráfego gerado pelos jogos na rede sem fio é necessário conhecer algumas métricas de QoS que serão utilizadas no decorrer do trabalho. As métricas de QoS são utilizadas para caracterizar o comportamento da rede com relação a sua utilização e sua performance, ou seja através das métricas de QoS é possível mensurar o consumo de cada aplicação e o desempenho geral da rede. As métricas utilizadas nesse trabalho serão descritas a seguir.



Palavras chave: Jogos, internet, tráfego.


Obs: A pesquisa só funciona quando o site é indexado pelo google, como este blog ainda nao foi indexado ela não está funcionando. Para visualizar o código utilizado clique aqui.

sexta-feira, 18 de abril de 2008

Calendario Versão 2

Calendario usando html, javascript e php.
Permiti inclusão e visualização de compromissos.

Clique aqui para visualizar.

quinta-feira, 3 de abril de 2008

Agenda DOM

Agenda feita com DOM para inserir e remover compromissos.

Para ver a agenda clique aqui.
Para ver o código da agenda clique aqui.

terça-feira, 11 de março de 2008

Calendario

Calendario usando XHTML, JavaScript e CSS.

Para visualizar o calendario clique aqui.

Para visualizar o codigo HTML clique aqui.
Para visualizar o codigo JavaScript clique aqui.
Para visualizar o codigo CSS clique aqui.

terça-feira, 4 de março de 2008

Currículo XHTML

Currículo gerado e validado em XHTML 1.0 Strict.

Valid XHTML 1.0 Strict


Para visualizar o currículo clique aqui.

Para visualizar o código XHTML clique aqui.

segunda-feira, 25 de fevereiro de 2008

XML Schema - Agenda (Compromisso)

Xml Schema do arquivo XML de compromisso:

<?xml version="1.0" encoding="iso-8859-1" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001 /XMLSchema">
<xs:element name="Agenda">
<xs:complexType>
<xs:sequence>
<xs:element name="Compromisso" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Assunto" type="xs:string"/>
<xs:element name="Local" type="xs:string"/>
<xs:element name="DataInicio" type="xs:date"/>
<xs:element name="HoraInicio" type="xs:time"/>
<xs:element name="DataFim" type="xs:date"/>
<xs:element name="HoraFim" type="xs:time"/>
<xs:element name="Descrição" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>


No Schema os campos DataInicio e DataFim são do tipo date e com isso só aceitam dados no formato: AAAA-MM-DD.

Os campos HoraInicio e HoraFim são do tipo time e só aceitam dados no seguinte formato: "HH-MM-SS"

XML - Agenda (Compromisso)


Exemplo de arquivo XML que pode ser usado para armazenar compromissos.


<?xml version="1.0" encoding="iso-8859-1" ?>
<Agenda>
   <Compromisso>
      <Assunto>Aula XML</Assunto>
      <Local>PUC São Gabriel</Local>
      <DataInicio>2008-02-02   </DataInicio>
      <HoraInicio>07:00:00</HoraInicio>
      <DataFim>2008-02-02   </DataFim>
      <HoraFim>08:40:00</HoraFim>
      <Descrição>Aula de XML com o Kutova</Descrição>
   </Compromisso>
</Agenda>


O arquivo definido tem 2 compromissos, o primeiro uma aula e o segundo uma reunião, com o XML é possível criar restrições e validações de valores para cada "campo", por exemplo é possível realizar validações para que a data inserida não seja invalida, para realizar esses tipos de validações vamos usar o XML Shema que vai ser tratado no próximo post.


XML

Provavelmente você já ouviu falar sobre a linguagem de marcação XML (Extensible Markup Language), o objetivo deste post é explicar de forma simples o que é e para que serve o XML.

O XML é uma linguagem de marcação criada pela W3C (World Wide Web Consortium) com o objetivo principal de facilitar a troca de informações pela internet.

Linguagens de marcação

As linguagens de marcação são usadas há muito tempo fora dos computadores, por exemplo, na publicação de jornais, o autor responsável pela criação de um documento criava o conteúdo e junto ao conteúdo incluía marcas para formatação da página, como exemplo, no título o autor incluía a marca de centro e negrito para que os editores entendam que o título deve ficar centralizado e em negrito quando a publicação for impressa. As linguagens de marcação se tornaram amplamente usadas na internet e a linguagem mais utilizada é o HTML, que funciona como explicado no exemplo, são usadas tags (marcas) para que o seu navegador entenda como os sites devem ser formatados (exibidos).

Diferença entre HTML e XML

O XML também é uma linguagem de marcação e a principal diferença entre o HTML e o XML é que o HTML é utilizado para descrever a formatação do conteúdo que será exibido enquanto o XML descreve a estrutura e o significado dos dados. O uso de linguagem de marcação para descrever e estruturar dados torna possível a reutilização desses dados em vários ambientes diferentes, desde que haja uma padronização em como representar os dados.

O HTML utiliza de tags pré definidas para realizar a formatação dos documentos enquanto o XML permite que o autor crie suas próprias tags para descrever e estruturar os dados.

Para entender melhor vamos supor que você tenha um site de informações de filmes, todas as informações publicadas no seu site são salvas em arquivos XML, caso você tenha um concorrente e vocês entrem em um acordo de compartilhar informações, basta que vocês definam qual vai ser a estrutura dos seus arquivos XML e então comecem a compartilhar os arquivos XML. Veja a seguir um exemplo do arquivo XML para armazenar informações de um filme:

<Filme> Matrix </Filme>
<Ano> 1999 </Ano >
<Genero> Ficção </Genero>
<Sinopse> Luta do ser humano para se livrar do domínio das máquinas que evoluíram... </Sinopse>

Perceba que o arquivo é de fácil entendimento, sendo fácil perceber que o arquivo traz informações como ano, gênero e sinopse do filme Matrix. A possibilidade de criar marcas para definir praticamente qualquer estrutura de dados é o que torna o XML "extensível".

No próximo post vou mostrar um exemplo mais detalhado de um arquivo criado para armazenar compromissos.

quinta-feira, 14 de fevereiro de 2008

RSS e Atom

Para o melhor entendimento desse post vamos pensar na seguinte situação:
Imagine que você gosta de várias revistas e livros e geralmente você precisa ir a várias bancas para poder adquirir o que você quer. Agora imagine se todas essas bancas tivessem um serviço de avisar quando cada revista que te interessa chega e ainda, levá-las até a sua casa sem você ter que ligar pedindo? Essa é a grande vantagem na utilização dos serviços de distribuição de informações na internet, e é esta tecnologia que será abordada no restante deste post.


O que é RSS?

RSS ("Really Simple Syndication") é uma forma simples de distribuir informações na internet. Um documento RSS é feito na linguagem XML e geralmente exibe o grande volume de informações existente em uma página na internet de forma resumida.

O que é Atom?

também é um modelo pada distribuição de informações na internet assim como o RSS. O Atom também é baseado em XML, mas seu desenvolvimento é tido como mais sofisticado. Alguns estudiosos do assunto afirmam que o Atom será o substituto natural do RSS. Para obter mais informações sobre essa tecnologia, visite seu site oficial.

Quais as diferenças entre RSS e Atom?

O Atom tem o mesmo objetivo do RSS, é escrito também em XML, exibe feeds parecidos aos do RSS, porém apresenta algumas vantagens. Do ponto de vista de quem recebe os feeds, o Atom dá menos problemas na leitura, oferece título e subtítulo, nome do autor com ou sem seu email, data e horário da atualização (o RSS é data e horário da publicação), e dá a informação em forma de resumo.
Só exite uma única versão existente do Atom, enquanto o RSS tem várias versões e grandes incompatibilidades entre elas. O Atom apresenta vantagens sobre os RSS e muitos acham que os RSS estarão superados por ele em breve

Como os dados RSS e Atom são usados?

O RSS e o Atom geram "arquivos" que são chamados de feeds. Nos feeds são incluídas informações como título, página (endereço exato de onde há algo novo), descrição da alteração, data, autor, etc, de todas as últimas atualizações do site ao qual ele está agregado. De poucos em poucos minutos o arquivo RSS é atualizado mostrando as alterações recentes. Os feeds são enviados para um agregador onde o usuário pode realizar as leituras e acessar as novidades descritas. Veja o video no final do post para ajudar a entender o funcionamento.

Quais os principais elementos desses padrões?

ID, Identifica o Feed usando uma URL, você pode colocar seu Nome de Domínio nesta parte
Title, contem o título do Feed, este valor não pode ser deixado em branco.
Author, nome do autor do Feed, um feed pode ter inúmeros autores.
Updated, Indica quando foi a ultima vez que a entrada foi modificada.

O que são agregadores?

Os agregadores de notícias são sistemas que lêem os feeds e os exibem amigavelmente. Existem alguns programas que, após serem instalados no seu computador, podem ser alimentados com os links dos feeds. Outros sistemas, mais práticos, são páginas na internet, e basta acessar o endereço da página para alimentar o sistema com os seus feeds preferidos. Assista ao vídeo no final do post para entender melhor o funcionamento dos agregadores. Existe uma grande quantidade de agregadores a minha recomendação é para o google reader.

Lista de agregadores via software:

  • Google Desktop
  • Akregator
  • RSS Owl
  • FeedReader
  • Active Web Reader
  • Pluck RSS Reader
  • RSS Bandit
  • Blam Feed Reader
  • ThinFeeder

Lista de agregadores via site:

  • Google Reader
  • Gobits Reader
  • Bloglines
  • Origo
  • Goowy
Vídeo explicativo:





Referências:

http://www.ufmg.br/online/web/arquivos/003127.shtml

http://pt.wikipedia.org/wiki/Atom

http://revolucao.etc.br/feedsxmlatomrss/

http://pt.wikipedia.org/wiki/RSS

terça-feira, 12 de fevereiro de 2008

TecWeb

Blog criado para armazenar trabalhos e exercícios desenvolvidos na disciplina de Tecnologias da Web.