Seminar Projects Dong Xuan Associate Professor CSE Dept., The Ohio State University Barcode Scanner • Motivation: Check if friends have an item that can be borrowed before buying it • Function: User scans item barcode with camera, uploads to central DB, and checks if other users have the same product • Implementation: Architectural Overview Internet HTTP Request/ Response HTTP Request/ Response – Java with Android SDK (client) – MySQL and PHP (server) – Google ZXING (barcode scan) • Device: T-Mobile G1 PHP Script MySQL DB OCR Text Scanner • Motivation: Store and use contact info about businesspeople instead of carrying around many business cards • Functionality: Takes a picture of card, recognizes text using OCR, and displays text with hyperlinks to call/email person, map location, visit website • Implementation: – Java with Android SDK (client) – PHP scripts (server) – Tesseract OCR, netpbm (tools) • Device: T-Mobile G1 Multiplayer Tic-Tac-Toe Game • Motivation: Mobile phones have limited multiplayer game support • Functionality: Implements two-player tic-tac-toe via Bluetooth • Implementation: Java ME MIDlets and Bluetooth • Device: Any mobile phone that supports Java ME Tic Tac Toe – 1st Player Tic Tac Toe – 2nd Player 11X O X X 00O Exit Mark Exit Mark GPS Runner • Motivation: Joggers, runners, et al. need to keep track of their activities, coordinate group activity • Functionality: Keeps track of running statistics, displays paths ran on Google Maps • Implementation: – C# on Windows Mobile 6 (client) – PHP, MySQL (server) – Google Maps • Device: Verizon Wireless XV6800 Phone Security Utility • Motivation: Phones can be easily stolen and confidential data can be exposed • Functionality: Provides remote locking capability via SMS/MMS (password required), notifies user of theft via SMS/MMS, takes thief’s picture, sounds an alarm • Implementation: Python on Symbian S60 (via “pys60”); uses camera, location services, etc. • Device: Nokia N95 (uses front camera for picture) Real-Time City Bus Tracker • Motivation: Students and commuters are often stuck waiting for Columbus city buses (COTA – Central Ohio Transit Authority) • Functionality: “Scrapes” COTA RSS feed to get bus location (each bus has GPS) and displays it on a map • Implementation: – Java ME (client) – Sniffing & parsing COTA feed • Device: any phone that supports Java ME Flash Card Studying App • Motivation: Students use “flash cards” to help them learn concepts and it’s inconvenient to carry decks of cards around • Functionality: Allows students to enter information on electronic “flash card” and both check and refresh their knowledge • Implementation: Objective C • Device: Apple iPhone/iPod touch Emergency Notification System • Motivation: People in danger need to unobtrusively notify authorities, esp. if their lives are in jeopardy • Functionality: Those in danger press button on smartphone to notify police of threat with GPS location; “virtual keyboard” can be used with camera sensor • Implementation: C++ (for Symbian OS) • Device: Symbian OS-powered phones Conclusion • Students in OSU’s smartphone seminar developed numerous applications with many possible extensions, e.g., – Using smartphone cameras for distributed, context-sensitive image processing – Unobtrusively notify police via smartphone when one is held at gunpoint without gunman noticing • Thank you! Questions and comments?