Brainstorm 1



Assignment 3: Brainstorm 1
Our first meeting consisted of us brainstorming ideas in order to decide what our ubiquitous prototype will be. We decided to brainstorm ideas based on either of our first two milestones, including using the Estimotes or going down the machine learning path.

Our initial ideas included the following:
Estimotes:

1) The supermarket
Using the estimote beacons to let us know where each item on our shopping list is based on proximity to the aisle (estimote). We thought this idea demonstrated ubiquitous computing well and will be simple to implement. Therefore, it will need to be implemented well.

2) Tables/Hospo
Using the estimote beacons to connect a restaurant to its customers. Each table will have a beacon, the user can then use an app to order food, view the menu, make a payment, and we can ping which tables have devices connected so a user could see how busy the restaurant is before you go.

3) Coffee Loyalty Cards
This is a very simple idea that just involves building an app to use when you visit a cafe. Basically we just take the physical loyalty card, and put it into an app, so when you buy a coffee from the cafe, your phone pings the estimote beacon to add another coffee to your card, you could also process payment through the app and even add online ordering.

4) Work out equipment 
Putting the estimotes on a work out machine (such as the treadmill) and when the user comes in close proximity with the machine, the application will show you a video/gif on how to do the exercise as well as recording the workout and creating a summary for how long and how many times you have used the machine etc. This data could be useful to visualise your workouts for the week and you could even turn it into a social media style app so other users can follow their friends or famous trainers and view their workouts for the week.

Machine Learning:
1) Fitness Breakdown 
This is just a data prediction/recording app that learns all the states you do during the day, then records how long you performed each state for and automatically adds it to a summarized visualization at the end of the day.

2) Competing Sports App
This was the same idea as the fitness breakdown app, but we extend it to add a competitive edge so you can compete against your friends in exercise activities each week, potentially by adding a points system for each stretch of exercise the user completes during the day.

3) Dead Reckoning
This was barely a developed idea, but just a suggestion to attempt to use sensor fusion to track a users location after we disable Location Services for the device. Attempt to calculate the next state based on the previous state of the device when we took our last location reading.

4) Sports Detection 
Extends our second assignment by detecting more states. In this case our states would be different sports. This would be challenging to get right and would involve a lot of training and testing, plus we would be better ordering a device that is smaller and has the sensors built in, this way the user won’t have to carry a phone when playing sport.

We managed to narrow it down to two options. The supermarket estimote option and the workout equipment option. After a discussion about the advantages and disadvantages of both, we ended up with a unanimous decision.

Final Decision 

Our final decision came down to what we thought would be interesting and fun to implement as well
as which one we thought we would be able to extend if we ended up finishing the application early.
The project we ended up picking was the supermarket application which essentially uses Estimotes or
a similar technology to make your supermarket shop more efficient.

The idea is to fill a supermarket with estimote beacons, so each aisle or every second one has a beacon attached to it. After development of the idea, we thought it would be efficient if we placed a beacon on the end of every aisle in a way that allowed a user to do their entire shop from start to finish or to open the app at any point in time and the app would still work. (As shown in the figure below. The stars represent our estimotes):

                                

Every item in the supermarket will be stored in a database. We could store:
- Generic Item Name
- Aisle Number
- Price
- Specific Brand

The user has a shopping list. This could look like:
- Eggs
- Bread
- Milk
- Frozen Mixed Vegetables
- Cheese
- Frozen Peas

When the user gets in range of a specific beacon, we set the app to update the shopping list by highlighting/reordering/bringing up the items on your list that are in the aisles specific to the beacon you are pinging. We could then add information to the shopping list like:

- Which aisle number each item is located on
- Return a sublist of each brand (and the price) of the item
- This could be sorted in several ways
- If our database stored the “price per 100g” for example then we could sort the list by the brand names of the product that has the best value for money

For example, if the user approached the freezer aisles, the list could be updated to look like the below:
- Frozen Mixed Vegetables - Aisle 4
- Value - 44c per 100g
- Pams - 49c per 100g
- McCains - 79c per 100g

- Frozen Peas - Aisle 4
- Value - 47c per 100g
- Pams - 51c per 100g
- McCains - 89c per 100g

- Eggs
- Bread
- Milk
- Cheese

The app would store the supermarket database in the local storage because we have no need to implement web functionality for the project. Each item in the database is stored with an aisle number, so we can recognise when we hit the beacon (each beacon is linked to aisle numbers, e.g. aisle 1, aisle 2). We can then search the database based on the aisle numbers linked to the beacon we just pinged. For example, return_Items(beacon.getAisles()). This method would return a list of all the items in those 2 aisles. We then cross reference these against the users shopping list and update it accordingly.

If we treat the scenario as an ideal world, we could make the assumption that every user has the app downloaded to their device. This would mean we can then track how many people are inside the supermarket at any given time, giving the building operators useful health and safety information. If we added web functionality, we could give a user information about how busy the supermarket is before you leave the house to go there. From this, we could calculate peak times from the data we record. We could also create a visualisation of the users supermarket shop by sorting the food on the list into categories and showing the user how much of their shop fell into each category. We could show a pie chart for example on how much food the user has purchased from each category, so if your shop is a little heavy on the snack side and light on the fruit and vegetables, you could easily see that.

Written by Sam, Celine













































Comments