LoGO is an advertiser support software which allows for consumers to access data regarding companies more easily. With nothing more than a photo of a logo, a consumer is instantly able to assess relevant information about a company. Apart from benefiting consumers and their willingness to gain information, LoGO allows advertisers to more easily spread their products, given that consumers are likely more inclined to research a company if the means of doing so are directly at their fingers.
Our team was inspired by the hypocrisy of the quote "you have a shorter attention span than a goldfish." People, especially in the digital age, have trouble focusing on anything than more than a few seconds. We set out to create a platform that does not require users to contribute any focus or attention, ideal for 2017. As well as this, we were inspired by the multitude of companies which attend hackathons. We often found ourselves not knowing what a brand was, but never had the will to look it up. With a platform like ours, we would be more inclined to delve deeper into information about the brand.
LoGO cuts right to the chase in terms of features: snap a picture, get information about a company. Any more complexity would make this software excessive, as it its purpose is to expedite the transfer of data about a company to the consumer. The most important feature of LoGO is its ability to immediately inform consumers about a company’s relevant details, and its ability to subsequently prompt them to research further.
An article published by Times Magazine in May 2015 ridiculed readers for their hypocritical use of the phrase “a shorter attention span than a goldfish.” The primary point of this article was to demonstrate how the digital age has impacted our generation in such a way that our average attention span is actually lower than that of a goldfish. Studies showed that the average human attention span was approximately 8 seconds - far more time than people are willing to devote to learning about a brand. Especially at a hackathon, a place crammed with sponsors and companies, it is beneficial to include a platform which accommodates for the easiest access of information about lesser known brands.
In creating LoGO, our primary goal was to allow users to view relevant information in as short a time as possible. Before they are able to search the web manually, users will likely lose interest or attention, resulting in an incomplete transfer of information. Our app’s simplistic design cuts this time to a fraction of what it takes to manually browse the internet, resulting in a much more informed user. Upon first impression, one may wonder about the apparent lack of features. However, with a better understanding of the app’s true purpose, one will be able to see the value of including less in the application. Unrelated clutter will force users to waste more time before gaining access to information, the exact opposite of our goal.
The app itself takes a minimalist approach for its entire workflow. A button on the main screen is pressed to trigger a camera preview, a second button is pressed to take a picture, and one last button confirms the image’s quality. And that is all. The rest of the work is done entirely by the application, absent of any user input.
How we built it
LoGO was a difficult application to create, especially with our combined lack of Android experience. The weekend began with a complete absence of any ideas. We brainstormed, hopping between augmented reality, virtual reality, and motion-tracking. We went to hardware checkout, and borrowed a Leap Motion, but quickly realized that our project, and nearly every possible project we could think of, had been done already. After several more hours of brainstorming, image processing was mentioned, and all of us instantly jumped on the idea.
We began our project with the intention of incorporating elements of augmented reality. Possibly, a brand’s logo could be used as an augmented reality marker, and information could be displayed relative to it. We decided against using this method, however, as we believed it detracted from the minimalism which was exhibited throughout the software. ^ Decision matrix (?), mockup (?) At the center of LoGO is the Google Cloud Vision API, a high-level image recognition and processing tool. By making calls to the API, we were able to determine a company’s likely name with high confidence. The API works entirely “under the hood,” sparing the user from interacting with anything that even borders complexity.
LoGO was built entirely in Android Studio, the Android Operating System’s namesake development environment. Using Android Studio was alright at first, but after attempting to add the various libraries which we intended to use, it quickly became painful. We encountered a barrage of SDK compatibility issues, namely with the Google Cloud Vision API. We eventually got the library to work correctly, but we frequently encountered code version compatibility issues, until the very end.
Once the back end was completed, working on front end was relatively easy. Despite not knowing Android, our team was successfully able to design the app’s simple front end. This was due to Android Studio’s beginner-friendliness for working on an app’s aesthetic.
Up until several hours prior to the deadline, our team was afraid of not being able to finish an app. However, we were able to prevail in the end, and create an application which was worthy of submission. Coding LoGO was an extremely rewarding experience, showing how determination and teamwork can lead a few high schoolers who know nothing about Android to the completion of a relatively complex application.
Challenges we ran into
The creation of LoGO was not lacking in programming challenges. First and foremost, our team knew absolutely nothing about Android beforehand, so learning and using it for the first time was one of the biggest hurdles to jump over. With the development of the application, likely the most prevalent issue we encountered was version incompatibility with different APIs. As soon as we tried to implement our first API (Google), we instantly were greeted by errors throughout the entire project. Our Gradle files were all red, our imports were not working, and worst of all, we had no clue how to fix it. Several hours of browsing StackOverflow led us almost nowhere, but we were somehow able to fix the outstanding issue with a series of version assignment statements before relevant methods. Even then, we continued to get compatibility errors each time we made modifications to LoGO, and while the new issues were far easier to fix, they were still highly irritating.
Other challenges we ran into likely stemmed from a combined lack of experience. We found the implementation of the Cloud Vision API to be relatively difficult, as none of us had ever worked with any APIs in Android before.
Thankfully, the core functionality of the app was near-perfect as soon as we completed our first version. We rejoiced when we were able to successfully determine what a Snickers bar was after just 30 minutes of getting null errors.
Accomplishments that we're proud of
Coding LoGO was an extremely rewarding experience. As mentioned previously on several occasions, nobody on the team knew how to code in Android, making the process that much harder. Just knowing that we were able to learn so much about Android Studio in the span of just one weekend simply puts a smile on our faces. We were especially proud of our implementation of the Google Cloud API, something that we found extremely challenging. Being mere beginners, and then being able to code an app of such complexity will serve as an inspiration for us on future projects.
What we learned
Over the course of the weekend, we learned the “ins-and-outs” of Android Studio in our own personal crash course. We started clueless, not even knowing how to make the screen say “Hello, world!” In comparison, by the end of the weekend, we had successfully implemented a Google Cloud API, made our design aesthetically pleasing, and most importantly, had a fully functional application. As well as technical skills, we learned the value of perseverance in such matters. Despite believing that we would not be able to finish, our team continued until the very end, fueled by a passion to create (and coffee chocolates).
What's next for LoGO
In version 2 of LoGO, it would be optimal to increase the accuracy and span of our brand determination. We found that the app worked with amazing accuracy, but lesser known brands were often unable to be found. Along with this, we intend to create an app that does not require the user to actually take a picture. Users should be able to simply direct their phone’s camera at a logo, without any extra steps, and be able to retrieve information.
Our focus on simplicity for LoGO was a guiding factor for our hack, but in version 2, it would be very interesting to see the AR features we were brainstorming earlier. In theory, we would be able to detect the edges of a logo using OpenCV, create a marker using these edges, and then use ARCore or Unity to view information in augmented reality.
Other than that, we found our app to be relatively complete. We don’t need much, as the app is supposed to be free of clutter in order to expedite the retrieval of information as much as possible. Overall, we were satisfied with how LoGO turned out. While we could add many more amazing features, we were left asking the question: “should we?” Each time we came up with another idea to add, we always thought that including it would take away from the app’s simplicity. By the end of the weekend, we were left with a product that truly achieved the goal of being able to transmit relevant information to users within seconds.