Smågodt

Noen spennende applikasjoner fra NFC City

For tre dager siden skrev vi om et prosjekt som heter NFC City. Ingen av de applikasjonene de jobber med ble presentert i den artikkelen, så her følger en beskrivelse inkludert videoer.

  1. PartyShare består av to Android applikasjoner og tjenestene implementert på en web-tjener. En applikasjon for deling av bilder og en for deling av musikk.
  2. Presenter App er en applikasjon som lar deg starte og styre presentasjoner fra mobilen.
  3. Sightseeing App lar deg oppdage turistattraksjoner gjennom mobilen og navigere rundt omkring basert på tagger.

Slik fungerer PartyShare

Målet med PartyShare er å overføre multimedia fra håndholdte enheter til stasjonære enheter sømløst. Prosjektet består av en klient som kjører på en NFC aktivert Android-enhet, og en tjener som kjører på en datamaskin. Applikasjonen lar deg dele musikk eller bilder fra android enheten til datamaskinen i sanntid. Overføringen gjøres ganske enkelt ved å berøre android enheten til den stasjonære enheten. Som et resultat, blir bildene vist og musikken spilles av umiddelbart.

Litt mer teknisk forklaring

Til prosjektet har NFC City valgt å bruke to forskjellige NFC-tagger, en klistrelapp og et kort. Disse kan lagre noen byte med data (64 og 192, men i praksis noe mindre). De har også noen USB-nfc sticks for å lage P2P NFC ting (mellom telefon og PC, men også mellom telefoner [uten USB-nfc stick]).

I prinsippet, bruker PartyShare HTTP-protokollen til å overføre multimedia fra Android-enheten til datamaskinen. Dette innebærer at applikasjonen kunne ha blitt bygd uten NFC-teknologi. Imidlertid ville det ikke blitt noe særlig spennende. For eksempel ville du måtte angi en ny IP-adresse på android-enheten hver gang du byttet miljø, for å kunne kommunisere med gjeldende stasjonære enheten.

Vi vet alle at å legge inn en IP-adresse eller vertsnavn på en håndholdt enhet er både tidkrevende og tungvint. Ved å utnytte NFC-teknologi kan vi fjerne dette leddet helt og som et resultat få en smart og intuitiv deling. Trikset er å oppbevare relevant vertsnavnet i NFC taggen. På denne måten kan android-applikasjonen lese relevant adresse direkte fra den aktuelle enheten, og få umiddelbar tilbakemelding når det overførte bildet vises, eller musikksporet spilles av.

Serveren er implementert i python og med et knippe åpen kildekode python moduler. Web-serveren benytter web.py (webpy.org), ImageViewer brukes for å vise det siste bildet ved hjelp av Pygame (pygame.org) og musikk-deling er implementert ved hjelp av en selvlaget libspotify-wrapper (spotipy). Web serveren svarer på HTTP-POST-forespørsler på URIer «/ upload / image» og «/ upload / spor».

På klientsiden bruker vi interne android aktiviteter for å håndtere kameraet. Gallery for å velge bilde og Spotify meta data api til å velge musikk. Musikk-deling fungerer ved å overføre en Spotify URI som deretter brukes av spotipy til å spille sangen.

Hold en presentasjon fra mobilen med Presenter App

Presenter appen lager et enkelt grensesnitt for å starte presentasjoner ved å velge en presentasjon på mobilen, for så å «touche» taggen som starter presentasjonen. På taggen står en URL til en server som kjører på maskinen. Appen laster opp presentasjonen via http til serveren som starter presentasjonen ( konverterer pdf-fila til en .png file som blir vist med pygame). Når presentasjonen er startet kan man styre den med å «swipe» en finger til neste og forrige slide. Denne kontrollen er også gjort med http.

Gå på skattejakt med Sightseeing Appen

Applikasjonen vi jobber med nå er en sightseeing-applikasjon tiltenkt turister. Vi setter opp NFC tagger på/ved attraksjoner. Når du starter opp appen må du lese en tag fra en attraksjon. Da får du ikke bare opp informasjon om attraksjonen, men du kastes inn i ei bestemt løype med nærliggende attraksjoner. Neste attraksjon er merket av på kart, og ved hjelp av GPS får du veiledning til å komme deg dit. Om du allerede har besøkt plassen, eller du synes det er for langt å gå, kan du velge å hoppe over attraksjonen. Ved neste attraksjon får du en ny beskrivelse, samt informasjon om hvor du finner neste. Slik foregår det til du er i mål i løypa. Det blir som en slags skattejakt/lek i tillegg til at du får besøke interessante plasser. I tillegg planlegger vi å la brukerne «rate» attraksjonen slik at vi potensielt kan bygge opp en database over hva turister/folk foretrekker å besøke og se. Det kan jo tenkes å gi interessant innsikt.

Etter hvert vil vi i denne integrere mer kontekstinformasjon og også se på en campus-versjon (for nye studenter). Bli kjent med hverandre og sosiale nettverk vil bli viktig for denne versjonen. Kontekstinformasjon brukes for å tilpasse applikasjon til gitt bruker passert på ønsker/interesser, tid, informasjon om venner, lokasjon og tid, informasjon om bruker (for eksempel hvor du er student og hvilke kurs du skal følge dette semestret) osv.

Telefonene som brukes

Telefonene vi bruker er Google Nexus S (http://www.google.com/nexus) med Gingerbread. I tillegg til NFC funksjonalitet i Gingerbread så bruker vi disse bibliotekene og verktøyene:

  • http://www.libnfc.org/documentation/introduction
  • http://code.google.com/p/nfc-tools/

Takk til Anders Andersen fra UiT for flott presentasjon av applikasjonene. Deler av innholdet er oversatt til norsk av meg.

Om Ørjan H Vøllestad

Ørjan har en Samsung Galaxy Spica med CM7.2 og en Amazon Kindle Fire med CM9.0. Har jobbet som programvaretester og i mediehus med papir/nett/tv. Jobber for tiden med et Oracle-basert personalsystem som heter HCM.
Til Toppen