When an app idea became a reality…
This blog is about the development progress of my first actual app, Kontac. It’s in the app store! Or…check out the video of it! Or…link to the source code!
Hold up. What is Kontac?
Kontac is an app that allows you to easily share your contact information with people you meet. Ever wanted to keep in contact with awesome people you met at a party or an event but you can only exchange phone numbers and emails? What if you could easily exchange your social media info? Simply type in your info, choose what you want to share, and share by generating QR code to scan. Here’s a preview.
How It All Started
It was in December of 2015 when I had an idea of the Kontac app. I asked myself, “What if I could just save all my contact information along with my social media info such as Facebook, Snapchat, Instagram, and bunch of other stuffs and just easily share it with people I meet?” At the time I have not built any large iOS app before, all I did was bunch of small iOS projects at hackathons. Thus, I began by drafting the layout of my app on a whiteboard.
Basically, what the app does is store links to user profiles and save contact information of added users. Tapping on each row should open the native app or webpage that link to the selected user’s profile.
In this first prototype, instead of having the users manually type in their information, I thought that it would be easier to have users log in their social media accounts and the app would automatically fetch and store their information.
Unfortunately, after researching and digging into APIs for fetching account information, it became clear that manually typing in information is better because of internet connection and the common trend that some users dislike logging in their accounts in other apps. There are also no API for fetching account info for every social media. In addition, I thought about using HTTP request if there is no official SDK for logging in the users, but the information returned is not exactly what I needed to direct to user’s profile.
In this version, I added a test page which allows the user to check whether if the information he/she typed into the system works. If user has the native app installed, Kontac should open the native app and go to his/her profile. If no native app is installed, it will open the web page. After scanning the QR code, text fields will ask for first and last name, then a description will show up.
After talking to several test users, they said they disliked the idea of manually typing in the name of the person they’re adding. One of them suggested to pre-generate the first and last name so they don’t have to type it themselves. As a solution, I added a button and text fields so user can save their names. The user’s name will be pre-generated after scanning the QR code.
I wanted to have a unique QR code that distinguishes Kontac’s QR code from other QR codes. I wanted to have a brand. After looking at Snapcode and Kik Code, I researched on how to make custom code. Unfortunately, implementing my own custom QR code is costly and the implementation would take a long time. What I ended up doing was using the API provided by Apple that generates normal QR code and added the app logo as a background. Doing so allows people to see the distinguishable Kontac app QR code.
This version works well, but I also added a feature that allows the user to detect QR codes from images in addition to manually scanning the QR code. The library, however, had trouble detecting the QR code when there’s a background like the above photo (not the logo). Combating this problem, I put a black background along with the name of the user to make it easier to detect the QR code. Doing so allows the user to take a screenshot, crop it, and send it to other users.
If you have come this far, I hope you have enjoyed and continue to enjoy the progress of my app.