Finding a good WiFi connection in a large complex is hard enough. Finding the password or how to get the password makes it twice as hard. Wouldn't it be nice to have a fast and easy way to gain both and support local businesses by using their location and gaining access to a hidden discount!? We sure think so.
What it does
Wi-FindAR has two key functions supporting three key parties.
Function 1: Display a real-time crowd-sourcing heatmap of all WiFi's users have connected to, with an accurate location of good connection hotspots vs bad connection areas.
Function 2: Use AR to gain a more precise location of added WiFi routers, allowing you to visually navigate into a high connection area as well as gain information in a geo-linked pin such as router stats, known passwords, and possible discounts to businesses.
Customers/General Users - These users gain the amazing ability to see all known WiFi networks on a zoomable google map. This allows you to instantly know where you should go to connect to the internet to study, watch videos, or browse the web. Users also gain the unique perk of having known passwords accessible without having to go searching for posted signs or crazy login-webpage searching! Using the AR feature, users can also find the best spot in a building for the WiFi they are connected to with a GeoPin on the best connection location ever found for the WiFi.
Businesses - Business owners can set up Geo-Pins on their personal WiFi routers, promoting more foot traffic to their businesses with the added benefit of seeing which area is covered by their set up connection. Owners can also take advantage of the discount feature, adding a discount to the GeoPin, promoting nearby users to come shop with a gained discount or deal. Nearby users can see discounts and use AR to find their location and information.
OIT Network Maintainers - OIT Departments have to manage large networks across large spans of land. This is no easy task, considering one small outage could possible go unknown for a large amount of time. Wi-FindAR's heatmap allows them to see when an area loses WiFi signals in real-time, allowing them to stay on top of hardware failures. Another key feature of the heatmap is seeing where people are going to use WiFi. Since the map is updated with WiFi data surrounding the user, certain locations of their network might go almost completely unused, meaning that hardware could be used in a different location to better enhance the user experience. With the addition of WiFi stats, the number of users for a specific WiFi router can be used to measure which locations need more/less infrastructure.
How we built it
This application has three main sections to it. All real-time data is updated, stored, and pulled from a Google Firebase server. This allows us to have a scalable application that supports multiple users updating our heatmap data in real-time. Both AR and HeatMap are able to visualize this data in a 2D/3D space. The AR tab uses Android studio's ARCore along with a privately built ARLocation Library to display Geo-Pins of routers as well as WiFi connection spheres relative to you. The HeatMap tab uses local WiFi to populate the Firebase server with current data from many users simultaneously.
Challenges we ran into
AR was the main difficulty for this application. With zero prior knowledge, the addition of it cause many many hours of confusion and frustration. Google's ARCore is a very basic implementation of AR, and the addition of locations required copious amounts of math and storage. Optimization of the data collection was also tough. Letting it take whatever data was available made the app unusable in high-WiFi areas due to the sheer size of data we could get. Getting around this while still obtaining enough relative and relevant data was a real struggle.
Accomplishments that we're proud of
Both the AR and HeatMap functions work much more smoothly than we could have ever hoped for. We never expected to be able to perfectly sync data in real time due to the complexity of implementing it with Firebase and the heatmap.
What we learned
We learned a lot about AR as well as key google API resources for android such as Maps, ARCore, and how to properly deal with GPS locations. We also surprisingly learned a lot about the true complexity of android studio when you're wanting to implement things the correct way to minimize bad UI and slow processing..... Thanks callback hell.
What's next for Wi-FindAR
Further development with the goal of publishing to the Google Play Store. The ARCore premise can be expanded upon with crowd sourced data to create an accurate yet malleable map of WiFi topography. The scale-ability built into the Firebase back end allows for the crowd sourced user input to expand the uses for Wi-FindAR as the database is populated with geographical WiFi based data.