Status report

Sprint 6-8. Week 13-19

After release of Beta version in Android Market “Play”,  we started with some extra features like integration with Telenor Objects. The trial profile at Shepherd has been registered. We have tested both post and get functions through https connection. The POST part was successful in operation whereas GET function has some compliance. The data registered through use of API and Dashboard at Shepherd could be retrieved with an error “0” in status for XMLHTTPREQUEST. The several alternatives has been used, but without any result. It seems that although we receive response from service it is still unavailable to get data. The process took more time we have actually dedicated, so we have dropped this future leaving for future development. It seems that phonegap has some issue to get data from external source that uses default web browser. It is just theoretical assumption according to some test done on several web browser like: chrome, mozilla, ie and opera read more in “bug report”. We did test together with our supervisor Simon McCallum who gave us some valuable way of analyzing the problem.

We gave little bit time for some feedbacks, and later have started to update the changes on GUI, functionality and etc. The feedback that we have received both from market and personally were useful to change some of functionality adding extra useful. It didn’t take long time before next release with extra updates. The early release to the market helped us to improve much.

The majority of time we were working on main functionality and changes.Additionally to that we had to test our application to find more about possible bugs. So, bug fixes was beyond the development.

The PhoneGap released the newer version so the version has been updated in our project. Not long after we linked to newer version PhoneGap released cordova v1.6, so we are going to update it once more.

The graph library have been downloaded for representation of data registered in “Add Event” section in Graph mode. The Graph is available in Epilepsy App.

We had problems most with medicine reminder as it was failing with some issues like reminding at the right time, one reminder for several medicines with a same time.

Alarm function has been brutally changed from native implementation to PhoneGap as we wanted to implement most possible functionality in PhoneGap. Only services and other parts have been coded in native as it hadn’t implementation in PhoneGap. Slide show with first help has been added to the alarm and we planning to add time counter to let people know how much time the seizure has lasted as it is very important that seizure process do not exceed more than 3-5 minutes.

Internationalization has been implemented. Although two languages have been target we received several volunteers to translate it into several languages. At the moment we have the application in Norwegian, English, Dutch, Korean, Chinese, German, Turkish. We hope we receive translations into Lithuanian, Uyghur, Russian, French and very low possibility in Spanish and Arabic. The auto and manual choice of language is possible. The internationalization has been resolved using functions with set of arrays.

Taking picture of a registered medicine became a possibility for users, but we experienced problem to use the functionality in some of devices as they hadn’t any camera.autofocus functionality. It has been resolved later with restrictions for the use of autofocus as we didn’t need it.

As we progressed further and updated several versions we came to the most interesting part “Implementation of seizure detection”. Seizure detection was one of functionality that we would at least test and be known with. We had a meeting with Patrick Bours as he has more competence in field of biometrics and analysis of data. After the brief explanation of idea we began collecting data from accelerometer. The data have been collected and presented to Patrick in a graphical view using r-project plotting tool suggested by himself. It was a good experience. After analysis we have get more idea about the data-analysis. Although we have collected several data from accelerometer we were lack of seizure data for distinguishing the seizure from other normal daily activities. That’s why it was decided to simulate seizure as we can’t test or get data from epileptics due to legacy.


EpilepsyApp Version 1.5

We have released improved version of EpilepsyApp to the market “Play”. Beta version 1.5 of EpilepsyApp is available in five different languages; Norwegian, English, Dutch, Korean, Chinese.


EpilepsyApp BETA release

EpilepsyApp logoWe are glad to announce, that a BETA version of EpilepsyApp for Android has been released to Google Play! This is only a beta version and is meant to be used only for testing purposes. Everyone is encouraged to download it from Google Play, test it and give us some feedback! We appreciate all kinds of feedback very much, as it will help us to improve the quality of the app. To send your feedback you can either put a comment to this post or contact development team by email.

Some screenshots from EpilepsyApp:

Screenshot of AddEvent activityScreenshot of Main activity

P.S.: Do not blame us for GUI to much, as we are developers :)


Sprint 5 – preparing EpilepsyApp beta version for Android Market release

During this sprint we mainly worked with Alarm/Warning activity and fixing bugs, to prepare a beta version of the app for releasing to Android Market (or Google Play how it is called now).

Some of the new functionality that was added during this sprint is alarm/warning activity. The phone is now able to collect GPS and accelerometer data when the “Alarm” button is pressed, and inform user’s selected contacts by sending them SMS with user’s GPS location, if no resoponse from the user detected after the “Alarm” button was pressed. User can select several contact people from device’s contact list in advance.

The interesting part of this sprint was making PhoneGap app to communicate with the native side of Android app. We use PhoneGap API, database and own plugins for this communication to be possible.

Another new feature that was added during this sprint is time-picker for choosing time in AddMedicine and EditMedicine activities. The layout had to be changed to fit the time-picker in both activities.

The rest of the time of this sprint was used for solving problems and fixing bugs that were affecting functionality of the app. Most of the bugs we fixed were related to the first time application starting, medicine reminders, events registration.

On thursday we demonstrated app to our employer, and she was satisfied to see the progress we made during last sprint. We got some requests and tips on what should be added and changed in the future.

The next step is to publish the EpilepsyApp beta version to the Google Play!


Sprint 4. Week 8-9

This Sprint we had made a little progress and we could see it on our predefined sprint plan. The work became slightly slow because of service part that didn’t exist in PhoneGap framework. That lead us to find a proper solution for creating a service. Even though we have solved it bu presenting own plug-in we had still a problem with communication between two, PhoneGap and Native android. After several tests and tries we achieved the needed solution. At the moment we have a Service written in java that communicates with created plug-in that starts, stops the service and sets global variable for the continues run of a service if its needed.

Second problem was to find a proper solution of Reminders. Although we had a solution we thought of that the united notification with all medicine will be good rather setting new notification for every medicine. We thought that the number of icons on status bar will be irritating if it is too many.

Some problems occurred while we were testing tips loaded from external database. It is on progress step.

“Datatilsynet” have been contacted again with advice to present extra information if needed. We have received a letter that response for the letter that had sent will be answered by the end  of this Sprint. After some days letter we have received the letter with advices and some suggestions to be followed. The letter will be discussed on weekly meeting with Mr. Simon McCallum.

Looking to some progress in our work at the end of a Sprint we have decided to contact Telenor Objects for getting non-commercial profile. The contract had been sent and we have sent the signed one. Next Sprint we are thinking of testing M2M communication or at least we will try to get an idea.

The collection of accelerometer is ready and it will be used for future work. So, it is available that next Sprint we will take a contact with Mr. Patrick Bours for future arrangements.


Sprint 3 is done!

We are glad to announce that the third sprint of our bachelor project is finished! This sprint was particularly interesting and hard at the same time. Many new things were learnt and put into our knowledge toolbox.

During the third sprint we have implemented the following new features in our application:

  • Changed the Add Event GUI and implemented saving and retrieving data to/from database;
  • Improved functionality and GUI of EditMedicine activity;
  • Implemented Calendar activity;
  • Implemented Today activity;
  • Implemented plug-in for medicine reminder for Android;
  • Implemented running background services for Android and integrated it with medicine reminder.
  • Restructured database;
  • Created some new icons;

After the sprint 3 we are now finished with the main functionality of EpilepsyApp diary. We mainly paid attention to functionality of the application so far, and so much on “look and feel” of it. This will be the task for the following sprints. The application is now ready for testing main diary functionality.

We feel that this sprint was quite productive. We have learned a lot about using HTML5 and JavaScript in development of mobile applications with Phone Gap, gain more knowledge and better confidence working with databases in Phone Gap and implementing plug-ins for Android platform. A very important part of this sprint was to make Android plug-in to work together with our Phone Gap code. We used a bit of time to understand the principles and get them work in our application. It was also a challenge to run a service on Android together with Phone Gap application and implement it to display notifications in the status bar. All the knowledge we gain during this sprint will be very important for further development.

We have also planned the things for the next sprint:

  • We will implement functionality to get tips from remote database and synchronize local database with the external.
  • We will also work with Alarm activity, that warns user’s selected contacts under critical situations.
  • As an extra feature we have taken to the next sprint backlog is data export in graphical presentation. This feature will only be implemented during the next sprint if we have enough time.

Status Report #3

After the meeting on Thursday, 09.02.2012 we are ready to present a status report for our bachelor thesis. The report includes the development work of two week.

The second sprint was accomplished with the positive result except that some of the functions have taken much time than planned. Some of the functions will be accomplished by the start of third sprint term otherwise will be taken as a task in sprint planning.

The most challenging and time consuming part were icons to design and fixed navbars with right scrolling. The iScroll used by members had slight problems with integration of javascript written by us, so extra time finding the problem and its solution became a factor of slow progress.

We have found that lack of documentation on PhoneGap made it difficult to find right information or tutorials. Most of all it was difficult to gather information on storage. API’s for SQLite is little bit different in PhoneGap, so the understanding and finding right one was an extra backtracking factor. We still couldn’t find the solution for the direct execution of sql statement. SQLite understanding and update of columns became a complicated part too.

The letter to the “Datatilsynet” with some request and questions had been sent. We had written a letter both in Norwegian and English and tried to structure it in a simple way for better explanation. The contact between “Datatilsynet” and us has been build and we are awaiting our very first formal response from them.

Brief explanation of our application in different languages provided in our blog. It includes about five languages more is coming. The idea is to reach as much people as possible to get some advices, testers and etc.

At the moment two activities including fixed bar and some design with icons are finished. Of course it can be possible update according to the feedback or some other circumstances. So, now we are ready to move towards main and complicated part, the calendar that will  include different activities and manage alarm, notification and so on.

The apk and example test been done by Randi Stokke on sprint accomplishment, sprint review, meeting. We took feedback that will be reworked. We have found the meeting with Randi Stokke very useful as it helps us to understand the world of people with epilepsy and their needs and of course to gain some experience getting different feedback.


Status Report #2

Week 4

This status report is written to show our progress at the half way to the second sprint accomplishment. Therefore some of the tasks are not able to be reported.

Sprint planning

As it was stated before every two weeks sprint term is followed by Sprint review and planning of the next Sprint term. So, after taking feedback from Randi Stokke at the meeting (see meeting #6) and discussing it with supervisor Simon McCallum, remotely from New Zealand, we have defined next tasks to accomplish by the end of this sprint term:

  1. GUI,

  2. Add event,

  3. Medicine functionalities,

  4. Choosing color,

  5. Writing letter to “Datatilsynet”

  6. Finding solution for the Documentation of source code.

GUI, Framework

Even though we have chosen the framework the implementation was far from we have awaited. The javascript that was written by members couldn’t been integrated with jQuery mobile 1.0.1.mini. Tested on our mobile devices, Samsung and HTC here, we had a slow operation. The jQuery mobile 1.0.1mini have to include a library from jQuery that means the size of the application rise. Additionally we used more time than assumed/planned that was indicating the risk assessment as not tolerable. Taking in consideration the time limit of bachelor thesis we have decided on returning and implementing own CSS, Design.

At the period of designing the GUI we had some problems around the fixed navbars and scrolls. The fixed navbars on mobile devices were tricky so the idea of iScroll implementation has been used. We had some problems getting icons for our application. Icons should be both for non and commercial use. Although we have found some it was not satisfying all the needs. We needed extra icons that didn’t exist. So, about one day has been used for creating our own icons. Here have we tasted the lack of competency even though we have learned some basics creating own icons.


At the moment activities “Add event” and “Medicines” that includes “Add new medicine”, “Medicines List” and “Detailed info about selected medicine” are under its development and can be evaluated as a progressing without delays. Here we should admit that some suggestions for different approach of activity “Medicine” has been taking in consideration and altered.

We are still working on CSS and some of functionality. The color for the entire application will be decided by the end of the second sprint.

The possible solution for the documentation of source code have been found from Internet and some part, HTML, will be discussed with supervisor in order to find the possible solution.

With the assistance of supervisor we have found the possible right person to contact in “Datatilsynet” and gathered some suggestions. The letter for the “Datatilsynet” has been written in English and Norwegian that is ready for shipment after last review. (see letter Attachment __)


Project Planning. Done!

During the first three weeks of the project we worked mainly with project planning and learning new stuff. In addition to this, we started the coding work as well.

Project planning

We are now done with the pre-project plan, that has to be submitted on 27th January.  We set the objectives for the project, defined the scope, identified the problems we can meet, done some organizational work, like working out the group rules and sharing responsibilities as well as signing contract between group members and employer. We also choose the software development methodology that best fits our project and tools that we are planning to use in the development process. Finally, we assessed the risks of the project and drew the project implementation plan.

Learning new stuff

During these three weeks we read many articles and tutorials about the tools and technologies that we will work with. We spent a bit of time remembering and learning new stuff about HTML5, JavaScript and PhoneGap among other things. We studied some frameworks for working with JavaScript in PhoneGap. We also got acquainted with Telenor Object’s Shepherd platform that we are planning to integrate our app into.

Development problems

We started to write the first lines of code for our app. The coding work was going a bit slowly comparing to what we expected, mainly because of the lack of experience working with the technologies we use.  We have looked at and tried few JavaScript frameworks – jQuery-Mobile, SenchaTouch, Jo, XUI and Zepto.js

After testing and consulting with our supervisor we have decided to use jQuery-Mobile framework to speed up programming and improve GUI design. Other frameworks that we considered had some lacks comparing jQuery-Mobile. XUI and Zepto.js seemed to have too little documentation to go further with, and Sencha Touch was rejected because of licensing issues. Jo was a good alternative to choose, because it has enough documentation and apps we tested seemed to be working nicely. However, finally we decided to go further with jQuery-Mobile – it is a rich framework and has sufficent documentation. Many of the features of this framework are derived from the well established jQuery framework. By the way, we have both worked with jQuery before and are familiar with the coding style and possibilities of it, so that also affected us to choose jQuery-Mobile prior to Jo. We were a bit worried about that using a framework could slow down our app, but after consulting with our supervisor decided that it would not be a problem.

All this preparation work including planning, learning and testing different tools and technologies gave us a sound basis for further development process. During next to-weeks sprint we are planning to work hard with coding and implement the features that are selected for the sprint backlog, in order to be able to demonstrate have something nice at the end of the second sprint.


The process is started

The “Pre-Project” plan is finished that will be reviewed set days next week by members. We can say that officially we have started our lines of code. SVN (Subversion Controll System) is working, PhoneGap have been tested for it’s operation. More clear updates can be followed at http://www.epilepsyapp.wordpress.com