Dhruv Relwani interned at Qatar Computing Research Institute to develop the Android version of the "ICamel" app as part of the Mobile/Wearable Health Sensing and Interaction Project. The app uses a virtual pet to motivate users to be more physically active and make healthier choices. Relwani designed game mechanics and interfaces, implemented core functionality, and addressed technical challenges to create an engaging health game that collects user data.
Augmented Reality Design of Indonesia Fruit Recognition IJECEIAES
Augmented Reality (AR) is one of the popular technologies nowadays. Along with the technological advances, Augmented Reality is an effort to combine the real world and virtual worlds created through computers so that the boundary between the two becomes very thin because Augmented Reality allows users to interact in real-time with the system. Augmented Reality can be applied in various fields according to the needs of each user. One application is on Android-based mobile hardware applications. This research developed the Augmented Reality battle with some of the features more interactive, interesting and clearer information to facilitate the user in its operation. This Augmented Reality is applied to the Android mobile device with the name of FruitGarden. This paper presented of designing Augmented Reality for recognizing the fruit of Indonesia archipelago which will give a different view of performing the fruit image and information.
A Development of Android-based Mobile Application for Getting Ideal WeightTELKOMNIKA JOURNAL
The development of this application has a goal to give people who don’t have any idea of how to
keep an ideal body weight and to maintain it by having controlled food intakes and exercises. This
application is designed by using a Waterfall Model, a 5-phase model that is Communication, Planning,
Modeling, Construction, and Deployment starting from as the aforementioned steps. Based on the
responds we get from distributing questionnaire, many people didn’t know how to exercise properly and
didn’t bother to check the calories of their food. Their weight is also a problem because most of them still
have an Overweight or Underweight status. From those responds, we can conclude that our application
will indeed help people to get and maintain their ideal body weight.
Augmented Reality Design of Indonesia Fruit Recognition IJECEIAES
Augmented Reality (AR) is one of the popular technologies nowadays. Along with the technological advances, Augmented Reality is an effort to combine the real world and virtual worlds created through computers so that the boundary between the two becomes very thin because Augmented Reality allows users to interact in real-time with the system. Augmented Reality can be applied in various fields according to the needs of each user. One application is on Android-based mobile hardware applications. This research developed the Augmented Reality battle with some of the features more interactive, interesting and clearer information to facilitate the user in its operation. This Augmented Reality is applied to the Android mobile device with the name of FruitGarden. This paper presented of designing Augmented Reality for recognizing the fruit of Indonesia archipelago which will give a different view of performing the fruit image and information.
A Development of Android-based Mobile Application for Getting Ideal WeightTELKOMNIKA JOURNAL
The development of this application has a goal to give people who don’t have any idea of how to
keep an ideal body weight and to maintain it by having controlled food intakes and exercises. This
application is designed by using a Waterfall Model, a 5-phase model that is Communication, Planning,
Modeling, Construction, and Deployment starting from as the aforementioned steps. Based on the
responds we get from distributing questionnaire, many people didn’t know how to exercise properly and
didn’t bother to check the calories of their food. Their weight is also a problem because most of them still
have an Overweight or Underweight status. From those responds, we can conclude that our application
will indeed help people to get and maintain their ideal body weight.
What goes out when and where, and who is responsible? How can we communicate as efficiently and as effectively as possible? We’ll help you answer these questions by talking about some essential communications practices, including using an editorial calendar, curating content (using materials created by others) and re-purposing content (recycling your own materials).
More information about this training series, including video recordings and handouts: https://lwvc.org/new-information/2015/aug/communications-training
Our goal is to give local League of Women Voters leaders the knowledge, tools, priorities and shared language so that they communicate more effectively online. This is a fun, interactive, practical 3-part communications training webinar series.
The trainings are being created by Nonprofit Marketing Guide's fantastic Kivi Leroux Miller for League Easy Web (LEW), a technology used by over 260 Leagues to host, create, and maintain their web sites.
Facebook based movie Quiz Gaming application for iPhone and iPad with features for multiple players, ability to import facebook contacts and authentication.
What goes out when and where, and who is responsible? How can we communicate as efficiently and as effectively as possible? We’ll help you answer these questions by talking about some essential communications practices, including using an editorial calendar, curating content (using materials created by others) and re-purposing content (recycling your own materials).
More information about this training series, including video recordings and handouts: https://lwvc.org/new-information/2015/aug/communications-training
Our goal is to give local League of Women Voters leaders the knowledge, tools, priorities and shared language so that they communicate more effectively online. This is a fun, interactive, practical 3-part communications training webinar series.
The trainings are being created by Nonprofit Marketing Guide's fantastic Kivi Leroux Miller for League Easy Web (LEW), a technology used by over 260 Leagues to host, create, and maintain their web sites.
Facebook based movie Quiz Gaming application for iPhone and iPad with features for multiple players, ability to import facebook contacts and authentication.
Free advertising platform for businesses with IOS & Android Apps developmentMike Taylor
Free advertising platform for businesses with IOS & Android Mobile Application development & features for web syncing. OR code scanning mobile app used for free advertising.
Free advertising platform for businesses with IOS & Android Apps developmentMike Taylor
Free advertising platform for businesses with IOS & Android Mobile Application development & features for web syncing. OR code scanning mobile app used for free advertising.
Community App for Promoting Cross-Cultural InteractionMike Taylor
Community app for promoting cross-cultural interaction with facebook, Gtalk and multiple social networking sites integration. It includes blogging and photo sharing
Community App for Promoting Cross-Cultural InteractionMike Taylor
Community app for promoting cross-cultural interaction with facebook, Gtalk and multiple social networking sites integration. It includes blogging and photo sharing
Math quiz is application for Android devices. The purpose of the application is to encourage students in solving mathematical expressions. The application allows students a fun way to solve mathematical expressions. It is intended for students who loves to take challenges to calculate swiftly. In this application user can play single player and multiplayer.
We will be using Android for our project.
The conception of the Android platform is attracting more and more programmers in mobile computing fields. Android is a package of software for mobile devices, including an operating system, middleware and
Core applications. The Android SDK provides powerful tools and APIs necessary to develop applications on the Android platform using the Java programming language. Android platform is of open system architecture, with
Versatile development and debugging environment, but also supports a variety of scalable user experience, which has optimized graphics systems, rich media support and a very powerful browser. It enables reuse and replacement of
Components and an efficient database support and support various wireless communication means. Android platform will not only promote the technology (including the platform itself) of innovation, but also help to reduce development costs, and enable developers to form their mobile systems with unique characteristics.
Gps based search coupons on map view ios, android mobile applicationMike Taylor
GPS based coupon, offers redemption, renewable membership application for iOS and android mobiles with social media integration, map view and location finder services
1. Summer Internship 2015
Qatar Computing Research Institute
Dhruv Relwani
University of California Berkeley
Logistics and Project Description:
Contributed to the Mobile/Wearable Health Sensing and Interaction Project at the Social Computing
department of Qatar Computing Research Institute, as a summer intern (May - July 2015). Collaborated
with my team member (Mohammad Yakoob - iOS app developer) and my mentors (Yelena Mejova,
Meghna Singh, Ferda Ofli & Ingmar Weber) for 8 weeks (averaging around 30 hours/week) to develop
the Android implementation of the “ICamel” app.
Our project was to develop an interactive interface for health-related data, like physical/physiological
activity and food consumption, on a mobile or wearable technology that can then be integrated into a
social media platform. We achieved this objective by creating a virtual pet that initially intends to build
an emotional connection with the user through daily interaction prompts and then challenges the user
with tasks involving physical exercise. This lifecycle of the pet is integrated into a game flow that’s
driven by user's physical activity signals and screen interaction with the pet that contribute to respective
point-systems in the game.
Goals Achieved:
ICamel Game Concept:
Conceptualized the Health and Happiness Meters for the virtual pet and scaled them to optimize user
interaction. Accounted for the average number of days in a month and strategically decided the
incrementFactor and the reductionFactor for user’s points earned during the game. To ensure regular
user interaction, created the dependency of the Health and Happiness Meters on DailyActivity of the
user and food from the PetStore; This helps in developing an emotional connection with the pet through
regular interaction and in improving user’s health with daily challenges that adapt to user’s behavior
while motivating him/her to walk more number of steps. Further developed concepts that can be
implemented in the future to enhance the game, like Hide & Seek, Daily Question (to make the user
aware about his/her diet) and integration with Social Media.
Basic Implementation of the app’s Graphical User Interface:
Designed 3 basic user interfaces to provide visual feedback about the user’s progress in the game, his/
her next challenges, the points accumulated and the available options in the PetStore. Implemented 3
different Android Activities (NameScreen.java, ICamelActivity.java and PetStoreActivity.java) to
develop the game's flow according to its concept. Searched for the best methods to save the app’s data
and finally implemented Android’s SharedPreferences during every possible stage of the life-cycles of
different activities, to save the user’s progress (even in the worst cases when the device is switched off
or the user receives a call). Resolved the issues related to the device’s RAM consumption (because of
the auto-resizing of the layout images to match device’s screen resolution), to develop a smooth
connection between different activities of the game. Finally, added the additional feature of walking in
the PetStore to earn points from challenges instantly.
of1 5
2. Implementation of the app’s back-end (Game’s logic and data collection):
Developed the intricate implementation of the idea flow by creating Game.java to account for all the
possible cases (including the corner cases of the Health and Happiness Meters). Provided the app's
adaptability to all Android phones based on the device’s hardware (the sensors available) and used the
best possible hardware data for the pedometer (StepCounter for phones after Android Kitkat 4.4 and
Accelerometer for phones without a step counter). Manually calculated the steps using the
accelerometer data using a complex algorithm (by Levente Bagi) and integrated that in the game flow.
Strategically utilized the different stages in the life-cycles of the Android activities to determine the
days passed during the game, to check the available device sensors and to unregister the sensors (to
reduce battery consumption and enhance the app’s efficiency).
User Interface Description:
The NameScreen activity of the app prompts the user to name his/her virtual pet when the app is first
opened on an Android device. Consequentially, the ICamel Activity of the app displays the user’s
progress in the game through the Health & Happiness meters, step count, counter for the number of
challenges completed and points earned. At the center of the screen is the pet camel with which the user
can interact by tapping on it to make it feel happy. This image of the pet also revises according to the
pet’s satisfaction levels and well-being. In addition to the textual feedback this activity provides to the
user about the number of steps required for his/her next challenge, the food & challenges flags signify
the user’s contribution to the Health Meter for that particular day.
Finally, the PetStore Activity allows the user to utilize the points earned to enhance the pet’s
appearance or buy food, toys or accessories for the pet to make it happy.
of2 5
3. Challenges Encountered:
Learning Android Studio and developing sample app
Learned about the foundational tools and processes for developing sample Android applications and
minor debugging tips like rendering Layouts in Android Studio 1.2 by manually building the project
and syncing Gradle files. Read through multiple descriptions in the API guides on
developer.android.com and consequentially learned to develop motion-sensing apps on Android Studio
through the Udacity course, “Developing Android Apps”.
Acquired knowledge about the App components like Activities, Services, Broadcasts and Content
Providers. Created my first sample app, with a user interface that displayed “Hello World”, after
learning about the Activity Life Cycles and the process for unlocking developer mode on Android
phones. Finally, reviewed the API descriptions for using different sensors like Accelerometer and Step
Counter on Android phones.
Step Counter for all Android phones
Built a sample app that displayed the speed based on Accelerometer data (beyond some minimum
threshold) with which the phone moved and then learned to query step counter data on phones that used
Android Kitkat or newer OS and were released after Nexus 5. Searched for algorithms to convert
Accelerometer data into step counts, for the phones that don't include a built-in step counter, by reading
through the source code for many pedometer apps, the Android Sensing Kit and some suggestions on
StackOverflow. Successfully developed and installed a sample app that counts steps for all Android
phones with hardwares including at least an Accelerometer. This app provides the best estimation of the
user’s step count by querying the step counter for phones that have one or by using an algorithm to
convert accelerometer data into steps.
of3 5
4. RAM Consumption issues and separation of UI classes from backend
When bulky images are placed in drawable (idpi/mdpi) folder, Android OS tends to resize them
according to device’s screen resolution; This caused “Java Out of Memory Error” while loading the
ICamel and PetStore Activities. Hence, the images used were subsequently resized manually to meet
the requirements and then placed in “res/drawable-nodpi” directory to avoid rescaling.
Experienced the “FindViewById method cannot be referenced from static context” exception when the
Game.java (backend) file was created to support all the methods that weren’t utilized to access the user
interface (encoded in the 3 Android Activity java files). Resolved this issue by saving the instances of
Android Activities in static variables (in Game.java) that were utilized to connect the backend to the
UI.
Scaling the Health Meter:
The Health Meter is dependent on 2 primary factors- Daily Activity of the user and the food from the
Pet Store:
The Health Meter has 60 divisions (30 units with 2 divisions each).
One unit comprises of 2 divisions of 2 different types - Daily Activity divisions and Pet Food divisions.
Daily Activity- If the user completes at least 1 challenge on a particular day, he/she will earn credit to
contribute 1 division to the Health Meter.
Pet Food- The user can use the points earned from these challenges to purchase pet food and hence
contribute 1 division to the Health Meter.
On one particular day-
The contribution to the Health Meter cannot exceed 2 divisions (of 2 different types).
When The Health Meter is not full:
• Best Case (1 Unit Contribution to the Health Meter = 1 + 1 divisions):
• The user walks and completes at least 1 challenge and contributes 1 Daily Activity division to
the Health Meter.
• The user also utilizes the Health Points to feed the pet and hence contributes another division
(Pet Food) to the Health Meter.
• Since we start the Health Meter at 50% (30 divisions), the user will fill the Health Meter in 15
days by contributing 15 units (2 divisions) daily.
• Alternate Case 1: (User accumulates health points but doesn’t exercise):
• The user utilizes the Health Points to feed the pet and hence contributes 1 Pet Food division to
the Health Meter.
• The maximum contribution, using Pet Food (earned by Health Points), to the Health Meter
cannot exceed 1 division on that day, irrespective of the health points accumulated by the user.
• Hence the total contribution to the Health Meter would only be 1 + 0 division.
• However, the Happiness Meter will reflect a negative change.
• Alternate Case 2: (User completes at least one challenge but doesn’t feed the pet):
• The user completes one challenge and hence contributes 1 Daily Activity division to the
Health Meter.
• The maximum contribution, due to the user’s daily activity, to the Health Meter cannot exceed
1 division on that day, irrespective of the number of challenges completed by the user.
of4 5
5. • The benefit of completing additional challenges would only be reflected in the Health Points
earned (which can then be accumulated to buy gifts from the Pet Store).
• Hence the total contribution to the Health Meter would only be 0 + 1 division.
• However, the Happiness Meter will reflect a negative change.
• Worst Case (The user neither completes a challenge nor feeds the pet):
• The Health Meter would go down by 2 divisions.
• The Happiness Meter will reflect a negative change.
• Since we start the Health Meter at 50% (30 divisions), it's reasonable to “kill” the pet after 30
days of inactivity.
• In the best case (the Health Meter is full: 60 divisions), the user can then remain inactive for
60 days before the pet “dies”.
When The Health Meter is full:
• Best Case (User completes Daily Activity and provides Pet Food):
The Health Meter remains full.
• Alternate Case:
The Health Meter would go down by 4 divisions.
Future Ideas:
1) Using a heuristic to learn the user’s most visited routes and then integrating them in the Hide n
Seek game with the pet.
2) Utilizing the user’s food pictures shared on social media like Instagram to check for nutritional
values and health benefits by using Google’s Image Search API.
3) Integrating Facebook for ranking the user against his/her friends based on the points earned in the
game.
4) Storing the game data on external servers to query for medical studies about daily physical activity
in different lifestyles.
ICamel Source Code:
https://DhruvRelwani@bitbucket.org/healthypet/icamel-android.git
of5 5