Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities
-
Upload
marc-bacvanski -
Category
Technology
-
view
167 -
download
1
Transcript of Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities
![Page 1: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/1.jpg)
Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart CitiesA Voice and Location Enabled Platform for Connecting Cities and Their Citizens
By Marc [email protected] 2017
Ok City!
![Page 2: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/2.jpg)
Problem: Disconnected Citizens
● Cities don't have resources to engage citizens
● Citizens don't know who to call when something concerns them
● People don't report important matters because they don't want to flood
911 calls
● Citizens don't have an effective way to inform and share good news with
the community
Citizens are disconnected from their cities due to a lack of an easy, fast communication platform for reporting issues and sharing positive events in the local community
![Page 3: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/3.jpg)
System Requirements: User Stories
● As a city manager, I want to view statistics for my city so that I can take action on them.
● As a city manager, I want to resolve issues posted in my city to mark their completion
● As a city manager, I want to moderate posts so that I can focus on important ones.
● As a citizen, I want to view nearby posts so that I can know what is going on.
● As a citizen, I want to create posts to inform the city about problems to be fixed.
![Page 4: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/4.jpg)
REST
Sentiment
Text
Post Vis
Post Mgr
Scalable, Mobile Backend AI and ML APIs
NoSQL DatabaseScalable, Mobile Backend
REST
Geo Vis
Post Stats
Post Resolve
Portal Views
Web Sec.
NL API
Citizen Posting
Citizens Viewing
City Manager
● System deployed in cloud● Scalable, distributed architecture ● NoSQL Big Data database● Implemented latest web technologies: Node.js,
enterprise-grade security● AI for sentiment analysis
Context Diagram: Ok City System and its Users
● Mobile application featuring Text-To-Speech
● Material design: consistent experience from phone to desktop application
● REST communication with backend
● Integration with maps and geolocation
Ok City Cloud Deployment
![Page 5: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/5.jpg)
Report stored in database, machine learning applied for sentiment
Flow of Interactions
Recording a Report
User voice-records a report in the app
Browse Reports
User can view nearby reports on a map
Resolving Reports
City manager can resolve obsolete or completed reports
View Reports & Statistics
City manager can view reports and powerful statistics about his city
Citizen (Phone)
Reports and statistics sent to city portal
Report data sent to user's device
City Portal
Back-end
View Resolved Reports
Users can see their reports that have been resolved
![Page 6: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/6.jpg)
Comparison to Other Systems
Feature Existing Ok CityGeographically Placed Posts
Voice-Activated Posts
Custom Posts
City Manager Portal
City Manager can Resolve Posts
City Statistics: Sentiment, Timeline
Existing systems include: Waze, Yelp, TripAdvisor, city portals like Ask Mountain View Mobile. These systems have limited functionality.
![Page 7: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/7.jpg)
Mobile: Browse Nearby Posts
Opens filter dialogue: filter reports by recency
Post on map: message, location, and time of reporting
● Map reflects user-selected filtering options
● Map centers at user's location, shows nearby posts
![Page 8: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/8.jpg)
Mobile: Record New Post
User can manually edit the recorded post
Submit report to city, re-record post
● Automatic speech-to-text is performed on the phone itself to let citizens record reports hands-free
● Safe to use on the road: no need for typing
● Sentiment analysis is done once the text report is sent to the server
![Page 9: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/9.jpg)
Mobile: Filter Posts by Location, Time
● Scalability is maintained by having all filtering done on server-side
● Posts are filtered by time of posting● Posts that are resolved by the city
are not shown to user ● Posts are only displayed from within
selected geographical view bounds
User can select time period from which to display reports
![Page 10: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/10.jpg)
UML Sequence Diagram: Post Creation
![Page 11: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/11.jpg)
Web: City Overview - Geo View and Posts
Filter by keyword
Resolve selected reports
Sentiment of report: positive or negative
This page is built using Material Design Lite and JavaScript that interacts with the Google Maps API as well as the back-end server using REST and JSON.
![Page 12: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/12.jpg)
Web: Resolved/Unresolved Citizen Reports
Reports, filtered by resolved only
Marker on map with description and timestamp
The JavaScript running this page is written in EcmaScript 6 using Functional Programming styles and asynchronous programming techniques using Promises.
![Page 13: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/13.jpg)
Web: Pulse of the City - Analytics Visualization
Pie chart of positive / negative sentiments
Line chart of sentiment over time
More actions in drawer
Zoom controls for pagination of data over time
These graphs use Google's visualization API, and utilize pagination to efficiently handle large numbers of reports. These visualizations can be easily extended to handle custom visualizations.
![Page 14: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/14.jpg)
Sequence Diagram: City Manager Viewing Reports
![Page 15: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/15.jpg)
Component Architecture: Mobile and Web Backends
System architecture presented as UML diagrams, according to the IEEE 1471 standard for representing software architecture.
![Page 16: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/16.jpg)
Functional Programming in JavaScript 6
Code Size (LOC):
● Total: 2425● Java: 1076● JS: 1000● HTML/XML: 349
![Page 17: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/17.jpg)
Mobile: Java 8 Structural Code Analysis
![Page 18: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/18.jpg)
Ok City Vendor-Independent Cloud Deployment
REST Handler
AI: Sentiment Analysis
Text Analytics
Post Visualization
Post Manager
Scalable, Mobile Backend: Node.js
Mobile Device
Firewall Load Balancer
AI and ML APIs
City Portal Firewall Load Balancer
Scalable MongoDB NoSQL Database
Scalable, Mobile Backend: Node.js
REST Handler
Geoquery Visualization
Post Statistics
Post Resolver
Portal Views
Web Security
Natural Language API
Speech to Text
Report Submitter
Report Mapper
Report Manager
City Statistics
Geo View
![Page 19: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/19.jpg)
Technologies Used
Technology Usage
Android Mobile app
Java 8 Programming of Android application
Node.js Web server
Express.js Node.js framework for web applications
EcmaScript 6 Web programming
MongoDB Scalable, NoSQL database
HTML5 + CSS3 Web UI
Material Design Lite Front-end templating
JQuery Client-side scripting
Google Natural Language API Sentiment analysis
Heroku Scalable, cloud hosting from Salesforce
![Page 20: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/20.jpg)
Technology Highlights
Cloud Architecture: Flexibility and Autoscaling● Stateless REST architecture, service-oriented ● Separation of responsibilities, fault-tolerant resiliency
AI and Machine Learning● Sentiment analysis using Google Natural Language APIs● Speech-To-Text on mobile application
Security● OWASP (Open Web Application Security Project) best practices● Implemented with Lusca: enterprise-grade security package
used in financial industry
User Experience: Material Design ● Easily accessible experience● Unified experience across mobile and web
![Page 21: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/21.jpg)
Future: Deep Learning, Real-Time Streaming
● Sophisticated Deep Learning using custom natural language for criticality analysis, beyond commercial offerings
● Integration with IoT sensors and video feeds in cities to generate automatic posts
● Deployment on serverless architecture such as AWS Lambda and Google Cloud Functions
● Automatic server deployment using Docker● Big data analytics on nationwide data● Real-time stream processing
y = softmax(Wx+b)
![Page 22: Ok City: Unifying Mobile, Cloud, and AI Techniques in a Crowdsourcing Application for Smart Cities](https://reader031.fdocuments.in/reader031/viewer/2022030318/5a6570637f8b9a02158b4a5d/html5/thumbnails/22.jpg)
Join Me on Github!
My Profile
Ok City ReposThis is just the beginning. Let's work together on building the future of connected cities!