HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2010T1 Kumbaya"

From IS480
Jump to navigation Jump to search
 
(252 intermediate revisions by 3 users not shown)
Line 1: Line 1:
==Team Kumbaya==
+
[[Image:Simama.jpg|right|thumb|200px]]
[[Image:Kumbaya.jpg|Team Kumbaya‎]]
+
[[Image:Kumbaya.jpg|right|thumb|200px]]
===Members===
+
ONE (SINGAPORE) is a society dedicated to raising public awareness in taking concrete actions to make poverty history. It is committed to supporting projects across the region linked to the Millennium Development Goals (MDG). As such, ONE (SINGAPORE)’s website is its primary marketing tool to achieve its objective of raising public awareness. However, since its inception, the website, primarily due to lack of resources, has been underutilized and under maintained, and has not been borne to its full capacity.
 +
 
 +
Being one of the major factors in the unsuccessfulness of the website, our project thus aims to solve this problem by up hauling the website into a medium which not only pushes information into the audience, but acts as a medium of pulling in masses and allowing more information dissemination, while concurrently ensuring that its core features are simple to use and easy to maintain.<br><br>
 +
 
 +
==Summary==
 +
:<i>Current Stage :  3.4 (refer to [[#Project Schedule:|Project Schedule]])</i>
 +
The following section summarizes the different aspects of the project, covering and overview of specific high and low points of the project, the issues encountered, the client requirement changes, and other aspects of the requirements which made it beyond simply a typical SMU project.
 +
 
 +
===Problem Identification===
 +
Further research and interaction with the client in the first phase of our project facilitated the direction of our project by helping us identify the underlying reasons behind the problems faced by ONE (SINGAPORE). The following provide a brief summary of the same:
 +
*<b>Lack of seamlessness and content organization</b><br />The contents of the website are a prime source for ONE (SINGAPORE) to propagate its content. However, any information contained in the content is scattered throughout the website without specific structure and direction, making it even more difficult for users to navigate through the website and to source information more efficiently. Moreover, broken links on the website make it even more tedious in finding relevant information pertaining to ONE (SINGAPORE)’s vision, goals, projects and events, thus adding to the problem.
 +
*<b>Broken Functionalities</b><br />The core functionalities of the website, such as membership towards ONE (SINGAPORE), the regular newsletter updates sent to subscribers regarding their events, and their online store, are dominant features in providing the majority of interaction to the audience of the website, making them vital to its basic functioning. However, these functionalities are, to a large part, unaccounted for, hard to maintain, or not completely functioning, thus making them a problem core to the project, and the primary requirement demanded by the client.
 +
*<b>Lack of mobile friendliness</b><br />A significant portion of ONE (SINGAPORE) target audience is the youth population of Singapore, which they feel are an apt source of volunteerism and propagation of further awareness towards their cause, whom they feel they can reach better through the mobile medium. This naturally demands a mobile-optimized version of their website, specific to today’s popular handheld/mobile devices prominent amongst the Singaporean youth in their opinion. (e.g. iPhone, Android-based phone, Windows Mobile Phone, and Blackberry).
 +
*<b>Website Paradigm</b><br />ONE (SINGAPORE)’s website has employed a traditional paradigm that ‘pushes’ out information rather than ‘pulling’ in people. However, the employment of existing social media tools can be used to tap into a massive audience and generate further awareness to their cause, thus making it one of the most important goals of this project.
 +
 
 +
===Project Highlights===
 +
The following briefly describes a list of major highlights of the project:
 +
 
 +
*<b>Code-Conflict due to a blend of API and plugin usage</b><br />Our team was initially under the impression that registered Wordpress plugins are well-tested and hence will not create integration issues when multiple plugins are used. However, during the development phase of the independent aggregator function (to be described later) on top of the Wordpress shell, the team encountered significant conflicts in running website scripts and functionalities. Moreover, the team took 3-4 weeks to learn the independent APIs necessary for the Aggregator function, causing the 5th and 6th iteration of the project to be significantly delayed. This will be discussed in more detailed later in the “Issues Encountered” section of this report.
 +
 
 +
*<b>Unexpected Client Absence</b><br />During the week of actual beta-deployment of the website to the client’s server, our point of contact had to travel abroad for an emergency family issue. This happened in week 5, and created delays in actual deployment of the website. The client is expected to be back on 10th of October (Week 9).
 +
 
 +
*<b>Numerous Client-side Change Requirements</b><br />Throughout the course of developing the project, discussion with our clients led to the dropping of some initially proposed functionalities, specifically independent mobile application development and implementation of google analytics, as well as addition of new features to the project, which will be discussed in more detailed later in the “Requirement Changes” section of this report.<br /><br />'''Project Requirement Changes'''<br>The following highlight the high-level changes in the project requirements, and their impact on the project:<br />
 +
{| border="1" cellpadding="1"
 +
|- style="background:gray; color:white;"
 +
|width="150pt"|'''Requirement Change'''
 +
|width="200pt"|'''Reason'''
 +
|width="100pt"|'''Change Source'''
 +
|width="50pt"|'''Date'''
 +
|width="150pt"|'''Schedule Impact'''
 +
|width="50pt"|'''Status'''
 +
|-
 +
 
 +
||Dropping of Google Analytics functionality
 +
||Lack of significant traffic which can substantiate analytics results. This means the lack of value addition towards client’s requirements.
 +
||Client decided to drop
 +
||30th Aug
 +
||Positive
 +
||N/A
 +
|-
 +
 
 +
||Dropping of dedicated mobile application development
 +
||Time and resource constraints to learn the development platform and actually building the app
 +
||Team decided to drop
 +
||7th Sep
 +
||Positive
 +
||N/A
 +
|-
 +
 
 +
||Addition of Geolocation Integration with Twitter, Google News, Flickr API
 +
||Added to news aggregator for better interactivity
 +
||Team decided to add
 +
||14th Sep
 +
||This addition of scope has caused 15 days delay in iteration 5
 +
||Completed
 +
|-
 +
 
 +
||Enhancements pertaining to admin’s ease-of-use features
 +
||Added in order to fulfill requirement changes (e.g. exporting of online user database contents to csv)
 +
||Client decided to add
 +
||2nd Aug
 +
||Added in iteration 3 and caused no delay
 +
||Completed
 +
|-
 +
 
 +
||Dropping of Store and Membership subscription feature in mobile version
 +
||The layout of store in mobile version doesn't integrate well, Paypal transaction on mobile is still uncommon and security issues may exist
 +
||Team decided to drop
 +
||12nd November
 +
||Positive
 +
||N/A
 +
|-
 +
 
 +
||Adding of Analytics functionality
 +
||Supervisor recommended that analytics are useful for finding ways to improve the project in the future
 +
||Team decided to add
 +
||9th Nov
 +
||Added in iteration 7 and caused no delay
 +
||Completed
 +
|}<br><br>
 +
 
 +
===Overarching Project Targets===
 +
The following points highlight the overarching targets of the project, as envisioned by our team, highlighted by our client, or both.
 +
 
 +
====Client-defined Project Targets====
 +
 
 +
*<b>Awareness Creation</b><br />To create a one-stop unique portal to let the people of Singapore know about the ongoings on the issue of poverty as a millennium development goal, in order to provide the general public with a platform to find out more information about what the world did recently, in the last week, and in the last month, to fight poverty.
 +
 +
*<b>Becoming ‘Glocal’</b><br />To be able to present Global issues with a localized flavor as much as possible through the medium of the website
 +
 
 +
====Team-defined Project Targets====
 +
 
 +
*<b>Creating ease of maintenance</b><br />To simplify maintenance of the website while adding additional features and to automate content as much as possible in order to minimize the amount of time and resources spent on keeping the website up to date
 +
 
 +
*<b>Developing and utilizing newer mediums of creating awareness</b><br />To create an increased awareness amongst the public regarding poverty, measurable by increased web traffic and interaction with the contents of the websites, to be achieved and measured through social media
 +
 
 +
*<b>Developing a simplified user interface</b><br />To implement a more user-friendly interface for all users, to be achieved primarily through reorganization of its website, its features and its content
 +
 
 +
*<b>Developing an interactive, engaging, and live-deployed portal which can improve traffic</b><br />To include more features and move the website from a stale editorial-based content to a more interactive and engaging user experience
 +
 
 +
===Workload Distribution===
 +
The following table highlights the overarching work distribution of various aspects of the project across the different team members. Given the changing requirements as provided by the client, the workload distribution has been subject to change since it was first allocated, and the table below represents the final workload distribution in the final iteration of the project:
 
{| border="1" cellpadding="1"
 
{| border="1" cellpadding="1"
|- style="background:black; color:white"  
+
|- style="background:black; color:white;"
|width="100pt"|Name
+
|width="200pt"|'''Task/Function/Features'''
|width="150pt"|Email
+
|width="50pt"|'''Status'''
|width="200pt"|Role
+
|width="50pt"|'''Confidence Level'''
 +
|width="100pt"|'''Comment'''
 +
|-
 +
 
 +
||New website design and layout (CSS)
 +
||Done
 +
||1
 +
||Shitij Nigam
 
|-
 
|-
  
 +
||Wiki Management
 +
||Done
 +
||1
 +
||Aung Kyaw
 +
|-
 +
 +
||Members registration (with payPal integration)
 +
||Done
 +
||1
 
||Tomy Jaya
 
||Tomy Jaya
||tomy.jaya.2008@sis.smu.edu.sg
 
||Project Manager
 
 
|-
 
|-
  
||Wai Phyo Kyaw
+
||Membership Management (export to csv)
||phyokyawwai.2008@sis.smu.edu.sg
+
||Done
||Mobile Evangelist/Liaison Person
+
||1
 +
||Tomy Jaya
 
|-
 
|-
  
 +
||Advanced Search
 +
||Done
 +
||1
 +
||WAI Phyo Kyaw
 +
|-
 +
 +
||E-commerce Shopping Cart for merchandise (with payPal integration)
 +
||Done
 +
||1
 +
||Aung Kyaw
 +
|-
 +
 +
||Feedback
 +
||Done
 +
||1
 +
||Tomy Jaya
 +
|-
 +
 +
||Automatic newsletter updates
 +
||Done
 +
||1
 +
||Tan Eu Jeng
 +
|-
 +
 +
||Event Management Updates
 +
||Done
 +
||1
 
||Tan Eu Jeng
 
||Tan Eu Jeng
||eujeng.tan.2008@sis.smu.edu.sg
 
||Web Developer
 
 
|-
 
|-
  
||Shitij Nigam
+
||Social Media Integration
||shitijnigam.2008@sis.smu.edu.sg
+
||Done
||Lead Designer
+
||1
 +
||Shitij Nigam, Tomy Jaya, Aung Kyaw, Tan Eu Jeng, Wai Phyo Kyaw
 +
|-
 +
 
 +
||News Aggregator
 +
||Done
 +
||1
 +
||WAI Phyo Kyaw, Shitij Nigam, Aung Kyaw, Tan Eu Jeng, Tomy Jaya; scope addition: display of news using fancy box and Twitter, Google News, Flickr and Map integration
 +
|-
 +
 
 +
||Manage Homepage
 +
||Done
 +
||1
 +
||Wai Phyo Kyaw, Tomy Jaya
 +
|-
 +
 
 +
||Mobile-friendly version of the site
 +
||Done
 +
||1
 +
||Tan Eu Jeng, Aung Kyaw
 +
|-
 +
 
 +
||Analytics
 +
||Done
 +
||1
 +
||Wai Phyo Kyaw, Shitij Nigam
 
|-
 
|-
  
||Aung Kyaw
+
||GeoPollster
||kyaw.aung.2008@sis.smu.edu.sg
+
||In progress
||Mobile Evangelist
+
||1
|}
+
||Tan Eu Jeng, Shitij Nigam
 +
|}<br><br>
 +
 
 +
===Project Challenges===
 +
 
 +
'''Content Coordination Issues'''<br>
 +
Client’s unexpected absence during planned formal deployment date caused issues in coordinating information on the website
 +
 
 +
'''Deployment issues'''
 +
*Minor delay in Client’s acceptance and approval of beta deployment caused a delay in actual deployment date on the client’s server
 +
*Actual remote ftp porting for deployment took more time than expected due to an unexpected rise in the size of the web application to more than 100mb
 +
*Porting of prototype to actual deployment website required more configuration changes than expected (e.g. database connection changes, social media integration, URL redirection changes etc.)
 +
 
 +
'''Issues in implementing unfamiliar API'''<br>
 +
The team took approximately 3-4 weeks to familiarize themselves with and concurrently implement all of the following APIs for the Aggregator feature:-
 +
*SimplePie API for aggregating feeds (RSS)
 +
*Twitter with Bing Maps API integration for better interactivity of the “News aggregator” function
 +
*Google Maps API mashup with Flickr, Twitter, Google News, Yahoo Pipes, and RSS to GeoRSS parser
 +
*Fancybox JQuery Javascript Library for seamless display of news article
 +
 
 +
'''Content Porting and Migration'''<br>
 +
Team took more time than anticipated to manually migrate information from the original website, partially because more content was being perpetually added to the original ONE (SINGAPORE) website during the process as well, creating additional delay in ensuring a quality check on the information being ported.
  
===Faculty Supervisor===
+
'''Feature Drop'''<br>
Chris Boesch (cboesch@smu.edu.sg)
+
Implementation of “Google analytics” as a proposed additional feature was dropped as the present website does not incur enough traffic to allow extensive use and exploitation of analytics. However, this may be reconsidered after complete implementation of the accompanying Social Media campaigns as part of the Social Media integration. At last, the team decided to implement this feature back to study traffic in the beta website and point out possible improvements for the client in the future. 
  
===Client===
+
'''Feature Enhancement'''<br>
*Meraj Huda (meraj.huda@gmail.com)<br> - Public Relations Officer (Contact Person)
+
The News Aggregator function was further enhanced with the addition of a Google/Bing Maps integration in order to create a greater “pull” factor in the news aggregator function and add elements of geolocation integration in order to provide more relevance to the content.
*Michael Switow (switow@ONESingapore.org)<br> - ONESingapore Co-founder
 
  
==Project Simama==
+
==Final Deployment==
===Project Overview===
+
While initially deployed on a prototype website from a personally owned server by one of the teammates, the website was ultimately transferred to the actual server on a beta URL for live deployment.
[[Image:Simama.jpg|thumb|Project Simama]]
+
===Deployment Websites===
ONESingapore, our client, is a non-profit political organization who aims to raise Singaporeans’ awareness in Millenium Development Goals such as extreme poverty. To achieve this goal, it relies heavily on its website and annual events to gather volunteers and pledges.  
+
The necessary URL's for the same may be found here:
 +
*<b>Prototype website</b><br />http://www.palotetote.com/fyp/<br /><i>(Deployment on Team-Owned Personal Server)</i>
 +
*<b>Beta Website</b><br />http://beta.onesingapore.org<br /><i>(Deployment on <b>Client's</b> Server)</i>
 +
===Social Media Channels===
 +
*Facebook:<br />http://twitter.com/OneSingapore
 +
*Twitter<br /> http://www.facebook.com/OneSingapore
  
====Description====
+
==Achievements==
The ONESingapore website, http://www.ONESingapore.org was developed by an external party using WordPress CMS, and since then, has been poorly managed. The content is scattered all over the place and many of the functionalities (such as member registration) are no longer working properly. In addition, the advent of mobile technologies has also attracted ONESingapore’s executive committee to ensure that their website is viewable on a variety of mobile browsers as well. On top of that, a dedicated native mobile application will be developed to support their worthy cause will be an excellent marketing platform for them to reach a wider audience in an informed, organized manner. Hence, we propose to do the following to help ONESingapore solve its current issues:
+
*Accommodating and supportive to team members
 +
*Effectively utilize the power of Social Media
 +
*Implementation of Geolocation greatly enhances the visual interactivity of a website with its users
 +
*Integration of multiple web api's in order to handle large amounts of information while ensuring non-redundancy in website and server efficiencies, primarily through multiple code-optimization iterations
  
#ONESingapore website clean-up and components/functionalities addition by leveraging on available WordPress plug-ins
+
==Project Management==
#ONESingapore website mobilization
+
===Project Schedule:===
  
====Objectives====
+
'''PROJECT SOFTWARE PROCESS – USE CASE DRIVEN ITERATIVE DEVELOPMENT'''<br>
 +
Our team implemented a use-case driven iterative development. This means that our iterations period are not time-based (e.g. bi-weekly). Instead, we group similar use-cases into one iteration and build on the every iteration to incrementally add use-cases or features to the web application.<br><br>
 +
[[Image:Project_plan_kumbaya_new.JPG|Project Schedule‎]]<br><br>
 +
'''''Download Actual & Planned Project Schedule (Microsoft Project files with Gantt Chart) [http://www.fileden.com/files/2010/10/1/2983253//FYP_Kumbaya_Project_Schedule.zip Here]
  
*'''Outcomes/Deliverables:'''
+
===Project Delay:===
**A re-organized ONESingapore website with excellent user interface and easy navigation
 
**Additional functionalities to ONESingapore websites (these functionalities will be detailed in project scope section)
 
**A mobile-friendly version of ONESingapore website which supports content-viewing iPhone, Android, Windows Mobile, and Blackberry browsers)
 
  
*'''Value Statement:'''
+
Our team experienced a total delays of 23 days from the scheduled plan in Iteration 7. Below are the reasons: <br />
**Wider coverage (mobile users)
+
1. New version of aggregator to leverage the power of social media
**More organized vision, Marketing, Message-spreading
+
*Custom-coded RSS parser for faster load-time
**Website ease of management and extensibility
+
*Facebook API integration
 +
*Google Maps mashup with Flickr, Twitter,  and Google News
 +
2. Mobilization delay
 +
*Due to time spent learning and exploring possible technologies (jQTouch) and emulators (e.g. Android & Blackberry Torch SDK)
 +
*At last, the team decided to stick with WPTouch and did a major revamp on homepage for more aesthetic appeal
 +
3. Last minute requirement changes 
 +
*There were numerous design changes and features adjustment demanded by the client. For example, the client asked for a one-stop page to flexibly change the layout and organization of the homepage (e.g. change categories order and featured video & category)
  
====Scope====
+
Here are what our team did to handle the delay:
 +
* We made use of 21 days buffer. This signifies the importance of buffer in any project plan.
 +
* Squeezed-in time for Poster
 +
* Documentation and handover took less time, because:
 +
**No comprehensive handover needed due to
 +
**Client’s trust to allow live beta deployment on ONE(SINGAPORE)’s server
 +
**Admin access to social media account (e.g. Facebook)
 +
**Client’s incremental feedback session accompanied with explanations on feature usage
 +
**User manual to be passed on to client at the end of the project. 
  
'''Two Primary Goals:'''<br><br>
 
  
'''I'''. ONESingapore website clean-up and components addition by leveraging on available WordPress plug-ins <br>
+
===Metrics===
*Current problems: lack of usability, lack of ecommerce function, non-existent mobile support
+
====Schedule Metric====
*Solution: We will leverage on existing wordpress plugins with some customization. Here is the comparison of current condition and resulting condition.<br><br>
+
Schedule metric is used to track the progress of project and increase the efficiency of schedule planning. A comparison is made between the planned and actual project schedule. From the comparison, the number of days delay/ahead of schedule can be extracted based on iteration. The following graph shows the number of days delay/ahead of schedule.<br><br>
 +
[[Image:Kumbaya_schedule_metric_new.JPG]]<br><br>
 +
Based on the number of days delay/ahead of the schedule, actions will be performed according to the following action plans. <br>
  
 
{| border="1" cellpadding="1"
 
{| border="1" cellpadding="1"
|- style="background:black; color:white"  
+
|- style="background:black; color:white;"
|width="100pt"|Issue
+
|width="50pt"|
|width="300pt"|Current Condition
+
|width="150pt"|'''1 - 3 days'''
|width="300pt"|Resulting Condition
+
|width="150pt"|'''4 - 7 days'''
 +
|width="150pt"|'''7 days and above'''
 
|-
 
|-
  
||Content
+
||'''Delay'''
||Contents are unorganized which cause the management difficult
+
||Extend Meeting time to cover all functionalities
||Contents will be well-organized and easy to be managed
+
||Add more days/hours to specific  task delayed in project schedule
 +
||Consider to re-scope project
 
|-
 
|-
  
||Usability
+
||'''Gain'''
||Interface is not user friendly and difficult to use
+
||Keep as buffer time
||Interface will be more user friendly and easy to use. Customization or Personalization, different interface based on user, will also be applied
+
||Reduce days/hours to specific task in the project schedule
 +
||Shift project schedule forward
 +
|}<br><br>
 +
 
 +
====Bug Metric====
 +
Bug metric is used to improve the quality of functionalities. The bug “value” will be tracked after every iteration’s completion. Bug “value” will be assigned according to the severity of the bug according to the table below.<br><br>
 +
{| border="1" cellpadding="1"
 +
|- style="background:black; color:white;"
 +
|width="100pt"|'''Error Category'''
 +
|width="50pt"|'''Severity'''
 +
|width="150pt"|'''Example'''
 
|-
 
|-
  
||Search Function
+
||UI Error
||Search function is not implemented
+
||1
||Optimized search function will be implemented
+
||Minor CSS alignment issue
 
|-
 
|-
  
||Members Registration
+
||Implementation Error
||Interface is not user friendly and the payment process is not operating.
+
||2
||Interface will be more user friendly and the payment process will be operating
+
||CAPTCHA doesn’t appear in the contact form
 
|-
 
|-
  
||Find Information
+
||Logic Error
||Contents are scattered all over the website which result in difficulty of finding related information
+
||3
||Information will be displayed in an organized manner and MDG related contents aggregation feature will also be implemented
+
||Fatal database connection error when exporting CSV
 
|-
 
|-
  
||Share Information
+
||Porting Error
||Newsletters are sent out manually and there is no social media integration
+
||1
||Newsletters will be sent out automatically and social media tools such as facebook, twitter will be integrated
+
||“Permalink” still pointing to prototype server
 +
|}<br><br>
 +
 
 +
The following graph shows the tracked bug “value” for each iteration.
 +
[[Image:Kumbaya_bug_metric.JPG]]<br><br>
 +
Based on the bug “value”, specific actions will also be taken according to the following action plan.
 +
 
 +
{| border="1" cellpadding="1"
 +
|- style="background:black; color:white;"
 +
|width="50pt"|'''Bug Value'''
 +
|width="250pt"|'''Action Taken'''
 
|-
 
|-
  
||Community Interaction
+
||1 - 3 points
||Place for OneSingapore's community to interact is unavailable
+
||Bugs recorded in excel sheet, scheduled for perpetual removal
||Place for community interaction will be provided
 
 
|-
 
|-
  
||Pledging
+
||4 - 8 points
||Only uploaded photos by pledgers are shown after pledging
+
||A Bug Squashing day will be held at the end of this current iteration.
||Not only uploaded photos but also a map that will show all locations of pledgers
 
 
|-
 
|-
  
||e-Commerce
+
||8 points
||ONESingapore's Merchandise is ordered or purchased via email
+
||Project member who reports the bug(s) that hits the 8 pt mark will contact PM to conduct a bug squashing day to eradicate as much bugs possible.
||ONESingapore's Merchandise will be ordered or purchased through the website store
 
 
|}
 
|}
<br>
 
''*Assumptions : We decided to stick with WordPress since the current management is used to this CMS and we assume that using other CMS will results in unnecessary overheads.''<br><br>
 
  
'''II'''. Website mobilization (dedicated for content-viewing on iPhone, Android, Windows Mobile, Blackberry)<br>
+
'''''Click to download Complete Bug Metric [[Media:Bug_Metric_KUMBAYA.xlsx|here.]]'''''<br>
*Current problems: non-existent mobile support to cater to growing mobile users
+
 
*Solution: using CSS, WordPress plug-ins and some customization to make the website viewable from different mobile platform (interface might be varied for different platforms for ease of use).<br><br>
+
===Meeting Minutes===
''*Constraints: This will only be done for ONESingapore website, not standup.sg simply because standup.sg contains flash animations and requires the capability to upload images which is not supported by mobile browsers.''<br><br>
+
'''''Click to download [[IS480 Team wiki: 2010T1 Kumbaya/minutes|Meeting Minutes.]]'''''<br><br>
 +
 
 +
===Risks===
 +
 
 +
*Live Deployment risk: What if the new web application doesn’t work in the client’s server
 +
Mitigation Strategy: to anticipate any server porting error, deploy a beta version on the client’s web-server first, then configure its DNS to be beta.onesingapore.org without erasing the original website
 +
 
 +
*Lack of client interaction risk: What if the intermediary client were to be unavailable?
 +
Mitigation Strategy: Liase with tertiary client contacts. In this case, Mr. Michael Switow from ONE (SINGAPORE) has been replying our queries regarding the website porting when Mr. Meraj Huda, our primary point of contact, was overseas.  
  
'''(**) Additional Goal of the Project – if there is enough time after the two primary goals have been met.'''<br>
+
*Misinterpretation of client’s requirements Risk: What if our solutions are misaligned to client’s expectations?
'''Native Mobile apps''' (for iPhone and Android platforms) to do the following functionalities<br>
+
Mitigation Strategy: Show client prototype before going into full deployment.
*Pledging by uploading photos
 
*One-stop News Aggregator for all MDG (similar idea to FluentNews app which pulls news from different sources. But our app will dedicate to collect MDG related news, events and articles. Also, this will be an incentive for users to download our app)
 
*ONESingapore website translated to the dedicated app for better organization
 
:(similar idea as Times, AllThingsD or Engadget apps, which are currently available on iPhone)
 
*User downloading the application shows support to the worthy cause
 
  
===Project Plan===
+
*Changing Business Requirements Risk: What if our client’s decide to drop or add functionalities?
====Project Milestones:====
+
Mitigation Strategy: develop using Iterative development process and increase client’s participation (via email as well as face-to-face meeting)
Work breakdown Structure with Key Milestones (Iterative Phase Development*)
 
[[Image:Project_plan_kumbaya_new.JPG‎]]
 
 
  
====Assumptions and Risks====
+
*Lack of expertise Risk: What if our we are not familiar with the technology to develop the solution?
 +
Mitigation Strategy: Research extensively and learn from a variety of sources, assign specialized member to learn the API in depth (e.g. Wai in SimplePie API and Shitij in FancyBox library)<br><br>
  
*'''Assumptions:'''
+
'''Mitigated Risks'''<br>
*#All software tools* used in this project are available for free (no cost incurred in software)
+
Though arduous, Wordpress framework can be altered via back-end using PhP to build some of the features and customize most of the solutions in this project. Hence, the risk of “WordPress CMS is a close system which has limitations” is removed.
*#Non-functional requirements such as extensive security and reliability are not the client’s main concerns.
 
''*iPhone SDK is not free. However, the team has agreed to buy and share a license.''
 
*'''Risks:'''
 
*#Team is unfamiliar with new development platform
 
*:''Mitigation step'': Development team to train themselves in new platform during summer break
 
*#Android Emulator used for testing purposes might not behave exactly the same as the real Android phone
 
*:''Mitigation step'': borrow/buy real Android phones for UAT
 
  
====Resource and Reference====
+
===Resource and Reference===
*'''Training on Mobile Development:''''
+
*'''Training on Wordpress CMS Development:''''
*#Android Developer Centre (http://developer.Android.com/guide/index.html)
+
*#Wordpress Tutorials(http://www.wp-tutorials.org/)
*#iPhone Developer Centre (http://developer.apple.com/programs/iPhone/)
+
*'''Collaboration/Communication Tools:'''
 +
*#Subversion Repository (internal)
 +
*#Wiki (with supervisors & Client)
 
*'''Software Required:'''
 
*'''Software Required:'''
*#iPhone SDK 3.2 + Apple XCode
+
*#winscp
*#Android SDK tools (Android, Android Emulator, Android Debug Bridge)
+
*#MySQL
*#Eclipse with Android Development Tools (ADT) Plug-in
+
*#WampServer
 
*'''Hardware Required:'''
 
*'''Hardware Required:'''
*#Macs
 
 
*#Windows PCs
 
*#Windows PCs
*'''Gadgets Required:'''
+
*'''Gadgets Required (for Mobilization):'''
 
*#1 x iPhone
 
*#1 x iPhone
 +
*#1 x BlackBerry
 +
*#1 x Windows Mobile
 
*#1 x Android phone<br>
 
*#1 x Android phone<br>
  
====Learning Outcomes====
+
==Project Reflections==
*'''Soft Skills:'''
+
===Team Reflections And Learning Outcomes===
**Learning to learn skills
+
====Technical, or ‘hard’ skills====
**Research techniques
+
*'''PHP/MySQL administration for multiple live deployments'''
**Project management and Collaboration skills
+
The beta deployment phase of the project was certainly an eye opener for the team in being able to manage actual deployment on the client’s server while constantly maintaining their existing information and content<br><br>
**Communication and Negotiation skills
+
 
 +
*'''Integration of multiple API'''
 +
The integration of multiple API in order to be able to create the news aggregator function, while ensuring minimal loading time and minimization of code for the same definitely tested the team’s skills in being able to implement newer, less tested open-source codes on a web application.<br><br>
 +
 
 +
====Soft Skills====
 +
*'''Project & Time Management skills'''
 +
Coping with unexpected project delays<br>
 +
Managing project through hectic school term schedule through prioritization and scheduling<br><br>
 +
 
 +
*'''Client Collaboration skills'''
 +
Understanding problem domain, a business of philanthropy<br>
 +
Working with real clients and handling communication issues<br>
 +
Aligning solution to meet client needs<br><br>
 +
 
 +
*'''Scope Change Management skills'''
 +
Managing drastic requirement changes<br><br>
 +
 
 +
*'''Maintainability and Usability'''
 +
Development has to take Maintainability and Usability into account rather than just completing the function.
 +
This we realized from our client's continuous emphasis that “they are not the developers” and from our heuristic evaluation, and usability Tests/Surveys. For example:
 +
*We have to allow flexibility and scalability on administration features (E.g. homepage organization)
 +
**Before: client has to go though html/css to change layout/content
 +
**After: one-stop option page to flexibly change layout/content
 +
*We need to ensure more efficient user experience on the new website (E.g. newsletter function)
 +
**Before:  User has to manually subscribe to newsletter via email
 +
**After:  Newsletter subscribe button to conveniently insert email address to subscribe
 +
<br><br>
 +
 
 +
===Individual Reflections===
 +
 
 +
====Aung Kyaw====
 +
'''''Midterm'''''<br>
 +
Project schedule should have been planned by taking into account of more factors and constraints. If so, the delay in the iteration could be mitigated. Moreover, scope could have been managed well by considering time constraints more accurately.<br><br>
 +
 
 +
'''''Final'''''<br>
 +
I am glad that I gain more comprehensive understanding in technical skills such as PHP, facebook API, geolocation are picked up as well. Furthermore, the interactions with client also equip me with the method to interact with clients, and understanding the needs and requirements of clients as well. Moreover, participation in this meaningful project to fight extreme poverty inspires me a lot about the social issues and I believe our project can effectively help One (Singapore) to eradicate extreme poverty by raising awareness of more people.<br>
 +
 
 +
====Shitij Nigam====
 +
'''''Midterm'''''<br>
 +
The Project requirements should have been better defined. The initial planning process wasn’t charted out in an apt manner, making it hard to initially channelize the direction of the project. However, subsequent interactions and feedback with the client, while primarily over email, helped fine-tune the vision, objectives, and goals of our project, something which we can definitely take away from the project.<br><br>
 +
 
 +
'''''Final'''''<br>
 +
The project was exhilarating near the end, to say the least, when the team was at it's creative and productive best, and at which point I really saw it get into a single cohesive unit which worked towards a singular goal of finishing the project in the best possible manner. That, in my opinion, was the biggest takeaway of the project- the opportunity to work with individuals of such amazing caliber and determination.<br>
 +
 
 +
====Tan Eu Jeng====
 +
'''''Midterm'''''<br>
 +
Project planning should have been more thorough, and deliverables must always be met to the best of the client’s expectations. As such, while the use of plugins was meant to ease the introduction of new features of the website, other problems such as integration with the core wordpress shell and its subsequent customization and code rewriting caused conflicts to occur rather frequently. Hence, even though some of the applications were tried and tested, but when actually implemented and integrated with each other, should always be carefully tested before actual deployment, a core takeaway for future projects and something which can be kept in mind while working with the emerging and newer forms of web applications, such as Facebook API, Twitter API, Maps, Geolocation etc.<br><br>
 +
'''''Final'''''<br>
 +
The IS480 FYP course has been a very enriching journey for me, not to mention our group was able to contribute to a greater cause. Skills which were taught in classes like OOAD helped equip and prepare us for scenarios such as last minute requirement changes. Along the way, we acquire new skills in leveraging on various technologies such as social media integration, Google Analytics, how to create a CMS portals fit for use by our client as well as better communication with real world clients. Hopefully, with our project, we will be able to make an impact in the fight against extreme poverty.<br>
 +
 
 +
====Tomy Jaya====
 +
'''''Midterm'''''<br>
 +
Our team’s face-to-face interaction with client should have been more frequent to ensure proper alignment of our solution to the client’s needs. Unfortunately, client’s busy schedule was a big hindrance to this, and contributed towards creating a slight lack of direction in the project in its earlier phase. However, the News Aggregator” function of our project is definitely a feature which excites me the most.  Integration with Twitter/Bing Map makes this feature hip and interactive and perfectly in line with ONE (SINGAPORE)’s goals of being able to reach out to a younger audience in order to create more awareness on poverty-related issues and the role of the people of Singapore.
 +
<br><br>
 +
'''''Final'''''<br>
 +
I’m glad that towards the end of the project, our interaction with client greatly improved both in terms of quality and quantity. We had more face-to-face meetings to discuss about our project progress and more ideas and feedback from improvements were generated and exchanged. In that respect, I’m sure the quality of our solution got better and more aligned to the client’s needs. In addition, I learned myriad skills from this project, ranging from picking up new technical skills/API on-the-go to managing client’s expectations (i.e. negotiating requirements with the client). Lastly, I hope that our aggregator/social media initiative can increase the site’s visitors, help ONE(SINGAPORE)’s noble campaign, and ultimately, make this world a better place.<br>
 +
 
 +
====Wai Phyo Kyaw====
 +
'''''Midterm'''''<br>
 +
It is always better to have chosen a project that you are passionate about. However, in this case, the team had to work extra hard in order to turn an ordinary project into something more than ordinary and something which they were passionate about; however, this brainstorming phase took a lot more time than anticipated, something which definitely needs to be taken into account while managing future projects.<br><br>
 +
 
 +
'''''Final'''''<br>
 +
I believe the final year project with ONE(SINGAPORE) made us understand more about how technology is vital in transforming the way we spread information and the way we inspire people towards a good change for society. Of course, we learned new exciting technical skills such as creating social media mashups, geolocation tools, traffic analytics, and user-centric comprehensive content management systems. But nothing beats the overall process of working and learning from an enthusiastic client, whose ultimate goal is to drive better awareness and initiatives towards poverty in Singapore. At the end of the project, we learned how the right technologies can bring tremendous value to the community. This comprehensive experience and knowledge is invaluable for us.<br><br>
 +
 
 +
==Project Deliverables==
 +
===Artifacts===
 +
<br>
 +
====Use Case Diagram====
 +
[[Image:Kumbaya_use_case.JPG]]
 +
 
 +
====Use Case Descriptions and Technologies Used====
 +
One of our project objectives concerning ease of use was to create an easy administrative dashboard. Our client was already using Wordpress CMS engine for the old website, and one of their requirements was to have our solution built upon the same Wordpress CMS engine so as to have the administrative costs of switching over minimized (the need to learn how to use the dashboard). Therefore, whenever possible, our team implemented available wordpress core function as well as plugins to meet the client’s requirements. In the event that no plugins were able to provide the necessary support, self-coded php modules were extended to the solution and integrated to the main dashboard seamlessly. Here are our use case descriptions and technologies used to achieve the use-case:<br><br>
 +
 
 +
*'''''Login/Logout''''': Admin and Users Log in/ Log out using username and password.
 +
'''''Technology used''''': Wordpress default “Users” feature <br><br>
 +
 
 +
*'''''Manage Membership''''': Manage the members and export members’ information to csv file.
 +
'''''Technology used''''': Wordpress default “Users” feature, Wordpress “s2member” plugin, and self-coded php module (integrated to main dashboard) to extract Wordpress database data, organize the tables, and export it into csv format.<br><br>
 +
 
 +
*'''''Register''''': register to as ONE (SINGAPORE) member by paying though PayPal
 +
'''''Technology used''''': Wordpress “s2member” plugin with heavy PayPal integration customization<br><br>
 +
 
 +
[[Image:Kumbaya_social.JPG|thumb]]
 +
*'''''Manage Social Media Content''''':  Manage the contents to be posted to social media channels via wordpress.
 +
'''''Technologies used''''': Combination of Wordpress “ShareThis” and “Facebook Like” plugin with minor CSS customization, “NetworkedBlogs” Facebook application to pull blog posts automatically. <br><br>
 +
 
 +
*'''''Post Newsletters''''': Post the newsletter in wordpress and the posted newsletter will be automatically distributed to subscribers
 +
'''''Technologies used''''': Wordpress “Newsletter” plugin<br><br>
 +
 
 +
*'''''Post Events''''': Post the event’s details with geolocation
 +
'''''Technologies used''''': Wordpress “Events” plugin<br><br>
 +
 
 +
*'''''Manage Webstore''''': Manage the products, prices, categories and promotions for webstore
 +
'''''Technologies used''''': Wordpress “Store” plugin with heavy PayPal integration customization<br><br>
 +
 
 +
*'''''Manage News Aggregator''''': Manage the sources of news to be shown in the news aggregator
 +
'''''Technologies used''''': self-coded php/mySQL module (integrated to main dashboard) to store/modify news RSS feeds URLs and retrieve them when needed. <br><br>
 +
 
 +
*'''''Check Broken Links''''': Check the broken links in the website to ensure all the links work
 +
'''''Technologies used''''': Wordpress “Broken Links Checker” plugin<br><br>
 +
 
 +
*'''''Buy Merchandises''''': Buy the marchandises sold on webstore with paypal accounts or credit cards
 +
'''''Technologies used''''': Wordpress “Store” plugin with heavy PayPal integration customization<br><br>
 +
 
 +
*'''''Provide Feedback''''': Provide feedbacks to admins via customized “Contact Us” form
 +
'''''Technologies used''''': Wordpress “Contact Form 7” plugin with additional CAPTCHA integration to prevent SPAM<br><br>
 +
 
 +
*'''''Subscribe Newsletter''''': Subscribe to automatically receive newsletters whenever the newsletters are posted
 +
'''''Technologies used''''': Wordpress “Newsletter” plugin<br><br>
 +
 
 +
*'''''Search Content''''': Search for the contents of the site with many filtering options
 +
'''''Technologies used''''': Combination of Wordpress “Search Everything” and “Advanced Search” “Newsletter” plugin<br><br>
 +
 
 +
*'''''View News Aggregator''''': View all the aggregated news on a single page with a pop-up box showing the news without having to go to the sources. View flickr Geotag photos, tweets and Google News on a single GoogleMap
 +
'''''Technologies used''''': Self-coded php-based RSS aggregator (can be repackaged as wordpress plugin for other sites), Flickr, Twitter, Google News integration with GoogleMap, Fancybox JQuery Javascript Library <br><br>
 +
 
 +
*'''''Manage Homepage''''': Manage the layout of homepage through the WordPress Dashboard
 +
'''''Technologies used''''': Self-coded php form to manage layout of homepage<br><br>
 +
 
 +
*'''''Share in Social Media Channels''''': Share and Like interesting posts and pages in Facebook
 +
'''''Technologies used''''': Facebook API<br><br>
 +
 
 +
====Mobile Version Screen Shots====
 +
Touch-based phones such as Iphone, Android, Blackberry and Window will display the same mobile interface of website.<br>
 +
Belows are the screen shots of Mobile version in Iphone. <br><br>
 +
[[Image:Kumbaya_mobile_screenshot1.png|Iphone1]]   
 +
[[Image:Kumbaya_mobile_screenshot2.png|Iphone2]]<br><br><br>   
 +
Belows are the screen shots of Mobile version in Android Phone. <br><br>
 +
[[Image:Kumbaya_mobile_screenshot3.jpg|Android1]]
 +
[[Image:Kumbaya_mobile_screenshot4.jpg|Android2]]<br><br><br>
 +
Belows are the screen shots of Mobile version in Blackberry Phone. <br><br>
 +
[[Image:Kumbaya_mobile_screenshot5.jpg|Blackberry1]]
 +
[[Image:Kumbaya_mobile_screenshot6.jpg|Blackberry2]]<br><br><br>
 +
Belows are the screen shots of Mobile version in Window 7 Phone. <br><br>
 +
[[Image:Kumbaya_mobile_screenshot7.png|Window1]]
 +
[[Image:Kumbaya_mobile_screenshot8.png|Window2]]<br><br><br>
 +
 
 +
====Test Plan====
 +
The method of testing used in this project is Regression. UAT is conducted according to the test plans which '''''can be downloaded [http://www.fileden.com/files/2010/10/1/2983253//FYP_Kumbaya_TestCases.zip here.]'''''<br><br>
 +
 
 +
====Source Codes====
 +
Source codes of all the self-coded features '''''can be downloaded [http://www.fileden.com/files/2010/10/1/2983253//FYP_Kumbaya_Codes.zip here.]'''''<br><br>
 +
 
 +
====User Manual====
 +
In order for client to be able to configure the settings and manage all the features in WordPress, a detailed User Manual is provided as a reference. <br>
 +
The User Manual '''''can be downloaded [[Media:Kumbaya_UserManual.docx|here.]]'''''<br><br>
 +
 
 +
====Presentation Slides====
 +
Midterm Presentation Slides '''''can be downloaded [[Media:Kumbaya_Midterm_Presentation.pptx|here.]]'''''<br><br>
 +
Final Presentation Slides '''''can be downloaded [[Media:Kumbaya_Final_Presentation.pptx|here.]]'''''<br><br>
 +
 
 +
===Artifact Quality===
 +
 
 +
====Analytics====
 +
Analysis are performed in many areas in order to access the quality of the project deliverables.
 +
 
 +
=====Heuristic Evaluation=====
 +
Heuristic evaluation is conducted since the nature of the project is user dependent. So, the feedbacks of users on design of the website will be absolutely useful for the improvement of the project.
 +
After the midterm Heuristic Evaluation, there are design changes for the website. Therefore, usability surveys are conducted again on comparison between new and old design, and mobile version as well.<br><br>
 +
To download heuristic evaluation results(Midterm Evaluation), '''''click [[Media:Midterm_Heuristic_Result_KUMBAYA.xlsx‎|here.]]'''''<br>
 +
To download heuristic evaluation results(Comparison between new and old design), '''''click [[Media:Comparison_Heuristic_Result_KUMBAYA.xlsx‎|here.]]'''''<br>
 +
To download heuristic evaluation results(Mobile version), '''''click [[Media:Mobile_Heuristic_Result_KUMBAYA.xlsx‎|here.]]'''''<br><br>
 +
 
 +
=====Heuristic Evaluation Analysis=====
 +
 
 +
*Midterm Evaluation
 +
**8 questions with answers ranging between Negative extremes and Positive extremes (5 options)
 +
**Use of SurveyMonkey for online survey and survey propagation via Facebook and individual emailing lists
 +
**Results: 25 reviewers
 +
**Average Rating: 4.13/5
 +
**Minimum: 3.8 – website’s general ease of use
 +
**Maximum: 4.3 – good menu organization
 +
 
 +
*Comparison between old and new
 +
**Questions with answers ranged between Negative extremes and Positive extremes (5 options) -  3 as neutral
 +
**Results: 15 reviewers
 +
**Average Rating: 4.25/5
 +
**Maximum:  4.6 - Visual Aesthetics
 +
**Minimum:  4.06 – Button Organization
 +
**1 (7%) user has better overall impression on the older design’s aesthetics
 +
**Average rating more than 3 signifies that most users prefer the new design.
 +
 +
*Mobile-friendly website usability survey
 +
**Questions about navigation, menu organization, links,  and general ease of use.
 +
**Answers ranged between Negative extremes and Positive extremes (5 options) -  3 as neutral
 +
**Results: 10 reviewers
 +
**Average Rating: 4.3/5
 +
**Maximum:  4.7 – Overall Impression
 +
**Comments excerpts:
 +
***Negative: “The text is a bit too small.”
 +
***Positive: “I like the design, especially the way the menu buttons are organized. Good job!”
 +
 
 +
=====Facebook Insights=====
 +
Facebook Insights is used to analyze the website's buzz (Share, Like) in Facebook grouping according to demographics. The following are some data and graphs of Facebook Insights. <br><br>
 +
[[Image:Kumbaya_Facebook_Insights1.JPG|Facebook Insights 1]]<br><br>
 +
The diagram shows that 13 people share contents with reference to "beta.onesingapore.org" daily.
 +
[[Image:Kumbaya_Facebook_Insights2.JPG|Facebook Insights 2]]<br><br>
 +
The diagram shows the breakdown of demographic of those people who share contents with reference to "beta.onesingapore.org".
 +
[[Image:Kumbaya_Facebook_Insights3.JPG|Facebook Insights 3]]<br><br>
 +
The diagram shows the fluctuating daily shares/comments/likes, etc. associated with keyword "beta.onesingapore.org". Even though daily activity is fluctuative, there's a general upward trend observed.
 +
 
 +
=====Google Analytics=====
 +
Google Analytics is used to analyze the general traffic of website to know the visits, average time on site, and page views etc. The following are some data and graphs of Google Analytics.<br><br>
 +
[[Image:Kumbaya_Google_Analytics1.JPG|Google Analytics 1]]<br><br>
 +
Insights from the graph:
 +
*Max daily visitor: 86
 +
*The first peak which is around the end of September was possibly due to the fact that our team distributed a heuristic evaluation survey.
 +
*Similarly, the second peak was arguably due to the final heuristic survey we spread and the social media sharing we opened.
 +
*Though not obvious, we can see a trend on this. Before the first peak, the average visit was relatively low. And there was this sudden increase. Even though it dropped to a stable level after the peak, the average was somewhat higher than it was before the peak. The similar thing happened with the second bump. Again, average seemed to have increased after the sudden influx to the site. *From this pattern, we can actually point out that as long as ONE (SINGAPORE) keeps coming up with this regular sort-of campaign/event, they’ll see a spike in visitors. This will drop, but eventually, some people will decide to stick and somehow visit the website again, amounting to a better average visitor. <br />
 +
[[Image:Kumbaya_Google_Analytics2.JPG|Google Analytics 2]]<br><br>
 +
This technical profile breakdown gives us a glance on what we can do for future enhancement. For example, given that the majority of the browsers used (i.e. around 84%) are Google Chrome and Safari, we might want to do a browser-view optimization on those browsers in the future. The connection speed table shows that most of the visits are from T1 (fibre optic) connection. This implies that network lags shouldn’t be the first on our worries list when developing our aggregator page. <br />
 +
[[Image:Kumbaya_Google_Analytics3.JPG|Google Analytics 3]]<br><br>
 +
The traffic sources graph is another emphasis on the power of social media. 33% of the sites access is through facebook referral, which again substantiates our group plan to do this social media integration. And apparently, Google search engine only accounts for 1.11% of our site traffic source. This might suggest a better search engine optimization to do in the future.
 +
If we divide the first two entries on the visitors information (i.e. 539 visits and 248 unique visitors), we end up with around 2 visits per unique visitor. This gives a glimpse about the visitors level of loyalty on the site. <br />
 +
[[Image:Kumbaya_Google_Analytics4.JPG|Google Analytics 4]]<br><br>
 +
This screenshot of Google’s newest beta in-page analytics feature shows how many percent of  the time the link of a page is clicked. On top right corner of the page, it shows that 11% of the visitors clicked the link to our aggregator page. That link has only been there for only 3 weeks and even though our analytics trackers have been put up months ago,  it can indeed steal 11% of the traffic. This provides insights to optimize our placement or naming of the link. Currently, top right corner seems to be an excellent choice.
 +
 
 +
==Contact Details==
 +
===Members===
 +
 
 +
*<b>Tomy Jaya</b><br />[mailto:tomy.jaya.2008@sis.smu.edu.sg tomy.jaya.2008@sis.smu.edu.sg]
 +
 
 +
*<b>Wai Phyo Kyaw</b><br />[mailto:phyokyawwai.2008@sis.smu.edu.sg phyokyawwai.2008@sis.smu.edu.sg]
 +
 
 +
*<b>Tan Eu Jeng</b><br />[mailto:eujeng.tan.2008@sis.smu.edu.sg eujeng.tan.2008@sis.smu.edu.sg]
 +
 
 +
*<b>Shitij Nigam</b><br />[mailto:shitijnigam.2008@sis.smu.edu.sg shitijnigam.2008@sis.smu.edu.sg]
 +
 
 +
*<b>Aung Kyaw</b><br />[mailto:kyaw.aung.2008@sis.smu.edu.sg kyaw.aung.2008@sis.smu.edu.sg]
 +
 
 +
===Faculty Supervisor===
 +
*<b>Chris Boesch</b><br />[mailto:cboesch@smu.edu.sg cboesch@smu.edu.sg]
 +
 
 +
===Client===
 +
[[Image:One_sg_logo_square.jpg]]
 +
*<b>Meraj Huda</b><br />[mailto:meraj.huda@gmail.com meraj.huda@gmail.com]<br /><i>Public Relations Officer (Contact Person)</i>
  
*'''Hard Skills: '''
+
*<b>Michael Switow</b><br />[mailto:switow@ONESingapore.org switow@ONESingapore.org]<br /><i>ONE (SINGAPORE) Co-founder</i><br />
**iPhone SDK
 
**CSS, Javascript, PHP, Flash, HTML
 
**Android SDK (Eclipse Java, with ADT)
 

Latest revision as of 15:41, 28 November 2010

Simama.jpg
Kumbaya.jpg

ONE (SINGAPORE) is a society dedicated to raising public awareness in taking concrete actions to make poverty history. It is committed to supporting projects across the region linked to the Millennium Development Goals (MDG). As such, ONE (SINGAPORE)’s website is its primary marketing tool to achieve its objective of raising public awareness. However, since its inception, the website, primarily due to lack of resources, has been underutilized and under maintained, and has not been borne to its full capacity.

Being one of the major factors in the unsuccessfulness of the website, our project thus aims to solve this problem by up hauling the website into a medium which not only pushes information into the audience, but acts as a medium of pulling in masses and allowing more information dissemination, while concurrently ensuring that its core features are simple to use and easy to maintain.

Summary

Current Stage : 3.4 (refer to Project Schedule)

The following section summarizes the different aspects of the project, covering and overview of specific high and low points of the project, the issues encountered, the client requirement changes, and other aspects of the requirements which made it beyond simply a typical SMU project.

Problem Identification

Further research and interaction with the client in the first phase of our project facilitated the direction of our project by helping us identify the underlying reasons behind the problems faced by ONE (SINGAPORE). The following provide a brief summary of the same:

  • Lack of seamlessness and content organization
    The contents of the website are a prime source for ONE (SINGAPORE) to propagate its content. However, any information contained in the content is scattered throughout the website without specific structure and direction, making it even more difficult for users to navigate through the website and to source information more efficiently. Moreover, broken links on the website make it even more tedious in finding relevant information pertaining to ONE (SINGAPORE)’s vision, goals, projects and events, thus adding to the problem.
  • Broken Functionalities
    The core functionalities of the website, such as membership towards ONE (SINGAPORE), the regular newsletter updates sent to subscribers regarding their events, and their online store, are dominant features in providing the majority of interaction to the audience of the website, making them vital to its basic functioning. However, these functionalities are, to a large part, unaccounted for, hard to maintain, or not completely functioning, thus making them a problem core to the project, and the primary requirement demanded by the client.
  • Lack of mobile friendliness
    A significant portion of ONE (SINGAPORE) target audience is the youth population of Singapore, which they feel are an apt source of volunteerism and propagation of further awareness towards their cause, whom they feel they can reach better through the mobile medium. This naturally demands a mobile-optimized version of their website, specific to today’s popular handheld/mobile devices prominent amongst the Singaporean youth in their opinion. (e.g. iPhone, Android-based phone, Windows Mobile Phone, and Blackberry).
  • Website Paradigm
    ONE (SINGAPORE)’s website has employed a traditional paradigm that ‘pushes’ out information rather than ‘pulling’ in people. However, the employment of existing social media tools can be used to tap into a massive audience and generate further awareness to their cause, thus making it one of the most important goals of this project.

Project Highlights

The following briefly describes a list of major highlights of the project:

  • Code-Conflict due to a blend of API and plugin usage
    Our team was initially under the impression that registered Wordpress plugins are well-tested and hence will not create integration issues when multiple plugins are used. However, during the development phase of the independent aggregator function (to be described later) on top of the Wordpress shell, the team encountered significant conflicts in running website scripts and functionalities. Moreover, the team took 3-4 weeks to learn the independent APIs necessary for the Aggregator function, causing the 5th and 6th iteration of the project to be significantly delayed. This will be discussed in more detailed later in the “Issues Encountered” section of this report.
  • Unexpected Client Absence
    During the week of actual beta-deployment of the website to the client’s server, our point of contact had to travel abroad for an emergency family issue. This happened in week 5, and created delays in actual deployment of the website. The client is expected to be back on 10th of October (Week 9).
  • Numerous Client-side Change Requirements
    Throughout the course of developing the project, discussion with our clients led to the dropping of some initially proposed functionalities, specifically independent mobile application development and implementation of google analytics, as well as addition of new features to the project, which will be discussed in more detailed later in the “Requirement Changes” section of this report.

    Project Requirement Changes
    The following highlight the high-level changes in the project requirements, and their impact on the project:
Requirement Change Reason Change Source Date Schedule Impact Status
Dropping of Google Analytics functionality Lack of significant traffic which can substantiate analytics results. This means the lack of value addition towards client’s requirements. Client decided to drop 30th Aug Positive N/A
Dropping of dedicated mobile application development Time and resource constraints to learn the development platform and actually building the app Team decided to drop 7th Sep Positive N/A
Addition of Geolocation Integration with Twitter, Google News, Flickr API Added to news aggregator for better interactivity Team decided to add 14th Sep This addition of scope has caused 15 days delay in iteration 5 Completed
Enhancements pertaining to admin’s ease-of-use features Added in order to fulfill requirement changes (e.g. exporting of online user database contents to csv) Client decided to add 2nd Aug Added in iteration 3 and caused no delay Completed
Dropping of Store and Membership subscription feature in mobile version The layout of store in mobile version doesn't integrate well, Paypal transaction on mobile is still uncommon and security issues may exist Team decided to drop 12nd November Positive N/A
Adding of Analytics functionality Supervisor recommended that analytics are useful for finding ways to improve the project in the future Team decided to add 9th Nov Added in iteration 7 and caused no delay Completed



Overarching Project Targets

The following points highlight the overarching targets of the project, as envisioned by our team, highlighted by our client, or both.

Client-defined Project Targets

  • Awareness Creation
    To create a one-stop unique portal to let the people of Singapore know about the ongoings on the issue of poverty as a millennium development goal, in order to provide the general public with a platform to find out more information about what the world did recently, in the last week, and in the last month, to fight poverty.
  • Becoming ‘Glocal’
    To be able to present Global issues with a localized flavor as much as possible through the medium of the website

Team-defined Project Targets

  • Creating ease of maintenance
    To simplify maintenance of the website while adding additional features and to automate content as much as possible in order to minimize the amount of time and resources spent on keeping the website up to date
  • Developing and utilizing newer mediums of creating awareness
    To create an increased awareness amongst the public regarding poverty, measurable by increased web traffic and interaction with the contents of the websites, to be achieved and measured through social media
  • Developing a simplified user interface
    To implement a more user-friendly interface for all users, to be achieved primarily through reorganization of its website, its features and its content
  • Developing an interactive, engaging, and live-deployed portal which can improve traffic
    To include more features and move the website from a stale editorial-based content to a more interactive and engaging user experience

Workload Distribution

The following table highlights the overarching work distribution of various aspects of the project across the different team members. Given the changing requirements as provided by the client, the workload distribution has been subject to change since it was first allocated, and the table below represents the final workload distribution in the final iteration of the project:

Task/Function/Features Status Confidence Level Comment
New website design and layout (CSS) Done 1 Shitij Nigam
Wiki Management Done 1 Aung Kyaw
Members registration (with payPal integration) Done 1 Tomy Jaya
Membership Management (export to csv) Done 1 Tomy Jaya
Advanced Search Done 1 WAI Phyo Kyaw
E-commerce Shopping Cart for merchandise (with payPal integration) Done 1 Aung Kyaw
Feedback Done 1 Tomy Jaya
Automatic newsletter updates Done 1 Tan Eu Jeng
Event Management Updates Done 1 Tan Eu Jeng
Social Media Integration Done 1 Shitij Nigam, Tomy Jaya, Aung Kyaw, Tan Eu Jeng, Wai Phyo Kyaw
News Aggregator Done 1 WAI Phyo Kyaw, Shitij Nigam, Aung Kyaw, Tan Eu Jeng, Tomy Jaya; scope addition: display of news using fancy box and Twitter, Google News, Flickr and Map integration
Manage Homepage Done 1 Wai Phyo Kyaw, Tomy Jaya
Mobile-friendly version of the site Done 1 Tan Eu Jeng, Aung Kyaw
Analytics Done 1 Wai Phyo Kyaw, Shitij Nigam
GeoPollster In progress 1 Tan Eu Jeng, Shitij Nigam



Project Challenges

Content Coordination Issues
Client’s unexpected absence during planned formal deployment date caused issues in coordinating information on the website

Deployment issues

  • Minor delay in Client’s acceptance and approval of beta deployment caused a delay in actual deployment date on the client’s server
  • Actual remote ftp porting for deployment took more time than expected due to an unexpected rise in the size of the web application to more than 100mb
  • Porting of prototype to actual deployment website required more configuration changes than expected (e.g. database connection changes, social media integration, URL redirection changes etc.)

Issues in implementing unfamiliar API
The team took approximately 3-4 weeks to familiarize themselves with and concurrently implement all of the following APIs for the Aggregator feature:-

  • SimplePie API for aggregating feeds (RSS)
  • Twitter with Bing Maps API integration for better interactivity of the “News aggregator” function
  • Google Maps API mashup with Flickr, Twitter, Google News, Yahoo Pipes, and RSS to GeoRSS parser
  • Fancybox JQuery Javascript Library for seamless display of news article

Content Porting and Migration
Team took more time than anticipated to manually migrate information from the original website, partially because more content was being perpetually added to the original ONE (SINGAPORE) website during the process as well, creating additional delay in ensuring a quality check on the information being ported.

Feature Drop
Implementation of “Google analytics” as a proposed additional feature was dropped as the present website does not incur enough traffic to allow extensive use and exploitation of analytics. However, this may be reconsidered after complete implementation of the accompanying Social Media campaigns as part of the Social Media integration. At last, the team decided to implement this feature back to study traffic in the beta website and point out possible improvements for the client in the future.

Feature Enhancement
The News Aggregator function was further enhanced with the addition of a Google/Bing Maps integration in order to create a greater “pull” factor in the news aggregator function and add elements of geolocation integration in order to provide more relevance to the content.

Final Deployment

While initially deployed on a prototype website from a personally owned server by one of the teammates, the website was ultimately transferred to the actual server on a beta URL for live deployment.

Deployment Websites

The necessary URL's for the same may be found here:

Social Media Channels

Achievements

  • Accommodating and supportive to team members
  • Effectively utilize the power of Social Media
  • Implementation of Geolocation greatly enhances the visual interactivity of a website with its users
  • Integration of multiple web api's in order to handle large amounts of information while ensuring non-redundancy in website and server efficiencies, primarily through multiple code-optimization iterations

Project Management

Project Schedule:

PROJECT SOFTWARE PROCESS – USE CASE DRIVEN ITERATIVE DEVELOPMENT
Our team implemented a use-case driven iterative development. This means that our iterations period are not time-based (e.g. bi-weekly). Instead, we group similar use-cases into one iteration and build on the every iteration to incrementally add use-cases or features to the web application.

Project Schedule‎

Download Actual & Planned Project Schedule (Microsoft Project files with Gantt Chart) Here

Project Delay:

Our team experienced a total delays of 23 days from the scheduled plan in Iteration 7. Below are the reasons:
1. New version of aggregator to leverage the power of social media

  • Custom-coded RSS parser for faster load-time
  • Facebook API integration
  • Google Maps mashup with Flickr, Twitter, and Google News

2. Mobilization delay

  • Due to time spent learning and exploring possible technologies (jQTouch) and emulators (e.g. Android & Blackberry Torch SDK)
  • At last, the team decided to stick with WPTouch and did a major revamp on homepage for more aesthetic appeal

3. Last minute requirement changes

  • There were numerous design changes and features adjustment demanded by the client. For example, the client asked for a one-stop page to flexibly change the layout and organization of the homepage (e.g. change categories order and featured video & category)

Here are what our team did to handle the delay:

  • We made use of 21 days buffer. This signifies the importance of buffer in any project plan.
  • Squeezed-in time for Poster
  • Documentation and handover took less time, because:
    • No comprehensive handover needed due to
    • Client’s trust to allow live beta deployment on ONE(SINGAPORE)’s server
    • Admin access to social media account (e.g. Facebook)
    • Client’s incremental feedback session accompanied with explanations on feature usage
    • User manual to be passed on to client at the end of the project.


Metrics

Schedule Metric

Schedule metric is used to track the progress of project and increase the efficiency of schedule planning. A comparison is made between the planned and actual project schedule. From the comparison, the number of days delay/ahead of schedule can be extracted based on iteration. The following graph shows the number of days delay/ahead of schedule.

Kumbaya schedule metric new.JPG

Based on the number of days delay/ahead of the schedule, actions will be performed according to the following action plans.

1 - 3 days 4 - 7 days 7 days and above
Delay Extend Meeting time to cover all functionalities Add more days/hours to specific task delayed in project schedule Consider to re-scope project
Gain Keep as buffer time Reduce days/hours to specific task in the project schedule Shift project schedule forward



Bug Metric

Bug metric is used to improve the quality of functionalities. The bug “value” will be tracked after every iteration’s completion. Bug “value” will be assigned according to the severity of the bug according to the table below.

Error Category Severity Example
UI Error 1 Minor CSS alignment issue
Implementation Error 2 CAPTCHA doesn’t appear in the contact form
Logic Error 3 Fatal database connection error when exporting CSV
Porting Error 1 “Permalink” still pointing to prototype server



The following graph shows the tracked bug “value” for each iteration. Kumbaya bug metric.JPG

Based on the bug “value”, specific actions will also be taken according to the following action plan.

Bug Value Action Taken
1 - 3 points Bugs recorded in excel sheet, scheduled for perpetual removal
4 - 8 points A Bug Squashing day will be held at the end of this current iteration.
8 points Project member who reports the bug(s) that hits the 8 pt mark will contact PM to conduct a bug squashing day to eradicate as much bugs possible.

Click to download Complete Bug Metric here.

Meeting Minutes

Click to download Meeting Minutes.

Risks

  • Live Deployment risk: What if the new web application doesn’t work in the client’s server

Mitigation Strategy: to anticipate any server porting error, deploy a beta version on the client’s web-server first, then configure its DNS to be beta.onesingapore.org without erasing the original website

  • Lack of client interaction risk: What if the intermediary client were to be unavailable?

Mitigation Strategy: Liase with tertiary client contacts. In this case, Mr. Michael Switow from ONE (SINGAPORE) has been replying our queries regarding the website porting when Mr. Meraj Huda, our primary point of contact, was overseas.

  • Misinterpretation of client’s requirements Risk: What if our solutions are misaligned to client’s expectations?

Mitigation Strategy: Show client prototype before going into full deployment.

  • Changing Business Requirements Risk: What if our client’s decide to drop or add functionalities?

Mitigation Strategy: develop using Iterative development process and increase client’s participation (via email as well as face-to-face meeting)

  • Lack of expertise Risk: What if our we are not familiar with the technology to develop the solution?

Mitigation Strategy: Research extensively and learn from a variety of sources, assign specialized member to learn the API in depth (e.g. Wai in SimplePie API and Shitij in FancyBox library)

Mitigated Risks
Though arduous, Wordpress framework can be altered via back-end using PhP to build some of the features and customize most of the solutions in this project. Hence, the risk of “WordPress CMS is a close system which has limitations” is removed.

Resource and Reference

  • Training on Wordpress CMS Development:'
    1. Wordpress Tutorials(http://www.wp-tutorials.org/)
  • Collaboration/Communication Tools:
    1. Subversion Repository (internal)
    2. Wiki (with supervisors & Client)
  • Software Required:
    1. winscp
    2. MySQL
    3. WampServer
  • Hardware Required:
    1. Windows PCs
  • Gadgets Required (for Mobilization):
    1. 1 x iPhone
    2. 1 x BlackBerry
    3. 1 x Windows Mobile
    4. 1 x Android phone

Project Reflections

Team Reflections And Learning Outcomes

Technical, or ‘hard’ skills

  • PHP/MySQL administration for multiple live deployments

The beta deployment phase of the project was certainly an eye opener for the team in being able to manage actual deployment on the client’s server while constantly maintaining their existing information and content

  • Integration of multiple API

The integration of multiple API in order to be able to create the news aggregator function, while ensuring minimal loading time and minimization of code for the same definitely tested the team’s skills in being able to implement newer, less tested open-source codes on a web application.

Soft Skills

  • Project & Time Management skills

Coping with unexpected project delays
Managing project through hectic school term schedule through prioritization and scheduling

  • Client Collaboration skills

Understanding problem domain, a business of philanthropy
Working with real clients and handling communication issues
Aligning solution to meet client needs

  • Scope Change Management skills

Managing drastic requirement changes

  • Maintainability and Usability

Development has to take Maintainability and Usability into account rather than just completing the function. This we realized from our client's continuous emphasis that “they are not the developers” and from our heuristic evaluation, and usability Tests/Surveys. For example:

  • We have to allow flexibility and scalability on administration features (E.g. homepage organization)
    • Before: client has to go though html/css to change layout/content
    • After: one-stop option page to flexibly change layout/content
  • We need to ensure more efficient user experience on the new website (E.g. newsletter function)
    • Before: User has to manually subscribe to newsletter via email
    • After: Newsletter subscribe button to conveniently insert email address to subscribe



Individual Reflections

Aung Kyaw

Midterm
Project schedule should have been planned by taking into account of more factors and constraints. If so, the delay in the iteration could be mitigated. Moreover, scope could have been managed well by considering time constraints more accurately.

Final
I am glad that I gain more comprehensive understanding in technical skills such as PHP, facebook API, geolocation are picked up as well. Furthermore, the interactions with client also equip me with the method to interact with clients, and understanding the needs and requirements of clients as well. Moreover, participation in this meaningful project to fight extreme poverty inspires me a lot about the social issues and I believe our project can effectively help One (Singapore) to eradicate extreme poverty by raising awareness of more people.

Shitij Nigam

Midterm
The Project requirements should have been better defined. The initial planning process wasn’t charted out in an apt manner, making it hard to initially channelize the direction of the project. However, subsequent interactions and feedback with the client, while primarily over email, helped fine-tune the vision, objectives, and goals of our project, something which we can definitely take away from the project.

Final
The project was exhilarating near the end, to say the least, when the team was at it's creative and productive best, and at which point I really saw it get into a single cohesive unit which worked towards a singular goal of finishing the project in the best possible manner. That, in my opinion, was the biggest takeaway of the project- the opportunity to work with individuals of such amazing caliber and determination.

Tan Eu Jeng

Midterm
Project planning should have been more thorough, and deliverables must always be met to the best of the client’s expectations. As such, while the use of plugins was meant to ease the introduction of new features of the website, other problems such as integration with the core wordpress shell and its subsequent customization and code rewriting caused conflicts to occur rather frequently. Hence, even though some of the applications were tried and tested, but when actually implemented and integrated with each other, should always be carefully tested before actual deployment, a core takeaway for future projects and something which can be kept in mind while working with the emerging and newer forms of web applications, such as Facebook API, Twitter API, Maps, Geolocation etc.

Final
The IS480 FYP course has been a very enriching journey for me, not to mention our group was able to contribute to a greater cause. Skills which were taught in classes like OOAD helped equip and prepare us for scenarios such as last minute requirement changes. Along the way, we acquire new skills in leveraging on various technologies such as social media integration, Google Analytics, how to create a CMS portals fit for use by our client as well as better communication with real world clients. Hopefully, with our project, we will be able to make an impact in the fight against extreme poverty.

Tomy Jaya

Midterm
Our team’s face-to-face interaction with client should have been more frequent to ensure proper alignment of our solution to the client’s needs. Unfortunately, client’s busy schedule was a big hindrance to this, and contributed towards creating a slight lack of direction in the project in its earlier phase. However, the News Aggregator” function of our project is definitely a feature which excites me the most. Integration with Twitter/Bing Map makes this feature hip and interactive and perfectly in line with ONE (SINGAPORE)’s goals of being able to reach out to a younger audience in order to create more awareness on poverty-related issues and the role of the people of Singapore.

Final
I’m glad that towards the end of the project, our interaction with client greatly improved both in terms of quality and quantity. We had more face-to-face meetings to discuss about our project progress and more ideas and feedback from improvements were generated and exchanged. In that respect, I’m sure the quality of our solution got better and more aligned to the client’s needs. In addition, I learned myriad skills from this project, ranging from picking up new technical skills/API on-the-go to managing client’s expectations (i.e. negotiating requirements with the client). Lastly, I hope that our aggregator/social media initiative can increase the site’s visitors, help ONE(SINGAPORE)’s noble campaign, and ultimately, make this world a better place.

Wai Phyo Kyaw

Midterm
It is always better to have chosen a project that you are passionate about. However, in this case, the team had to work extra hard in order to turn an ordinary project into something more than ordinary and something which they were passionate about; however, this brainstorming phase took a lot more time than anticipated, something which definitely needs to be taken into account while managing future projects.

Final
I believe the final year project with ONE(SINGAPORE) made us understand more about how technology is vital in transforming the way we spread information and the way we inspire people towards a good change for society. Of course, we learned new exciting technical skills such as creating social media mashups, geolocation tools, traffic analytics, and user-centric comprehensive content management systems. But nothing beats the overall process of working and learning from an enthusiastic client, whose ultimate goal is to drive better awareness and initiatives towards poverty in Singapore. At the end of the project, we learned how the right technologies can bring tremendous value to the community. This comprehensive experience and knowledge is invaluable for us.

Project Deliverables

Artifacts


Use Case Diagram

Kumbaya use case.JPG

Use Case Descriptions and Technologies Used

One of our project objectives concerning ease of use was to create an easy administrative dashboard. Our client was already using Wordpress CMS engine for the old website, and one of their requirements was to have our solution built upon the same Wordpress CMS engine so as to have the administrative costs of switching over minimized (the need to learn how to use the dashboard). Therefore, whenever possible, our team implemented available wordpress core function as well as plugins to meet the client’s requirements. In the event that no plugins were able to provide the necessary support, self-coded php modules were extended to the solution and integrated to the main dashboard seamlessly. Here are our use case descriptions and technologies used to achieve the use-case:

  • Login/Logout: Admin and Users Log in/ Log out using username and password.

Technology used: Wordpress default “Users” feature

  • Manage Membership: Manage the members and export members’ information to csv file.

Technology used: Wordpress default “Users” feature, Wordpress “s2member” plugin, and self-coded php module (integrated to main dashboard) to extract Wordpress database data, organize the tables, and export it into csv format.

  • Register: register to as ONE (SINGAPORE) member by paying though PayPal

Technology used: Wordpress “s2member” plugin with heavy PayPal integration customization

Kumbaya social.JPG
  • Manage Social Media Content: Manage the contents to be posted to social media channels via wordpress.

Technologies used: Combination of Wordpress “ShareThis” and “Facebook Like” plugin with minor CSS customization, “NetworkedBlogs” Facebook application to pull blog posts automatically.

  • Post Newsletters: Post the newsletter in wordpress and the posted newsletter will be automatically distributed to subscribers

Technologies used: Wordpress “Newsletter” plugin

  • Post Events: Post the event’s details with geolocation

Technologies used: Wordpress “Events” plugin

  • Manage Webstore: Manage the products, prices, categories and promotions for webstore

Technologies used: Wordpress “Store” plugin with heavy PayPal integration customization

  • Manage News Aggregator: Manage the sources of news to be shown in the news aggregator

Technologies used: self-coded php/mySQL module (integrated to main dashboard) to store/modify news RSS feeds URLs and retrieve them when needed.

  • Check Broken Links: Check the broken links in the website to ensure all the links work

Technologies used: Wordpress “Broken Links Checker” plugin

  • Buy Merchandises: Buy the marchandises sold on webstore with paypal accounts or credit cards

Technologies used: Wordpress “Store” plugin with heavy PayPal integration customization

  • Provide Feedback: Provide feedbacks to admins via customized “Contact Us” form

Technologies used: Wordpress “Contact Form 7” plugin with additional CAPTCHA integration to prevent SPAM

  • Subscribe Newsletter: Subscribe to automatically receive newsletters whenever the newsletters are posted

Technologies used: Wordpress “Newsletter” plugin

  • Search Content: Search for the contents of the site with many filtering options

Technologies used: Combination of Wordpress “Search Everything” and “Advanced Search” “Newsletter” plugin

  • View News Aggregator: View all the aggregated news on a single page with a pop-up box showing the news without having to go to the sources. View flickr Geotag photos, tweets and Google News on a single GoogleMap

Technologies used: Self-coded php-based RSS aggregator (can be repackaged as wordpress plugin for other sites), Flickr, Twitter, Google News integration with GoogleMap, Fancybox JQuery Javascript Library

  • Manage Homepage: Manage the layout of homepage through the WordPress Dashboard

Technologies used: Self-coded php form to manage layout of homepage

  • Share in Social Media Channels: Share and Like interesting posts and pages in Facebook

Technologies used: Facebook API

Mobile Version Screen Shots

Touch-based phones such as Iphone, Android, Blackberry and Window will display the same mobile interface of website.
Belows are the screen shots of Mobile version in Iphone.

Iphone1 Iphone2


Belows are the screen shots of Mobile version in Android Phone.

Android1 Android2


Belows are the screen shots of Mobile version in Blackberry Phone.

Blackberry1 Blackberry2


Belows are the screen shots of Mobile version in Window 7 Phone.

Window1 Window2


Test Plan

The method of testing used in this project is Regression. UAT is conducted according to the test plans which can be downloaded here.

Source Codes

Source codes of all the self-coded features can be downloaded here.

User Manual

In order for client to be able to configure the settings and manage all the features in WordPress, a detailed User Manual is provided as a reference.
The User Manual can be downloaded here.

Presentation Slides

Midterm Presentation Slides can be downloaded here.

Final Presentation Slides can be downloaded here.

Artifact Quality

Analytics

Analysis are performed in many areas in order to access the quality of the project deliverables.

Heuristic Evaluation

Heuristic evaluation is conducted since the nature of the project is user dependent. So, the feedbacks of users on design of the website will be absolutely useful for the improvement of the project. After the midterm Heuristic Evaluation, there are design changes for the website. Therefore, usability surveys are conducted again on comparison between new and old design, and mobile version as well.

To download heuristic evaluation results(Midterm Evaluation), click here.
To download heuristic evaluation results(Comparison between new and old design), click here.
To download heuristic evaluation results(Mobile version), click here.

Heuristic Evaluation Analysis
  • Midterm Evaluation
    • 8 questions with answers ranging between Negative extremes and Positive extremes (5 options)
    • Use of SurveyMonkey for online survey and survey propagation via Facebook and individual emailing lists
    • Results: 25 reviewers
    • Average Rating: 4.13/5
    • Minimum: 3.8 – website’s general ease of use
    • Maximum: 4.3 – good menu organization
  • Comparison between old and new
    • Questions with answers ranged between Negative extremes and Positive extremes (5 options) - 3 as neutral
    • Results: 15 reviewers
    • Average Rating: 4.25/5
    • Maximum: 4.6 - Visual Aesthetics
    • Minimum: 4.06 – Button Organization
    • 1 (7%) user has better overall impression on the older design’s aesthetics
    • Average rating more than 3 signifies that most users prefer the new design.
  • Mobile-friendly website usability survey
    • Questions about navigation, menu organization, links, and general ease of use.
    • Answers ranged between Negative extremes and Positive extremes (5 options) - 3 as neutral
    • Results: 10 reviewers
    • Average Rating: 4.3/5
    • Maximum: 4.7 – Overall Impression
    • Comments excerpts:
      • Negative: “The text is a bit too small.”
      • Positive: “I like the design, especially the way the menu buttons are organized. Good job!”
Facebook Insights

Facebook Insights is used to analyze the website's buzz (Share, Like) in Facebook grouping according to demographics. The following are some data and graphs of Facebook Insights.

Facebook Insights 1

The diagram shows that 13 people share contents with reference to "beta.onesingapore.org" daily. Facebook Insights 2

The diagram shows the breakdown of demographic of those people who share contents with reference to "beta.onesingapore.org". Facebook Insights 3

The diagram shows the fluctuating daily shares/comments/likes, etc. associated with keyword "beta.onesingapore.org". Even though daily activity is fluctuative, there's a general upward trend observed.

Google Analytics

Google Analytics is used to analyze the general traffic of website to know the visits, average time on site, and page views etc. The following are some data and graphs of Google Analytics.

Google Analytics 1

Insights from the graph:

  • Max daily visitor: 86
  • The first peak which is around the end of September was possibly due to the fact that our team distributed a heuristic evaluation survey.
  • Similarly, the second peak was arguably due to the final heuristic survey we spread and the social media sharing we opened.
  • Though not obvious, we can see a trend on this. Before the first peak, the average visit was relatively low. And there was this sudden increase. Even though it dropped to a stable level after the peak, the average was somewhat higher than it was before the peak. The similar thing happened with the second bump. Again, average seemed to have increased after the sudden influx to the site. *From this pattern, we can actually point out that as long as ONE (SINGAPORE) keeps coming up with this regular sort-of campaign/event, they’ll see a spike in visitors. This will drop, but eventually, some people will decide to stick and somehow visit the website again, amounting to a better average visitor.

Google Analytics 2

This technical profile breakdown gives us a glance on what we can do for future enhancement. For example, given that the majority of the browsers used (i.e. around 84%) are Google Chrome and Safari, we might want to do a browser-view optimization on those browsers in the future. The connection speed table shows that most of the visits are from T1 (fibre optic) connection. This implies that network lags shouldn’t be the first on our worries list when developing our aggregator page.
Google Analytics 3

The traffic sources graph is another emphasis on the power of social media. 33% of the sites access is through facebook referral, which again substantiates our group plan to do this social media integration. And apparently, Google search engine only accounts for 1.11% of our site traffic source. This might suggest a better search engine optimization to do in the future. If we divide the first two entries on the visitors information (i.e. 539 visits and 248 unique visitors), we end up with around 2 visits per unique visitor. This gives a glimpse about the visitors level of loyalty on the site.
Google Analytics 4

This screenshot of Google’s newest beta in-page analytics feature shows how many percent of the time the link of a page is clicked. On top right corner of the page, it shows that 11% of the visitors clicked the link to our aggregator page. That link has only been there for only 3 weeks and even though our analytics trackers have been put up months ago, it can indeed steal 11% of the traffic. This provides insights to optimize our placement or naming of the link. Currently, top right corner seems to be an excellent choice.

Contact Details

Members

Faculty Supervisor

Client

One sg logo square.jpg