IS480 Team wiki: 2012T1 Twee-ta-doo Tweetadoo Finals

From IS480
Jump to navigation Jump to search
Tweetadoo Header Image.png

Tweetadoo's Finals

Tweetadoo Team.jpg

To Download Final Slides: >> See Final Slides

App Deployment Link: Https://itunes.apple.com/sg/app/kpoplive/id570368428?mt=8




Tweetadoo has finally made it to the finals!

Listed are some of the the key accomplishment that we have achieved throughout the FYP journey:

• We managed to develop an Ipad application which is based on Objective C - a language we were not taught before

• We have managed to meet our client's expectations

• We were on schedule despite having faced with some difficulties while coding the web service and integrating the web service with the iPad application.





Scope Changes:

>>See scope changes

Technical Difficulties:

Technical Complexities Description
Developing and Deploying app to iPad using Objective C Learning Objective C language from scratch to develop an iPad application
Creating of webservices Using Memcache as a workaround to slow connection for mysql server
Content scrapping Scrapping has to be tune to individual websites
Artists Detection in Feeds Items Artists detection in posts still generates false positives. Current detection scheme includes the usage of Levenshtein distance for fuzzy searching, direct name matching. This however does not discriminate the words or phrases being searched. Future considerations include the usage of a trained Named Entity Recognizer.
Performance on Production Server The loading of the feed would time out on the production server. To rectify it, we utilised batch processing on the backend.

Project Challenges:

1. Personalization - It is diffcult to achieve the correct personalization setting. Many considerations such as content analysis for spotting artiste's name, the amount of feeds within a time frame, the calculation for an optimal ratio and more. Thus it is difficult to balance and calculate the required settings for personalization.

2. Debugging of an iPad app - The challenge when debugging in Objective C is faced when the application crashes due to inefficient memory management and when the root cause for the crash cannot be identified. We will need several debugging breakpoints to be placed at relevant parts of the codes which causes the crash for analysis purposes.

Project Achievements:

1. Potential commercialization of the application towards the mass.

2. We piloted and created a way for twitter users to do a mass tweeting to a group of people through 'Manage Group'

3. Collarborated, brainstormed and implemented Personalization through Group Mention with LARC to provide a unique way of collating data for analytics to gather user preferences in order to push personalized feeds to the users.

4. Created a scrapper to get relevant content from external websites (Refer to technical complexity #3) >>Technical Complexity 3: Content Scrapping





Project Timeline:


KpopLive Schedule Glance.JPG

For a detailed view on the projected timeline and milestones, please view this: Download Schedule Timeline



2.1 Project Status:

Overall Completion Status: 100%

Usecase Task/ Function/ Features, etc Status Confident Level (0-1) Comments
Twitter Single Sign on Fully deployed and tested
100% Function Completed
1 Completed before acceptance
Registration Fully deployed and tested
100% Function Completed
1 Completed before acceptance
Display of Friend List Fully deployed and tested
100% Function Completed
1 Completed before acceptance
Manage Group Fully deployed and tested
100% Function Completed
1 After Midterms: Able to group friends and edit groups. Making mentioning easier to large number of friends
Terms and Conditions Fully deployed and tested
100% Function Completed
1 Completed in Midterms
View Profile page Fully deployed and tested
100% Function Completed
1 Completed in Midterms. After Midterms: Added edit Profile details
Favourite/ Unfavourite Artiste Fully deployed and tested
100% Function Completed
1 After Midterms: Implemented sorting of artistes names by alphabetical order, favourite artiste category
Manage Newsfeed Fully deployed and tested
100% Function Completed

Able to draw personalised newsfeed

Personalisation through group mention 100% 1

After Midterms: By making mentions through groups, we are able to crawl feeds that you like

User guide and Tips 100% 1

After Midterms: Adding user guides to make the app more intuitive.



2.2 Project Schedule (Planned Vs Actual):

Updates since Midterms:

KpopLive Scope Finals.jpg

Justification to replace Individual Personalisation with Personalisation through Group Mention and the removal of Follow and Thumb Up:

1. Replaced Individual personalization with Personalization through Group Mention

- Changed to personalization through group mention

- Users will have personalized tweets based on how the user's friends grouped the user and which artiste's post that particular group including the user is mentioned in.

2. Thumbs up function

- Due to changes of personalization method to “group”, thumbs up meant for individual personalization is deemed redundant and removed

3. Follow function

- To keep the users within our app, instead of diverting them back to twitter.

Justification for addition of Guide and Tips:

1. Guide and Tips

- Helpful tips and walk throughs to help new users navigate through the app


2.3 Project Metric:

2.3.1 Schedule Metric:

Go to Schedule Metric page: >> See Schedule Metric

KpopLive Schedule Graph.jpg


Iterations Estimated no. of days Actual no. of days SPI Status Action
Iteration 2 21 21 1 On Track Continue as planned
Iteration 3 18 14 1.28 Slightly behind time Use buffer time
Iteration 4 14 12 0.86 On Track Continue as planned
Iteration 5 14 14 1 On Track Continue as planned
Iteration 6 14 14 1 On Track Continue as planned
Iteration 7 13 20 1.54 Moderately behind time Use buffer time from Iteration 9
Iteration 8 15 14 0.93 On Track Continue as planned
Iteration 9 15 9 0.6 Moderately ahead of time Start with next task. Excess time left to be used as buffer for the next iteration(s)/functionalities. (buffer time in iteration 9 to be used for iteration 7)
Iteration 10 9 9 1 On Track Continue as planned
OVERALL 129 131 1.02 2 Days delay -



Schedule - Actual Vs Planned:

Go to Actual Vs Planned Schedule page: >> See Actual Vs Planned Schedule



2.3.2 Bug Metric:

Go to Bug Metric page: >> See Bug Metric

Bug List refer to here: Download Bug List

Tweetadoo Bug Graph2.JPG

2.4 Project Risks:

Risk Probability Impact Mitigation Status
LARC server down Low High Setting up of alternate server with a set up similar to that of LARC's server which includes a snapshot of their database Occured, followed Mitigation plan
Difficulty in integrating database changes, memcache implementation into production server High High Requested for alternate database for our use , testing/development Occured, follow Mitigation plan
Increase of scope due to unforeseen technical difficulties Medium Medium Evaluation of current functionalities and schedules to see if the additional scope is workable with the current functionalities and thus, evaluate if we need to drop a function or 2. Followed Mitigation plan
Random crashes of ipad due to inefficient handling of memory High High Release the memory as soon as the function is closed (km) Followed Mitigation plan




Link to technical complexity #5.>> See Technical Complexity 5: Performance on Production Server

Architecture Diagram >> See Architecture Diagram

We made use of a PHP framework called CodeIgniter. It utilizes Model and Controller frame to retrieve and manipulate the individual items to be pushed to the respective web services.

3.1 Immediate Deliverables

Stage Specification Modules
Project Management Minutes Minutes

Schedule Metric

Bug Metric

Requirements Storyboard Storyboard
Scenario Diagram Scenario Diagram
Architecture Diagram Architecture Diagram
Analysis Usecase Usecase
App Screenshots

Acceptance Mockup

Midterm Wireframes

Midterms Mockup

Finals Mockup

Design ER Diagram ER Diagram
Class Diagram Class Diagram
User Testing User Guided Document https://docs.google.com/spreadsheet/viewform?formkey=dHVQTlYtOGFBZzVlU3hUbXRBSTNYSGc6MQ#gid=0
User Feedback form UT 2 Feedback

3.2 Deployment

Klique Deployment Diagram.jpg

1. Backend: We have requested for a testing database resided within LARC's server. They have provided us with a SQL database with full access to enable us to do testing before deploying our web services up into the Live Server. *Link to the system architecture diagram*

2.Frontend: We made used of provisioning profile to deploy our application.


3.3 User Testing

Go to User Testing: >> See Internal Client Testing

Go to User Testing: >> See User Testing 2

Go to User Testing: >> See UAT




Individual Learning Outcomes: >> See Individial Reflections

Team Learning Outcomes: >> See Team Reflections