-
Notifications
You must be signed in to change notification settings - Fork 110
GSoC 2015 Ankita Kalra & Bruno Henriques
I am a 4th year Undergraduate Student of Electronics Engineering at IIT(BHU), Varanasi. My fields of interest are, Android Application Development, Signal Processing, Apache Hadoop. My academic projects related to Android are,
-
Developed an Android Application for estimating stress level using ECG Signals.
Developed an android application which receives ECG Signal from a wearable ECG Device through Bluetooth and calculates the Stress Index. The algorithm was first developed in Octave then C++. The native C++ code was ported to Android using JNI and Android NDK.
-
Developed an Android Application for tracking location using images taken from a mobile camera.
Developed an Android Application at our departmental fest Udyam for tracking and identifying GPS tagged images of buildings and landmarks. The Image Processing API were given by Streamoid, the title sponsor of the Event. This Application bagged me 3rd Position in the event.
Apart from technical projects, I have been a student mentor at Networked Communication and Computation Lab at IIT(BHU), Varanasi, where I have helped students regarding the technologies like Apache Hadoop, Hive, Flume and Mahout. Also, I have been a mentor at Robotics Club of my college where I have taught students to build gesture-control robots.
At my free time, I love to browse web. Majorly, I like to stay updated on websites like Mashable Tech, Wired, Gizmodo and also explore new technologies in my fields of interest.
One completely unrelated trait of mine is that, I am a foodie. I love to taste dishes from different cuisines and share my experience with friends.
I am a sincere person, I stay determined while working and focus on details to achieve perfection.
IRC Nick: ankittie
E-Mail
Linkedin
Github
Google+
Twitter
Facebook
Project Description Github
Project Description Google Melange
My project is development of Android Application for Malaria Prevention. My project managers are Rose Robinson and Nicki Hutchens. My mentors are Aditi Mehta and Aneke Chimdindu. This is a mobile project as well as one of the Peace Corps Projects.
The ioS app will be developed by Bruno Henriques with Shanu Salunke as mentor.
Malaria Android App Software Design Document
Doses In a Row Unit Test Results
- Finalized the project timeline with my mentor.
- Compiling and Building the Malaria App with Viewer Pager Indicator
- Running the Appication in the Device
- Helped revising the step-by-step compiling guide for Malaria App
- Deliberation over whether to use JSON or RSS Feeds in Data Sync for Info Hub
- There were some problems in compiling the malaria-app-android repo.
- Yes. My mentor had made a step-by-step by compiling guide. I followed it with few additional steps and got it build.
- No.
- No.
- Data Sync in Info Hub
- Offline Data Caching Implementation for Info Hub
- Graphical Implementation of Data
- Almost on Schedule
- I created a sample app which fetches JSON Data from the Peace Corps Site.
- I made it work with the authentication, it parses JSON Data and shows in the TextView.
- I created other activities screen related to the Info Hub.
- I modified the code of the sample app for use in Info Hub.
- I figured out implementation of Offline Data Caching for Info Hub.
- One of the tasks this week were Graphical Presentation of Data, as it was not clearly mentioned anywhere in the requirement doc, i.e. which type of data needs to be graphically represented. I asked my mentor, he told me to wait for the meeting with the whole MACC Team.
- They will be resolved after the meeting.
- Graphical Presentation of Data for Info Hub
- Discussion over the Data for Info Hub with MACC Team in next meeting is required.
- Finalizing Offline Data Caching Implementation in Info Hub
- Calendar View Implementation in Pill Tracker
- Graphical Implementation of Data in InfoHub
- Almost on Schedule
- Offline Caching Implementation for Info Hub
- Calendar View Implementation of Each of the Four Months
- Implementation of Day Fragment Activity for Any Clicked Date
- Database Integration with the Calendar
- Shared Preferences Integration with the Calendar
- Database Integration with the Calendar because of different datatypes.
- As suggested by my mentor, I have made few changes. Now it is resolved.
- No
- No
- Styling Calendar View
- Graphical Implementation of Adherence
- Almost on Schedule
- I did the graphical representation of the Adherence Rate.
- I stylized the calendar to show small tick and cross if the pills are taken and not taken respectively.
- I fixed bugs related to the database implementation for the application, adherence rate calculation, implementation of weekly logic.
- I improved the GUI of the app.
- I made a demo of the app.
- I did the documentation and testing.
- None
- None
- None
- None
- Improving Demo
- Completing Documentation
- Writing more JUnit Test Cases
- On Schedule
- Making Prototype
- Fixing Adherence Bugs
- UI Tweaks
- Cleaning Up Code
- Documentation
- Making Presentation
- N/A
- N/A
- N/A
- N/A
- Finalizing Code
- Final Presentation and Demo
- On Schedule
I graduated from IST in 2014 with a BSc’s degree in Information Systems and Computer Engineering. Currently I am studying for my MSc’s degree in Information Systems and Computer Engineering at IST with major in Software Engineer and Artificial Intelligence (:D). In summer 2013 I worked with robot Baxter in GAIPS INESC-ID in Oeiras Taguspark where I developed along with my co-workers an application that allowed the robot (named BEA for Baxter Empathetic Agent) to do simple manipulation of objects while showing human emotions (facial expressions, head gestures, voice) - Youtube video. In the past, I studied English for two weeks in England, I did volunteer work in Refood (redirection of un-served left-over food to people in need) and I did volunteer work in Natura Observa (protection of the local natural park sintra-cascais) during two summers where he received three certificates for my performance. I would like to work in Google someday and travel a lot during my careers first years and gain experience with different people and cultures!
About me: I am portuguese and raised near the beach in Carcavelos! Love water and I really much get depressed after some time anywhere without sun! I love martial arts, music and watching tv series.
Throughout my life I work very hard to make my own luck and leave nothing to chance so I am very happy and excited to be here this year and help systers! Let's see how it all goes! :)
LinkedIn Account
Github Profile
Systers Github.io
Project Description
Source code
I am working on Peace Corps Malaria iOS mobile application with Nicki Hutchen and Rose Robinson as project managers and Shanu Salunke as my mentor.
The Android app will be developed by Ankita Kalra with Aditi Mehta and Aneke Chimdindu as mentors.
GSOC 2015 - Timeline
GSOC 2015 - Journal
Documentation - Will be updated through the summer
Documentation - Unit tests are located in the document's last section
- SetupScreen
- Basic Notification System (adding/removing notifications).
- NSUserDefaults Manager complete, that means the setup information is stored in NSUserDefaults. Made some tests for it.
- Main Application workflow complete with basic ViewControllers (learned a lot in the process).
- Value picker in iOS does not include by default a “Done” button. Not having it makes the app frustrating because it is not possible the dismiss the view easily without not getting frustrated.
- Handling AppFlow in a consistent and a non-repetitive way. That is, the main 3 buttons and the settings button are always in the same place therefore I wanted to avoid centralize the view responsible for maintaining their positions and styling and avoid repeating code.
- Yes. I had to manually add the button in the code. Searched for many solutions but the one I committed seemed to be the most simple one.
- Yes, I managed it by using PageViewControllers in which it contains a sub-view that can contain whether Home, PlanTrip or InfoHub. For supporting different views, I only had to change the sub-view and instantiate the desired ViewController accordingly.
- No.
- No.
- Smart Notification System
- Tests for Notification System
- Document Week 1.
- On schedule.
- Register medicine in Core Data;
- Statistics. It is possible to retrieve statistics between two dates as needed in graph view;
- Unit tests for Core Data.
- Tried to develop the front-end of the application using the storyboard and making the app compatible with different devices. Although the view was correct in the development environment (without incompatible nor ambiguous constraints), the app was showing otherwise since the contraints were actually breaking. If I manage to get one view right, I fear that even the lightest refinement of pixels (when adjusting the iOS app with the Android app) would break everything.
- Xcode crashed and corrupted itself from some reason I don't know and made me waste a afternoon retrieving backups and re-configure the work I had done before.
- Setting core data testing environment. (namespace problems and bridging_header problems).
- No.
- Reconfigured everything and started committing more often.
- Search and search. I also had to adapt my code for testing (which is expected).
- Talked with Shanu, and since it is something that should be accompanied by someone that has more experience it will be delayed to later in the timeline. Per ViewController I am wasting more time than it is expected. Therefore my timeline has changed to conform to this change in the development. For now I will continue with the backend and develop tests at the same time. I don't want to have a storyboard that is hard to modify. There must be another way.
- Yes (see answer to question above)
- Finish CoreData tests
- Start documentation
- The front-end work for this week was delayed however I developed Unit Tests which were not expected. So, due to the obstacles I faced this week, I am a bit behind schedule.
- Fixed bugs related with weekly pills;
- Added support for multiple pills;
- Fixed all known bugs that were found in Unit Tests;
- Started RestKit.
- Fixed multiple entries for multiple medicines;
- Started Documentation;
- Started Rest Kit;
- None.
- No issues were encountered.
- No.
- No.
- Collaborate with Irish Medina and Ankita Kalra to integrate the REST Api in the iOS application;
- Smart notifications. Since I have no information regarding which formula is to be used to dampen notifications periodicity, I will leave an empty method to be filled later when more information is available.
- On schedule.
- Started Rest API integration;
- Smart Notifications.
- Authorization header disappears in the outgoing http packet despite being displayed correctly in the log. Any other kind of header that I add appears correctly.
- Test endpoints mappings with RestKit.
- How to test endpoints with relationships.
- No yet.
- Yes. Posted on StackPverflow an question and got a response (I was just missing one line)
- Not yet.
- Yes. I posted the issue on StackOverflow and if someone doesn't answer I am going to post as an issue on the framework github project page. In the meantime I managed to continue mapping the endpoints and test them internally offline against a json template response, therefore I managed to continue working on the RestAPI despite not being able to connect.
- Yes. This week I am going to look with more detail to the RestKit UnitTest tutorial and convert (and adapt) their objective-C example code to swift.
- Not yet.
- No.
- Plan my trip Backend;
- Finish mapping testing and try to fix restkit connection.
- On schedule.
- Finished Rest API integration;
- Plan my trip complete;
- Code documentation.
- Assyncronous API testing;
- Yes, using new tools added in xcode 6. And adding custom handlers as arguments in the network calls.
- No.
- No.
- Code review;
- Finish documentation document;
- Resume front-end.
- On schedule.
- Bug fixes;
- App flow complete;
- Setup screen;
- Daily Stats screen;
- Took Pill screen;
- Plan my trip screen;
- Info hub screen.
- None.
- N/A
- N/A
- N/A
- Move to magic record as suggested in the pull request
- On schedule.
- Fixed pull-request (Multiple NSManagedObjectContext)
- Bug fixes;
- Prepared the app to be submitted to the AppStore. Added icon, launch screen, added more visual feedback in the app, fixed consistency between fonts and colors and fixed TabBar items icons.
- Regarding multiple NSManagedObjectContext, the intention was to use a separate library because it removes some boiler plate code. However, I had some issues while transitioning due to swift bugs. The issue can be seen in the experimental branch in my repo (pod install → Clean simulator → Run tests).
- They were not solved. I got around the problem and implemented myself what was left to be implemented.
- No.
- If we resume the transition to the framework yes.
- Prepare meeting with PeaceCorps;
- Fix bugs;
- Resolve any issue reported by apple when submitting to the AppStore;
- Test on a real device.
- On schedule.
- Graph view;
- Calendar View;
- None.
- None.
- No.
- No. Just need to test this on a real device.
- Improve calendar;
- Improve performance when creating graph;
- Improve Infohub.
- On schedule.
- Improved graph render performance from 5-7 seconds to 0-1 seconds.
- Created interactive notifications;
- Fixed bugs;
- Improved info hub visual;
- Improved calendar view;
- Cached statistics in order to avoid doing unnecessary computations (and improved battery life);
- Executed the app on an apple device (had to fix some visual glitches);
- Code cleanup and submitted a pull-request.
- None.
- None.
- No.
- No.
- Settings (might require improving the notifications);
- Clarify plan my trips requirements and update the app accordingly (me and Ankita will collaborate for that purpose);
- On schedule.
- Calendar now updates with weekly pills;
- Added settings bundle;
- Improved calendar and info hub design;
- Added sound effect when user clicks the buttons in the homescreen;
- Updated menu icons;
- Plan My trip overhaul (includes number of pills estimation and notifications);
- Removed daily/weekly concept from the backend. The frontend must provide the interval for the pills. Therefore 1 would be daily and 7 would be weekly. It gives more flexibility for the future;
- Improved calendar (updates are computed in background leaving the UIResponsive);
- Bug fixed;
- Updated documentation.
- None.
- None.
- No.
- I still need a code-review for my latest pull-request. Then I will contact Rose so that she can distribute the app and later receive feedback from the users.
- Fix bugs;
- Code cleanup and documentation;
- Look into iOS widgets;
- Improve setup screen. In the requirements they mention they would like to have the user profile in the setup screen. The design might change because it is a feature that the mockup doesn't show. Nevertheless I will do my best to look consistent with the remaining app design. I'll maybe add an icon so that the user can send an email to systers and give direct feedback.
- On schedule.
-
Usability: Single tap on calendar;
-
Usability: Tap button to delete textfield content ;
-
Usability: Added trip notification time;
-
Usability: Improved Alert Messages (and they are now much easier to change);
-
Usability: Improved some strings in the app ;
-
Usability: Added email icon to send feedback.
-
Code cleanup: Refactor → Moved project modules to a separate CocoaPods repo ;
-
Code cleanup: Increased code readability ;
-
Code cleanup: Finished code documentation in the *.swift files ;
-
Code cleanup: Moved some responsibilities to front-end ;
-
Code cleanup: Generated documentation in the docs folder (open index.html);
-
Code cleanup: Improved
README.md
. -
Misc:
- Bug fixes;
- Improved Setup design;
- Minor optimisations ;
- Made more unit tests ;
- Started (not mandatory) today's widget.
- Developing today's widget I need an extra permission to access Application data from the widget;
- No.
- Yes.
- Yes, I contacted Rose and Nicki in order to add the permission.
- Finish Unit Tests;
- Finish GoogleDocs Documentation;
- Not mandatory but I am looking into today's widget because it would be nice and useful to have.
- On schedule.
- Usability: Reset reminder notification after 7 days without entries now shows a alert instead of showing the setup screen on next launch (its more confusing and might appear as a bug to the user) ;
- Code cleanup ;
- Bug fixes: The most important was reset notification time logic and in calendar now being able to select some days ;
- Finished unit tests ;
- Finished API documentation ;
- Finished Documentation ;
- Finished PPT presentation.
- Fixing calendar automatic transitioning and therefore not being to select some days.
- Modified calendar library and submitted an issue.
- No.
- Yes, AppGroups permission.
- Minor fixes in the PR;
- Minor fixes in the documentation ;
- Not mandatory: Today's widget as soon as I have AppGroups permission.
- On schedule.
- Presentation
- Fixed issue date format (mm/dd/yyyy);
- Minor code documentation
- None.
- None.
- No.
- No.
- GSoC is over. But as I said in my presentation I will be available at some extent. I really want to continue contributing to the project but I won't be as available as I was because my semester is going to start and I have to focus on it and my MSc thesis.
- Done.