teaching machines

Invisible Inc

October 1, 2014 by . Filed under cs436, fall 2014, postmortems.

The project is in collaboration between Aaron Emmert, Tim Beckman, and Jamison Ebert.

Fundamentally, we wanted to design app that adds a level of depth an complexity to a relatively simple tool without compromising any of that simplicity and ease of use it has to offer.  We observed larger companies like Apple and Google for their understated approach to augmenting everyday tasks.  Google, since the dawn of time has been a white home page with a box to type in whatever it is that you want to know about.  On the surface, simple and straightforward being powered by powerful algorithms and technology underneath.  Even when expanding its services, Google has been careful to keep extra features hidden into a few simple icons to access other areas besides it’s search, such as Gmail, or Google Drive.  This is opposed to alternatives like Yahoo, who’s website has grown so busy and feature rich that its infinitely more cumbersome to use up front.  We feel that this muted success, and focus on functionality and the basics have helped companies like Google become a household name. By maintaining a simple and straightforward interface WHILE adding behind the scenes robust functionality and tempered complexity with their growing portfolio, Google’s been able to keep on the forefront of both consumer appeal and cutting edge trends for technology.

On that token enter Invisible Inc, the smart notepad app that intelligently reads your shopping list and offers helpful little add on’s to your notes for your convenience.

How it works:

1) First type in a desired store and then your shopping list, or if no store is entered it will default to being a normal notepad.

2) It runs a main thread that waits after a 5 second delay of inactivity to read your list and compact it into an internal data list

3) It parses the list with regex pattern matching to isolate keywords and compacts those into a condensed list using intelligent parsing to weed out what is and isn’t a shopping item.

4) It then checks and compares the list to a cached previous version of the list to ensure its a legitimate change and not a typo, avoiding unnecessary network calls to the database.

5) Once the list is determined as a change, it uses backend JSON data queries with the keyword list to check for the items in the specified store closest to your GPS location using the Google Maps API.

6) It grabs the logo of the specified store as well as initializes a link to map the store and interact with your navigation services to offer GPS based navigation

7) It takes the returned query values from the JSON calls, and matches them to their corresponding items within the list

8) The concatenated results fade into their corresponding values in the UI – just like invisible ink would do on older documents

Features to be implemented:

Second swipeable screen past notepad to show map of store entered relative to your current GPS location and picture of site from Google

Voice commands and voice activation