Está en la página 1de 69

UNIVERSIDADE FEDERAL DO CEAR DEPARTAMENTO DE CINCIA DA COMPUTAO CURSO DE ESPECIALIZAO EM TECNOLOGIAS DA INFORMAO

CARLOS ALBERTO BATISTA DE QUEIROZ FILHO

UM ESTUDO DE CASO SOBRE O USO DE QR CODE NA CONSTRUO DE UM SISTEMA UBQUO

FORTALEZA 2010

CARLOS ALBERTO BATISTA DE QUEIROZ FILHO

UM ESTUDO DE CASO SOBRE O USO DE QR CODE NA CONSTRUO DE UM SISTEMA UBQUO

Monografia submetida Coordenao do Curso de Ps-Graduao em Tecnologias da Informao, da

Universidade Federal do Cear, como requisito parcial para obteno do grau de Especialista em Tecnologias da Informao. rea de Concentrao:

Desenvolvimento de Sistemas Web Orientador: Prof. Dr. Windson Viana de Carvalho

CARLOS ALBERTO BATISTA DE QUEIROZ FILHO

UM ESTUDO DE CASO SOBRE O USO DE QR CODE NA CONSTRUO DE UM SISTEMA UBQUO

Monografia submetida Coordenao do Curso de Ps-Graduao em Tecnologias da Informao, da Universidade Federal do Cear, como requisito parcial para obteno do grau de Especialista em Tecnologias da Informao rea de concentrao Desenvolvimento de Sistemas Web.

Aprovada em ____/ ____/______

BANCA EXAMINADORA

_________________________________________________________ Prof. Windson Viana de Carvalho, Dr. (Orientador) Universidade Federal do Cear UFC

_________________________________________________________ Prof. Jos Maria da Silva Monteiro Filho, Dr. Universidade Federal do Cear UFC

_________________________________________________________ Prof. Rossana Maria de Castro Andrade, Dra. Universidade Federal do Cear UFC

Aos meus pais Carlos e Maria Olidenora, s minhas irms Ana Paula, Debora e Larissa, e minha amada companheira Juliana.

AGRADECIMENTOS

Agradeo minha me, mulher de amor e fora, que tanto me educou e demonstrou como vencer dificuldades. Ao meu pai, por suas histrias e preocupaes, pois sem elas no seria o homem que me tornei. s minhas lindas irms Ana Paula, Debora e Larissa pelo carinho e pacincia. Agradeo a minha amada Juliana por ser sempre companheira e incentivadora. Por acreditar que o mundo pode ser melhor e mostrar-me que todo trabalho deve ser feito em prol disso. Agradeo tambm famlia Nogueira/Avelar por todo o carinho e torcida. A todos os meus amigos do Rait pelas alegrias vividas nestes ltimos seis anos. Aos meus amigos/irmos do colgio Nossa Senhora das Graas, por seu amor e alegria que ajudaram nessa caminhada. Aos novos e bons amigos do Grupo de Redes de Computadores, Engenharia de Software e Sistemas GREat que tanto deram fora para realizao desta pesquisa. Ao Lincoln Rocha que indicou diversas leituras importantes da rea e aos amigos do projeto LG, Alberto e Bruno Sabia, pela motivao. Aos professores do curso de Especializao em Tecnologias da Informao, que ajudaram na formao de profissionais capazes de vencer no mercado de trabalho. Foram muito mais do que educadores. Em especial ao professor Jos Maria por toda sua dedicao e ateno ao curso e seus alunos, o jeito amigo de se conduzir ao aprendizado. Ao GREat, em especial a professora Rossana Andrade, pelo incentivo formao acadmica, pelas vrias oportunidades de crescimento profissional e pelo auxlio financeiro nos custos desse curso. Por proporcionar um ambiente agradvel, produtivo e com todo aparato necessrio para o desenvolvimento desta pesquisa e de muitas outras que viro. Ao meu orientador professor Windson Viana, que muito ajudou desde a concepo da ideia desta pesquisa. Acompanhou de forma exemplar todo o desenvolvimento deste trabalho. Alm disso, demonstrou inumerveis qualidades que um bom professor/pesquisador precisa ter. Foi no s orientador, mas sim um bom amigo.

A Universidade Federal do Cear, pelo espao de aprendizagem e suporte ao curso de especializao. A todos que no nomeei, no por esquecimento ou desateno, mas porque sabem que a minha gratido ser eterna.

RESUMO

A utilizao de cdigo de barras j fortemente explorada no mundo todo, para os mais diversos fins. Esses cdigos esto presentes no cotidiano das pessoas de tal forma que j quase no se percebe a sua existncia. O termo ubquo expressa essa ideia de algo que est em toda parte e em todos os momentos. Esse termo define hoje tambm um novo domnio de pesquisa, a Computao Ubqua, no qual, dispositivos esto imersos no ambiente tornando o acesso a informao ubquo. Neste trabalho, so apresentados os principais conceitos relacionados Computao Ubqua e feita uma anlise da aderncia do uso dos cdigos de barras nestes tipos de aplicaes. Alm disso, so apresentados os principais tipos de cdigo de barras existentes e uma comparao realizada para determinar qual o tipo que mais se adqua para o uso em aplicaes ubquas. Ao final, proposto um estudo de caso: a aplicao mvel DFind. Esta uma aplicao mvel e sensvel ao contexto para Android que faz uso de smbolos QR Code para fornecer informaes relacionadas localizao.

PALAVRAS-CHAVE: Cdigo de barras, QR code, Ubiquidade, Dispositivos mveis.

ABSTRACT

The use of barcode is already heavily exploited worldwide for several purposes. These codes are present in our daily life in a way that we almost do not realize its existence. The term "ubiquitous" expresses this idea of something that is everywhere and every time. This term also defines a new research domain, Ubiquitous Computing, in which devices are immersed in the environment providing ubiquitous access to information. In this work, we present the main concepts related to this research domain and we propose an analysis of the use of barcodes on these types of applications. Also, it is presented the main barcode technologies and a comparison is performed in order to determine which type fits most for the use in the development of ubiquitous applications. At the end, it is proposed a case study: the DFind mobile application. This Android software is a mobile and context-aware application which makes use of QR Code in order to provide location-based information.

KEYWORDS: Bar code, QR code, Ubiquity, Mobile devices.

LISTA DE FIGURAS

Figura 1 Representao dos cdigos criada por Silver e Woodland. ...................................... 5 Figura 2 Princpio de funcionamento da viso. ....................................................................... 6 Figura 3 Funcionamento dos leitores de cdigos de barras a laser. ........................................ 7 Figura 4 - Exemplo de cdigo UPC-A ....................................................................................... 8 Figura 5 - Exemplo de cdigo UPC-E. ....................................................................................... 9 Figura 6 - Exemplo de cdigo EAN-13 .................................................................................... 10 Figura 7 - Exemplo de Cdigo EAN Bookland e ISBN ........................................................... 10 Figura 8 - Exemplo de cdigo de barras 2 de 5 intercalados. ................................................... 11 Figura 9 - Tabela de caracteres no cdigo 39 ........................................................................... 12 Figura 10 - Exemplo de cdigo 39 ........................................................................................... 13 Figura 11 - Exemplo de Cdigo 128 em um DANFE. ............................................................. 14 Figura 12 - Exemplo de cdigo de barras magntico CMC7. .................................................. 14 Figura 13 - Exemplo de utilizao do cdigo PDF-417 em documentos oficiais americanos. 15 Figura 14 - Exemplo de Data Matrix com destaque aos elementos estruturais. ....................... 17 Figura 15 - Elementos estruturais de um smbolo QR code. .................................................... 18 Figura 16 Fluxograma de um algoritmo de leitura de um QR code. ..................................... 20 Figura 17 - Exemplo de uso do VCode .................................................................................... 24 Figura 18 - Cenrio sensvel ao contexto para a HELLO......................................................... 26 Figura 19 Modelo de Tickets Eletrnicos baseados em QR codes. ....................................... 27 Figura 20 - Exemplo de uso do cdigo Datamatrix em placas de circuitos eletrnicos ........... 28 Figura 21 - Viso geral de funcionamento do sistema proposto. ............................................. 29 Figura 22 - Exemplo de aplicao que faz a comparao de preos de um produto. ............... 30 Figura 23 - Proposta de QR code contextuais .......................................................................... 31

Figura 24 - Exemplo de uma aplicao que faz uso da biblioteca Open Source QR Code Library .............................................................................................................................. 34 Figura 25 - Exemplos de uso da biblioteca em .NET Windows e Windows Mobile. .............. 35 Figura 26 - Exemplo de QR Code com a palavra teste gerado atravs de requisio HTTP. .......................................................................................................................................... 36 Figura 27 - Arquitetura do sistema operacional Android (GOOGLE INC., 2010). ................. 40 Figura 28 - Diagrama de casos de uso da aplicao proposta. ................................................. 42 Figura 29 - Fluxo bsico da aplicao DFind. .......................................................................... 44 Figura 30 - Diagrama de Classes com as principais classes do componente de leitura. .......... 45 Figura 31 - Diagrama de Classes com as principais classes da aplicao DFind. .................... 45 Figura 32 - Diagrama de Sequncias para um dos fluxos principais da aplicao. .................. 46 Figura 33 Sequencia de telas do DFind capturadas durante o processo de localizao indoor .......................................................................................................................................... 47 Figura 34 - Sequencia de telas do DFind capturadas durante o processo de localizao outdoor .......................................................................................................................................... 48

LISTA DE TABELAS

Tabela 1 - Comparativo entre os cdigos de barras apresentados no captulo 1. ..................... 21

SUMRIO

CAPTULO 1 CAPTULO 2 2.1

INTRODUO .............................................................................................................1 TECNOLOGIAS DE CDIGOS DE BARRAS ............................................................4

CDIGOS DE BARRAS ..................................................................................................... 4

2.2 CDIGOS DE BARRAS UNIDIMENSIONAIS ....................................................................... 7 2.2.1. Universal Product Code UPC-A ............................................................................... 7 2.2.2. 2.2.3. 2.2.4. 2.2.5. 2.2.6. 2.2.7. Universal Product Code UPC-E ............................................................................... 9 International Article Number EAN-13 ...................................................................... 9 Cdigo de barras 2 de 5 intercalados ...................................................................... 11 Cdigo de barras 39 .............................................................................................. 11 Cdigo de barras 128 ............................................................................................. 13 Cdigo CMC7 ......................................................................................................... 14

2.3 CDIGOS DE BARRAS BIDIMENSIONAIS ........................................................................ 14 2.3.1. Cdigo PDF-417..................................................................................................... 15 2.3.2. 2.3.3. Cdigo Data Matrix ................................................................................................ 16 Cdigo QR Code ................................................................................................. 17

2.4 UTILIZAO DE CDIGOS 2D EM DISPOSITIVOS MVEIS .............................................. 18 2.4.1. Introduo ............................................................................................................ 18 2.4.2. 2.5 3.1 3.2 Algoritmo de Leitura .............................................................................................. 19

CONCLUSO ................................................................................................................. 21 UBIQUIDADE DOS CDIGOS E SUAS APLICAES .......................................... 22 UBIQUIDADE E CDIGOS DE BARRAS 2D ...................................................................... 22 NOVAS APLICAES PARA OS CDIGOS DE BARRAS ..................................................... 24 Aplicaes Cross-media .......................................................................................... 24 Aplicaes de Mobile Learning ................................................................................ 25 Aplicaes de Segurana ........................................................................................ 26 Aplicaes Industriais............................................................................................. 27 Aplicaes de Acessibilidade ................................................................................... 28 Aplicaes Comerciais e de Marketing ..................................................................... 29 QR Codes Sensveis ao Contexto ............................................................................. 30

CAPTULO 3 -

3.2.1. 3.2.2.
3.2.3. 3.2.4. 3.2.5.

3.2.6. 3.2.7.
3.3

CONCLUSO ................................................................................................................. 31

CAPTULO 4 - FERRAMENTAS PARA O DESENVOLVIMENTO DE APLICAES MVEIS QUE USAM QR CODES ................................................................................................................................ 33 4.1 INTRODUO ............................................................................................................... 33

4.2
4.3 4.4 4.5

OPEN SOURCE QR CODE LIBRARY ................................................................................. 34


GOOGLE CHART API ..................................................................................................... 35 BIBLIOTECA LIBQRENCONDE ........................................................................................ 36 PEAR IMAGE_QRCODE .................................................................................................. 36

4.6 4.7

BIBLIOTECA ZXING ....................................................................................................... 37 CONCLUSO ................................................................................................................. 38

CAPTULO 5 - DFIND: UM SISTEMA UBQUO PARA LOCALIZAO INDOOR E OUTDOOR BASEADO EM QR CODES .................................................................................................................. 39 5.1 A PLATAFORMA ANDROID ............................................................................................. 39 5.2 ESTUDO DE CASO ......................................................................................................... 41 5.2.1. Avant-Propos......................................................................................................... 41 5.2.2. 5.3 Aplicao mvel desenvolvida (DFind) ..................................................................... 42

CONCLUSO ................................................................................................................. 49

CONCLUSO ....................................................................................................................................... 50 REFERNCIAS BIBLIOGRFICAS..................................................................................................... 52

CAPTULO 1 -

INTRODUO

No comeo da dcada de 1950, as tecnologias de cdigos de barras comearam a evoluir e apontaram avanos em vrios ramos de mercado. Naquela poca, os processos de controle de mercadorias envolviam muitas operaes estritamente manuais. Nos supermercados em geral a venda de produtos exigia que os caixas digitassem nos seus terminais de venda os valores cobrados a cada produto adicionado no carrinho do cliente. Esse processo envolvia ainda outras atividades essenciais como, por exemplo, a marcao dos preos nos produtos atravs de etiquetas adesivas. Detectou-se diversos pontos de falha nesse tipo de processo. Isso motivou o desenvolvimento de tecnologias para auxiliar na automatizao de algumas atividades. A tecnologia de cdigos de barras foi uma destas solues propostas para resolver os problemas relacionados venda em varejo. Essa tecnologia permitiu a automatizao de processos, uma maior preciso na identificao de produtos, a reduo de custos e uma maior agilidade nos processos. Atualmente, por conta das vantagens na utilizao dos cdigos de barra, pode se encontrar esses cdigos nos mais variados produtos. A tecnologia que fora desenvolvida para resolver os problemas das vendas em varejo conseguiu, de fato, trazer solues aos vrios pontos de falhas que existiam antes da utilizao desses cdigos. Alm disso, essa tecnologia usada hoje no s em supermercados, mas tambm nas indstrias facilitando o controle de sua produo, na emisso de boletos de pagamentos bancrios, no controle de cargas nas empresas de transportes, em sistemas de controle de acesso, etc. Entretanto, a utilizao dos cdigos de barras ainda induz inconvenientes. A leitura desses cdigos requer a utilizao de equipamentos desenvolvidos especificamente para esse fim, o que traz um certo nus para o uso da tecnologia. Alm disso, alguns desses cdigos tm forte limitao quanto ao volume de informao a ser codificada. Problemas de leitura podem ocorrer, pois, tradicionalmente, esses cdigos no oferecem mecanismos de correo de erro.

Alm dos problemas j mencionados, o uso de cdigos de barras para identificao de produtos a serem comercializados pode exigir regulamentao junto a alguma empresa que gerencie o uso desses cdigos, garantindo o seu funcionamento em uma regio. Cdigos de Barras em duas dimenses (2D) foram criados para tentar enfrentar algumas das dificuldades dos cdigos de barras tradicionais, cdigos ditos de uma dimenso (1D). O princpio de funcionamento desses cdigos semelhante aos dos cdigos de barras tradicionais, sendo que os cdigos 2D codificam as informaes em barras sobrepostas verticalmente. As melhorias adicionadas aos cdigos de barras 2D permitiram o aumento da capacidade de armazenamento, j que no se teriam mais apenas barras horizontais, mas sim informaes codificadas na horizontal e vertical. Mecanismos de correo de erro foram adicionados aos cdigos. Alm disso, para alguns desses novos cdigos 2D, no se faz mais necessrio a utilizao de dispositivos especficos para leitura dos cdigos e no h mais a necessidade de interveno de uma organizao reguladora. O paradigma da computao ubqua idealizado por Mark Weiser pode ser entendido como uma computao distribuda realizada por dispositivos que atuam de forma discreta nos ambientes em que esto inseridos, fornecendo informaes a qualquer momento e em todo lugar. Apesar do conceito de computao ubqua ter sido apresentado de forma simples a construo e implantao de aplicaes ubquas geralmente envolvida por vrios desafios. Um dos requisitos desafiadores para esse tipo de aplicao o sensoriamento e obteno dos dados a serem processados. Esse requisito bastante comum em aplicaes desse domnio e envolve custos que podem inviabilizar o seu desenvolvimento e utilizao. Em geral nas aplicaes ubquas as funes de sensoriamento so realizadas atravs do uso de sensores sem fio, tags de rdio frequncia (RFID) ou mesmo atravs de outros sistemas de coletas de dados, que so tecnologias ainda muito caras. Os cdigos 2D vm sendo utilizados cada vez mais e tm permitido a criao de novas formas de utilizao que antes no eram possveis. Dentre os cdigos de barras, o QR Code o que mais se destaca. Esse cdigo possui vrias vantagens em relao aos demais cdigos existentes, sendo o que comporta maior quantidade de dados, permite correo de erros em vrios nveis, pode ser impresso a um baixo custo, possui flexibilidade quanto ao tamanho de impresso e um baixssimo tempo de decodificao.

Analisadas as caractersticas vantajosas dos QR codes, pode-se propor o seu uso no desenvolvimento de aplicaes ubquas. Esses cdigos podem ser implantados a um baixo custo em relao s solues comumente usadas, por exemplo, nas funes de sensoriamento e descoberta de informaes. O objetivo geral deste trabalho documentar um estudo sobre as tecnologias de cdigos barras e suas aplicaes, buscando delinear novas formas de utilizao desses cdigos. Alm disso, permitir aos leitores uma compreenso slida do assunto. Como objetivos especficos esperam-se: explorar e documentar as principais tecnologias de cdigos de barras existentes, fazer um levantamento sobre o estado da arte, analisar a caracterstica de ubiquidade identificada nas tecnologias de cdigos de barras 2D e realizar o desenvolvimento de uma aplicao mvel que faa uso de uma das principais tecnologias de codificao em 2D. No Captulo 1, so explorados os diversos tipos de cdigos de barras existentes e detalhadas as caractersticas especficas de cada um deles. tambm estudada a utilizao de cdigos 2D por dispositivos mveis. No Captulo 2, discutido o carter pervasivo dos cdigos de barras em relao aos conceitos de ubiquidade. Novas propostas de utilizao dos cdigos 2D em cenrios ubquos so expostas. No Captulo 3, so apresentadas as principais tecnologias envolvidas no desenvolvimento de aplicaes que utilizam cdigos de barras 2D para plataformas desktop, Web e dispositivos mveis. No Captulo 4, apresentado um experimento de desenvolvimento de uma aplicao mvel que utiliza cdigos 2D para localizao, em especial a localizao indoor suprindo as debilidades dos GPS nesses cenrios. Por fim, sero apresentadas as concluses e delineados os trabalhos a serem desenvolvidos no futuro.

CAPTULO 2 -

TECNOLOGIAS DE CDIGOS DE BARRAS

Diversos tipos de cdigos de barras foram desenvolvidos desde a criao desta tecnologia. Neste captulo, apresenta-se o contexto histrico da criao desta tecnologia e os principais tipos de cdigos existentes delineando-se as caractersticas especficas de cada um deles. Ao final, um estudo da utilizao dos cdigos 2D em dispositivos mveis descrito. 2.1 Cdigos de Barras Em 1948, Bernard Silver e Norman Joseph Woodland, motivados pela solicitao do presidente de uma organizao norte-americana da rede alimentcia em desenvolver um sistema que permitisse ler as informaes de um produto no momento da compra, criaram a primeira soluo utilizando tintas ultravioletas. No entanto, essa soluo no se demonstrou eficaz, pois a tinta usada desvanecia e tinha custo elevado1. Esses dois estudantes, na poca, inspirados pelo cdigo Morse, imaginaram que poderiam representar as informaes dos produtos na forma de barras estreitas e barras largas. Isso levou a criao de uma patente (WOODLAND e SILVER, 1952), que documentava a forma de codificao das informaes dos produtos em barras horizontais ou na forma circular, tal qual ilustrado na Figura 1. Essa patente levaria, mais tarde, ao desenvolvimento e popularizao dos cdigos de barras.

Barcode. Wikipedia. Disponivel em: <http://en.wikipedia.org/wiki/Barcode>. Acesso em: 07 out. 2010.

Figura 1 Representao dos cdigos criada por Silver e Woodland. Adaptado de (WOODLAND e SILVER, 1952).

Historicamente, outras iniciativas semelhantes foram observadas, com exemplo se pode mencionar o trabalho de David Collins em tentar criar uma soluo para identificao automtica dos vages na via frrea da Pensilvnia2. Nos Estados Unidos em 1969, empresas de distribuio de alimentos formaram uma associao, mais tarde conhecido como Uniform Code Council (UCC) ou GS1 USTM, e decidiram procurar estabelecer um padro de cdigos interindustriais (Interindustry Product Code). Aps quatro anos de pesquisa e discusses entre os associados, criou-se o cdigo UPC Universal Product Code. Em 1974, entraria para a histria a primeira compra utilizando o UPC (UNIFORM CODE COUNCIL - GS1 US). Segundo estimativas da GS1 USTM, em todo planeta so lidos diariamente pelo menos 5 bilhes de cdigos de barras (UNIFORM CODE COUNCIL - GS1 US). Para tornar possvel a utilizao dos cdigos de barras, precisava-se de um dispositivo que pudesse capturar as informaes dos cdigos, decodific-las e transmiti-las para outro dispositivo (e.g. um computador). O princpio de funcionamento dos leitores de cdigos de barras, dispositivos que realizam as tarefas necessrias j mencionadas, se assemelha a forma como conseguimos enxergar os objetos. O processo de leitura das barras utiliza-se tambm das propriedades de reflexo e refrao da luz. A Figura 2 ilustra o princpio de funcionamento da viso humana, onde os raios de luz refletidos nos objetos chegam at os olhos e permitem a formao da imagem no crebro.

Barcode. Wikipedia. Disponvel em: <http://en.wikipedia.org/wiki/Barcode>. Acesso em: 07 out. 2010.

Figura 2 Princpio de funcionamento da viso (Fonte: http://12dimensao.wordpress.com/tag/cienciae-tecnologia/, acessado em 14/10/2010).

Nos leitores de cdigos de barras tradicionais, um laser3 usado para emisso de um feixe luz que ser direcionado a um cdigo de barras impresso. As propriedades de reflexo e refrao da luz garantem que os raios incidentes nas barras pretas e brancas do cdigo impresso tenham comportamento diferente e possam ser capturados por um diodo sensvel a luz. As oscilaes capturadas pelo fotodiodo so utilizadas para gerar uma representao digital do cdigo lido. Curiosamente, o feixe emitido pelo laser tem ,a olho nu, a forma de uma linha. No entanto, isso no verdade. Os raios so emitidos sequencialmente com um pequeno deslocamento horizontal a uma velocidade muito alta, formando uma iluso ptica de uma linha (BARBOSA NETO e CAMPOS, 2008). A Figura 3 ilustra o processo descrito.

Laser acrnimo para Light Amplification by Stimulated Emission of Radiation, uma tecnologia que permite a

emisso de feixes de luz concentrados a partir de diodos.

Figura 3 Funcionamento dos leitores de cdigos de barras a laser (BARBOSA NETO e CAMPOS, 2008).

Alm da leitura utilizando-se laser, criaram-se outras tcnicas para captura e decodificao de cdigos em imagens e vdeos (LIU, DOERMANN e LI, 2008) (LIU, YANG e LIU, 2008). Essas novas tcnicas permitiram o surgimento de diversos tipos de aplicaes, a serem descritas nos captulos seguintes deste trabalho. 2.2 Cdigos de barras unidimensionais Nesta subseo, so apresentados alguns dos cdigos de barras 1D mais utilizados no mundo. So detalhadas suas principais caractersticas, vantagens e desvantagens.
2.2.1. Universal Product Code UPC-A

Este cdigo usado em aplicaes de varejo nos Estados Unidos e Canad. A utilizao desse cdigo regulada pela empresa GS1 US4. O registro de uma empresa que precise de at 100 cdigos de barras, faixa de nmeros nicos, custa pelo menos 760 dlares/ano5. A GS1 possu filiais representantes em diversos pases, inclusive no Brasil, e os custos de registro podem variar. Outra opo para obter um cdigo UPC-A nico atravs de empresas j registradas na GS1 US que revendem o servio, alternativa mais barata para um nmero pequeno de cdigos.

4 5

Informaes sobre a organizao podem ser encontradas no website: http://www.gs1us.org/ . Informaes obtidas atravs do endereo eletrnico:

http://www.gs1us.org/barcodes_and_ecom/solutions/barcode_%28u.p.c.%29 .

Percebe-se que o controle sobre o uso do UPC-A trs vantagens e desvantagens. As desvantagens so claras: existe a limitao de cdigos e o seu custo financeiro. Entretanto, essa regulao do uso foi o que permitiu a esse cdigo a larga utilizao no varejo, j que o conflito de se ter dois produtos diferentes com o mesmo cdigo garantidamente evitado. O UPC-A permite a codificao de at 12 dgitos decimais, sendo cada um deles representados por sete bits. Alm disso, em cada cdigo existem marcaes de incio, meio e fim, onde as duas primeiras seguem o padro de bit 101 e a ltima 01010. Portanto, cada cdigo possu 95 bits. A ordem dos nmeros codificados tambm segue uma regra semntica, onde o primeiro dgito identifica a categoria do produto, os cinco dgitos seguintes identificam o fabricante do produto seguidos de mais cinco dgitos para identificao do produto. O ltimo dgito reservado para guardar informao de verificao do cdigo6. A Figura 4 mostra um exemplo de cdigo de barra UPC-A, ilustrando a codificao em sete bits de cada dgito e destacando as barras de guarda de incio, meio e fim do cdigo.

Figura 4 - Exemplo de cdigo UPC-A. (Fonte: http://en.wikipedia.org/wiki/Universal_Product_Code , acessado em 14/10/2010)

Outra caracterstica importante deste cdigo a sua limitao de tamanho, pois ele, nominalmente, tem uma polegada de largura, podendo ser reduzida em at 80% ou aumentada em 200% sem prejuzo para leitura6.

Universal Product Code. Wikipedia. Disponivel em: <http://en.wikipedia.org/wiki/Universal_Product_Code>.

Acesso em: 14 out. 2010.

Alm das caractersticas j mencionadas sobre esse cdigo, importante adicionar que ele est especificado na norma ISO/IEC 15420. Essa norma especifica os cdigos UPC e EAN, este segundo detalhado no subtpico seguinte.
2.2.2. Universal Product Code UPC-E

O UPC-E uma das variantes do UPC. Essa variante tem como principais caractersticas o nmero reduzido de dgitos, contendo apenas oito dgitos, e tamanho de impresso menor do que a forma tradicional do UPC-A(MEASUREMENT EQUIPMENT CORPORATION). Essa variante do UPC-A utiliza-se de tcnicas de supresso de zeros para diminuir o nmero de dgitos necessrios para identificar algum artefato. Esses cdigos so utilizados para identificao de itens pequenos, j que possvel ter-se cdigos menores (ver Figura 5).

Figura 5 - Exemplo de cdigo UPC-E (MEASUREMENT EQUIPMENT CORPORATION).

2.2.3. International Article Number EAN-13

O cdigo EAN-13, verso europeia do UPC, recebeu essa sigla por ser acrnimo de European Article Number. Apesar do nome do cdigo ter sido alterado para International Article Number, manteve-se a sigla7. Esse cdigo tambm usado mundialmente, principalmente, na identificao de produtos de vendas no varejo. A principal diferena entre o EAN-13 e o UPC-A o nmero de dgitos em cada cdigo impresso. O EAN possui 13 dgitos enquanto o UPC, como j mencionado anteriormente, possui apenas 12. Os dgitos codificados em um cdigo EAN-13 seguem uma estrutura padro, dividida em quatro grupos. Os trs primeiros dgitos identificam o pas de origem do produto, os quatro dgitos seguintes identifica a organizao filiada a GS1, os cinco dgitos seguintes

European

Article

Number.

Wikipedia.

Disponivel

em:

<http://en.wikipedia.org/wiki/European_Article_Number>. Acesso em: 15 out. 2010.

10

identificam o produto e o ltimo dgito reservado para ter funo de dgito de verificao8. A Figura 6 ilustra um exemplo de cdigo EAN-13, destacando a funo de cada grupo de dgitos codificados (o cdigo 789 identifica o Brasil).

Figura 6 - Exemplo de cdigo EAN-13. (Fonte: http://www.devmedia.com.br/articles/viewcomp.asp?comp=13396 , acessado em 15/10/2010)

Assim como o UPC, o cdigo EAN possui algumas variantes. Uma delas o EAN-8 que tem propsito semelhante ao UPC-E, ser utilizado em objetos que tem espao muito limitado para identificao. Outra variante desse cdigo o EAN Bookland que tem uma caracterstica de uso especial, codificam o ISBN9 de publicaes (ver exemplo na Figura 7).

Figura 7 - Exemplo de Cdigo EAN Bookland e ISBN. (Fonte:http://github.com/papercavalier/bookland , acessado em 15/10/2010 )

8 9

EAN-13. Wikipedia. Disponivel em: <http://pt.wikipedia.org/wiki/EAN-13>. Acesso em: 15 out. 2010. Nmero Padro Internacional de Livro (Fonte:

http://pt.wikipedia.org/wiki/International_Standard_Book_Number , acessado em 15/10/2010).

11

2.2.4. Cdigo de barras 2 de 5 intercalados

O cdigo de barras 2 de 5 intercalados tambm conhecido como cdigo 25. Esse cdigo consiste em duas barras espessas em cinco barras utilizadas para cada dgito codificado e os espaos que intercalam as barras tambm possuem significado (FEBRABAN, 2010). A norma ISO/IEC 16390:2007 especifica os requisitos dessa codificao, como dimenses, algoritmos, codificao de dados, e outros parmetros. Essa codificao bastante utilizada em aplicaes financeiras, como em boletos bancrios, ficha de compensao, contas de gua, luz e telefone. A Figura 8 ilustra um exemplo. Esse cdigo possui algumas caractersticas que devem ser destacadas, listadas a seguir: Tamanho varivel de cdigo, no possui um limite especificado para tamanho mximo de dgitos a ser codificado; No utiliza dgito verificador; Requer um nmero par de dgitos a serem codificados, caso contrrio deve ser adicionado um zero a esquerda para garantir esse requisito.

Figura 8 - Exemplo de cdigo de barras 2 de 5 intercalados (FEBRABAN, 2010).

2.2.5. Cdigo de barras 39

O grande diferencial deste cdigo em relao aos outros tipos de cdigos de barras a possibilidade de codificao de caracteres alfanumricos (letras, nmeros e caracteres especiais). Esse cdigo tambm conhecido como cdigo 3 de 9, pois utiliza uma sequncia de nove elementos, barras ou espaos, dos quais trs sero largos e seis estreitos(QUADROS, 2008). A Figura 9 mostra a codificao correspondente a cada um dos caracteres codificveis nesse cdigo, onde E representa um elemento estreito e o L um elemento largo.

12

Figura 9 - Tabela de caracteres no cdigo 39.(QUADROS, 2008)

Alm das caractersticas mencionadas, o cdigo 39 permite codificar todos os caracteres ASCII com uma estratgia de utilizao de dois caracteres. O caracter * utilizado para sinalizar o inicio e fim do cdigo de barras, conforme ilustrado na Figura 10. Ele indica o sentido da leitura do cdigo (FANG, XIANYONG, et al., 2006). O principal problema desse cdigo a sua baixa densidade, pois os cdigos de barras gerados com esse cdigo so relativamente maiores do que os gerados com outras codificaes semelhantes, como o cdigo 128 que ser apresentado a seguir.

13

Figura 10 - Exemplo de cdigo 39 (Fonte: http://edgarddavidson.com/?p=427 , acessado em 18/10/2010).

A especificao desse cdigo est documentada na norma ISO/IEC 16388:2007 (INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO). Atualmente muito utilizada na impresso de crachs de identificao e em etiquetas de controle interno, sistemas de controle de estoques.
2.2.6. Cdigo de barras 128

Este tipo de cdigo de barras largamente utilizado em diversos tipos de aplicaes, pois um cdigo, tambm, alfanumrico e que possu maior densidade do que os demais cdigos j apresentados. Este tipo de cdigo ganhou muita importncia no Brasil por estar sendo utilizado nos Documentos Auxiliares das Notas Fiscais Eletrnicas10 (DANFE). A Figura 11 exemplifica a utilizao do cdigo 128 nesse tipo de documento. A norma ISO/IEC 15417:2007 documenta as especificaes de codificao de dados, dimenses, algoritmos e outros requisitos importantes desse tipo de cdigo

(INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO).

10

http://www.nfe.fazenda.gov.br/portal/assuntoagrupado4.aspx

14

Figura 11 - Exemplo de Cdigo 128 em um DANFE (Fonte: http://provapraticavb.blogspot.com/2009/05/manual-30-codigo-de-barras-para.html ,Acessado em 18/10/2010).

2.2.7. Cdigo CMC7

O cdigo CMC7 um padro de cdigo de barras que possu a necessidade particular de ser impresso com uma tinta magntica. utilizado principalmente para permitir a automatizao na leitura de cheques, a Figura 12 ilustra esse caso de uso (ASSOCIAO COMERCIAL DE PEDREIRA - ACEP).

Figura 12 - Exemplo de cdigo de barras magntico CMC7 (Fonte: http://www.gbnet.com.br/v2/images/fontemicr_cheque_big.png , acessado em 18/10/2010).

2.3 Cdigos de barras bidimensionais Os cdigos de barras em uma dimenso possuem, de forma geral, baixa densidade de dados codificados, j que no utilizam o espao vertical para codificao das informaes. Comumente, os dados alfanumricos codificados em um cdigo 1D servem como chave em

15

um banco de dados, dessa forma uma maior quantidade de informaes pode ser obtida sobre um produto atravs de um sistema acoplado. Os cdigos de barras em duas dimenses 2D surgiram como uma alternativa para tentar superar a deficincia dos cdigos 1D em relao a densidade de dados. A capacidade crescente de informaes que podem ser codificadas em um cdigo 2D permitiu que um novo paradigma de utilizao desses cdigos surgisse. As informaes relevantes de um produto, por exemplo, podem acompanh-lo atravs de um smbolo 2D, sem a necessidade de uma consulta a um banco de dados adjacente. A construo de cdigos 2D feita em geral atravs de duas abordagens, empilhamento (stacked) ou matriz (matrix-type). Na primeira abordagem o cdigo gerado formado por linhas de cdigos empilhadas, na qual em cada linha existe um cdigo 1D. J na segunda abordagem os cdigos gerados tem a forma de uma matriz, na qual cada clula tem uma representao binria (HEE IL e JOUNG KOO, 2002). A seguir, apresenta-se trs tipos importantes de cdigos de barras 2D.
2.3.1. Cdigo PDF-417

O cdigo PDF-417 um tipo de cdigo 2D de empilhamento. Cada smbolo PDF-417 possui no mnimo 3 linhas de cdigos 1D sobrepostas e no mximo 90. Possui alta densidade de dados, podendo codificar mais de 1100 bytes, 1800 caracteres ASCII ou 2700 dgitos numricos dependendo do tipo de dados selecionado para compactao (HEE IL e JOUNG KOO, 2002).

Figura 13 - Exemplo de utilizao do cdigo PDF-417 em documentos oficiais americanos (Fonte: http://www.pdf417.com/ , Acessado em 19/10/2010).

16

Alm das caractersticas j mencionadas, a codificao PDF-417 permite a correo de erros nos smbolos. Todos os detalhes desse padro de codificao podem ser encontrados na norma ISO/IEC 15438:2006 (INTERNATIONAL ORGANIZATION FOR

STANDARDIZATION - ISO).
2.3.2. Cdigo Data Matrix

O cdigo de barras 2D Data Matrix um tipo de cdigo que utiliza uma abordagem em matriz para construo dos smbolos. um dos mais conhecidos cdigos de barras 2D e largamente utilizado nas industrias automotiva, aeroespacial e de computadores (IEEE, 2005). um cdigo que possu alta densidade de dados e pode ser impresso em reas muito pequenas. Esse cdigo foi criado no final da dcada de 1980 nos Estados Unidos pela RVSI Acuity CiMatrix Inc.11(Empresa atualmente pertencente a Siemens AG). Essa forma de representao foi reconhecida pela ISO e documentada na norma ISO/IEC 16022:2006. Esse cdigo j foi aberto ao domnio pblico e a sua utilizao livre de royalties ou taxas de licenciamento. As principais caractersticas desse cdigo so [104]: Alta capacidade de dados, podendo armazenar em um nico smbolo at 3116 dgitos numricos, 2334 caracteres alfanumricos e 1556 caracteres ASCII de 1 byte; Flexibilidade de codificao, pois permite codificar dados puramente numricos, caracteres alfanumricos ou ainda caracteres ASCII; Adaptvel, no sentido de poder ser impresso em diversas formas (adaptadas ao tipo de produto que est identificando), j que requer apenas 20% de contraste para uma leitura precisa; Independente de orientao, o leitor pode ser rotacionado sem problemas para leitura; Identificao automtica de multi-smbolos, permite reconhecimento e decodificao de vrios smbolos em uma mesma imagem capturada. Cada smbolo Data Matrix composto por alguns elementos estruturais essenciais para a leitura correta dos smbolos, conforme ilustrado na Figura 14.

11

http://www.nema.org/media/ind/20051006c.cfm

17

Figura 14 - Exemplo de Data Matrix com destaque aos elementos estruturais (Adaptado de: https://www.upccode.net/2d_data_matrix.html ,Acessado em 20/10/2010).

2.3.3. Cdigo QR Code

O cdigo QR Code um mtodo de codificao em matriz desenvolvido no Japo pela Denso Corporation em 1994. O nome QR acrnimo para Quick Response, que revela uma das principais caractersticas desse cdigo que a rapidez para leitura e decodificao. Esse cdigo foi reconhecido como padro e documentado na norma ISO/IEC 18004:2006 (INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO). Portanto, o padro de codificao aberto ao domnio pblico, sendo restrito, no entanto, o uso da marca registrada QR Code como propriedade da Denso Wave Incorporated no Japo, Estados Unidos, Austrlia e Europa12. O smbolo QR Code no afetado por nenhuma licena ou registro, somente a expresso QR Code registrada (DENSO WAVE INC.). Esse tipo de cdigo vem sendo largamente utilizado em diversos tipos de aplicaes, como controle industrial, aplicaes de logstica, sistemas de vendas e vrias outras aplicaes inovadoras que sero exploradas no Captulo 2. Um smbolo codificado com esse padro comporta at 7089 dgitos numricos, 4296 caracteres alfanumricos, 2953 bytes ou 1817 caracteres Kanji13 (LIU, YANG e LIU, 2008)(DENSO WAVE INC.). Portanto, esse cdigo o que suporta maior quantidade de informao dentre os j apresentados neste trabalho. Essa caracterstica permite que novos tipos de aplicao explorem essa capacidade de armazenamento de dados.

12 13

QR Code uma marca registrada da DENSO WAVE INCORPORATED. Caracteres de origem chinesa, maiores informaes em http://pt.wikipedia.org/wiki/Kanji ,acessado em

20/10/2010.

18

Esse padro possui tambm mecanismos de deteco e correo de erros em quatro nveis (L, M, Q e H em ordem crescente de capacidade de recuperao). O nvel mais alto permite recuperao de at 30% da informao codificada em um smbolo (LIU, YANG e LIU, 2008) (DENSO WAVE INC.). Uma grande vantagem do QR Code que a leitura dos smbolos capturados realizvel sem perdas em qualquer direo, pois os padres de reconhecimento estabelecidos para esse cdigo permitem aos decodificadores rotacionar a imagem de forma adequada. A Figura 15 ilustra os padres funcionais presentes em cada smbolo QR code.

Figura 15 - Elementos estruturais de um smbolo QR code (Adaptado de: http://www.qrme.co.uk/qrcode-resources/understanding-a-qr-code.html , Acessado em 20/10/2010).

2.4 Utilizao de cdigos 2D em dispositivos mveis


2.4.1. Introduo

O baixo custo, alta capacidade de armazenamento de dados e criao de novos algoritmos para captura e decodificao dos cdigos de barras 2D fomentaram a diversificao da utilizao desses cdigos.

19

Com o desenvolvimento dos cdigos novas formas de leitura foram criadas. possvel agora a leitura de smbolos sem a necessidade de um equipamento a laser desenvolvido especificamente para esse fim. A leitura de cdigos 2D atravs de imagens capturadas por cmeras tornou-se um exemplo real de outra forma de leitura dos cdigos de barras. Por consequncia, os dispositivos mveis, alm da reduo de custos na utilizao de cdigos 2D, aportam a flexibilidade de utilizao e uma variedade de aplicaes em crescente desenvolvimento. A evoluo observada nos dispositivos mveis, como celulares e computadores portteis, permitiu que esses dispositivos fossem dotados de vrias outras tecnologias embarcadas, em especial: cmeras digitais. Hoje no Brasil, tem-se mais de 187 milhes de telefones celulares ativos, segundo Anatel14, e grande parte deles esto aptos a abrigar solues para a leitura de algum tipo de cdigo de barras, devido a presena de cmeras nos dispositivos. Portanto o estudo de solues e novas formas de uso do QR Code com o auxilio de dispositivos mveis torna-se fundamental por apresentar um diferencial de inovao para as aplicaes mveis.
2.4.2. Algoritmo de Leitura

Conhecidas as vantagens oferecidas pelo padro de codificao QR Code, sendo esta a soluo que demonstra estar mais adequada s novas aplicaes mveis, buscou-se entender os algoritmos e tcnicas que permitem a leitura dos smbolos codificados em dispositivos mveis. Entretanto, para melhor compreender o processo de leitura dos smbolos, faz-se importante o conhecimento do processo de codificao dos dados. Segundo Yue Liu e Mingiun Liu, o primeiro passo nesse processo a codificao da entrada de dados de acordo com o modo mais eficiente e o fluxo de bits que se deseja formar. Em seguida, esses fluxos gerados so divididos em palavras (codewords, em ingls). Cada palavra ser dividida novamente em blocos, que contero palavras de correo de erro. Todas as palavras geradas so adicionadas a uma matriz seguindo um padro estabelecido. Por fim, so adicionados os padres funcionais e finalizada a construo do smbolo QR code (LIU e LIU, 2006).

14

http://economia.estadao.com.br/noticias/economia,numero-de-celulares-no-pais-atinge-187-milhoes-em-julho-

diz-anatel,32433,0.htm ,Acessado em 20/10/2010.

20

Yue Liu, Ju Yang e Mingjun Liu prope um algoritmo para leitura dos cdigos QR (LIU, YANG e LIU, 2008). Na proposta dos autores, o algoritmo possui os passos mostrados na Figura 16: converso da imagem capturada em escala de cinza, binarizao (binarization, em ingls), filtragem, orientao (podendo haver ou no uma etapa de rotao da imagem), localizao de padres de alinhamento, gerao da grade de clulas da matriz do cdigo, correo de erros e, finalmente, a decodificao.

Figura 16 Fluxograma de um algoritmo de leitura de um QR code. Adaptado de (LIU, YANG e LIU, 2008).

Na primeira etapa, tem-se a converso da imagem colorida capturada no dispositivo mvel para a escala de cinza. Faz-se isso pois as informaes de cor no so relevantes para leitura dos smbolos. No passo de binarizao, so aplicadas tcnicas de thresholdings15 para tratar os diferentes nveis de iluminao. A filtragem responsvel pela remoo dos rudos da imagem. A etapa de deteco de bordas suprimida para a leitura dos cdigos QR, j que estes contm marcaes para facilitar nessa tarefa. Os passos de orientao e rotao esto muito relacionados, sendo no primeiro realizada a verificao da orientao do cdigo na imagem capturada atravs dos trs ou quatro cantos do smbolo e no segundo a rotao da imagem, caso necessrio. Na etapa seguinte, de localizao de padres de alinhamento, so identificados os padres do cdigo e localizado o centro do smbolo. Aps todos os padres identificados gerada uma grade de leitura sobre o smbolo que permite a leitura adequada. Por fim, so realizadas as etapas de correo de erro e decodificao (esta ltima uma operao inversa a codificao j descrita) (LIU, YANG e LIU, 2008).

15

Palavra do ingls que carrega o significado relacionado a um limite ou limiares.

21

2.5 Concluso Este captulo apresentou os conceitos e principais tcnicas utilizadas nas tecnologias de cdigo de barras. Na Tabela 1 apresentado uma anlise comparativa destas tcnicas. O cdigo 2D do tipo QR Code o que se adqua para o uso em aplicaes mveis e ubquas devido a simples exigncia de uma cmera digital para a leitura e pela densidade de informao que pode ser armazenada em um smbolo desse cdigo.
Tabela 1 - Comparativo entre os cdigos de barras apresentados no captulo 1.

Cdigo
UPC-A

Tipo
Linear (1D)

Numrico16
12 dgitos

Alfanumrico9
N/A

Binrio9
N/A

Kanji9
N/A

Caractersticas Principais
Padro de identificao de

produtos de varejo. UPC-E Linear (1D) 8 dgitos N/A N/A N/A Verso em escala reduzida do UPC-A. EAN-13 Linear (1D) 13 dgitos N/A N/A N/A Padro de identificao de

produtos de varejo. 2 de 5 Linear (1D) No limitado17 N/A N/A N/A No requer dgito verificador,

intercalados

tamanho varivel, baixa densidade de dados.

Cdigo 39

Linear (1D)

No limitado10

No limitado10

N/A

N/A

Permite

codificar

dados

alfanumricos, tamanho varivel, baixa densidade de dados. Codifica dados ASCII com 2 caracteres. Cdigo 128 Linear (1D) No limitado10 No limitado10 N/A N/A Permite codificar dados em ASCII diretamente, melhor densidade de dados em 1D e versatilidade. CMC7 PDF-417 Linear (1D) Empilhado (2D) Data Matrix Matriz (2D) 3116 2355 1556 778 Alta densidade de dados, No limitado10 2710 N/A 1850 N/A 1018 N/A 554 Requer uso de tinta magntica. Alta densidade de dados.

Imprimvel em escalas pequenas. QR Code Matriz (2D) 7089 4296 2953 1817 Alta densidade de dados,

Imprimvel em escalas pequenas e rpida leitura.

16 17

Capacidade de Armazenamento de dados No entanto a limitao fsica de impresso e leitura limita esse cdigo a uma baixa densidade de dados.

22

CAPTULO 3 -

UBIQUIDADE DOS CDIGOS E SUAS APLICAES

Neste captulo, so analisadas as caractersticas gerais dos cdigos de barras em comparao aos conceitos de ubiquidade e pervasividade. Alguns casos de utilizao desses cdigos e de suas aplicaes so apresentados. 3.1 Ubiquidade e Cdigos de Barras 2D A qualidade de algo que est ou pode estar em muitos lugares ao mesmo tempo uma das definies dicionarizadas para a palavra ubiquidade. Essa palavra foi usada por Mark Weiser para definir o conceito de Computao Ubqua. Segundo Weiser as tecnologias mais profundas e duradouras so aquelas que desaparecem, dissipam-se no cotidiano das pessoas at tornarem-se indistinguveis (WEISER, 1991). Segundo (STREITZ e NIXON, 2005) apud (ROCHA, 2007), o computador nesse paradigma da computao pode desaparecer de duas naturezas: fsica e mental. O desaparecimento de natureza fsica tem relao ao tamanho fsico, do mundo real, relacionada miniaturizao dos dispositivos enquanto na natureza mental est relacionado com a forma com que os usurios interagem e percebem esses dispositivos no seu dia-a-dia. A computao ubqua poderia ser entendida, de forma simplificada, como sendo uma computao distribuda que realizada por dispositivos que atuam de forma discreta nos ambientes onde esto localizados, fornecendo informao em qualquer lugar e a todo instante. Percebe-se que os conceitos de ubiquidade apresentados podem ser, de certa forma, aplicados ao uso dos cdigos de barras. Esses cdigos esto presentes nas atividades dirias de muitas pessoas de forma que j so quase imperceptveis. Portanto, seguem o conceito de desaparecimento mental j apresentado. A ligao permitida pelo uso dessa forma de identificao e o mundo virtual, dos computadores, j foi tambm fortemente absorvida pelas pessoas.

23

Alm dos conceitos apresentados sobre computao ubqua, deve se acrescentar que na criao de aplicaes desse domnio a forma com que informaes de contexto so capturadas e tratadas pelos dispositivos muito importante. Informaes de contexto so aquelas que trazem dados sobre o ambiente, usurio ou prprio sistema. A propriedade de sensibilidade ao contexto um requisito fortemente desejvel para aplicaes ubquas, pois possibilita adaptao do sistema para melhor atender aos requisitos esperados (ROCHA, 2007). Contexto, segundo (DEY e ABOWD, 2000) apud (VIANA, MIRON, et al., 2010), qualquer informao que possa ser usada para caracterizar a situao de uma entidade. Uma entidade uma pessoa, lugar ou objeto que considerado relevante para uma interao entre um usurio e uma aplicao, incluindo o usurio e a aplicao em si. Percebe-se que os cdigos de barras podem ser usados como fonte de obteno de informaes de contexto, algumas aplicaes que sero apresentadas no tpico 3.2 comprovaro essa afirmao. O conceito de pervasividade18 tambm est muito relacionado aos conceitos de ubiquidade j apresentados. Esse termo est relacionado caracterstica da computao pervasiva de permear nos ambientes. O propsito primeiro desse paradigma da computao pode ser sintetizado como sendo a oferta de servios para os usurios ou outros sistemas de forma tranquila em um momento oportuno. Alguns estudos publicados analisam as caractersticas de ubiquidade e pervasividade com os cdigos de barras, como em (LIU, DOERMANN e LI, 2008), (KATO e TAN, 2007) e (HUANG, CHANG e SANDNES, 2009). Outra caracterstica importante que deve ser destacada dos cdigos de barras a posssibilidade de utilizao para troca de informaes entre diferentes tipos de mdia. Em (LIU, DOERMANN e LI, 2008) por exemplo, os cdigos 2D so utilizados para envio de contedos multimdia atravs de transmisses de sequencias de cdigos em vdeos a serem capturadas pelos dispositivos mveis. Os cdigos so salvos e decodificados gerando algum contedo multimdia. Apesar das caractersticas j mencionadas de pervasividade, desaparecimento mental, possibilidade de miniaturizao e larga utilizao ainda plausvel de se questionarem sobre a caracterstica de ubiquidade dos cdigos de barras, em especial os 2D (pois em(KATO e TAN, 2007) esse tipo de cdigo estaria mais adequado para aplicaes pervasivas). Isso se deve a concepo de que na computao ubqua os computadores

18

Relacionado ao termo pervasive computing do ingls.

24

estariam espalhados de forma imperceptvel aos usurios realizando tarefas que poderiam ajudar aos seres humanos nas suas atividades corriqueiras. 3.2 Novas aplicaes para os cdigos de barras A criao de diversas aplicaes que exploram as caractersticas e vantagens dos cdigos de barras 2D comprovam certa aderncia dessas tecnologias aos conceitos de ubiquidade e pervasividade apresentados no primeiro tpico deste captulo. Percebe-se que muitas das aplicaes encontradas na literatura extrapolam o propsito inicial dos cdigos de barras (i.e., utilizao somente para identificao de produtos). Essas novas aplicaes demonstram que ainda se pode explorar o uso dos cdigos de barras de diversas formas inovadoras. Portanto, interessante ter conhecimento sobre essas aplicaes, para compreender algumas possibilidades j exploradas e pensar em novas formas de utilizao que tragam contribuies cada vez maiores para o domnio de Sistemas Ubquos.
3.2.1. Aplicaes Cross-media

Liu, Doermann e Li propuseram em (LIU, DOERMANN e LI, 2008) uma estratgia, chamada VCode, para transferncia de dados multimdia atravs do uso de cdigos de barras. Na estratgia proposta, os arquivos multimdia so codificados em vrios smbolos de cdigos 2D, em seguida, so serialmente apresentados aos usurios atravs de algum display plano (TV ou computador). A sequncia de smbolos capturados pelos usurios atravs da cmera dos seus celulares pode ser decodificada, a fim de reconstruir o arquivo multimdia e armazenar no dispositivo mvel. A Figura 17 ilustra o funcionamento da estratgia.

Figura 17 - Exemplo de uso do VCode. (a) Ringtone codificado e exibido smbolo a smbolo para o usurio, (b,c) o usurio procede no download do arquivo multimdia, (d) o arquivo reconstrudo e executado(LIU, DOERMANN e LI, 2008).

25

J em (HUANG, CHANG e SANDNES, 2009), so apresentadas formas para troca de informaes entre dispositivos de plataformas diferentes, smartphones e telefones com a plataforma Java. Nessa publicao, so apresentados dois estudos de casos: i. o primeiro um sistema de assistncia ao viajante (Traveler Assistant System), que um tipo de guia de visitas mvel que permite o compartilhamento, entre os usurios, de dados sobre os lugares visitados atravs de QR codes; ii. o segundo estudo de caso um sistema de busca de informaes de pssaros (Bird Information Searching System), que usado para prover informaes educativas para turistas e estudantes e permite a troca de informaes entre os usurios atravs do uso de QR Codes.
3.2.2. Aplicaes de Mobile Learning

O rpido crescimento no uso de dispositivos mveis fomentou uma nova modalidade de educao a distncia chamada Mobile Learning (M-Learning). Esse termo utilizado para classificar algum processo de aprendizagem que faa uso de alguma tecnologia mvel. O grande diferencial desse modelo de aprendizagem que o aprendiz pode interagir no processo sem estar em um lugar fixo. O segundo estudo de caso apresentado em (HUANG, CHANG e SANDNES, 2009), j relatado no subtpico 3.2.1, pode ser caracterizado, de certo modo, como uma aplicao educacional mvel (M-Learning). Em (CHU e LIU, 2007) so relatadas as experincias com a utilizao de cdigos de barras 2D em uma aplicao mvel e sensvel ao contexto para o ensino da lngua inglesa, a HELLO (Handheld English Language Learning Organizations). Nesta experincia, os estudantes andam pelo campus portando PDAs19, os quais usam para capturar os smbolos QR espalhados em zonas de aprendizado. Os smbolos capturados so decodificados e as informaes obtidas so usadas para fazer a correspondncia entre os materiais de ensino armazenados no servidor da aplicao e o local atual do usurio. A Figura 18 ilustra o processo proposto pelos autores. Segundo eles, aps um experimento de quatro semanas de utilizao da aplicao por estudantes, resultou em constataes de que o sistema proposto era muito til para o aprendizado da lngua estrangeira e, mais ainda, que os cdigos de barras 2D eram teis e interessantes para prover experincias de aprendizado sensveis ao contexto.

19

Sigla para o termo ingls Portable Digital Assistant.

26

Figura 18 - Cenrio sensvel ao contexto para a HELLO (CHU e LIU, 2007).

3.2.3. Aplicaes de Segurana

Para exemplificar as aplicaes dos cdigos de barras na rea de segurana da informao pode-se citar a proposta de um sistema de validao (anti-falsificao) de certificados baseados em informaes biomtricas codificadas em QR Codes, descrita em(LIU, 2010) ou uso para conferncia de certificados digitais (VICENTINI, AVELAR, et al., 2007). Outra proposta interessante de uso do QR code na rea de segurana foi publicada em (CONDE-LAGOA, COSTA-MONTENEGRO, et al., 2010). Os autores propem um modelo de utilizao de Tickets eletrnicos eTicket seguros em QR codes, com uso de informaes criptografadas. Na proposta, o usurio ao adquirir um eTicket recebe um token que criptografado em conjunto com uma senha fornecida pelo usurio para gerar as informaes a serem codificadas em um smbolo QR. No momento do uso do eTicket, o usurio mostra atravs do seu dispositivo mvel o QR code gerado a um receptor, que solicita ento a senha usada para decifrar as informaes do smbolo adequadamente, validando todo o processo. O passo a passo do modelo proposto pelos autores ilustrado na Figura 19.

27

Figura 19 Modelo de Tickets Eletrnicos baseados em QR codes(CONDE-LAGOA, COSTAMONTENEGRO, et al., 2010).

3.2.4. Aplicaes Industriais

O uso de cdigos 2D tambm pode ser observado em processos industriais, conforme demonstrado em (YU, WANG, et al., 2004). Nesta publicao, os autores propem um algoritmo para utilizao desses cdigos barras no processo de controle de qualidade na produo de placas de circuitos impressos ou componentes eletrnicos. Na Figura 20, ilustrado um exemplo de uso de um smbolo DataMatrix para codificar informaes de controle de qualidade de produo em uma placa de circuito eletrnico.

28

Figura 20 - Exemplo de uso do cdigo Datamatrix em placas de circuitos eletrnicos.(Adaptado de: http://www.automation.com/resources-tools/articles-white-papers/bar-code-rfid-automaticindentification/data-matrix-expanding-the-second-dimension-of-data-capture , Acessado em 25/10/2010)

3.2.5. Aplicaes de Acessibilidade

Uma aplicao de acessibilidade interessante proposta por Al-khalifa em (ALKHALIFA, 2008), na qual so utilizados QR codes para ajudar a pessoas cegas a obterem mais informaes sobre objetos previamente identificados. Na proposta do autor, os cdigos 2D so fixados nos objetos e identificados com um selo em Braile, dessa forma as pessoas cegas podem identificar onde est localizado o cdigo no objeto o qual deseja saber mais informaes. O sistema proposto requer dos usurios, alm do dispositivo mvel, uma conexo que permita acessar os contedos multimdias, que iro fornecer aos usurios as descries dos objetos. Na Figura 21 ilustrada uma viso geral do funcionamento da proposta do autor.

29

Figura 21 - Viso geral de funcionamento do sistema proposto (AL-KHALIFA, 2008).

3.2.6. Aplicaes Comerciais e de Marketing

Diversos novos tipos de aplicaes comerciais passaram a explorar as vantagens dos cdigos de barras 2D. Um exemplo bem prtico foi a adoo desses cdigos de barras no processo de checkin em algumas companias areas brasileiras, a exemplo da TAM20. Algumas outras aplicaes interessantes so apresentadas em (EBLING e CCERES, 2010). Uma delas um sistema mvel que faz a busca e comparao de preos de um produto baseado na leitura do seu cdigo de barras. A Figura 22 exemplifica a aplicao apresentada pelos autores. Alm das aplicaes j citadas, torna-se cada dia mais comum encontrarem-se cdigos de barras 2D em objetos que fazem parte do dia-a-dia das pessoas, como jornais21, revistas22, listas telefnicas, cartes de visita, produtos fastfood23 e at mesmo em comerciais de televiso.

20

Maiores

informaes

sobre

essa

notcia

podem

ser

encontradas

em

http://www.tam.com.br/b2c/vgn/v/index.jsp?vgnextoid=64a8830382b1b210VgnVCM1000009508020aRCRD , acessado em 25/10/2010.


21 22 23

http://www.mobilepedia.com.br/prod/2008/12/12/qr-codes-no-jornal-a-tarde http://www.mobilepedia.com.br/cases/qr-code-na-revista-viagem-e-turismo http://calorielab.com/news/2006/09/15/mcdonalds-tags-food-with-high-tech-nutrition-information/

30

Figura 22 - Exemplo de aplicao que faz a comparao de preos de um produto. (a) O usurio captura um cdigo de barras, (b) a aplicao decodifica o cdigo e faz a busca dos preos do mesmo produto em outras lojas(EBLING e CCERES, 2010).

3.2.7. QR Codes Sensveis ao Contexto

De posse da noo sobre o conceito de contexto (seo 3.1), pode-se classificar vrias das aplicaes apresentadas anteriormente como sensveis ao contexto. Entretanto, em algumas situaes, os cdigos de barras tambm podem ter o seu significado sensvel ao contexto, como apresentado em (ROUILLARD e LAROUSSI, 2008). Nesse trabalho, os autores propem um ambiente de aprendizado pervasivo e adaptativo baseado em QR codes contextuais. A principal diferena na proposta dos autores em relao ao uso tradicional dos QR codes a adio de informaes XML aos smbolos, permitindo assim pontos de privados de variao de valores nos smbolos previamente impressos. A Figura 23 apresenta como so organizados os contedos dentro de um QR code contextual.

31

Figura 23 - Proposta de QR code contextuais (ROUILLARD e LAROUSSI, 2008).

Portanto , exemplificando a proposta de Rouillard e Laroussi pode-se criar um smbolo QR code que, ao ser lido, a aplicao substitua as partes privadas do smbolo por informaes do contexto. Logo, com um nico smbolo QR pode, por exemplo, ser apresentado a mensagem Carlos, bom dia! ou Windson, boa tarde!, dependendo das informaes de contexto na leitura do cdigo. Neste exemplo, as informaes que estariam codificadas no smbolo QR poderiam ser <nome> e <hora> e as mensagens mostradas aos usurios teriam sido derivadas atravs da adio das informaes de contexto computadas pela aplicao. 3.3 Concluso Neste captulo, foram apresentados e discutidos os principais conceitos de ubiquidade e pervasividade, ao passo que se relacionavam com as caractersticas dos cdigos de barras, em especial os 2D. Neste trabalho, no se chegou a uma concluso definitiva sobre a adequao do termo ubiquidade para os cdigos de barras, entretanto pode ser percebido que a utilizao desses cdigos em conjunto com outros sistemas pode permitir a construo de aplicaes que sejam definidas como ubquas.

32

Alm disso, foram apresentadas algumas aplicaes que ultrapassaram o propsito de identificao de produtos dos cdigos de barras, e mostrou-se que possvel criar novas aplicaes que explorem mais ainda as vantagens dos QR Codes. No foi alvo do estudo realizado a anlise de outras tecnologias ainda mais avanadas de identificao como RFID24, que podem estar ainda mais prximos dos conceitos de ubiquidade apresentados. Apesar de no terem sido realizadas anlises empricas sobre o uso de RFID na construo de sistemas ubquos, acredita-se que o custo monetrio envolvido no uso dessa tecnologia uma das principais desvantagens em relao ao uso dos cdigos de barras.

24

Tecnologia de identificao baseada em Tags que respondem a sinais de rdio frequncia.

33

CAPTULO 4 -

FERRAMENTAS PARA O DESENVOLVIMENTO DE APLICAES MVEIS QUE USAM QR CODES

Neste captulo, so apresentadas algumas ferramentas que auxiliam no desenvolvimento de aplicaes que fazem uso de tecnologias de cdigos de barras em 2D. Em especial, so detalhadas as solues reusveis no sistema operacional Android. 4.1 Introduo Diversos tipos de arquiteturas podem ser usadas na construo de aplicaes mveis. Sistemas web adaptados sendo acessados atravs de dispositivos mveis, aplicaes desktop sendo utilizadas para processamento e execuo de alguma tarefa solicitada por um DM ou a utilizao de aplicaes stand-alone em celulares so alguns cenrios possveis que ilustram a utilizao de diferentes arquiteturas de aplicaes mveis. O desenvolvimento de uma aplicao mvel pode ser uma tarefa muito dispendiosa e demorada, devido as caractersticas destes dispositivos (heterogeneidade, recursos de processamento e memria restritos). Entretanto, o desenvolvimento pode se tornar mais eficaz e eficiente com o reuso de boas solues j desenvolvidas. A rea de Reuso de Software uma das subreas da Engenharia de Software que estuda as formas de se desenvolver softwares minimizando os custos e maximizando os benefcios atravs do reuso de artefatos previamente construdos, sejam eles cdigos, documentos ou conhecimentos. Bibliotecas de classes, componentes de software, frameworks, middlewares e linhas de produto de software so exemplos de solues j desenvolvidas na rea de reuso de software que ajudam a tornar o desenvolvimento de software em geral, e ubquo, mais eficiente. Uma vez que o reuso de solues uma das formas de se melhorar o desenvolvimento de aplicaes, sejam elas mveis ou no, algumas solues reusveis relacionadas ao uso de QR Codes em diferentes plataformas so apresentadas nos tpicos seguintes deste captulo.

34

4.2 Open Source QR Code Library Este projeto uma biblioteca para decodificao e codificao de cdigos QR, que segue as normas JIS-X-0510 e ISO/IEC1800. A biblioteca distribuda sob a licena GPL verso 2
25

e foi desenvolvida para o uso no desenvolvimento de aplicaes com a linguagem

Java. Ela suportada pelas plataformas: J2SE, J2ME MIDP2.0/CLDC1.0. A biblioteca tambm oferece suporte a correo de erro e pr-processamento de imagens, garantindo melhor desempenho no seu uso(YANBE, 2010). A Figura 24 apresenta um exemplo de aplicao que usa a biblioteca para decodificao de QR Codes em imagens.

Figura 24 - Exemplo de uma aplicao que faz uso da biblioteca Open Source QR Code Library(YANBE, 2010).

Outra caracterstica importante dessa biblioteca que ela j foi portada para outros ambientes de programao como Python26 e C#27. Alm disso, algumas aplicaes exemplo so disponibilizadas, facilitando o seu aprendizado. Na Figura 25, so apresentados exemplos de uso da biblioteca portada para C#.

25

Os termos da licena esto disponveis em http://www.gnu.org/licenses/gpl-2.0.html , acessado em

27/10/2010.
26 27

Mais informaes podem ser encontradas em http://pyqrcode.sourceforge.net/, acessado em 27/10/2010. Mais informaes podem ser encontradas em http://www.codeproject.com/KB/cs/qrcode.aspx , acessado em

27/10/2010.

35

Figura 25 - Exemplos de uso da biblioteca em .NET Windows e Windows Mobile (Fonte: http://www.codeproject.com/KB/cs/qrcode.aspx , acessado em 28/10/2010).

4.3 Google Chart API Essa API (Application Programming Interface), criada e mantida pela empresa Google Inc., composta por um conjunto de operaes para gerao de grficos e por um servio web para criao desses grficos. Os grficos so criados a partir das requisies HTTP feitas. Portanto, o usurio deve criar uma requisio contendo os parmetros para criao do grfico a ser gerado. No caso deste trabalho, foi testada a gerao de smbolos QR Code atravs do navegador. Foram adicionados a URL do servio de gerao de grficos trs parmetros, conforme explicado: i. ii. iii. cht=qr, para indicar que o grfico a ser gerado deve ser um QR Code; chs=200x200, para indicar o tamanho em pixels do smbolo a ser gerado; chl=teste, para fornecer o contedo a ser codificado.

O gerador de grficos, por sua vez, se encarrega de processar todos os parmetros recebidos e retornar para o usurio o smbolo QR Code gerado. Portanto, esse servio pode ajudar para aplicaes que requerem a criao dinmica de cdigos QR, j que esse tipo de codificao est contemplado nessa API como elementos grficos28. A Figura 26 exemplifica o uso dessa API. Para o reuso deste servio em aplicaes mveis no sistema operacional Android, pode-se utilizar as bibliotecas j disponveis no prprio SDK (Software Development Kit),

28

Detalhes sobre o uso da API para criao de QR codes pode ser encontrada na pgina

http://code.google.com/intl/pt-BR/apis/chart/docs/gallery/qr_codes.html , acessada em 27/10/2010.

36

para se criar requisies HTTP e atravs delas receber os cdigos QR gerados. Uma outra alternativa, pode ser atravs do uso de intents, usando o navegador do prprio sistema operacional Android para criar-se, seguindo a mesma lgica apresentada anteriormente, os QR Codes. Um Intent um recurso de abstrao da plataforma Android que permite a execuo de cdigos entre aplicaes diferentes(GOOGLE INC., 2010).

Figura 26 - Exemplo de QR Code com a palavra teste gerado atravs de requisio HTTP.

4.4 Biblioteca Libqrenconde Essa uma biblioteca de cdigo aberto que foi desenvolvida na linguagem de programao C29. A Libqrencode voltada para o uso em sistemas operacionais baseados em Unix, podendo ser compilada e executada independentemente. Ela permite somente a codificao de informaes em QR codes, pois a decodificao no foi implementada. Essa biblioteca tambm foi portada para outras linguagens, como: Phyton, Haskell, Ruby e PHP. 4.5 PE AR Image_QRCode Em 1999, Stig S. Bakken criou o projeto de um repositrio para distribuio de componentes PHP reusveis chamado PEAR (PHP Extension and Aplication Repository) (PEAR GROUP, 2010). O projeto tem como objetivos fornecer: uma biblioteca de cdigo aberto, um sistema de distribuio de cdigo e gerncia de pacotes (chamado Pyrus)30, um padro para escrita de cdigos em PHP, uma biblioteca para extenso do PHP (PECL PHP Extension Community Library) e o suporte online para a comunidade de programadores PHP. Em janeiro de 2010, foi lanada a biblioteca Image_QRCode que permite aos programadores
29

Mais detalhes podem ser encontrados na pgina http://fukuchi.org/works/qrencode/index.en.html , acessada

em 27/10/2010.
30

http://pear2.php.net/PEAR2_Pyrus , acessado em 28/10/2010.

37

PHP criarem QR Code em suas aplicaes, assim pode-se criar na Web cdigos QR dinmicos. Essa biblioteca possui a limitao de somente codificar os dados em smbolos QR, no sendo possvel realizar com ela a decodificao. Como vantagens dessa biblioteca podese citar a facilidade no uso e implantao31. 4.6 Biblioteca ZXing A ZXing uma biblioteca de cdigo aberto, distribuda sob a licena Apache verso 2, implementada em Java. Ela permite a leitura de cdigo de barras em dispositivos mveis, em especial telefones celulares. Essa biblioteca tem como diferencial o suporte a diversos tipos de cdigos de barras, conforme listado: UPC-A e UPC-E; EAN-8 e EAN-13; Code 39; Code 93; Code 128; QR Code; ITF; Codabar; RSS-14 (todas as variantes); Data Matrix; PDF 417 (na qualidade 'alpha').

Outro diferencial dessa biblioteca que ela pode ser usada tambm para codificao, e no somente decodificao, de dados em QR Codes. Alm disso, j so disponibilizados na internet uma pgina com um gerador32 e um leitor33 de smbolos QR implementados com esta biblioteca. A ZXing oferece suporte a plataformas J2SE, J2ME e Android. O suporte a outras plataformas no so mantidos de forma regular, mas pode-se encontrar no site do projeto34

31

Um exemplo de como gerar um QR Code com essa biblioteca pode ser encontrado na pgina

http://www.porkaria.com.br/2010/04/24/gerando-qr-code-com-php/ , acessado em 28/10/2010.


32 33 34

Gerador disponvel no endereo eletrnico http://zxing.appspot.com/generator/ , acessado em 28/10/2010. Leitor disponvel no endereo eletrnico http://zxing.org/w/decode.jspx , acessado em 28/10/2010. Disponvel no endereo eletrnico http://code.google.com/p/zxing/ , acessado em 28/10/2010.

38

algumas referncias para mdulos em outras linguagens. Na pgina de distribuio da biblioteca so disponibilizados vrios exemplos e componentes prontos para o uso, o que ajuda muito na etapa de desenvolvimento de aplicaes. 4.7 Concluso Neste captulo foram apresentadas diversas ferramentas, em especial bibliotecas de cdigos, que ajudam no desenvolvimento de aplicaes que usam QR code. Ainda no existem bibliotecas nos SDKs para Android e J2ME que deem suporte ao desenvolvimento de aplicaes que tenham requisitos de leitura ou criao de QR Codes. Entretanto, foram encontradas bibliotecas que podem auxiliar no desenvolvimento deste tipo de aplicao, que foram apresentadas neste captulo. Para o sistema operacional Android possvel encontrar, alm de bibliotecas, componentes que fornecem o servio de leitura e codificao de QR Code j prontos para o reuso. Para a plataforma J2ME, so encontradas algumas aplicaes de exemplo na pagina da biblioteca Open Source QR Code Library que podem ser adaptadas e reusadas. Destaca-se a biblioteca ZXing que se mostrou mais adequada para o desenvolvimento de aplicaes mveis que usem QR codes, j que fornece amplo suporte a leitura e criao de smbolos QR seguindo as especificaes desse cdigo. Alm disso, possvel encontrar-se vrios casos de utilizao da biblioteca em aplicaes j existentes na internet, como Google Shoper35 e BeerCloud36, o que aumenta o grau de confiabilidade nessa biblioteca. Alm disso, ela facilmente reusvel em aplicaes para plataforma J2ME e Android, bastando que os desenvolvedores sigam os exemplos de cdigo apresentados no wiki37.

35

Aplicao mvel que ajuda a obter informaes sobre algum produto no momento da compra, mais

informaes em http://www.google.com/mobile/shopper/ , acessado 28/10/2010.


36

Apresenta informaes sobre cervejas baseado na leitura dos cdigos de barras, mais informaes em

http://greatbrewers.com/story/beercloud-mobile-app , acessado em 28/10/2010.


37

Endereo do wiki: http://code.google.com/p/zxing/w/list , acessado em 28/10/2010.

39

CAPTULO 5 -

DFIND: UM SISTEMA UBQUO PARA LOCALIZAO INDOOR E OUTDOOR BASEADO EM QR CODES

Este captulo apresenta uma aplicao mvel desenvolvida para a plataforma Android capaz de utilizar QR Code para fornecer informaes de localizao indoor e outdoor. Antes de descrever o estudo de caso desenvolvido, um resumo das caractersticas da plataforma alvo apresentado. 5.1 A Plataforma Android Em julho de 2005, a empresa Google Inc. adquiriu a Android Inc., que desenvolvia sistemas para dispositivos mveis. A partir dessa aquisio feita pela multinacional Google, desenvolveu-se um sistema operacional, baseado nos projetos da Android Inc., que se chamou Android (BLOOMBERG L.P., 2005). Esse sistema operacional foi mantido e evoludo exclusivamente pela Google at novembro de 2007. Neste mesmo ms, o consrcio Open Handset Aliance (OHA) formado por empresas como a Google, Motorola, HTC, Qualcomm e mais trinta empresas anunciou o desenvolvimento do Android como sendo a primeira plataforma aberta para dispositivos mveis (OPEN HANDSET ALLIANCE, 2007). Atualmente a plataforma Android distribuda sob os termos da licena Apache 2.038. A plataforma Android formada no s pelo sistema operacional homnimo, mas tambm por um middleware e um conjunto de aplicaes (GOOGLE INC., 2010). A Figura 27 detalha a arquitetura do sistema operacional Android. As aplicaes para essa plataforma so escritas na linguagem Java e compiladas em bytecodes Dalvik, que a mquina virtual responsvel pela execuo das aplicaes.

38

Os termos dessa licena podem ser encontrados no endereo http://www.apache.org/licenses/LICENSE-2.0 ,

acessado em 28/10/2010.

40

Figura 27 - Arquitetura do sistema operacional Android (GOOGLE INC., 2010).

Essa plataforma muito rica em vantagens de utilizao. A primeira grande vantagem est no fato de ser uma plataforma aberta, um dos fatores que tm motivado os fabricantes de celulares a produzirem aparelhos com o sistema operacional Android. Alm disso, segundo a empresa de consultoria Gartner, ela a plataforma que mais vm crescendo em nmero de usurios e previsto que at o final do ano de 2010 seja a segunda plataforma para celular mais usada no mundo39. Pode-se citar ainda algumas outras caractersticas vantajosas do uso dessa plataforma, como pode ser listado: Utilizao de uma linguagem de programao amplamente usada no mundo: Java; Bom isolamento entre as aplicaes; Facilidade e eficincia na utilizao para o desenvolvimento de aplicaes mveis; Framework e API extremamente ricos; Variedade de componentes prontos para uso; Possibilidade de reutilizao de aplicaes prontas; Execuo de aplicaes em paralelo;

39

http://olhardigital.uol.com.br/produtos/mobilidade/android-apresenta-maior-crescimento-entre-plataformas-

moveis/13429

41

Integrao das aplicaes aos servios da Google.

5.2 Estudo de Caso


5.2.1. Avant-Propos

proposto neste tpico um estudo de caso de desenvolvimento de uma aplicao mvel e ubqua que faz uso de cdigos QR, padro de cdigo 2D mais notrio, para prover informaes de localizao e rotas. Este estudo de caso se inspirou na ferramenta GREat Tour, desenvolvida atravs de uma linha de produto de software para aplicaes mveis e sensveis ao contexto (MARINHO, 2010). A plaforma Android foi escolhida para o estudo de caso, j que a plataforma que possivelmente se tornar dominante nos dispositivos mveis nos prximos anos. A realizao deste estudo de caso tem como objetivo primeiro demonstrar como possvel criar-se aplicaes mveis sensveis ao contexto atravs do uso de QR Codes. Alm disso, a realizao do estudo de caso exige um contato direto com as tecnologias QR Code e Android, permitindo perceber-se o grau de adequao das tecnologias para o desenvolvimento de aplicaes ubquas e sensveis ao contexto. O estudo de caso aborda o desenvolvimento de uma aplicao de guia mvel, pois essa aplicao possui requisitos que so comuns em aplicaes mveis e sensveis ao contexto, e.g. o sensoriamento da localizao. O uso de GPS comum em aplicaes desse domnio, entretanto o uso dessa tecnologia inadequado para o caso de guias mveis indoor. Nos ambientes fechados os dispositivos mveis, que possuem restries de potncia na recepo das ondas emitidas pelos satlites, geralmente no conseguem alinhamento necessrio para fornecer as informaes de localizao. Outra opo seria a utilizao de sensores ou tecnologias semelhantes para que pudessem detectar a presena do usurio do dispositivo mvel em um ambiente, fornecendo para o sistema a sua localizao. Porm, essa estratgia envolve o custo da utilizao de sensores, que ainda um pouco alto para esse tipo de aplicao. A utilizao de cdigos de barras seria uma outra soluo, bem mais vivel, para este problema. O custo de utilizao dos cdigos de barras , em geral, baixo e no sofre nenhum problema se utilizado em ambientes indoor. No entanto, no so todos os cdigos de barras que podem ser usados de forma adequada nessa soluo. Caso fosse usado um tipo de cdigo de barras que possusse baixa densidade de dados seria necessria a utilizao de um banco de dados e de uma infraestrutura de rede sem fio. Isso porque com os cdigos de baixa densidade seriam armazenados somente

42

as chaves para se chegar informao completa de localizao. Portanto, a proposta de se utilizar os Cdigos QR para armazenar informaes de localizao permite a construo de aplicaes mveis independentes de infraestrutura de rede sem fio (opcionalmente), com um baixo custo de implantao e com alto nvel de utilidade para os usurios.
5.2.2. Aplicao mvel desenvolvida (DFind)

A proposta de experimento pode ser sintetizada como um sistema para plataforma Android que atravs de smbolos QR Code (que armazenam informaes de contexto) possa fornecer informaes de localizao para os usurios. Na Figura 28 so apresentados os casos de usos da aplicao desenvolvida como estudo de caso.

Figura 28 - Diagrama de casos de uso da aplicao proposta.

Concretizando a proposta de desenvolvimento foi criada a aplicao DFind Decode and Find System que funciona como um guia mvel para o Campus do Pici da Universidade Federal do Cear (UFC40) e para o prdio do Grupo de Redes de Computadores, Engenharia

40

Pgina web http://www.ufc.br/portal/ , Acessado em 28/10/2010.

43

de Software e Sistemas (GREat41). O objetivo da aplicao ajudar as pessoas que frequentam o Campus do Pici e o GREat a se locomoverem nesses locais de forma melhor, provendo informaes sobre os locais e rotas para locais prximos de onde o usurios esteja, fazendo uso de QR code. O DFind foi desenvolvido na plataforma Android e fez uso, via Intent, da aplicao BarCodeScanner. Esta aplicao foi implementada com a biblioteca ZXing, para decodificao dos smbolos QR. O reuso desse componente de leitura proporcionou maior rapidez no desenvolvimento da aplicao. Para o desenvolvimento foi utilizado como ambiente de programao um computador desktop com o sistema operacional Ubuntu verso 9.04 e a IDE Eclipse Galileo com o plugin ADT42 (Android Development Tools) instalado. O dispositivo mvel usado para os testes da aplicao foi o LG-GW62043 com o sistema operacional Android verso 1.5. Para a codificao dos smbolos QR Code de testes usou-se o gerador online da prpria biblioteca ZXing44. O processo bsico da proposta composto, resumidamente, por apenas quatro passos. O primeiro passo a Leitura de um cdigo QR, nesse passo onde o componente BarCodeScanner reusado para capturar atravs da cmera do dispositivo mvel um cdigo QR. Em seguida, o passo de decodificao das informaes executado, esse passo ainda executado no componente de leitura. O terceiro passo necessrio a extrao dos dados relevantes dos dados brutos que foram decodificados, nesse momento so lidas as informaes seguindo o formato JSON. Por fim, o ltimo passo a ser executado a exibio da localizao atual e das informaes complementares (descrio, detalhes sobre o local, locais prximos e rotas). A Figura 29 ilustra o processo descrito.

41 42

Pgina web http://www.great.ufc.br/ , Acessado em 28/10/2010. Informaes sobre o plugin do eclipse podem ser obtidas em http://developer.android.com/sdk/eclipse-adt.html

, acessado em 31/10/2010.
43 44

Mais informaes em http://www.lge.com/br/celular/aparelhos/LG-GW620.jsp , acessado em 31/10/2010. Disponvel em http://zxing.appspot.com/generator/ , acessado em 31/10/2010.

44

Figura 29 - Fluxo bsico da aplicao DFind.

As principais classes do componente de leitura reusado so apresentadas no diagrama de classes da Figura 30. J as classes criadas exclusivamente para a aplicao DFind so ilustradas no diagrama de classes da Figura 31. Com o auxlio da ferramenta SLOCCount45, percebeu-se que para a construo da aplicao foi requerido a escrita de 893 linhas de cdigo (entre arquivos Java e XML, 68,65% e 31,35% respectivamente), distribudas em oito Classes Java e nove arquivos XML. O pequeno nmero de arquivos criados para a aplicao aponta para uma ideia da facilidade em se construir a aplicao. Isso explicvel pelo fato de que boa parte dos requisitos j estavam implementados nas bibliotecas reusadas, i.e. as funcionalidades de captura e decodificao.

45

Uma ferramenta para contagem de linhas de cdigo de um projeto, que alm de apresentar o total de linhas

codificadas faz o clculo de algumas estatsticas bsicas. Disponvel em http://www.dwheeler.com/sloccount/ , acessado em 31/11/2010.

45

Figura 30 - Diagrama de Classes com as principais classes do componente de leitura.

Figura 31 - Diagrama de Classes com as principais classes da aplicao DFind.

46

A Figura 32 exemplifica um fluxo bsico de mensagens para realizao do caso de uso Ver detalhes sobre o local, para proporcionar um melhor entendimento sobre o processo bsico do sistema e o fluxo de mensagens entre os componentes do sistema. No diagrama apresentado, possvel perceber-se o isolamento das atividades de captura e decodificao, representados pelas mensagens 1.1.1 e 1.1.2, executados somente no componente ZXing Barcode Scanner.

Figura 32 - Diagrama de Sequncias para um dos fluxos principais da aplicao.

Na Figura 33, mostrada uma sequencia de telas que ilustra o processo de localizao indoor atravs do uso de smbolos QR code. Nesta sequncia, pode-se observar o uso do componente usado para leitura de cdigos QR, bem como o cumprimento dos requisitos de exibio de mapas e pgina web.

47

(a)

(b)

(c)

(d)

(e)

Figura 33 Sequncia de telas do DFind capturadas durante o processo de localizao indoor. (a) Usurio captura cdigo, (b,c) mostrado o mapa e descrio breve do local, (d) o usurio acessa o menu e seleciona detalhes, (e) mostrado o contedo referente ao local atual.

Na Figura 34, mostrada uma sequncia de telas capturadas durante o processo de localizao outdoor. Nesta sequencia, pode-se observar o cumprimento de outros requisitos, como a exibio de mapas usando servios do Google, exibio de locais prximos, exibio da rota e dos detalhes sobre o destino.

48

(a)

(b)

(c)

(d)

(e)

(f)

Figura 34 - Sequencia de telas do DFind capturadas durante o processo de localizao outdoor. (a) Usurio captura o cdigo QR, (b) carregado o mapa do local, (c) O usurio acessa o menu de opes, (d) so mostrados os lugares prximos cadastrados, (e) mostrado a rota para o destino selecionado e (f) possvel visualizar detalhes, como foto e mapa, do destino selecioado.

Outra caracterstica de implementao importante que os dados codificados esto em um formato JSON46. Portanto, possvel utilizar sem problemas as ferramentas existentes de criao de smbolos QR para localizao, bastando seguir a estrutura JSON previamente adotada.

46

Significa JavaScript Object Notation Mais informaes esto disponveis em http://www.json.org/ , acessado

em 28/10/2010.

49

5.3 Concluso Percebe-se que o Android de fato uma plataforma robusta para o desenvolvimento de aplicaes mveis. Alm disso, muito rica em recursos que facilitam o desenvolvimento de novos tipos de aplicaes, garantindo melhor produtividade nesse processo. A realizao do estudo de caso proposto ajuda a delinear algumas possibilidades de uso dessa plataforma e dos cdigos QR. Os requisitos planejados para aplicao DFind, de mobilidade e sensibilidade ao contexto, puderam ser atendidos atravs das tecnologias utilizadas. A utilizao de smbolos QR Code realmente trouxe diversas vantagens para a aplicao de localizao mvel, pois no houve a necessidade de utilizao de sensores, GPS ou sistemas de banco de dados para obterem-se as informaes de localizao. Usando QR Code foi possvel armazenar em um nico smbolo impresso todas as informaes necessrias para localizar o usurio, descrio do ambiente, mostrar a lista de locais prximos e as respectivas rotas. Em parte, confirma-se a suposio de que o padro QR code o mais adequado para utilizao em aplicaes ubquas e sensveis ao contexto, j que se tivessem sido utilizados outros tipos de cdigos no seria possvel atender a todos os requisitos de ubiquidade das informaes de localizao exigidos na aplicao proposta.

50

CONCLUSO

A partir do levantamento bibliogrfico deste trabalho, percebe-se que a utilizao do cdigo QR Code est crescendo muito no domnio de aplicaes mveis e que constantemente surgem formas inovadoras desse cdigo. Alm disso, essa forma de codificao de informaes mostrou-se adequado para aplicaes ubquas, pois a caracterstica de alta densidade de dados dos smbolos QR Code permite a criao de aplicaes mveis flexveis e independentes de uma infraestrutura custosa para sensoriamento de dados e obteno de informaes relevantes para aplicao. Neste trabalho, foram apresentados de forma detalhada os tipos de cdigo de barras existentes mais usados e as ferramentas disponveis para criao de aplicaes que usam QR code. Foi explicado como possvel o uso dessa tecnologia em dispositivos mveis. Alm disso, foi realizada uma discusso entre o uso dos cdigos de barra e os conceitos de ubiquidade. Com essa discusso conclui-se que o uso dos cdigos de barra, por si somente, no pode em unanimidade ser definido como um sistema ubquo, mas que a sua utilizao ajuda a construir sistemas e aplicaes deste tipo. O principal benefcio da utilizao dessa tecnologia em aplicaes ubquas seria a reduo do custo de sensoriamento de informaes ou de obteno de informaes de contexto. O estudo de caso realizado permitiu comprovar as caractersticas de alta densidade de dados, rapidez na leitura e leitura independente de orientao (ou seja, em 360), descritas como vantagens do QR Code. Foi possvel codificar em um nico smbolo QR informaes de localizao acrescidas de dados de locais prximos, rotas para essas localizaes e uma descrio do local atual. A quantidade de informaes contidas em cada smbolo usados no estudo de caso s foi possvel por conta da alta densidade de dados do QR Code. Outra observao importante sobre esse estudo foi a rapidez na leitura e decodificao dos smbolos lidos pelos dispositivos mveis. Comprovou-se tambm a flexibilidade quanto posio para leitura do cdigo, pois uma vez enquadrado no raio de captura da cmera do dispositivo mvel a leitura e decodificao ocorriam sem problemas. No estudo de caso realizado,

51

utilizou-se o acesso a internet atravs de uma rede infraestruturada para acessar os mapas outdoor, enriquecendo a aplicao com os mapas disponibilizados atravs do servio Google Maps. Entretanto, caso no fosse possvel o acesso internet os requisitos de localizao ainda seriam cumpridos, pois todas as informaes necessrias para guiar o usurio esto contidas nos smbolos QR Code. No futuro, como extenso deste trabalho, pode ser realizado o desenvolvimento de uma aplicao ubqua, mvel e sensvel ao contexto (atravs do uso de QR code) que permita a criao de guias mveis personalizveis. Alm disso, se pensa em criar componentes reusveis, baseados no que j foi desenvolvido no estudo de caso, para serem integrados a Linha de Produtos de Software MobiLine47. Outra extenso deste trabalho pode ser a utilizao das tecnologias de QR Code e da plataforma Android nas aplicaes de M-Learning desenvolvidas pelo GREat.

47

O objetivo do MobiLine investigar as caractersticas particulares existentes no desenvolvimento de software

mvel sensvel ao contexto para a construo de uma linha de produtos para este domnio. Em especial, o projeto considera como foco para o aumento da produtividade e qualidade no desenvolvimento desse tipo de software, a aplicao de tcnicas que possibilitem uma reutilizao de forma sistemtica. Este projeto, financiado pelo CNPQ, foi uma parceria do grupo GREat, coordenado pela professora Rossana Andrade, com a equipe coordenada pela professora Cludia Werner da UFRJ.

52

REFERNCIAS BIBLIOGRFICAS

AL-KHALIFA, H. S. Utilizing QR Code and Mobile Phones for Blinds and Visually Impaired People. Proceedings of the 11th international conference on Computers Helping People with Special Needs, Linz, Austria, 2008. 1065-1069. ASSOCIAO COMERCIAL DE PEDREIRA - ACEP. CMC7. Site da Associao Comercial de Pedreira ACEP. Disponivel em:

<http://www.acepedreira.com.br/cmc7.html>. Acesso em: 18 out. 2010. BLOOMBERG L.P. Google Buys Android for Its Mobile Arsenal. Bloomberg Businessweek, 2005. Disponivel em:

<http://www.businessweek.com/technology/content/aug2005/tc20050817_0949_tc024.htm>. Acesso em: 28 out. 2010. BARBOSA NETO, G. E; CAMPOS, A. A. S. Mobile Payment - Estudo comparativo entre tecnologias de transaes eletrnicas via dispositivos mveis. 2008. 93 f. Monografia (Graduao) - Curso de Bacharelado em Informtica, Departamento de Computao, Universidade Catlica do Salvador, Salvador, 2008. Disponvel em:

<http://info.ucsal.br/banmon/Arquivos/Mono_040609.pdf>. Acesso em: 14 out. 2009. CHU, Y.-L.; LIU, T.-Y. Handheld Computer Supported Context-aware learning with 2D Barcodes. Seventh IEEE International Conference on Advanced Learning Technologies (ICALT 2007), 2007. 485-486. CONDE-LAGOA, D. et al. Secure eTickets based on QR-Codes with user-encrypted content. International Conference on Consumer Electronics (ICCE), 2010. 257-258. DENSO WAVE INC. QR Code Patent FAQ. Site da Denso Wave inc. Disponivel em: <http://www.denso-wave.com/qrcode/faqpatent-e.html>. Acesso em: 20 out. 2010. DENSO WAVE INC. QR Code Standardization. Site da Denso Wave inc. Disponivel em: <http://www.denso-wave.com/qrcode/qrstandard-e.html>. Acesso em: 20 out. 2010. DEY, A.; ABOWD, G. Towards a better understanding of context and context-awareness. Proceedings of the 1st International Symposium on Handheld and Ubiquitous Computing, Londres, Inglaterra, 2000. p.304-307.

53

EBLING, M.; CCERES, R. Bar Codes Everywhere You Look. IEEE Pervasive Computing, v. 9, n. 2, p. 4-5, junho 2010. FANG et al. Automatic Recognition of Noisy Code-39 Barcode. 16th International Conference on Artificial Reality and Telexistence - Workshops (ICAT06), novembro 2006. 79-82. doi:10.1109/ICAT.2006.45. GOOGLE INC. Android Developers. Pgina Web Android Developers, 2010. Disponivel em: <http://developer.android.com/>. Acesso em: 19 Abril 2010. GOOGLE INC. What is Android? Android developers, 2010. Disponivel em: <http://developer.android.com/guide/basics/what-is-android.html>. Acesso em: 28 out.FEBRABAN (FEDERAO BRASILEIRA DE BANCOS) (Brasil). Layout Padro de Arrecadao/Recebimento com Utilizao do Cdigo de Barras. Disponvel em:<http://www.febraban.org.br/p5a_52gt34++5cv8_4466+ff145afbb52ffrtg33fe36455li5411 pp+e/sitefebraban/Codbar4-v28052004.pdf>. Acesso em: 15 out. 2010. HEE IL, H.; JOUNG KOO, J. Implementation of algorithm to decode two-dimensional barcode PDF-417. 6th International Conference on Signal Processing, Vol.2, 2002. p. 1791-1794. DOI 10.1109/ICOSP.2002.1180150. HUANG, Y.-P.; CHANG, Y.-T.; SANDNES, F. E. QR Code Data Type Encoding for Ubiquitous Information Transfer Across Different Platforms. 2009 Symposia and Workshops on Ubiquitous, Autonomic and Trusted Computing, 2009. 292-297. DOI: 10.1109/TMM.2008.917353. IEEE. The 2D data matrix barcode. Computing & Control Engineering Journal, v. 16, n. 6, p. 39, 2005. doi:10.1049/ccej:20050609. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO. ISO/IEC 15417:2007. Pgina Web da International Organization for Standardization. Disponivel em: <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43896>. Acesso em: 18 out. 2010. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO. ISO/IEC 15438:2006. Pgina Web da International Organization for Standardization. Disponivel em: <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43816>. Acesso em: 19 out. 2010.

54

INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO. ISO/IEC 16388:2007. Pgina Web da International Organization for Standardization. Disponivel em: <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43897>. Acesso em: 18 out. 2010. INTERNATIONAL ORGANIZATION FOR STANDARDIZATION - ISO. ISO/IEC 18004:2006. Pgina Web da International Organization for Standardization. Disponivel em: <http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=43655>. Acesso em: 20 out. 2010. KATO, H.; TAN, K. T. Pervasive 2D Barcodes for Camera Phone Applications. IEEE Pervasive Computing, v. 6, n. 4, p. 76-85, dezembro 2007. DOI:

10.1109/TMM.2008.917353. LIU, S. Anti-counterfeit System Based on Mobile Phone QR Code and Fingerprint. Second International Conference on Intelligent Human-Machine Systems and Cybernetics, Wuhan, China, 2010. p.236-240. LIU, Y.; YANG, J.; LIU, M. Recognition of QR Code with Mobile Phones. Control and Decision Conference, p. 2008-2011, 2008. LIU, X.; DOERMANN, D.; LI, H. VCodePervasive Data Transfer Using Video Barcode. IEEE Transactions on Multimedia, v. 10, n. 3, p. 361-371, abril 2008. DOI: 10.1109/TMM.2008.917353. LIU, Y.; LIU, M. Automatic Recognition Algorithm of Quick Response Code Based on Encoding of QR Code. International Conference on Inteligent Systems Design and Applications (ISDA), 2006. p.783-788. MARINHO, F. G. et al. An Architecture Proposal for Nested Software Product Lines in the Domain of Mobile and Context-Aware Applications. Software Components, Architectures And Reuse (SBCARS), Salvador, p. 51-60. 2010. MEASUREMENT EQUIPMENT CORPORATION. Different Types of Barcodes.

makebarcode.com. Disponivel em: <http://www.makebarcode.com/specs/speclist.html>. Acesso em: 14 out. 2010.

55

OPEN HANDSET ALLIANCE. Industry Leaders Announce Open Platform for Mobile Devices. Pgina da Open Handset Alliance, 2007. Disponivel em:

<http://www.openhandsetalliance.com/press_110507.html>. Acesso em: 28 out. 2010. PEAR GROUP. What is PEAR? Pagina do PEAR, 2010. Disponivel em:

<http://pear.php.net/manual/en/about.pear.php>. Acesso em: 28 out. 2010. QUADROS, D. Cdigo de Barras - Cdigo 39. Pgina pessoal, 27 fev. 2008. Disponivel em: <http://dqsoft.blogspot.com/2008/02/cdigo-de-barras-cdigo-39.html>. Acesso em: 18 out. 2010. ROCHA, Lincoln Souza. AdaptiveRME e AspectCompose: Um Middleware Adaptativo e um Processo de Composio Orientado a Aspectos para o Desenvolvimento de Software mvel e Ubquo. 2007. Dissertao (Mestrado em Mestrado em Cincia da Computao) Universidade Federal do Cear. Fortaleza. Disponvel em:

<http://great.ufc.br/~lincoln/file/LincolnMScThesis.pdf>. Acesso em: 25 out. 2010. ROUILLARD, J.; LAROUSSI, M. PerZoovasive: contextual pervasive QR codes as tool to provide an adaptive learning support. Proceedings of the 5th international conference on Soft computing as transdisciplinary science and technology, Cergy-Pontoise, Frana, 2008. p.542-548. STREITZ, N.; NIXON, P. The Disappearing Computer. Communication of the ACM, v. 48, n. 3, p. 32-35, 2005. UNIFORM CODE COUNCIL - GS1 US. Numbers in the History of the Universal Product Code (U.P.C.). Site Institucional da GS1 US. Disponivel em:

<http://www.gs1us.org/about_us/numbers_in_the_upc>. Acesso em: 14 out. 2010. UNIFORM CODE COUNCIL - GS1 US. The Universal Product Code. Site Institucional da GS1 US. Disponivel em:

<http://www.gs1us.org/about_us/history/the_universal_product_code>. Acesso em: 14 out. 2010. VIANA, W. et al. Towards the semantic and context-aware management of mobile multimedia. Multimedia Tools and Applications, 2010. p.1-39. DOI: 10.1007/s11042-0100502-6. VIANA, W.; ANDRADE, R. Uma proposta para a gerao semi-automtica de aplicaes adaptativas para dispositivos mveis. Simpsio Brasileiro de Engenharia de Software, Florianpolis, SC, Brasil, 2006.

56

VICENTINI, C. F. et al. Emprego de Cdigo de Barras Bidimensionais para Conferncia da Autenticidade de Certificados Digitais. VI Simpsio de Informtica da Regio Centro/RS, Santa Maria - RS, Brasil, 2007. WEISER, M. The Computer for the 21st Century. Scientific American, v. 265, n. 3, p. 94104, fev. 1991. WOODLAND, N. J.; SILVER, B. Classifying apparatus and method. US2612994, 07 Outubro 1952. YANBE, Y. Open Source QR Code Library. Pgina do projeto Open Source QR Code Library, 2010. Disponivel em: <http://qrcode.sourceforge.jp/>. Acesso em: 27 out. 2010. YU, G. et al. An application and implementation of two-dimensional symbols for circuit board quality control system. 2nd IEEE International Conference on Industrial Informatics, Berlin, junho 2004. 397-402. DOI: 10.1109/INDIN.2004.1417368.

También podría gustarte