Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Droidcon India 2011 Talk
1. Outline Introduction Diving in Additional Footage
tagin!
Indoor Location Tagging Engine
Primal Pappachan
@primalpop
November 18, 2011
2. Outline Introduction Diving in Additional Footage
Introduction
Definition
Present and the Future
Uses
Story Time
Diving in
Before jumping in
How it works?
Adding it to your LBS application
Additional Footage
Features of the algorithm
Challenges
Benchmarking Tools
Demo
Credits
3. Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION !
Location Tagging
4. Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION !
Location Tagging
WiFi
5. Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION !
Location Tagging
WiFi
LBS
6. Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION !
Location Tagging
WiFi
LBS
Open Source
7. Outline Introduction Diving in Additional Footage
TAG YOUR LOCATION !
Location Tagging
WiFi
LBS
Open Source
8. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present
GPS
9. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present
GPS
Cellular Triangulation
10. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present
GPS
Cellular Triangulation
RFID
11. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present Requisties
GPS Infrastructure Reuse
Cellular Triangulation
RFID
12. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present Requisties
GPS Infrastructure Reuse
Cellular Triangulation Ubiquitious
RFID
13. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present Requisties
GPS Infrastructure Reuse
Cellular Triangulation Ubiquitious
RFID Common standard
14. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present Requisties
GPS Infrastructure Reuse
Cellular Triangulation Ubiquitious
RFID Common standard
15. Outline Introduction Diving in Additional Footage
S CRATCHING WHERE IT ITCHES
Present Requisties
GPS Infrastructure Reuse
Cellular Triangulation Ubiquitious
RFID Common standard
16. Outline Introduction Diving in Additional Footage
F OR
What
Whom
17. Outline Introduction Diving in Additional Footage
H OW IT ALL STARTED
18. Outline Introduction Diving in Additional Footage
H OW IT ALL STARTED
19. Outline Introduction Diving in Additional Footage
H OW IT ALL STARTED
20. Outline Introduction Diving in Additional Footage
K EYWORDS
Fingerprint
21. Outline Introduction Diving in Additional Footage
K EYWORDS
URN
Uniform Resource Name
22. Outline Introduction Diving in Additional Footage
K EYWORDS
Rank Distance
23. Outline Introduction Diving in Additional Footage
K EYWORDS
Fingerprint
URN
Rank Distance
24. Outline Introduction Diving in Additional Footage
W ORKING P RINCIPLE
Upon an urn request, tagin! engine does the following
1. Scan for a fingerprint
25. Outline Introduction Diving in Additional Footage
W ORKING P RINCIPLE
Upon an urn request, tagin! engine does the following
1. Scan for a fingerprint
2. Check for neighbours
26. Outline Introduction Diving in Additional Footage
W ORKING P RINCIPLE
Upon an urn request, tagin! engine does the following
1. Scan for a fingerprint
2. Check for neighbours
3. If found, merge the fingerprint
27. Outline Introduction Diving in Additional Footage
W ORKING P RINCIPLE
Upon an urn request, tagin! engine does the following
1. Scan for a fingerprint
2. Check for neighbours
3. If found, merge the fingerprint
4. If no neighbours, create a new URN
28. Outline Introduction Diving in Additional Footage
W ORKING P RINCIPLE
Upon an urn request, tagin! engine does the following
1. Scan for a fingerprint
2. Check for neighbours
3. If found, merge the fingerprint
4. If no neighbours, create a new URN
5. Return the (merged or newly created) URN
29. Outline Introduction Diving in Additional Footage
W ORKING P RINCIPLE
Upon an urn request, tagin! engine does the following
1. Scan for a fingerprint
2. Check for neighbours
3. If found, merge the fingerprint
4. If no neighbours, create a new URN
5. Return the (merged or newly created) URN
30. Outline Introduction Diving in Additional Footage
I N THE LANGUAGE OF D ROID
getURN()
31. Outline Introduction Diving in Additional Footage
I N THE LANGUAGE OF D ROID
getURN()
getNeighbours(Fingerprint fp)
32. Outline Introduction Diving in Additional Footage
I N THE LANGUAGE OF D ROID
getURN()
getNeighbours(Fingerprint fp)
mergeFingerprint(Fingerprint fp, stored fingerprint id)
33. Outline Introduction Diving in Additional Footage
I N THE LANGUAGE OF D ROID
getURN()
getNeighbours(Fingerprint fp)
mergeFingerprint(Fingerprint fp, stored fingerprint id)
pushFingerprint(URN id, changevector[])
34. Outline Introduction Diving in Additional Footage
I N THE LANGUAGE OF D ROID
getURN()
getNeighbours(Fingerprint fp)
mergeFingerprint(Fingerprint fp, stored fingerprint id)
pushFingerprint(URN id, changevector[])
35. Outline Introduction Diving in Additional Footage
L OCAL VS G LOBAL
Location based Preferences
36. Outline Introduction Diving in Additional Footage
L OCAL VS G LOBAL
Location based Preferences
Indoor mapping and/or Wayfinding
37. Outline Introduction Diving in Additional Footage
L OCAL VS G LOBAL
Location based Preferences
Indoor mapping and/or Wayfinding
38. Outline Introduction Diving in Additional Footage
G ETTING THE FEET WET
1. Download the latest version of tagin! from launchpad
1
Edit the Android Manifest file of the project
39. Outline Introduction Diving in Additional Footage
G ETTING THE FEET WET
1. Download the latest version of tagin! from launchpad
2. Set up the tagin! engine as a library project for your LBS
application 1
1
Edit the Android Manifest file of the project
40. Outline Introduction Diving in Additional Footage
G ETTING THE FEET WET
1. Download the latest version of tagin! from launchpad
2. Set up the tagin! engine as a library project for your LBS
application 1
3. Register a Broadcast Reciever for Tagin! URN
1
Edit the Android Manifest file of the project
41. Outline Introduction Diving in Additional Footage
G ETTING THE FEET WET
1. Download the latest version of tagin! from launchpad
2. Set up the tagin! engine as a library project for your LBS
application 1
3. Register a Broadcast Reciever for Tagin! URN
4. Start the service - Set number of runs and interval between
them
1
Edit the Android Manifest file of the project
42. Outline Introduction Diving in Additional Footage
G ETTING THE FEET WET
1. Download the latest version of tagin! from launchpad
2. Set up the tagin! engine as a library project for your LBS
application 1
3. Register a Broadcast Reciever for Tagin! URN
4. Start the service - Set number of runs and interval between
them
5. Get the URN from Broadcast Reciever
1
Edit the Android Manifest file of the project
43. Outline Introduction Diving in Additional Footage
G ETTING THE FEET WET
1. Download the latest version of tagin! from launchpad
2. Set up the tagin! engine as a library project for your LBS
application 1
3. Register a Broadcast Reciever for Tagin! URN
4. Start the service - Set number of runs and interval between
them
5. Get the URN from Broadcast Reciever
1
Edit the Android Manifest file of the project
44. Outline Introduction Diving in Additional Footage
S IMPLE BUT P OWERFUL
Feature Extraction
45. Outline Introduction Diving in Additional Footage
S IMPLE BUT P OWERFUL
Feature Extraction
Classification
46. Outline Introduction Diving in Additional Footage
S IMPLE BUT P OWERFUL
Feature Extraction
Classification
Self-Adaptation/Learning
47. Outline Introduction Diving in Additional Footage
S IMPLE BUT P OWERFUL
Feature Extraction
Classification
Self-Adaptation/Learning
48. Outline Introduction Diving in Additional Footage
C HALLENGES
Recursive pushFingerprint procedure
49. Outline Introduction Diving in Additional Footage
C HALLENGES
Recursive pushFingerprint procedure
Using a service and broadcast reciever
50. Outline Introduction Diving in Additional Footage
C HALLENGES
Recursive pushFingerprint procedure
Using a service and broadcast reciever
Speed vs Accuracy tradeoff
51. Outline Introduction Diving in Additional Footage
L OGGER
Inplace Benchmarking
52. Outline Introduction Diving in Additional Footage
L OGGER
Inplace Benchmarking
Lower bound on rank
distances
53. Outline Introduction Diving in Additional Footage
L OGGER
Inplace Benchmarking
Lower bound on rank
distances
Stabilizing time
54. Outline Introduction Diving in Additional Footage
L OGGER
Inplace Benchmarking
Lower bound on rank
distances
Stabilizing time
55. Outline Introduction Diving in Additional Footage
D EMO T IME !
Developed by Sara Khosravi Nasr
56. Outline Introduction Diving in Additional Footage
C REDITS
Jorge Silva, Co-founder Komodo OpenLab, Full time
researcher at IDRC, OCAD University
57. Outline Introduction Diving in Additional Footage
C REDITS
Jorge Silva, Co-founder Komodo OpenLab, Full time
researcher at IDRC, OCAD University
Sara Khosravi Nasr - PhD. Student, UIUC
58. Outline Introduction Diving in Additional Footage
C REDITS
Jorge Silva, Co-founder Komodo OpenLab, Full time
researcher at IDRC, OCAD University
Sara Khosravi Nasr - PhD. Student, UIUC
59. Outline Introduction Diving in Additional Footage
Thank you
60. Outline Introduction Diving in Additional Footage
Thank you
61. Outline Introduction Diving in Additional Footage
F OR LATEST STATUS
IRC - irc.oftc.net:#idrc-mobile
Launchpad - Monitor tagin! in Launchpad and use it to
submit questions or feature requests
Contact me
@primalpop
primalpop@gmail.com