Let me tell you a simple story. Sometimes I leave notes for my family member at home or for my colleagues at my workplace, especially when they are not reachable. One day I leave an important document at my desk and leave a note for my colleague. But for an unknown reason my colleague does not get the notes, as a result he could not able to complete the task. I think almost all of us sometimes face this type of problem. From this incident, I and my team think that why we cannot make this an automatic process. i.e. we leave a message in a particular location and when someone enter that area that message will automatically popup. From that point of view, we come up with an idea Pinage, a simple location aware message service.
How Pinage works
People sometime cannot reach their friends colleagues or someone to whom they want to notify something. Pinage is the simplest location based message tagging service to notify their contacts. Using Pinage you can just simply leave your message in a particular location for your friends or contacts. When your desired person enter that area the tagged message will automatically popped up. As a result, no one will ever miss your notes. In Pinage the message will store in the server for one day only, after that this message will be automatically deleted from the server.
How we built it
At first we finalize our full project features and the needed tools and APIs. At the very beginning of the development process we focused on the simplest UX and UI design of Pinage. We used Google Design Sprint method to design the UX and UI of Pinage. During the UX design we design a couple of mockups. After finalizing the the UX we develop the server end of our app. We developed the server end by PHP and the mysql database to provide the service to the client app using Rest API. In Pinage client side is an native android application which is built with the ALOHAR location API. We developed the location aware messaging service in such a way that user can get the tagged message immediately after enter the specific area. We used the ALOHAR location service effectively and thus we successfully minimize the battery usage of device to detect the Geofencing event. We used the some external library such as android volley library for Rest API communication with the server. We also used other third party library in UI design of our app.
Challenges we ran into
At first when we started the Pinage development process, our main focus was to design the simplest UX. The UX design takes a lot of time to start our app development. Finally after a couple of mockups, we design the UX of Pinage application in such a way that user can easily put their message using just single tap. Now user can just type theirs message, select contact and a single tap will tagged in the user current location for their desired one. After that we faced a lot of problem in detection of user arrival or departure event with minimal usage of device battery. At first we did not read the ALOHAR documentation properly. But when carefully and thoroughly read and inspect the ALOHAR developer document, we saw that how easily we can detect any Geofencing event. After developing the Pinage the second most hurdle we faced during the app testing time, as we have to tag a message in a location and we have to wait until the ALHOR fires either arrival or departure event.
Accomplishments that we are proud of
We are tried how simply user can leave a message in a particular location and receiver can get the message as quickly as possible when the receiver enter a particular area. The main hardle was how to detect a Geofencing event, i.e. how we can determine when a user enters a place/area or leave that place. We successfully implement that feature with the help of ALOHAR location API. But the integration was not so smooth. We have to test that location based message popping feature several times to finalize that feature. But finally we successfully integrate this feature with the Pinage. We also design the UX of Pinage in such a way that user can simply pin a message without performing many unnecessary steps. In Pinage user can simply pin a message. Also receiver does not need to open the app to check whether there is any message; Pinage will automatically notify an user if there is a message for him/her.
What we learned
Our team developed many locations aware application in which we try to provide some information when an user enter an area. But the main problem in those apps was, we have to periodically check whether user is in proximity of a particular location. This process drains the device battery a lot. In Pinage we used the ALOHAR with our wrapper library to reduce the battery drain in determination of any Geofencing event.
What's next for Pinage
During this limited time we mainly implement the necessary features. But we have planned to add new features to smooth the user experience of Pinage. For example, till now the message lifetime of Pinage in server is one day, but we have a plan to extend this so that user can have multiple option for the message lifetime such as one hour[for short message], one week[for long lasting message] or message with lifetime validity. We are also thinking to add message conversation for a particular topic in private or public mode. We will also add the social network like facebook, google+ for signin or to allow user to import their contact or share their public message.