HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2012T1 Twee-ta-doo Tweetadoo Finals"

From IS480
Jump to navigation Jump to search
 
(45 intermediate revisions by the same user not shown)
Line 29: Line 29:
 
[[Image:Tweetadoo_Team.jpg|550px|center]]
 
[[Image:Tweetadoo_Team.jpg|550px|center]]
 
</div>
 
</div>
 +
 +
<p><font face="Arial" size=4 color=black><b>To Download Final Slides: [[Media:Tweetadoo_Final_Slides.pdf|>> See Final Slides]]</b></font></p>
 +
<p><font face="Arial" size=4 color=black>App Deployment Link: Https://itunes.apple.com/sg/app/kpoplive/id570368428?mt=8</font></p>
 +
<p>&nbsp;</p>
 +
<p>&nbsp;</p>
 +
 
<p><font face="Adobe Gothic Std B" size=6 color=black>OVERVIEW:</font></p>
 
<p><font face="Adobe Gothic Std B" size=6 color=black>OVERVIEW:</font></p>
  
Line 43: Line 49:
 
<p><u> CHANGES SINCE MIDTERMS:</u></p>
 
<p><u> CHANGES SINCE MIDTERMS:</u></p>
 
<p>• <strong> Scope Changes: </strong> </p>
 
<p>• <strong> Scope Changes: </strong> </p>
<p>Added - Guides and Tips </p>
+
<p>[[IS480 Team wiki: 2012T1 Twee-ta-doo Scope Changes|>>See scope changes]]</p>
<p>Replaced- Individual Personalisation replaced with Personlisation through group mention</p>
 
<p>Removed - Follow, Thumb Up </p>
 
 
<p>• <strong> Technical Difficulties: </strong> </p>
 
<p>• <strong> Technical Difficulties: </strong> </p>
<p>Data scrapping to extract and display images, and titles on the newsfeed</p>
+
<table style="border: 3px solid black; border-collapse: collapse; background-color: white; text-align: left; font-family: 'Arial'; min-width: 400px; max-width: 400px">
<p>Had to solve unexpected app crashes</p></font>
+
    <tr style="border: 1px solid black; text-align: center; width=800">
 +
        <th style="border: 1px solid black; font-weight: bold;background-color: #18C4AD;"> Technical Complexities</th>
 +
        <th style="border: 1px solid black; font-weight: bold; background-color: #18C4AD;"> Description</th>
 +
    </tr>
 +
    <tr style="border: 1px solid black; width:400">
 +
        <td style="border: 1px solid black; width: 30%">[[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Developing_and_Deploying_app_to_iPad_using_Objective_C|Developing and Deploying app to iPad using Objective C]]</td>
 +
        <td style="border: 1px solid black; width: 30%">Learning Objective C language from scratch to develop an iPad application</td>
 +
    </tr>
 +
    <tr style="border: 1px solid black; width:400">
 +
        <td style="border: 1px solid black; width: 50%">[[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Creating_webservices | Creating of webservices]]</td>
 +
        <td style="border: 1px solid black; width: 50%">Using Memcache as a workaround to slow connection for mysql server</td>
 +
    </tr>
 +
    <tr style="border: 1px solid black; width:400">
 +
        <td style="border: 1px solid black; width: 50%">[[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Content_Scrapping|Content scrapping]]</td>
 +
        <td style="border: 1px solid black; width: 50%">Scrapping has to be tune to individual websites</td>
 +
    </tr>
 +
    <tr style="border: 1px solid black; width:400">
 +
        <td style="border: 1px solid black; width: 50%">[[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Artists_Detection_in_Feed_Items|Artists Detection in Feeds Items]]</td>
 +
        <td style="border: 1px solid black; width: 50%">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 [http://nlp.stanford.edu/software/CRF-NER.shtml Named Entity Recognizer].</td>
 +
    </tr>
 +
    <tr style="border: 1px solid black; width:400">
 +
        <td style="border: 1px solid black; width: 50%">[[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Performance_Issues_on_Production_Server|Performance on Production Server]]</td>
 +
        <td style="border: 1px solid black; width: 50%">The loading of the feed would time out on the production server. To rectify it, we utilised batch processing on the backend.</td>
 +
    </tr>
 +
</table>
 +
<p>• <strong> Project Challenges: </strong> </p>
 +
<p>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. </p>
 +
<p>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. </p>  
 +
 
 +
<p>• <strong> Project Achievements: </strong> </p>
 +
<p>1. Potential commercialization of the application towards the mass. </p>
 +
<p>2. We piloted and created a way for twitter users to do a mass tweeting to a group of people through 'Manage Group'</p>
 +
<p>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.</p>
 +
<p>4. Created a scrapper to get relevant content from external websites (Refer to technical complexity #3) [[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Creating_webservices |>>Technical Complexity 3: Content Scrapping]]</p>
 +
 
 +
</font>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
Line 57: Line 101:
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
[[Image:KpopLive_Schedule_Glance.JPG|1150px|center]]
 
[[Image:KpopLive_Schedule_Glance.JPG|1150px|center]]
<font face="Arial" size=3 color=black><b>For a detailed view on the projected timeline and milestones, please view this:</b>  <b>[[Media:KpopLive_Final_Schedule.pdf|Download Schedule Timeline]]</b>. </font>
+
<font face="Arial" size=3 color=black><b>For a detailed view on the projected timeline and milestones, please view this:</b>  <b>[[Media:KpopLive_Final_Schedule.pdf|Download Schedule Timeline]]</b></font>
 
<p>&nbsp;</p>  
 
<p>&nbsp;</p>  
 
<p>&nbsp;</p>  
 
<p>&nbsp;</p>  
Line 66: Line 110:
 
<table style="border: 3px solid black; border-collapse: collapse; background-color: white; text-align: center; font-family: 'Arial'; min-width: 700px; max-width: 1000px">
 
<table style="border: 3px solid black; border-collapse: collapse; background-color: white; text-align: center; font-family: 'Arial'; min-width: 700px; max-width: 1000px">
 
     <tr style="border: 1px solid black">
 
     <tr style="border: 1px solid black">
         <th style="border: 1px solid black; font-weight: bold">Task/ Function/ Features, etc</th>
+
         <th style="border: 1px solid black; font-weight: bold">Usecase Task/ Function/ Features, etc</th>
 
         <th style="border: 1px solid black; font-weight: bold">Status</th>
 
         <th style="border: 1px solid black; font-weight: bold">Status</th>
 
         <th style="border: 1px solid black; font-weight: bold">Confident Level (0-1)</th>
 
         <th style="border: 1px solid black; font-weight: bold">Confident Level (0-1)</th>
Line 131: Line 175:
 
         <td style="border: 1px solid black; width: 46%;text-align: left"><p><b>After Midterms: Adding user guides to make the app more intuitive.</b></p></td>
 
         <td style="border: 1px solid black; width: 46%;text-align: left"><p><b>After Midterms: Adding user guides to make the app more intuitive.</b></p></td>
 
     </tr>
 
     </tr>
     <tr style="border: 1px solid black">
+
     </table>
        <td style="border: 1px solid black; width: 31%; background-color: #18C4AD; font-weight: bold; text-align: left">App Design</td>
+
<p>&nbsp;</p>
        <td style="border: 1px solid black; width: 15%;">100%</td>
+
<p>&nbsp;</p>
        <td style="border: 1px solid black; width: 8%;">1</td>
 
        <td style="border: 1px solid black; width: 46%;text-align: left"><p>Keeping the current UI based on positive user feedbacks</p></td>
 
    </tr>
 
    <tr style="border: 1px solid black">
 
        <td style="border: 1px solid black; width: 31%; background-color: #18C4AD; font-weight: bold; text-align: left">Working on the user testing feedback</td>
 
        <td style="border: 1px solid black; width: 15%;">100%</td>
 
        <td style="border: 1px solid black; width: 8%;">1</td>
 
        <td style="border: 1px solid black; width: 46%;text-align: left"><p>Resolved and implement UI improvements</p></td>
 
    </tr>
 
</table>
 
  
<p>&nbsp;</p>
 
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.2 Project Schedule (Planned Vs Actual):</p>
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.2 Project Schedule (Planned Vs Actual):</p>
 
<font face="Arial" size=3 color=black>
 
<font face="Arial" size=3 color=black>
Line 169: Line 202:
 
</tr>
 
</tr>
 
</table>
 
</table>
<p>&nbsp;</p>
 
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
  
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.3 Project Metric:</p>
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.3 Project Metric:</p>
<p style="font-weight: bold"> Schedule Metric: </p>
+
<p><font face="Arial" size=4 color=black><b> 2.3.1 Schedule Metric: </b></font></p>
 +
<p><font face="Arial" size=3 color=black>Go to Schedule Metric page: [[IS480 Team wiki: 2012T1 Twee-ta-doo Project Schedule| >> See Schedule Metric]] </font></p>
 
[[Image:KpopLive_Schedule_Graph.jpg|700px|center]]
 
[[Image:KpopLive_Schedule_Graph.jpg|700px|center]]
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<b><font face="Adobe Gothic Std B" size=5 color=black> Schedule - Actual Vs Planned: </font></b>
 
<p><font face="Arial" size=3 color=black>Team Learning Outcomes: [[IS480 Team wiki: 2012T1 Twee-ta-doo Team Reflections| See Team Reflections]] </font></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
<table border="3" cellspacing="0" width="1000" align=center>
 
<table border="3" cellspacing="0" width="1000" align=center>
 
<tr align="center" bgcolor="#18C4AD">
 
<tr align="center" bgcolor="#18C4AD">
Line 283: Line 302:
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
+
<b><font face="Adobe Gothic Std B" size=5 color=black> Schedule - Actual Vs Planned: </font></b>
<p style="font-weight: bold"> Bug Metric:</p>
+
<p><font face="Arial" size=3 color=black>Go to Actual Vs Planned Schedule page: [[IS480 Team wiki: 2012T1 Twee-ta-doo Project Schedule| >> See Actual Vs Planned Schedule]] </font></p>
<div style="position: relative; top: 5px; width:1000px; height:7580px; margin:0 auto; overflow:hidden; float:center"><div style="display:block">
+
<p>&nbsp;</p>
 +
<p>&nbsp;</p>
 +
<p><font face="Arial" size=4 color=black><b> 2.3.2 Bug Metric:</b></font></p>
 +
<p><font face="Arial" size=3 color=black>Go to Bug Metric page: [[IS480 Team wiki: 2012T1 Twee-ta-doo Bug Metric| >> See Bug Metric]] </font></p>
 +
<p><b><font face="Adobe Gothic Std B" size=3 color=color=black align="left">Bug List refer to here: [[Media:Tweetadoo_Final_Buglist.pdf|Download Bug List]] </font></b></p>
 +
<div style="position: relative; top: 5px; width:1000px; height:500px; margin:0 auto; overflow:hidden; float:center">
 
[[Image:Tweetadoo_Bug_Graph2.JPG|700px|center]]
 
[[Image:Tweetadoo_Bug_Graph2.JPG|700px|center]]
 
</div>
 
</div>
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<b><font face="Adobe Gothic Std B" size=6 color=black> Download Bug List </font></b>
 
<p>&nbsp;</p>
 
<p><b><font face="Adobe Gothic Std B" size=4.5 color=color=black align="left">Bug List refer to here: [[Media:Tweetadoo_Final_Buglist.pdf|Download Bug List]] </font></b></p>
 
<table border="0" cellspacing="0" width="1000" bgcolor="#E4317F" align="center">
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 1 :</font></td>
 
</tr>
 
<tr align="center">
 
<td>[[Image:Tweetadoo_BugList_Iteration1.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 2 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration2.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 3 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration3.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 4 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration4.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 5 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration5.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 6 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration6.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 7 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration7.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 8 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration8.JPG|left|1000px]]</td>
 
</tr>
 
 
<tr>
 
<td><font face="Adobe Gothic Std B" size=4 color=black width="100" align="left">Iteration 9 :</font></td>
 
</tr>
 
<tr>
 
<td>[[Image:Tweetadoo_BugList_Iteration9.JPG|left|1000px]]</td>
 
</tr>
 
</table>
 
 
  
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.4 Project Risks:</p>
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.4 Project Risks:</p>
Line 376: Line 330:
 
     </tr>
 
     </tr>
 
     <tr style="border: 1px solid black;">
 
     <tr style="border: 1px solid black;">
         <td style="width: 20%; background-color:#18C4AD; font-weight: bold; border: 1px solid black; text-align: left">Application not accepted by app store in time for final presentation</td>
+
         <td style="width: 20%; background-color:#18C4AD; font-weight: bold; border: 1px solid black; text-align: left">Difficulty in integrating database changes, memcache implementation into production server</td>
 
         <td style="width: 10%; border: 1px solid black;">High</td>
 
         <td style="width: 10%; border: 1px solid black;">High</td>
 
         <td style="width: 10%; border: 1px solid black;">High</td>
 
         <td style="width: 10%; border: 1px solid black;">High</td>
         <td style="width: 30%; border: 1px solid black;text-align: left">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</td>
+
         <td style="width: 30%; border: 1px solid black;text-align: left">Requested for alternate database for our use , testing/development
<td style="width: 30%; border: 1px solid black;text-align: left">Did not occur</td>
+
</td>
 +
<td style="width: 30%; border: 1px solid black;text-align: left">Occured, follow Mitigation plan</td>
 
     </tr>
 
     </tr>
 
     <tr style="border: 1px solid black;">
 
     <tr style="border: 1px solid black;">
Line 395: Line 350:
 
         <td style="width: 30%; border: 1px solid black;text-align: left">Release the memory as soon as the function is closed (km)</td>
 
         <td style="width: 30%; border: 1px solid black;text-align: left">Release the memory as soon as the function is closed (km)</td>
 
<td style="width: 30%; border: 1px solid black;text-align: left">Followed Mitigation plan</td>
 
<td style="width: 30%; border: 1px solid black;text-align: left">Followed Mitigation plan</td>
    </tr>
 
</table>
 
 
 
<p>&nbsp;</p>
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">2.5 Technical Complexities:</p>
 
<table style="border: 3px solid black; border-collapse: collapse; background-color: white; text-align: left; font-family: 'Arial'; min-width: 400px; max-width: 400px">
 
    <tr style="border: 1px solid black; text-align: center; width=800">
 
        <th style="border: 1px solid black; font-weight: bold;background-color: #18C4AD;"> Technical Complexities</th>
 
        <th style="border: 1px solid black; font-weight: bold; background-color: #18C4AD;"> Description</th>
 
    </tr>
 
    <tr style="border: 1px solid black; width:400">
 
        <td style="border: 1px solid black; width: 30%; font-weight: bold">Developing and Deploying app to iPad using Objective C</td>
 
        <td style="border: 1px solid black; width: 30%; font-weight: bold">Learning Objective C language from scratch to develop an iPad application</td>
 
    </tr>
 
    <tr style="border: 1px solid black; width:400">
 
        <td style="border: 1px solid black; width: 50%;  font-weight: bold">Creating of webservices</td>
 
        <td style="border: 1px solid black; width: 50%;  font-weight: bold">Using Memcache as a workaround to slow connection for mysql server</td>
 
    </tr>
 
    <tr style="border: 1px solid black; width:400">
 
        <td style="border: 1px solid black; width: 50%; font-weight: bold">Content scrapping</td>
 
        <td style="border: 1px solid black; width: 50%;  font-weight: bold">Scrapping has to be tune to individual websites</td>
 
    </tr>
 
    <tr style="border: 1px solid black; width:400">
 
        <td style="border: 1px solid black; width: 50%; font-weight: bold">Artists Detection in posts</td>
 
        <td style="border: 1px solid black; width: 50%;  font-weight: bold">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 [http://nlp.stanford.edu/software/CRF-NER.shtml Named Entity Recongizer].</td>
 
    </tr>
 
    <tr style="border: 1px solid black; width:400">
 
        <td style="border: 1px solid black; width: 50%; font-weight: bold">Integrate the created iOS application, webservices, memcache and LARC's server to establish a data interchange channel</td>
 
        <td style="border: 1px solid black; width: 50%;  font-weight: bold">We have to understand how to store the data in our mysql and to adapt our webservices to compliment our webservices with the client's database. Client's database is not in 3rd normal form that we learnt in our dm module, hence we need to explore how the data is being stored.</td>
 
 
     </tr>
 
     </tr>
 
</table>
 
</table>
Line 431: Line 356:
  
 
<p><font face="Adobe Gothic Std B" size=6 color=black>3 QUALITY OF PRODUCT</font></p>
 
<p><font face="Adobe Gothic Std B" size=6 color=black>3 QUALITY OF PRODUCT</font></p>
[[Image:Tweetadoo_QualityProduct.jpg|800px|center]]
+
<font face="Arial" size=3 color=black>
 +
<p>Link to technical complexity #5.[[IS480_Team_wiki:_2012T1_Twee-ta-doo_Technical_Complexity#Performance_Issues_on_Production_Server|>> See Technical Complexity 5: Performance on Production Server]]</p>
 +
<p>Architecture Diagram  [[IS480 Team wiki: 2012T1 Twee-ta-doo Storyboard|>> See Architecture Diagram]]</p>
 +
<p>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. </p>
 +
</font>
 +
 
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">3.1 Immediate Deliverables</p>
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">3.1 Immediate Deliverables</p>
 
<table style="border: 3px solid black; border-collapse: collapse; background-color: white; text-align: left; font-family: 'Arial'; min-width: 400px; max-width: 600px; margin: 0 auto">
 
<table style="border: 3px solid black; border-collapse: collapse; background-color: white; text-align: left; font-family: 'Arial'; min-width: 400px; max-width: 600px; margin: 0 auto">
Line 500: Line 430:
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">3.2 Deployment</p>
 
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">3.2 Deployment</p>
 
[[Image:Klique_Deployment Diagram.jpg|700px|center]]
 
[[Image:Klique_Deployment Diagram.jpg|700px|center]]
 +
<font face="Arial" size=3 color=black>
 +
<p>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* </p>
 +
<p>2.Frontend: We made used of provisioning profile to deploy our application.</p> </font>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
<p>&nbsp;</p>
 
  
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">3.3 Testing</p>
+
<p style="font-size: 1.4em; color:#98B0D2; font-weight: bold">3.3 User Testing</p>
<p><font face="Arial" size=3 color=black>User Testing 2: [[IS480 Team wiki: 2012T1 Twee-ta-doo User Testing 2| User Testing 2]] </font></p>
+
<p><font face="Arial" size=3 color=black>Go to User Testing: [[IS480 Team wiki: 2012T1 Twee-ta-doo User Acceptance Test| >> See Internal Client Testing]] </font></p>
 +
<p><font face="Arial" size=3 color=black>Go to User Testing: [[IS480 Team wiki: 2012T1 Twee-ta-doo User Testing 2| >> See User Testing 2]] </font></p>
 +
<p><font face="Arial" size=3 color=black>Go to User Testing: [[IS480 Team wiki: 2012T1 Twee-ta-doo Final UAT| >> See UAT]] </font></p>
 +
 
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>
  
 
<p><font face="Adobe Gothic Std B" size=6 color=black>4 REFLECTIONS</font></p>
 
<p><font face="Adobe Gothic Std B" size=6 color=black>4 REFLECTIONS</font></p>
<p><font face="Arial" size=3 color=black>Individual Learning Outcomes: [[IS480 Team wiki: 2012T1 Twee-ta-doo Individual Reflections| See Individial Reflections]] </font></p>
+
<p><font face="Arial" size=3 color=black>Individual Learning Outcomes: [[IS480 Team wiki: 2012T1 Twee-ta-doo Individual Reflections| >> See Individial Reflections]] </font></p>
<p><font face="Arial" size=3 color=black>Team Learning Outcomes: [[IS480 Team wiki: 2012T1 Twee-ta-doo Team Reflections| See Team Reflections]] </font></p>
+
<p><font face="Arial" size=3 color=black>Team Learning Outcomes: [[IS480 Team wiki: 2012T1 Twee-ta-doo Team Reflections| >> See Team Reflections]] </font></p>

Latest revision as of 22:02, 28 November 2012

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

 

 

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:

>>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

 

 

2 PROJECT MANAGEMENT:

 

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
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.

 

 

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

 

 

3 QUALITY OF PRODUCT

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
Metrics

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
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

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

 

 

4 REFLECTIONS

Individual Learning Outcomes: >> See Individial Reflections

Team Learning Outcomes: >> See Team Reflections