HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2012T2 Viaxeiros Final"

From IS480
Jump to navigation Jump to search
Line 30: Line 30:
 
<!------------------------------------Final Term Slides--------------------------------------->
 
<!------------------------------------Final Term Slides--------------------------------------->
  
<div id="FinalTermSlides" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
+
<div id="FinalTermSlide" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
| colspan="2" style="padding: 0;" |
Line 57: Line 57:
 
|  
 
|  
 
<br/>
 
<br/>
<center>[[Media:Viaxeiros_Mid_Term.pdf|DOWNLOAD]] OUR MIDTERM PRESENTATION SLIDES HERE</center>
+
<center>Coming Soon!</center>
 
 
 
|}
 
|}
  
Line 67: Line 66:
 
|}
 
|}
  
 +
===<!------------------------------------Project Progress Summary--------------------------------------->===
  
 
+
<div id="ProgressSummary" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
<font size="4"> Project Progress Summary</font>
 
 
 
<!------------------------------------Acceptance--------------------------------------->
 
 
 
<div id="Progress" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
| colspan="2" style="padding: 0;" |
Line 83: Line 78:
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
  
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Progress'''</div>
+
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Progress Summary'''</div>
 
|}
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
Line 100: Line 95:
 
|  
 
|  
 
<br/>
 
<br/>
Currently, Viaxeiros in in their Iteration 9 on 26 February 2013, and in the midst of meeting the upcoming milestone, which is the Midterms presentation, at 26 February 2013.
+
{|
 
+
<big>'''Changes since Midterm'''</big>
Currently, since the Acceptance Presentation which is at 5 November 2013, The following main features have been completed:
+
<br/><br/>
 
+
Based on the feedbacks gained from the midterms as well as the user testing, our team has implemented the following changes:
#Native pages for travelogue and places
+
# Introduction of Guest Account
#Download of travelogue for offline usage
+
# Usage of vector offline map (Mapsforge) instead of Raster offline map (OSMDroid)
#Camera functions in the application
 
#Online and offline map display
 
#Improvement of performance and memory issues
 
 
 
Based on the current status of the project, our team has decided to focus only on one of the additional functions proposed in the Acceptance Presentation, which is the Augmented Reality.
 
 
 
 
 
 
|}
 
|}
 
+
{|
</div>
+
<big> '''Project Highlights'''</big>
 
 
|-
 
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
 
 
|}
 
|}
 
+
{| class="wikitable"
 
+
! Iteration !! Descriptions / Highlight
 
 
 
 
<!------------------------------------Project Highlights--------------------------------------->
 
 
 
<div id="ProjectHighlights" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
|-
 
| style="width: 100%; vertical-align: top;"  align="center" |
 
{| border="0" cellspacing="0" cellpadding="0" width="100%"
 
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Highlights'''</div>
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
 
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
|-
 
|
 
<br/>
 
{| class="wikitable"  
 
|-
 
! Iterations !! Descriptions / Highlights
 
|-
 
! 2
 
| '''Major Delay in Offline map'''
 
 
 
Prior to the actual start of the coding phase, it has been decided that the offline map feature is going to take much more time than that of other functions as many of us are unknown to any available map technology, let alone one catered to offline usage. Thus, we have planned to start this function early, hoping to overcome the steeper learning curve earlier in the project. Our worries turn out to be correct, where our research in Iteration 1 shows that offline map is much more complex than what we assumed to be. Judging from this, we have made an appropriate change in our schedule, thus assigning a longer time for the creating of the offline map.
 
 
|-
 
|-
 
! 4  
 
! 4  
| '''Increasing Scope to be done'''
+
| '''Increasing Scope to be Done''' <br/>
 
+
After the discussions we had with the sponsor, we have decided to implement a few changes in the project scope to provide a more holistic experience of the application. Hence, as mentioned in midterm, more native pages are introduced in the application, which majorly affected the project schedule. <br/>
During Iteration 4, in one of the client's meeting, we have come to a conclusion with our sponsor that there should be a change in the requirements of the application. In view of the need to provide a more holistic feel of the application and to cater more wholesomely for the offline purposes, the clients and us decided to include the viewing of travelogues, places as well as the listing of travelogues to be native pages. This has in turn result in a major change in the schedule as some of the functions such as the search will be pushed to the later part of the schedule.
+
In view of this change, our team has decided to drop one of our additional functionality to better concentrate on the additional functions to be done.
 
 
In addition, our group has also discussed among ourselves and feel that one of the additional functions might have to be dropped as there is a high chance that this change in requirement will increase the time needed to complete this requirement.
 
 
|-
 
|-
! 7
+
! 10
| '''Change in focus for additional functionality'''
+
| ''' Introduction of Guest Function and Change in Offline Map'''<br/>
 
+
From the feedbacks received from the midterm presentation and the user testing, our team decided to add in a Guest function to allow users to try out the functions without the need to login. Additionally, many entry points are included to allow users to login. <br/>
After the discussion with our clients, we feel that focusing on the Augmented Reality might suit the business model of the company better than that of the smart itinerary. This is because the smart itinerary creates a more "gamey" feel, which might contradict in the overall experience of the application. In addition, the smart itinerary might prove to be more troublesome for users as users can only accept the entire travelogue and are unable to edit much of it. Augmented Reality, in the other hand, provides users with an alternate view of the same data, which allows users to explore their surrounding in a more interesting manner. Thus, with these considerations in mind, our team has decided to focus our research on the implementation of augmented reality in the upcoming iterations.
+
Furthermore, our team changes our offline map library used to ''Mapsforge'', a library which supports vector maps. The actual map file will be stored within Qiito server, where it can be retrieved when users download their travelogue.<br/>
 +
To cater to this, our team decided to drop our additional functionality and instead focus on the new changes.  
 
|}
 
|}
 
+
{|
 
+
<big>'''Project Challenges '''</big>
 
 
 
|}
 
|}
 
+
{| class="wikitable"
</div>
+
! width="250px"| Challenge !! Description
 
 
 
|-
 
|-
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
+
! Implementing workable Offline Map
|}
+
|
 
+
# Difficulty getting documentation for ''OSMDroid''
 
+
# Change from ''OSMDroid'' to ''Mapsforge''
<font size="4">Project Management</font>
+
# Directly changing ''Mapsforge''
 
+
# Understanding the rendering of maps in ''Mapsforge''
===<!------------------------------------Project Scope--------------------------------------->===
+
# Integrate 2 versions of ''Mapsforge''
 
 
<div id="ProjectScope" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
 
|-
 
|-
| style="width: 100%; vertical-align: top;"  align="center" |
+
! Out of Memory Error
{| border="0" cellspacing="0" cellpadding="0" width="100%"
+
|
| style="background-color:#ffffff;" width="0" |
+
# Small phone memory causes significant out of memory error
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
+
# Different phone model has different assigned phone memory and procedures for phone memory release, resulting in differing debugging results
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
+
# Manage to use lazy loading and other more efficient codes to mitigate the problem
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Scope'''</div>
 
 
|}
 
|}
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
+
{|
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
+
<big>'''Project Achievements '''</big>
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
 
|}
 
|}
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
|-
 
|
 
<br/>
 
[[Image:Viaxeiros_Scope_V1.png | thumb| 500px | left |'''Version 1 Scope''']]
 
[[Image:Viaxeiros_Scope_V2.png | thumb| 500px | right |'''Version 2 Scope''']]
 
 
 
 
 
|}
 
|}
  
Line 230: Line 150:
 
|}
 
|}
  
 +
===<!------------------------------------Project Management--------------------------------------->===
  
 
+
<div id="ProjectManagement" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
<!------------------------------------Project Status--------------------------------------->
 
 
 
<div id="ProjectStatus" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
| colspan="2" style="padding: 0;" |
Line 244: Line 162:
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
  
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Status'''</div>
+
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Management'''</div>
 
|}
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
Line 261: Line 179:
 
|  
 
|  
 
<br/>
 
<br/>
{| class="wikitable" style="text-align:center; "
+
{|
! Modules !! Status !! Confidence Level (0 - 1) !! Members in charge
+
'''Project Schedule '''
|-
 
| Creating mobile web view || 100% developed and deployed || 1 || Sing Lim
 
|-
 
| Login function || 100% developed and deployed || 1 || Melissa
 
|-
 
| Native travelogue and places || 100% developed and deployed || 1 || Sing Lim and Zi Jun
 
|-
 
| Camera function || 100% developed and deployed || 0.9 || Sing Lim
 
|-
 
| Online and Offline Map || 100% developed and deployed || 0.9 || Yu Kai
 
|-
 
| Adding of places|| 100% developed and deployed || 1 || Sing Lim and Melissa
 
|-
 
| Search function || 100% developed and deployed || 1 || Sing Lim
 
|-
 
| Like / Share || to be developed || 0.8 || to be allocated
 
|-
 
| Augmented Reality || to be developed || 0.8 || to be allocated
 
 
|}
 
|}
 
|}
 
 
</div>
 
 
|-
 
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
 
|}
 
 
<!------------------------------------Project Schedule (Plan Vs Actual)--------------------------------------->
 
 
<div id="ProjectSchedule" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
|-
 
| style="width: 100%; vertical-align: top;"  align="center" |
 
{| border="0" cellspacing="0" cellpadding="0" width="100%"
 
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Schedule (Plan Vs Actual)'''</div>
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
 
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
|-
 
|
 
<br/>
 
{| class="wikitable" style="text-align:center"
 
|-
 
| <font size="3">'''Planned'''</font> || <font size="3">'''Actual'''</font>
 
|-
 
| [[Image:Actual midterm.png | 500px]] ||
 
[[Image:Planned midterm.png | 500px]]
 
|}
 
 
'''Key Changes'''
 
 
* Include functions for creation of travelogue
 
* Focus on Augmented Reality instead of Smart Itinerary
 
 
For more information on the schedule of our application, please [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=1 click here].
 
 
 
|}
 
 
</div>
 
 
|-
 
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
 
|}
 
 
===<!------------------------------------Project Metrics--------------------------------------->===
 
 
<div id="ProjectMetrics" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
|-
 
| style="width: 100%; vertical-align: top;"  align="center" |
 
{| border="0" cellspacing="0" cellpadding="0" width="100%"
 
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Metrics'''</div>
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
 
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
|-
 
|
 
<br/>
 
'''Schedule Metric'''
 
 
The following shows the summary of our schedule metric thus far:
 
 
[[Image:Schedule metric mid.png | 600px | left]]
 
 
{|
 
{|
|-
+
'''Metrics'''
Please refer to our Schedule metric calculation [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Management#Metrics | here]]. <br/><br/>
 
'''Highlights'''<br/>
 
In general, there is a delay in Iteration 3. This is due to having examinations during that period of time. Thus, despite the relatively less functions during that period of time, there is a slight delay in completing the schedule. Due to this, we have decided to increase the time period for the next iteration and also to allocate more tasks to be done then.<br/> <br/>
 
'''Links:'''  
 
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=18 Current schedule metric]
 
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=1 Schedule Breakdown]
 
 
|}
 
|}
 
<br/><br/><br/><br/><br/><br/><br/><br/>
 
<br/>'''Bug Metric'''
 
 
Total Bug Count:
 
 
[[Image:Bug metric mid.png |600px | left]]
 
 
{|
 
{|
|-
+
<big>'''Change Request Log'''</big>
Please refer to our bug metric calculation [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Management#Metrics | here]]. <br/><br/>
 
'''Highlights''' <br/>
 
There is a spike in bug metrics during iteration 5 due to the coding sessions in iteration 4 as well as after our first user testing. In order to reduce the bug points, we have stopped coding out functions and focus instead on solving the current bugs that we have. Similarly for iteration 7, in order to solve the bugs found, more time has been allocated in iteration 8 to solve the bugs.<br/><br/>
 
'''Links'''
 
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=2 Current bug metric]
 
 
 
 
|}
 
|}
 
<br/><br/><br/><br/><br/><br/><br/><br/><br/>
 
'''Work Stress Metric'''
 
 
[[Image:Work Stress metric mid.png | 600px | left]]
 
 
{|
 
{|
Please refer to our work stress calculation [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Management#Metrics | here]]. <br/><br/>
+
<big>'''Technical Complexity'''</big>
'''Highlights'''<br/>
 
The work stress metric is primarily used as an indicator for the project manager to track and manage the workload of the members. Thus, in the instance where a member's stress percentage is 10% higher than that of the average, the project manager will then consult the member to further understand the situation and see if the workload of the member is indeed overloaded or the member is just being inefficient. Ulitmately, it is still up to the project manager's discretion to follow up on any action plan as follows.<br/><br/>
 
'''Links'''
 
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=9 Work Stress metric]
 
 
|}
 
|}
 
+
{| class="wikitable"
 
 
|}
 
 
 
</div>
 
 
 
 
|-
 
|-
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
+
!Complex Feature !! Description
|}
 
 
 
 
 
 
 
<!------------------------------------Project Risks--------------------------------------->
 
 
 
<div id="ProjectRisks" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
|-
 
| style="width: 100%; vertical-align: top;"  align="center" |
 
{| border="0" cellspacing="0" cellpadding="0" width="100%"
 
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Project Risks'''</div>
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
 
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
 
|-
 
|-
 +
! 1. Offline Vector Map (''Mapsforge'')
 
|  
 
|  
<br/>
+
'''Purpose of feature'''
The following shows the top 3 list of risks that our team is currently facing. For more information of the other risks, please visit here:
+
* To display and render offline map when users download a travelogue
 
+
* To display pins and navigation to other applications via the map
{| class="wikitable"
+
'''Complexity of Feature'''
!S/N !! Risk Description !! Consequences !! Impact !! Likelihood !! Risk Rate !! Mitigation Strategy / Contingency Plan !! Status
+
* Direct customization of the library source code
|-
+
* Integrating 2 versions of source code into 1
| | 1  
+
* Find and retrieve the right file type to be downloaded
| colspan="7" | Technical Risk
+
* Limited documentation available in the internet
|-
+
For more information on the complexity of this feature, please view [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#TechnologyComplexity | here]]
| 1.1 || Team is unfamiliar with the technology used ||
+
|-  
#There might be a delay in project schedule 
+
! 2. SherlockActionBar Library
#longer time needed to create functions
+
|
|| High || High || A ||
+
'''Purpose of the Feature'''
#Team members are to start researching and trying the technology in advance before the iteration
+
* Provide standard view for phone versions 2.3 and above
#Share research documents and knowledge among members
+
* Customize action bar to suit Qiito's business concept
|| Risk Strategy in place - Implemented
+
'''Complexity of Feature'''
|-
+
* Integrate Fragments to Online (''Google Map'') and Offline Map (''Mapsforge'') Library
| | 2
 
| colspan="7" | Sponsor Risk
 
|-
 
| 2.1 || Additional requirements requested during implementation of codes ||
 
# Might not be able to finish requirements on time
 
# substandard work produced
 
|| High || Moderate || A ||
 
#Team members should discuss and decide if they can commit to the additional workload on time. If not, firmly reject the additional requirements
 
|| Risk Strategy in place - Implemented
 
|-
 
| | 3
 
| colspan="7" | Project Management Risk
 
|-
 
| |3.1 || Over-estimate the days needed to build function ||
 
#Delay in the project schedule
 
|| Moderate || High || A ||
 
#Project manager to take note of the schedule and plan the future schedules more carefully
 
#Provide a longer time period for the next iteration to complete the functions.
 
|| Risk Strategy in place - Implemented
 
 
|}
 
|}
 
|}
 
|}
Line 500: Line 223:
 
|}
 
|}
  
 +
===<!------------------------------------Product Quality--------------------------------------->===
  
<font size="4"> Application Development</font>
+
<div id="ProductQuality" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
<!------------------------------------Intermediate Deliverables--------------------------------------->
 
 
 
<div id="IntermediateDeliverables" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
 
 
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
| colspan="2" style="padding: 0;" |
Line 515: Line 235:
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
  
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Intermediate Deliverables'''</div>
+
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Product Quality'''</div>
 
|}
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
Line 532: Line 252:
 
|  
 
|  
 
<br/>
 
<br/>
 +
 +
{|
 +
<big> '''Project Deliverables'''</big>
 +
|}
 
{| class="wikitable"
 
{| class="wikitable"
!Stage !! Specification !! Modules
+
!Stage !! Specification !! Module
 
|-
 
|-
| rowspan="2" | Project Management  
+
! rowspan="2" | Project Management  
|| Minutes ||
+
| Minutes ||  
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#ViaxeirosMinutes | Team Minutes ]]
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#ViaxeirosMinutes | Client Minutes]]
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#SponsorMinutes | Sponsor Minutes]]  
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#ViaxeirosMinutes | Supervisor Minutes]]
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#SupervisorMinutes | Supervisor Minutes]]
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#ViaxeirosMinutes | Team Minutes]]
 
|-
 
|-
 
| Metrics ||
 
| Metrics ||
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=18 Schedule Metric]  
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Management#Metrics | Bug Metric]]
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=2 Bug Metric]
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Management#Metrics | Schedule Metric]]
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=9 Work Stress Metric]
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Management#Metrics | Work Stress Metric]]
 
|-
 
|-
| rowspan="3"| Requirements  
+
! rowspan="2" | Requirements  
|| Change Request Log ||  
+
| Change Request Log ||  
 
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=4 Change Request Log]
 
* [https://docs.google.com/spreadsheet/ccc?key=0AqrpGu1hgtOIdFl1Ym5xOERENHU5X0RoVTE3ZjRoS0E#gid=4 Change Request Log]
 
|-
 
|-
| Survey Results ||  
+
| Story Board ||
* [[Media: ViaxeirosSurvey_1.pdf | First Survey Result]]
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#StoryBoard | Story Board]]
* [[Media:Survey_Results_1.pptx | Statistic Analysis]]
 
|-
 
| UI Prototypes ||
 
* [[Media:ViaxeirosStoryboard_v1.pdf|UI Mockup]]
 
 
|-
 
|-
| Analysis || Use Case ||  
+
! Analysis  
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#Diagrams | Use Case Overall]]
+
| Use Case ||
|-
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#Diagrams | Use Case Diagram ]]
| Design
 
|| Diagram ||
 
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#Diagrams | System Architecture]]
 
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#Diagrams | Database Diagram]]
 
 
|-
 
|-
| Testing
+
! rowspan="2" | Design
|| User Testing ||
+
| System Architecture ||  
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#UserTesting | User Testing 1]]
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#Diagrams | Diagram]]
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#UserTesting | User Testing 2]]
 
|}
 
 
 
 
 
 
 
|}
 
 
 
</div>
 
 
 
|-
 
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
 
|}
 
 
 
<!------------------------------------Technical Complexity--------------------------------------->
 
 
 
<div id="TechnicalComplexity" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
 
|-
 
|-
| style="width: 100%; vertical-align: top;"  align="center" |
+
| Database Diagram ||  
{| border="0" cellspacing="0" cellpadding="0" width="100%"
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Project_Documentation#Diagrams | SQLite Database]]
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" | <div style="margin-top: -20px; padding-left:3px"></div>
 
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Technical Complexity'''</div>
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
 
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
 
|-
 
|-
|  
+
! Testing
<br/>
+
| Usability Test ||
* '''Security'''
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#UserTesting | Usability Testing 1]]
#HTTP Request Response Header - User token, application ID and parameters required to retrieve specific APIs were previously appended to a URL. To prevent user information from being compromised, we have shifted important parameters such as token and app ID to a HTTP connection header instead. 
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#UserTesting | Usability Testing 2]]
 
+
* [[IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development#UserTesting | Usability Testing 3]]
 
 
* '''Perfomance'''
 
#Gzip - To reduce long period of dependency for a stable connnection, it is critical to ensure that the file size of the required API is kept to a minimum. Comparing the data size between a Gzip file and a text String, Gzip file is calculated to be approximately 10 times smaller. This means that much less time is needed to retrieve the required data. This is critical for us as many users might always constantly be on the move and stable connection might be hard to get. At the same time, the data we require from QIITO is known to be relatively huge (A travelogue can contain 100s of places, with many pictures associated to each of the place). 
 
#Lazy Loading - The idea of lazing loading is to reduce the required time needed to load and display a page. This is especially crucial when our application is required to retrieve and display a large number of images. What we have done is to make the downloading of images asynchronous and to create a queuing system (5 threads at a time) to download these images. Once an image is downloaded, it will be cached in the phone's memory and will be displayed on the page.
 
   
 
 
 
* '''SherlockActionBar/ Fragments'''
 
# SherlockActionBar library allows us to create "ICS looking" apps, enabling similar looks for versions all the way back to Android version 1.6, which the standard Android SDK does not offer. The features of the library include Actionbar, tabs, overflow, split action bar, viewpager etc. Now, we are able to create multiple interfaces within a single activity across all Android OS versions. This allows a better manipulation of functions when users navigate through the application. For example, the navigation between a web view and a native view with differing interface will only require two different fragments, instead of creating a new activity. In addition, due to the flexibility of fragments, each of them can be recycled and used in other activities within the application, reducing the need for repeated codes. The complexity lies on the fact that there is limited resources available pertaining to SherlockActionBar library. Being new to Android development, the learning curve for this library is considerably steep.
 
 
 
 
 
* '''Offline Map'''
 
# Whilst overseas, users may have difficulty obtaining data connectivity to have access to the full functionalities of Google Maps. With the implementation of OSMDroid (Open Street Maps for Android), the application will download a specific map area pertaining to the user’s itinerary. The maptiles (of .png file format) will then be zipped up so that it can be used to render the map, thus allowing users to view the touring area on the offline map with zooming features. This specificity is done through a customized algorithm to determine the right boundaries and zoom levels for the map for both the travelogue and place offline map. Being an open-sourced package increases the difficulty of implementation, due to lack of proper documentation to explore customized functions. There are also certain restriction of its usage due to it being free, thus algorithms for download are required to be stricter.
 
 
 
|}
 
 
 
</div>
 
 
 
 
|-
 
|-
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|  
+
! Handover
 +
| Documentation ||
 +
* Comments of codes
 +
* Documents on setting up Eclipse
 +
* Procedure to deploy in Google Play
 
|}
 
|}
 
+
{|
<!------------------------------------Deployment--------------------------------------->
+
  <big>'''Quality''' </big>
 
 
<div id="Deployment" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
|-
 
| style="width: 100%; vertical-align: top;"  align="center" |
 
{| border="0" cellspacing="0" cellpadding="0" width="100%"
 
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" | <div style="margin-top: -20px; padding-left:3px"></div>
 
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Deployment'''</div>
 
 
|}
 
|}
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
+
{|class="wikitable"
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
+
! Quality Attribute!! Description
|}
 
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
 
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
 
 
 
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
 
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
 
|-
 
|-
|  
+
! Performance
<br/>
+
|
* '''Deployment Version''' - v2.1
+
''' 1. Improvement in performance in terms of loading speed and minimal crashes'''<br/>
* '''Development Environment''' - Deployed in Android Google Play Store
+
* Implementation of GZip and Lazy Loading
* '''Database''' - Used the phone's internal database, SQLite, Qiito Database (via API)
+
* Removal of excess or redundant resources used by clearing bitmap images
* '''Coding Language''' - Java and XML
 
 
 
To download the application, you can visit this [https://play.google.com/store/apps/details?id=com.qiito&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5xaWl0byJd link] to get the latest application in the Google Play Store.
 
 
 
 
 
<imagemap>
 
Image:Download Banner.png|300px|left|alt=Download the application here.
 
default [https://play.google.com/store/apps/details?id=com.qiito&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5xaWl0byJd link]
 
desc none
 
</imagemap> <br/>
 
|}
 
 
 
</div>
 
 
 
 
|-
 
|-
| colspan="2" class="radius_bottom" style="background:#ffffff; border-top:8px solid #7cc1c7; border-bottom:0px; border-left:1px; border-right:1px"|
+
! Usability
 +
|
 +
''' 2. Improvement in User navigation and look and feel'''<br/>
 +
* Include guides for users when they first install the application
 +
* Introduce the guest account to allow users to try out more functions before logging in as users
 
|}
 
|}
 
+
{|
===<!------------------------------------UserTesting--------------------------------------->===
+
<big> '''Deployment'''</big>
 
 
<div id="UserTesting" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
|-
 
| style="width: 100%; vertical-align: top;"  align="center" |
 
{| border="0" cellspacing="0" cellpadding="0" width="100%"
 
| style="background-color:#ffffff;" width="0" |
 
{| style="width="30%"; font-size:95%; text-align: justify;" padding:-2px; background:FFFFFF" cellpadding="0" cellspacing="0"
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
 
 
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''User Testing'''</div>
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="100%"| &nbsp;
 
 
|}
 
|}
{| style="width:100%; margin-bottom:.5em; font-size:95%; text-align: justify;" padding:-2px; background:#FFFFFF" cellpadding="0" cellspacing="0"  align="center"
+
Qiito has 3 servers used: one for development, another to simulate real data usage, and the live server used for their users. <br/>
| rowspan="1" width="100%" colspan="2" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; border-top:0; padding:0; margin:0" |
+
The compiled apk package is then uploaded into Google Play, where any users can access to this.<br/><br/>
 +
Click [https://play.google.com/store/apps/details?id=com.qiito&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5xaWl0byJd here] to download our latest application version!
  
{| cellspacing="0px"  align="center" cellpadding="0" style="width:70%; background:#e4fcfe;vertical-align:top;"
+
{|
| style="width:100%; vertical-align:top; border:1px solid #e4fcfe; background:#e4fcfe;"|
 
|}
 
 
 
<div style="padding: 1em 1em 1em 1em; " align="center">
 
{| style="width:100%; border: 1px solid darkgray;"
 
|-
 
|
 
<br/>
 
<br/><font size="4"> Usability Test 2 (14th February '13) </font><br/>
 
{| cellpadding="9" style="border: 1px solid darkgray; text-align: center; height:50px"
 
|scope="row"  width="1200" style="text-align: left; background: #dff4ca"|
 
  
<font size="3">''' GOALS ''' </font><br/>
 
{| cellpadding="9" style="border: 1px solid darkgray; text-align: center; height:50px"
 
|scope="row"  width="1200" style="text-align: left; background: #FFF8C6"|
 
'''1. Make sure all the new features implemented are workable and do not affect the old features from UT1'''<br><br>
 
'''2. Obtain feedbacks from our users to improve the usability, experience and performance of the App'''
 
 
|}
 
|}
 
+
{|
 
+
<big> '''Testing'''</big>
<font size="3">''' TEST SCOPE '''</font>
 
<imagemap>
 
Image:Door1.png|320px|right|alt=Alt text
 
default [https://wiki.smu.edu.sg/is480/IS480_Team_wiki:_2012T2_Viaxeiros_Application_Development/User_Testing_2 Welcome to User Testing 2]
 
desc none
 
</imagemap>
 
{| class="wikitable"
 
|-
 
! style="width:20pt; background:#ffee8b;" | <center>S/N</center> !! style="width:150pt; background:#ffee8b;" | <center>MAIN FUNCTION</center> !! style="width:320pt; background:#ffee8b;" | <center>FEATURES TESTED</center>
 
|-
 
| style="background:#feffcb;" | '''<center>1</center>'''|| style="background:#feffcb;" | '''<center>LOGIN</center>'''|| style="background:#feffcb;" | 
 
*Facebook Login
 
*Qiito Email Login
 
|-
 
| style="background:#fff2a4;" | '''<center>2</center>''' || style="background:#fff2a4;" | '''<center>DISCOVERY</center>'''|| style="background:#fff2a4;" | 
 
*View Featured Travelogues
 
*View Featured Places
 
*View Featured Photos
 
*<font color="#FF0000">'''View Expanded Google Map in Individual Travelogue'''</font>
 
*<font color="#FF0000">'''View Expanded Google Map in Individual Place'''</font>
 
|-
 
| style="background:#feffcb;" | '''<center>3</center>''' || style="background:#feffcb;" | '''<center>MY TRAVELOGUE</center>'''|| style="background:#feffcb;" | 
 
*<font color="#FF0000">'''Add all places to new Travelogue'''</font>
 
*<font color="#FF0000">'''Add a place to existing Travelogue'''</font>
 
*View My Travelogue Listing
 
*View Individual Travelogue <font color="#FF0000">'''(with expanded map)'''</font>
 
*View Individual Place in My Travelogue <font color="#FF0000">'''(with expanded map)'''</font>
 
*Download My Travelogue
 
*View Travelogue Offline (without map)
 
*View Places in Travelogue Offline (without map)
 
|-
 
| style="background:#fff2a4;" | '''<center>4</center>''' || style="background:#fff2a4;" | '''<center>MY MEMORIES</center>'''|| style="background:#fff2a4;" | 
 
*Capture Photos via Camera
 
*<font color="#FF0000">'''Upload Photos via Camera/Gallery to Qiito's Server'''</font>
 
|-
 
| style="background:#feffcb;" | '''<center><font color="#FF0000">5</font></center>''' || style="background:#feffcb;" | '''<center><font color="#FF0000">MY PROFILE</font></center>'''|| style="background:#feffcb;" | 
 
*<font color="#FF0000">'''View My Followers'''</font>
 
 
|}
 
|}
<font color="#FF0000">'''*those in RED are newly added features'''</font>
+
{|
 
+
For this project, we have done a total 3 user tests. The first 2 caters more towards testing the functionality of the application, while the last user testing is geared more towards the user experience and interface of the application
 
 
<font size="3">''' TESTING METHODOLOGY '''</font> <br/>
 
{| cellpadding="9" style="border: 1px solid darkgray; text-align: center; height:50px"
 
|scope="row"  width="1200" style="text-align: left; background: #FFF8C6"|
 
Our participants for UT2 consist of Existing and new Qiito App Users. For existing users, we asked our friends from UT1 to test on our App to see if our App has improved from UT1. We also target new users by inviting our fellow SMU friends from different schools to try out our App. <br><br>
 
We conducted our Usability Testing 2 in a SR. Firstly, our team will brief them what our App is for. If the participants have Android phones, we will ask them to download our app from GooglePlay. If they have no Android phones, we will pass them our phones to test on. Like UT1, we gave our participants a sheet of instructions consisting a set of scenario-based tasks. We would then sit beside them and observe how they interact with our application. We should not guide them unless they are confused or don't know how to proceed. Our team would also note down the areas which are confusing.<br><br>
 
After they have done with the tasks, we will then ask them to fill up an [https://docs.google.com/forms/d/1gB2qKNWdQu2tJ4zHeDXYnXwYWC5HlPQm7OlpaQ7ki_k/viewform Online Feedback Form]
 
 
 
[[Image:UserTesting2.jpg|800px|]]
 
 
 
 
 
|}
 
 
 
  
<font size="3">''' UT2 DOCUMENT REPOSITORY ''' </font><br/>
 
{| class="wikitable"
 
|-
 
! style="width:120pt; background:#fdff98;" | <center>DOCUMENT NAME</center> !! style="width:140pt; background:#fdff98;" | <center>DOCUMENT LINKS</center>
 
|-
 
| style="background:#feffcb;" | <center>Scenario-Based Tasks</center>|| style="background:#feffcb;" | <center>[[Media:User_Testing_2_Scenario.docx‎|Click Here (.docx)]]</center>
 
|-
 
| style="background:#feffcb;" | <center>UT 2 Feedback Form</center>|| style="background:#feffcb;" | <center>[https://docs.google.com/forms/d/1gB2qKNWdQu2tJ4zHeDXYnXwYWC5HlPQm7OlpaQ7ki_k/viewform Online Feedback Form]</center>
 
|-
 
| style="background:#feffcb;" | <center>UT 2 Results</center>|| style="background:#feffcb;" | <center>[[Media:UT2_Consolidated_Results.pptx‎|Click Here (.pptx)]]</center>
 
 
|}
 
|}
|} <br/>
 
 
 
 
|}
 
|}
  
Line 801: Line 343:
 
|}
 
|}
  
 +
<!------------------------------------Reflection--------------------------------------->
  
 
+
<div id="Reflection" style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
 
<font size="4"> Reflections </font>
 
<!------------------------------------Reflections --------------------------------------->
 
 
 
<div id="Reflections " style="padding:0px; text-align: right; margin-bottom:0px;"  align="center"></div>
 
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
{| cellpadding="1" cellspacing="1" style="width: 100%; background-color: #ffffff; vertical-align: top; "
 
| colspan="2" style="padding: 0;" |
 
| colspan="2" style="padding: 0;" |
Line 817: Line 355:
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
 
| rowspan="1" width="30%" colspan="2" height="37px" valign="top" style="background:#e4fcfe; border:8px solid #7cc1c7; border-bottom:0; padding:0; padding-right:1em; margin:0; -moz-border-radius-topright:1em" |  <div style="margin-top: -20px; padding-left:3px"></div>
  
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Learning Outcomes'''</div>
+
<div  style="padding-left:10px; margin-top:36px; font-size:180%; font-family: Elephant;" >'''Reflection'''</div>
 
|}
 
|}
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
 
| style="border-bottom:8px solid #7cc1c7; background:#ffffff;" width="8" | &nbsp;
Line 834: Line 372:
 
|  
 
|  
 
<br/>
 
<br/>
<font size="3">'''Team Reflection'''</font>
 
  
{| class="wikitable"
+
{|
! Member !! Reflection
+
'''Team Reflection'''
|-
+
|}
| [[Image:Zijun mid.jpg | 150px]] ||
+
{|
I have learnt to better manage my time by prioritizing my work accordingly. As the Quality Assurance Manager and Assistant Designer, I realized that it is very difficult to develop a native android app without any frameworks as there is a need to cater to different screen sizes for the phones. Sometimes it might look okay on my phone but looks different in another phone. I hope that through this project, I am able to learn things to give a better user experiences for users.
+
  '''Individual Reflection'''
|-
 
| [[Image:Yukai mid.jpg | 150px]] ||
 
I set out to learn hard skills such as technical coding and soft skills such as project management skills, which I believe is still an ongoing process.
 
   
 
However, the learning outcomes since acceptance have been much more overwhelming than I’ve expected. Being the lead developer for offline maps has really tested my patience and perseverance due to the need to meet project requirements and deadlines. I’ve also gained more experience working in an agile development where we have to constantly gauge and prioritize the importance of certain functions, either due to client requirements or insights from user testing.
 
|-
 
| [[Image:Melissa mid.jpg | 150px]] ||
 
As a designer, it was indeed challenging as it was my first being exposed to Android Coding. Editing the XML layout code was quite different as compared to editing on a CSS template. Furthermore, I have to take consideration to different layouts and densities. Therefore , I have earnt the virtue of being patient and to continue to play around with the layout values to ensure that the outlook of the application appears correctly in different models. Communication is also key amongst the team to ensure the quality of the application is there.
 
|-
 
| [[Image:Singlim mid.jpg | 150px]] ||
 
During acceptance, I have set out the goal of learning how to develop an android application. I believe I have managed to grasp certain aspects of it and am definitely still looking to improve. In terms of mobile app development, performance and usability of the application is critical. However, this is a challenge as there are many different phone models and versions out there. Some may work, some may not. Therefore, it is always a challenge to make the application available to as many phone models as possible. I have also enjoyed the opportunity of learning from one another. As the project progresses, each of us has forged our strength in different areas. Working with An has also widened my knowledge on many other technical know how such as performance testing etc. As a lead business analyst,  I have explored available travel apps and design a survey questionnaire prior the start of the project to decide on interesting features that users would want in a travel app. At the same time, touching up on design prototyping and diagrams to clarify with sponsor and supervisor.
 
|-
 
| [[Image:Siew mid.jpg | 150px]] ||
 
Through this project, I was hoping to learn how to better manage a team using the agile framework, where workload is fairly allocated throughout the team as well as a good management of change requests throughout the application. Currently, through the logs as well as meetings that we have, I learnt how to manage changes from the client’s, supervisor’s as well as user’s feedback and to prioritize what changes should be implemented. I hope to continue to learn how to better allocate the correct amount of manpower for each functions, and how to communicate better with the other stakeholders involved in our application.
 
 
|}
 
|}
 
 
 
|}
 
|}
  

Revision as of 12:47, 15 April 2013

Viaxerios Logov1.png
Welcome to Viaxeiros FYP Wiki Page
Navigation 8.png


Final Term Slides
   


Coming Soon!

Project Progress Summary
   


Changes since Midterm

Based on the feedbacks gained from the midterms as well as the user testing, our team has implemented the following changes:
  1. Introduction of Guest Account
  2. Usage of vector offline map (Mapsforge) instead of Raster offline map (OSMDroid)
Project Highlights
Iteration Descriptions / Highlight
4 Increasing Scope to be Done

After the discussions we had with the sponsor, we have decided to implement a few changes in the project scope to provide a more holistic experience of the application. Hence, as mentioned in midterm, more native pages are introduced in the application, which majorly affected the project schedule.
In view of this change, our team has decided to drop one of our additional functionality to better concentrate on the additional functions to be done.

10 Introduction of Guest Function and Change in Offline Map

From the feedbacks received from the midterm presentation and the user testing, our team decided to add in a Guest function to allow users to try out the functions without the need to login. Additionally, many entry points are included to allow users to login.
Furthermore, our team changes our offline map library used to Mapsforge, a library which supports vector maps. The actual map file will be stored within Qiito server, where it can be retrieved when users download their travelogue.
To cater to this, our team decided to drop our additional functionality and instead focus on the new changes.

Project Challenges
Challenge Description
Implementing workable Offline Map
  1. Difficulty getting documentation for OSMDroid
  2. Change from OSMDroid to Mapsforge
  3. Directly changing Mapsforge
  4. Understanding the rendering of maps in Mapsforge
  5. Integrate 2 versions of Mapsforge
Out of Memory Error
  1. Small phone memory causes significant out of memory error
  2. Different phone model has different assigned phone memory and procedures for phone memory release, resulting in differing debugging results
  3. Manage to use lazy loading and other more efficient codes to mitigate the problem
Project Achievements

Project Management
   


Project Schedule
Metrics
Change Request Log
Technical Complexity
Complex Feature Description
1. Offline Vector Map (Mapsforge)

Purpose of feature

  • To display and render offline map when users download a travelogue
  • To display pins and navigation to other applications via the map

Complexity of Feature

  • Direct customization of the library source code
  • Integrating 2 versions of source code into 1
  • Find and retrieve the right file type to be downloaded
  • Limited documentation available in the internet

For more information on the complexity of this feature, please view here

2. SherlockActionBar Library

Purpose of the Feature

  • Provide standard view for phone versions 2.3 and above
  • Customize action bar to suit Qiito's business concept

Complexity of Feature

  • Integrate Fragments to Online (Google Map) and Offline Map (Mapsforge) Library

Product Quality
   


Project Deliverables
Stage Specification Module
Project Management Minutes
Metrics
Requirements Change Request Log
Story Board
Analysis Use Case
Design System Architecture
Database Diagram
Testing Usability Test
Handover Documentation
  • Comments of codes
  • Documents on setting up Eclipse
  • Procedure to deploy in Google Play
Quality
Quality Attribute Description
Performance

1. Improvement in performance in terms of loading speed and minimal crashes

  • Implementation of GZip and Lazy Loading
  • Removal of excess or redundant resources used by clearing bitmap images
Usability

2. Improvement in User navigation and look and feel

  • Include guides for users when they first install the application
  • Introduce the guest account to allow users to try out more functions before logging in as users
Deployment

Qiito has 3 servers used: one for development, another to simulate real data usage, and the live server used for their users.
The compiled apk package is then uploaded into Google Play, where any users can access to this.

Click here to download our latest application version!

Testing
For this project, we have done a total 3 user tests. The first 2 caters more towards testing the functionality of the application, while the last user testing is geared more towards the user experience and interface of the application


Reflection
   


Team Reflection
Individual Reflection