After exchanging business cards in a professional setting and sharing contact information in a personal setting, we wanted to find a way to make this process easier and faster. We thought that using the phone as a tag to transfer contact information would reduce the number of lost business cards and increase access to business cards.
What it does
This mobile application facilitates contact sharing during large gatherings such as conferences and career fairs. Two people come together and open the app to the connect page and our application automatically exchanges information between them.
How we built it
We used the Xcode IDE and Swift to implement Google Cloud Services such as the Firebase real time database API in order to store, access, and exchange the information. Then we implemented core location data in the database and locally in order to determine proximity between users. Finally we wrapped our functions and polished the user interface.
Challenges we ran into
Originally we intended to use core NFC data from the device in order to read and act as NFC chips, which inspired the name BumpCard because phones would have to be tapped together to use this feature. However, core NFC does not allow all phones to act dually as senders and receivers for NFC data, so we had to adapt and use core location data instead. Ultimately, this change affords the user a greater freedom as the connection distance is closer to a few feet than a few inches.
We also ran into issues managing the asynchronous flow of database queries and updates that allow a user to search, update, and connect contacts in the background without impeding use of the app. Additional challenges we ran into were a lack of uniformity among our devices and IDEs that impeded collaboration.
Accomplishments that we're proud of
Going from idea to finished product in just over a day with only two group members is an accomplishment we are very proud of because of the scale of necessary code for this project. We are also extremely proud of gaining a thorough understanding of the real time database API.
What we learned
We gained a wealth of knowledge about database communication and queries as well as how to use core user data. We learned how to design a project such that it can be coded separately and assembled later. We also learned how to use cocoa pods to integrate Google services with our project.
What's next for BumpCard
Before the project is ready for global distribution and shipment on the app store, we would like to focus on enhancing our security and encryption in order to protect user information. We would also like to conduct further testing to determine the ideal physical proximity threshold for our data exchange algorithm.