IS480 Team wiki: 2012T1 Twee-ta-doo Tweetadoo Finals
Tweetadoo's Finals
OVERVIEW:
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.
1 PROJECT HIGHLIGHTS:
CHANGES SINCE MIDTERMS:
• Scope Changes:
Added - Guides and Tips
Replaced- Individual Personalisation replaced with Personlisation through group mention
Removed - Follow, Thumb Up
• Technical Difficulties:
Data scrapping to extract and display images, and titles on the newsfeed
Had to solve unexpected app crashes
• 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)
2 PROJECT MANAGEMENT:
Project Timeline:
For a detailed view on the projected timeline and milestones, please view this: Download Schedule Timeline
2.1 Project Status:
Overall Completion Status: 100%
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 |
1 | 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. |
App Design | 100% | 1 | Keeping the current UI based on positive user feedbacks |
Working on the user testing feedback | 100% | 1 | Resolved and implement UI improvements |
2.2 Project Schedule (Planned Vs Actual):
Updates since Midterms:
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
Schedule - Actual Vs Planned:
Go to Actual Vs Planned Schedule page: >> See Actual Vs Planned Schedule
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 | - |
2.3.2 Bug Metric:
Go to Bug Metric page: >> See Bug Metric
Bug List refer to here: Download Bug List
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 |
Application not accepted by app store in time for final presentation | High | High | Deploy a working but incomplete application early for review by App Store and continue development of the final application with inputs return from App Store | Did not occur |
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 |
2.5 Technical Complexities:
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. |
3 QUALITY OF PRODUCT
Link to technical complexity #5.
Link to 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 |
Metrics | ||
Requirements | Storyboard | Storyboard |
Scenario Diagram | Scenario Diagram | |
Architecture Diagram | Architecture Diagram | |
Analysis | Usecase | Usecase |
App Screenshots | ||
Design | ER Diagram | ER Diagram |
Class Diagram | Class Diagram | |
SSD | SSD | |
User Testing | User Guided Document | https://docs.google.com/spreadsheet/viewform?formkey=dHVQTlYtOGFBZzVlU3hUbXRBSTNYSGc6MQ#gid=0 |
User Feedback form | UT 2 Feedback |
3.2 Deployment
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 User Testing 2
4 REFLECTIONS
Individual Learning Outcomes: >> See Individial Reflections
Team Learning Outcomes: >> See Team Reflections