Difference between revisions of "Team Algol"

From mn/ifi/inf5750
Jump to: navigation, search
m
Line 76: Line 76:
  
 
== Assignment text ==
 
== Assignment text ==
Messenger app
+
Can be found at: https://www.uio.no/studier/emner/matnat/ifi/INF5750/h15/group-projects/messenger-app/index.html
Last year a project was developed by master students implementing a chatting application for DHIS 2. This included an XMPP back-end running on the server, in addition to an Android-based client application.
 
 
 
There was also implemented a chat client in the browser version of DHIS 2, which connected to the same XMPP server.
 
 
 
The work is only a proof of concept so far, and will need to be improved in order to make it become a core part of DHIS 2.
 
 
 
The application that already exists is a good starting point, but you are not required to work on it. It is however advised as you use it as a reference for your work, regardless of the directions you want to take. The source code, in addition to a few notes by the developer can be found here: https://github.com/niclashalvorsen/DHISmessenger
 
Definition of tasks
 
 
 
Several improvements need to be addressed for this project. Descriptions of the tasks follow.
 
 
 
1. Improve data usage
 
 
 
The biggest problem is that the application uses big amounts of data. Because the users of DHIS 2 are typically in low resource contexts, that is an absolute show stopper. Using the existing solution or not, you are to find and implement a solution where data usage is at an absolute minimum. This could, and should be done through caching on device, in addition to other strategies you find suitable.
 
 
 
2. Redesign existing app to follow Materal Design guidelines (optional)
 
 
 
The current application has an adequate user interface. It does however not follow Material Design guidelines. There are several other official DHIS 2 Android projects that do, or are currently being redesigned to follow Material Design. The DHIS 2 messaging application will also need to follow these guidelines in order to fit in with the other applications, and to allow for a uniform design across applications. An introduction to Material Design can be found
 
here https://www.google.com/design/spec/material-design/introduction.html
 

Revision as of 18:20, 8 November 2015

Team Algol : Android Messenger app for DHIS2

Group members

  • Vladislav Georgiev Alfredov <vladisla@ifi.uio.no>
  • Tomáš Livora <tomasliv@student.matnat.uio.no>
  • Mathias Ciarlo Thorstensen <mathiact@ifi.uio.no>
  • Hans Fredrik Fahle <hansffa@student.matnat.uio.no>
  • Jiader Chou <jiaderc@ifi.uio.no>

Summary of Requirements

  1. Reduce data usage:
    • Implement local data storage.
    • Implement local data caching.
  2. Redesign user interface to follow Material design guidelines.

Architecture

Android
Android Studio
Local DHIS2 installation
etc..

Downloads

Project details

Details about how we will solve the task, and component-like view of it go here...

Rough Task-Component-Todo view:
0. Go over the libraries and decide which is worth using: (time to implement the functionality ourselves + testing vs the resource cost of using the library + going over the library interface
0.1 List of the libraries of question:


1. Rest interface/layer redesign.
1.1 Rest Session storage? Use Persistance layer or Cache layer ?
1.2 How would the rest calls hit/miss the cache?
1.3 Is the DHIS2 api satisfactory ?

2. Persistance layer.
2.1 Use the OrmLite library ?
2.2 Store data on app start/exit.
2.3 Provide interface for the Rest Layer

3. Cache layer.
3.1 If requested object in memory return it. If not use persistance layer to get it. + pre-fetch bulk data from disk? If not on disk return null, informing that it is not cached.
3.2 Load chunks of cache in memory ? What happens if the app runs on really old android device that has very little ram ?

4. Go over all the ui and redo it to use Material design. Maybe use butterknife for activities as well ?

5. Test the app. Test all the corner cases.

Work schedule

  1. Milestone (8th November)
    • Analysis of previous solution
    • Work planning according to the findings
  2. Milestone (22nd November)
  3. Milestone (4th December)

Group organization

  • Source code distribution
  • Weekly meetings
    • Group 1 Tuesday 10:15 - 12:00
    • Possible second weekly meeting if needed
  • Instant messaging
    • Slack service for group comunication


Screenshots, implementation of features

Learning outcome and future thoughts

Assignment text

Can be found at: https://www.uio.no/studier/emner/matnat/ifi/INF5750/h15/group-projects/messenger-app/index.html