Analysis:
In our project, we have to interpret the physical energy estimation using accelerometer data, and perform some calculations on it, to determine the activity user is performing and thus analyze the calories burnt from it.
Furthermore, we have to provide an option to track the path if the person is jogging using the GPS co-ordinates and show track field with the time spent, average speed, the path where the speed was the highest and the calories burnt.
Also, with the accelerometer we find out the activity which the user is performing, suppose if the user is sitting for around 2 hrs(or whatever he has inputted through the form) and advises him through notification that walk around and get refreshed. Many options will come.
Also, we can have the music playing in the background when the user is working out, either through synchronizing it with the Music app or the third party app(like Amazon MP3, Desi Music – need to see if API’s are available for this and stream it through the internet).
When I used Endomondo, which is also an calorie tracking app, the user interface is awesome and the design is done very intuitively considering less options and very good animations moved from one activity to another. So we will be designing our app considering the design feature of this app.
Also, one more app that I like is Yahoo Sketch which is there on my IPhone, so considering how they show map, we hope of showing the map in that manner.
Ofcourse, how can we forget the social aspect of making any application. We will be integrating it with Facebook and Twitter, so that you can share your records with your friends and also compete with them.
The best way to make any app which is sort of big and has many features, is splitting into many tiny modules, that can be easy to test standalone and also be easy to integrate with the main application.
So the modules and the tasks to be performed are:
- Interpreting the accelerometer data: Just to test the data coming from the accelerometer and to analyze it in effective manner, we will make an application that has an option to start and after pressing this button, the activity will measure the x,y,z of the accelerometer data and store it in the SQLLite and also in the form of the csv file in the SDCard. CSV file is just to analyze it on MS Excel by storing it on PC, just incase for easy analysis. After pressing stop, we can just view the X,Y,Z co-ordinates value by pressing the SHOW information with the timings in table format in the new activity. Also, on the contrary, we can just modify the app Sensors that comes in the API Demos examples which shows the graphs interpreting the sensors. Doing this we can measure the data when we walk and record all the values and develop an algorithm, which can interpret the walking or sitting. We will need to meet the TA and the professor to understand the energy calculations with the accelerometer data and determining calories.
- Projecting the track on the map: By taking the GPS co-ordinate when the user presses the Start and then show the track as he is walking and also moving it in the background and then when the user presses the stop, it will stop recording the GPS track and present the user with the results of calories burnt and all the analysis(need to identify all the attributes for it). Also, we can provide a interface like the Yahoo Sketch wherein the user can just draw the path he wants to choose for the workout and using that path we can send him the directions or so and many more things can be integrated with it(need to think on it….but something like advertisements about some calorie conscious restaurant and some coupons for that – need to think on this, just optional).
- Integration with the facebook and twitter: Need to connect it with Facebook & Twitter, using their REST Api’s.
- Music in the App: Synchronize with the music from the default music app or the third party apps and make my playlist by working out.
- Animated moves within Activity: I was quite impress with the Endomondo app, so we kind of think to provide some animated moves within activity that will be more intuitive to use. Some app that I found which can give us a base for this are API demos->Activty->Animation section. So we think to do something like that.
- Notification Module: We need to implement a module that can notify the user if he is sitting for a long time. For notification just see the API Demos, which has some 2-3 ways of notifying.
We will get back with some design of the UI so that it can be easy to interpret how is the application going to work.
Also, we have features which we analyzed, please feel free to leave your comments and let us know, if we can include more features.