Difference between revisions of "IS480 Team wiki: 2011T1 TheTalkies"
Mtaung.2008 (talk | contribs) |
|||
(173 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | [[Image:3DSocializer_Logov1.jpg| | + | [[Image:3DSocializer_Logov1.jpg|right| Application Logo]] |
==The Talkies Team Members and Roles== | ==The Talkies Team Members and Roles== | ||
Line 5: | Line 5: | ||
<table border="0"> | <table border="0"> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#0099CC" align="center" style="color:#FFFFFF; font-weight:bold"> |
<td width="50px"> No </td> | <td width="50px"> No </td> | ||
<td width="150px"> MEMBER </td> | <td width="150px"> MEMBER </td> | ||
Line 12: | Line 12: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#BDEDFF"> |
<td align="center">1</td> | <td align="center">1</td> | ||
<td> Aung Myint Thein [mailto:mtaung.2008@sis.smu.edu.sg]</td> | <td> Aung Myint Thein [mailto:mtaung.2008@sis.smu.edu.sg]</td> | ||
Line 26: | Line 26: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#BDEDFF"> |
<td align="center">2</td> | <td align="center">2</td> | ||
<td> Soe Thet Aung [mailto:soethetaung.2008@sis.smu.edu.sg]</td> | <td> Soe Thet Aung [mailto:soethetaung.2008@sis.smu.edu.sg]</td> | ||
Line 39: | Line 39: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#BDEDFF"> |
<td align="center">3</td> | <td align="center">3</td> | ||
<td> Khaing Pwint Wah [mailto:pwkhaing.2008@sis.smu.edu.sg]</td> | <td> Khaing Pwint Wah [mailto:pwkhaing.2008@sis.smu.edu.sg]</td> | ||
− | <td> Lead Tester/Quality Assurance </td> | + | <td> Lead Tester/ Quality Assurance </td> |
<td> | <td> | ||
*Preparing the test plan | *Preparing the test plan | ||
Line 51: | Line 51: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#BDEDFF"> |
<td align="center">4</td> | <td align="center">4</td> | ||
<td> Kyaw Moe Hein [mailto:mhkyaw.2009@sis.smu.edu.sg]</td> | <td> Kyaw Moe Hein [mailto:mhkyaw.2009@sis.smu.edu.sg]</td> | ||
Line 64: | Line 64: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#BDEDFF"> |
<td align="center">5</td> | <td align="center">5</td> | ||
<td> Thandar Tun [mailto:thandar.tun.2009@sis.smu.edu.sg]</td> | <td> Thandar Tun [mailto:thandar.tun.2009@sis.smu.edu.sg]</td> | ||
Line 74: | Line 74: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#BDEDFF"> |
<td align="center">6</td> | <td align="center">6</td> | ||
<td> Phyo Wint Wint Tun [mailto:phyo.tun.2009@sis.smu.edu.sg]</td> | <td> Phyo Wint Wint Tun [mailto:phyo.tun.2009@sis.smu.edu.sg]</td> | ||
Line 90: | Line 90: | ||
Prof Archan Misra | Prof Archan Misra | ||
+ | |||
+ | The main responsibilities of supervisor are as following. | ||
+ | |||
+ | *Meet with students weekly. If the team progressed very well with frequent demo and good sponsor feedback, the supervisor can decide to meet fortnightly. During the meetings, provide guidance, feedback and supervision. The teams should manage their own project but when there are problems or issues, the supervisor should step in. For example, the students are working on social networking but have no idea who or where to get help. The supervisor can direct the team to relevant faculty, books, articles, etc. If the team is facing a problem with the sponsor, the supervisor can approach the sponsor on behalf of the team. | ||
+ | |||
+ | *Meet teams with sponsor (as required). This is best accomplished during student presentation as described in the grading page. This opportunity is important to get requirements clarity from the sponsor. | ||
+ | |||
+ | *Ensure that the project meets the course objective. | ||
+ | |||
+ | *Grade the team according to the grading page and feedback the grades to the team. This include reviewing other teams to compare team projects. Supervisors are responsible for individual team member grades. | ||
+ | |||
+ | *Review and vet the poster for printing. | ||
==Project Overview== | ==Project Overview== | ||
Line 118: | Line 130: | ||
− | Combining the specific localized tweets and relevant trends, our website will be one stop dashboard for students and faculty members to stay connect with people around them. Potential students can also see the culture and interaction of current students. Last but not least, the expertise from community can discuss and contribute to the trends and topics in SMU as well. All of them don't need to follow anyone. All the tweets in our web site are specifically localized for SMU and the trends are highly relevant and related to SMU | + | Combining the specific localized tweets and relevant trends, our website will be one stop dashboard for students and faculty members to stay connect with people around them. Potential students can also see the culture and interaction of current students. Last but not least, the expertise from community can discuss and contribute to the trends and topics in SMU as well. All of them don't need to follow anyone. All the tweets in our web site are specifically localized for SMU and the trends are highly relevant and related to SMU. |
==Project Scope== | ==Project Scope== | ||
Line 138: | Line 150: | ||
=== Components === | === Components === | ||
− | There are | + | There are 7 components that will make our 3 main features complete. The visualization [to be updated later] of those 7 components is provided in the image below and description of each component is explained in the following table. |
[[Image:The Talkies Features Visualization.PNG|550px|center| Visualization of features]] | [[Image:The Talkies Features Visualization.PNG|550px|center| Visualization of features]] | ||
− | <table border=" | + | <table border="0" cellpadding=10> |
− | <tr> | + | <tr bgcolor="#0099CC" align="center" style="color:#FFFFFF; font-weight:bold;"> |
<td>No</td> | <td>No</td> | ||
− | <td> | + | <td>Components</td> |
− | <td>Description</td> | + | <td width="50%">Description</td> |
+ | <td>Specification</td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>1</td> | <td>1</td> | ||
<td>3D model</td> | <td>3D model</td> | ||
<td> | <td> | ||
− | We are going to build a simplified | + | We are going to build a simplified 3D model of Singapore Management University on which we will show the tweets and the trending topics. It won't show the exact classroom and seminar room location because of the sensitivity of the data and time limit of the project. However, it will have the same level and shape as the real building. We promise when you see the model, you will notice which building it is. |
+ | </td> | ||
+ | <td> | ||
+ | Height of each level: 6m | ||
+ | |||
+ | Height of each building with 5 levels: 5 x 6 = 30m | ||
+ | |||
+ | Height of doors: 4m | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>2</td> | <td>2</td> | ||
<td>Location Search</td> | <td>Location Search</td> | ||
<td> | <td> | ||
Using twitter API of searching tweets only around the campus, we will pull only the relevant tweets for our website. So, we will get all the tweets from students, faculty, and even community if they are tweeting in the campus and they enabled the geo-tagged feature. | Using twitter API of searching tweets only around the campus, we will pull only the relevant tweets for our website. So, we will get all the tweets from students, faculty, and even community if they are tweeting in the campus and they enabled the geo-tagged feature. | ||
+ | </td> | ||
+ | <td> | ||
+ | We will get the tweets from the area of circle with 0.5km radius centre point at the School of Information Systems. | ||
+ | |||
+ | Longitude Range: 103.848 - 103.852 | ||
+ | |||
+ | Latitude Range: 1.293 - 1.300 | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>3</td> | <td>3</td> | ||
<td># Search (hashtag keyword searching)</td> | <td># Search (hashtag keyword searching)</td> | ||
<td> | <td> | ||
To complement location search, we will also search tweets on pre-assigned keywords. We are going to list possible keywords in SMU campus as much as possible. By doing so, our application will not need to sacrifice for non-geo-tagged tweets. | To complement location search, we will also search tweets on pre-assigned keywords. We are going to list possible keywords in SMU campus as much as possible. By doing so, our application will not need to sacrifice for non-geo-tagged tweets. | ||
+ | </td> | ||
+ | <td> | ||
+ | Keywords: predefined keywords | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>4</td> | <td>4</td> | ||
− | <td> | + | <td>Trends Page</td> |
<td> | <td> | ||
When a user selects a #keyword, we will show the page with tweets with the selected keyword. | When a user selects a #keyword, we will show the page with tweets with the selected keyword. | ||
When a user selects a faculty name, we will show the page with tweets which are located around the selected faculty and the tweets with related keywords. For example, when a user selects SIS faculty, the page will show all tweets located around SIS and with keywords IS480. | When a user selects a faculty name, we will show the page with tweets which are located around the selected faculty and the tweets with related keywords. For example, when a user selects SIS faculty, the page will show all tweets located around SIS and with keywords IS480. | ||
+ | </td> | ||
+ | <td> | ||
+ | Frequency of pulling tweets: 1hr | ||
+ | |||
+ | Time to become trend: 24hrs | ||
+ | |||
+ | Result tweets for a trend: as much as possible in 7 days (Twitter API limitation) | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>5</td> | <td>5</td> | ||
− | <td>Lost & Found | + | <td>Lost & Found Page</td> |
<td> | <td> | ||
− | In every trending page, there will be #LostNFound keyword and we will keep it permanent regardless of the selected faculty and keyword. We want to make students life easier by just tweeting when they lost or found some valuables. This can be one stop lost and found portal powered by social media technology. | + | In every trending page, there will be #LostNFound keyword and we will keep it permanent regardless of the selected faculty and keyword. We want to make students life easier by just tweeting when they lost or found some valuables. Users can also search the tweets based on the time. It won't be a problem if I want to search the tweets about #LostNFound for last Friday. This can be one stop lost and found portal powered by social media technology. |
+ | </td> | ||
+ | <td> | ||
+ | Timeline slider maximum: 7days | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>6</td> | <td>6</td> | ||
<td>Tweet</td> | <td>Tweet</td> | ||
<td> | <td> | ||
− | Users with twitter credentials can log in, tweet and discuss on every above mentioned pages. When a user tweets on the keyword page, the keyword will be automatically added at the end of the tweet. | + | Users with twitter credentials can log in, tweet and discuss on every above mentioned pages. When a user tweets on the keyword page, the keyword will be automatically added at the end of the tweet. |
+ | </td> | ||
+ | <td> | ||
+ | Twitter Connect: OAuth method | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
<td>7</td> | <td>7</td> | ||
− | <td> | + | <td>Statistics</td> |
+ | <td> | ||
+ | We will keep the statistics such as number of tweets for each keywords so that we can show the weekly or monthly popular trends. | ||
+ | </td> | ||
+ | <td> | ||
+ | Frequency of pulling tweets: 1hr | ||
+ | |||
+ | Frequency of counting tweets: 1hr | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
+ | <br/> | ||
+ | |||
+ | === Show Case === | ||
+ | |||
+ | Our application can be accessed at http://3dsocializer.phpfogapp.com/index.php . Although we are not completed yet, we are very proud to show case our efforts and what we have done so far. Please comment at below if you have any thoughts. | ||
+ | |||
+ | ==System Overview== | ||
+ | |||
+ | ===System Architecture=== | ||
+ | |||
+ | [[Image:TheTalkies SystemArchitecture.png|650px | center | System Architecture]] | ||
+ | |||
+ | <table border="0" cellpadding=10> | ||
+ | |||
+ | <tr bgcolor="#0099CC" align="center" style="color:#FFFFFF; font-weight:bold"> | ||
+ | <td width="50px">No</td> | ||
+ | <td width="150px">System</td> | ||
+ | <td width="200px">Containing parts</td> | ||
+ | <td width="600">Functionality</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#BDEDFF"> | ||
+ | <td>1</td> | ||
+ | <td>3D Socializer</td> | ||
+ | <td> | ||
+ | *PHP Web Server | ||
+ | |||
+ | *MySQL Database | ||
+ | |||
+ | *Germanium API Server | ||
+ | </td> | ||
+ | <td> | ||
+ | *Currently PHP Server and MySQL database are hosted on PHPFog and it is automatically updated using Git version control system. PHP server will process the client's request. | ||
+ | |||
+ | *Database stores the predefined keywords for our application. It also stores the trending keywords, keywords tweeted and the count of each keywords for each trend. | ||
+ | |||
+ | *Although Germanium API is hosted on sponsor's server, Germanium plays a significant role in our application. It provides us all the functions relating to showing 3D models and interaction with 3D models. | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#BDEDFF"> | ||
+ | <td>2</td> | ||
+ | <td>Twitter</td> | ||
<td> | <td> | ||
− | + | *RESTful Search API | |
+ | |||
+ | *RESTful Picture Server | ||
+ | </td> | ||
+ | <td> | ||
+ | *Twitter provides tweets through RESTful Search API for both client and server side. | ||
+ | |||
+ | *Client will request profile picture of each tweet to be shown on 3D model. | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
− | <td> | + | <td>3</td> |
− | <td> | + | <td>Clients</td> |
+ | <td> | ||
+ | *Windows Browser (with Germanium Plugin) | ||
+ | </td> | ||
<td> | <td> | ||
− | + | *Currently, GermaniumWeb can only support Windows Operation Systems. Users need to install Germanium Plugin to be able to render the 3D models and the application. | |
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr> | + | <tr bgcolor="#BDEDFF"> |
− | <td> | + | <td>4</td> |
− | <td> | + | <td>Cron Server</td> |
<td> | <td> | ||
− | + | *Web Server | |
+ | </td> | ||
+ | <td> | ||
+ | *Our own server will trigger separately trend extraction scripts every 1 hour. These scripts will pull tweets around SMU and store the contained keywords in the database. Calculation and processing counts of each trends will also be trigger by cron server at the same time. | ||
+ | |||
+ | *Protection of those server side codes are also implemented. We allowed this to be able to run on client side directly for the debugging and development purpose. However, those direct calls from users won't be able to add data into the database. | ||
</td> | </td> | ||
</tr> | </tr> | ||
</table> | </table> | ||
− | |||
− | === | + | ===3D Modelling=== |
− | + | [[Image:TheTalkies Modelling.png|800px|center| 3D Modelling Flow]] | |
− | |||
+ | We need to develop 3D models on 3DsMax 2010 version. Then we have to export the building into .DAE files with OpenCOLLADA Exporter. At the time of implementing this application (2011 November), OpenCOLLADA can support only 3DsMax 2010 version. Germanium Building Composer will compile those .DAE files and export to .xlcl files. Browser with Germanium Plugin can render the 3D models and our application is ready to use. | ||
− | + | ==Resources and references== | |
− | + | *Developing Environment | |
+ | **[https://phpfog.com PHPFog] - Web Space hosting | ||
+ | **Version control system (Git) – provided by client | ||
+ | **Development tools (Notepad++, Eclipse) – free and open-sourced | ||
− | |||
− | |||
− | |||
*3D Modeling tools (Germanium 3D, 3D Max 2010) – provided by client and student licence | *3D Modeling tools (Germanium 3D, 3D Max 2010) – provided by client and student licence | ||
− | * | + | **3D Max 2010 - Student Licence |
− | *Twitter API | + | **Germanium Building Composer - Provided by client |
+ | |||
+ | *Language and Technology | ||
+ | **PHP | ||
+ | **MySQL | ||
+ | **Twitter RESTful Search API | ||
==Project Management== | ==Project Management== | ||
Line 248: | Line 364: | ||
=== Project Milestones === | === Project Milestones === | ||
− | [[Image:TheTalkies | + | [[Image:TheTalkies Schedule Planned And Actual.png | 1050px | center | Planned and Actual schedules]] |
+ | |||
+ | <table border="0" cellpadding=3> | ||
+ | |||
+ | <tr bgcolor="#171bff" align="center" style="color:#FFFFFF; font-weight:bold"> | ||
+ | <td>Iteration No</td> | ||
+ | <td>Feature to be implemented</td> | ||
+ | <td>Status</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>1</td> | ||
+ | <td> | ||
+ | *Back-end | ||
+ | *3D prototype | ||
+ | </td> | ||
+ | <td>Completed</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>2</td> | ||
+ | <td> | ||
+ | *Front-end | ||
+ | *SIS Model | ||
+ | </td> | ||
+ | <td>Completed</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>3</td> | ||
+ | <td> | ||
+ | *Trend Page | ||
+ | *SESS Model | ||
+ | </td> | ||
+ | <td>Completed(Delayed)</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>4</td> | ||
+ | <td> | ||
+ | *Lost n Found Page | ||
+ | *Library Model | ||
+ | </td> | ||
+ | <td>Completed(Delayed)</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>5</td> | ||
+ | <td> | ||
+ | *Tweet/ Discuss/ Report | ||
+ | *SOB | ||
+ | </td> | ||
+ | <td>Completed</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>6</td> | ||
+ | <td> | ||
+ | *Logging | ||
+ | *Performance Tuning | ||
+ | *UI Revamp | ||
+ | *SOA | ||
+ | </td> | ||
+ | <td>Completed</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>7</td> | ||
+ | <td> | ||
+ | *UI Revamp | ||
+ | *3D polishing | ||
+ | </td> | ||
+ | <td>Completed</td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#CCFFFF"> | ||
+ | <td>8</td> | ||
+ | <td> | ||
+ | *House Keeping | ||
+ | *UAT2 | ||
+ | </td> | ||
+ | <td>Completed</td> | ||
+ | </tr> | ||
+ | |||
+ | </table> | ||
− | + | ==== Acceptance Presentation ==== | |
+ | We have exported the slides that we used for Acceptance Presentation to PDF and it is available [[Media:TheTalkies_AP_Slides.pdf|here]]. | ||
− | + | ==== Mid-Term Presentation and wiki ==== | |
+ | We have exported the slides that we used for Mid-term Presentation to PDF and it is available [[Media:TheTalkies_MT_Slides.pdf|here]]. | ||
− | + | Our mid term wiki is available [[IS480 Team wiki: 2011T1 TheTalkies Midterm | here]]. This is the snapshot of mid-term state mainly highlights of changes and things that we have done after the acceptance presentation. | |
+ | |||
+ | ==== Final Presentation and wiki ==== | ||
+ | - Our final wiki is available [[IS480 Team wiki: 2011T1 TheTalkies Final | here]]. This is the highlights of changes and things that we have done after the mid-term presentation. | ||
=== Risk and Mitigation plan === | === Risk and Mitigation plan === | ||
Line 261: | Line 466: | ||
<table border="0"> | <table border="0"> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#0099CC" align="center" style="color:#FFFFFF; font-weight:bold"> |
<td width="50px"> No </td> | <td width="50px"> No </td> | ||
<td width="150px"> Risk </td> | <td width="150px"> Risk </td> | ||
Line 268: | Line 473: | ||
<td width="300px"> Mitigation Strategy</td> | <td width="300px"> Mitigation Strategy</td> | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#C1E1E1"> |
<td align="center">1.</td> | <td align="center">1.</td> | ||
<td>Schedule Risk</td> | <td>Schedule Risk</td> | ||
Line 276: | Line 481: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>1.1 Underestimation of a task or an iteration</td> | <td>1.1 Underestimation of a task or an iteration</td> | ||
Line 287: | Line 492: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>1.2 Timetable conflict </td> | <td>1.2 Timetable conflict </td> | ||
Line 297: | Line 502: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#C1E1E1"> |
<td align="center">2.</td> | <td align="center">2.</td> | ||
<td>Specification Breakdown Risk</td> | <td>Specification Breakdown Risk</td> | ||
Line 305: | Line 510: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>2.1 Incomplete Requirement Specifications or changes of requirement specifications by client</td> | <td>2.1 Incomplete Requirement Specifications or changes of requirement specifications by client</td> | ||
Line 316: | Line 521: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#C1E1E1"> |
<td align="center">3.</td> | <td align="center">3.</td> | ||
<td>Technical Risk</td> | <td>Technical Risk</td> | ||
Line 324: | Line 529: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>3.1 Unfamiliarity with twitter and Germanium 3d APIs </td> | <td>3.1 Unfamiliarity with twitter and Germanium 3d APIs </td> | ||
Line 334: | Line 539: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>3.2 Integration difficulties with Germanium and twitter </td> | <td>3.2 Integration difficulties with Germanium and twitter </td> | ||
Line 344: | Line 549: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
+ | <td></td> | ||
+ | <td>3.3 External server down </td> | ||
+ | <td>Low</td> | ||
+ | <td>High</td> | ||
+ | <td> | ||
+ | *Implement server down time handling features | ||
+ | *Develop appropriate UI to inform users about server down time | ||
+ | </td> | ||
+ | </tr> | ||
+ | |||
+ | <tr bgcolor="#C1E1E1"> | ||
<td align="center">4.</td> | <td align="center">4.</td> | ||
<td>Resource Risk</td> | <td>Resource Risk</td> | ||
Line 352: | Line 568: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>4.1 One member have to drop the course if the team do not get at least A- for acceptance presentation since he is doing FYP as IS 481 </td> | <td>4.1 One member have to drop the course if the team do not get at least A- for acceptance presentation since he is doing FYP as IS 481 </td> | ||
Line 363: | Line 579: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#DFFFFF"> |
<td></td> | <td></td> | ||
<td>4.2 Computers crashing </td> | <td>4.2 Computers crashing </td> | ||
Line 379: | Line 595: | ||
<table border="0"> | <table border="0"> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#87AFC7" align="center" style="color:#FFFFFF; font-weight:bold"> |
<td width="50px"> No </td> | <td width="50px"> No </td> | ||
<td width="150px"> Learning Outcomes</td> | <td width="150px"> Learning Outcomes</td> | ||
Line 385: | Line 601: | ||
<td width="300px"> Actions to Achieve the Outcomes</td> | <td width="300px"> Actions to Achieve the Outcomes</td> | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#E9CFEB"> |
<td align="center">1.</td> | <td align="center">1.</td> | ||
<td>Integration of business & technology in a sector context</td> | <td>Integration of business & technology in a sector context</td> | ||
Line 392: | Line 608: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>1.1 Business IT value linkage skills </td> | <td>1.1 Business IT value linkage skills </td> | ||
Line 404: | Line 620: | ||
− | <tr bgcolor="# | + | <tr bgcolor="#E9CFEB"> |
<td align="center">2.</td> | <td align="center">2.</td> | ||
<td>IT architecture, design and development skills </td> | <td>IT architecture, design and development skills </td> | ||
Line 411: | Line 627: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>2.1 System requirements specification skills </td> | <td>2.1 System requirements specification skills </td> | ||
Line 422: | Line 638: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>2.2 Software and IT architecture analysis and design skills </td> | <td>2.2 Software and IT architecture analysis and design skills </td> | ||
<td>YY</td> | <td>YY</td> | ||
<td> | <td> | ||
− | *Design the system architecture carefully since client requested | + | *Design the system architecture carefully since client requested to minimize the 3D loading time. |
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>2.3 Implementation skills </td> | <td>2.3 Implementation skills </td> | ||
Line 442: | Line 658: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>2.4 Technology Application Skills</td> | <td>2.4 Technology Application Skills</td> | ||
Line 449: | Line 665: | ||
*Make use of twitter API | *Make use of twitter API | ||
*Make use of Germanium 3D API | *Make use of Germanium 3D API | ||
+ | *Make use of jQuery API | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#E9CFEB"> |
<td align="center">3.</td> | <td align="center">3.</td> | ||
<td>Project management skills </td> | <td>Project management skills </td> | ||
Line 459: | Line 676: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>3.1 Scope management skills </td> | <td>3.1 Scope management skills </td> | ||
Line 469: | Line 686: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>3.2 Risks management skills </td> | <td>3.2 Risks management skills </td> | ||
Line 479: | Line 696: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>3.3 Project integration and time management skills </td> | <td>3.3 Project integration and time management skills </td> | ||
Line 490: | Line 707: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>3.4 Configuration management skills </td> | <td>3.4 Configuration management skills </td> | ||
Line 501: | Line 718: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>3.5 Quality management skills </td> | <td>3.5 Quality management skills </td> | ||
Line 507: | Line 724: | ||
<td> | <td> | ||
*Prepare UAT and test plan meticulously in order to assure the quality of application | *Prepare UAT and test plan meticulously in order to assure the quality of application | ||
− | *Continuously gather the | + | *Continuously gather the feedbacks from both client and supervisor |
*Plan to make a sample of users from SMU to use the application once most of the feature are done in order to evaluate the user-friendliness of the application | *Plan to make a sample of users from SMU to use the application once most of the feature are done in order to evaluate the user-friendliness of the application | ||
</td> | </td> | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#E9CFEB"> |
<td align="center">4.</td> | <td align="center">4.</td> | ||
<td>Learning to learn skills </td> | <td>Learning to learn skills </td> | ||
Line 519: | Line 736: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>4.1 Search skills</td> | <td>4.1 Search skills</td> | ||
Line 528: | Line 745: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>4.2 Skills for developing a methodology for learning </td> | <td>4.2 Skills for developing a methodology for learning </td> | ||
Line 538: | Line 755: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#E9CFEB"> |
<td align="center">5.</td> | <td align="center">5.</td> | ||
<td>Collaboration (or team) skills </td> | <td>Collaboration (or team) skills </td> | ||
Line 545: | Line 762: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
− | <td>5.1 | + | <td>5.1 Team work skills </td> |
<td>YY</td> | <td>YY</td> | ||
<td> | <td> | ||
Line 556: | Line 773: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#E9CFEB"> |
<td align="center">6.</td> | <td align="center">6.</td> | ||
<td>Communication skills </td> | <td>Communication skills </td> | ||
Line 563: | Line 780: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>6.1 Presentation skills </td> | <td>6.1 Presentation skills </td> | ||
Line 574: | Line 791: | ||
</tr> | </tr> | ||
− | <tr bgcolor="# | + | <tr bgcolor="#FDE3FF"> |
<td></td> | <td></td> | ||
<td>6.2 Writing skills </td> | <td>6.2 Writing skills </td> | ||
Line 587: | Line 804: | ||
</table> | </table> | ||
+ | ==Possible Future Work== | ||
+ | |||
+ | === More detailed and refined 3D Models === | ||
+ | |||
+ | We are happy with our current achievement on simplified 3D models based on our zero-experiences regarding with 3D. However, after we have seem sample applications from GermaniumWeb, we are inspired to refine and add more details of the 3D models especially on Ground Landscape. | ||
+ | |||
+ | === Animations on 3D Models === | ||
+ | |||
+ | Not only refining the models, we can add animations to the 3D model such as birds flying around, students walking around and cars moving around. This will add more user friendliness and fun factor to the application. Since the application targets on SMU students, this will definitely attract students to come and visit our application more frequently. | ||
+ | |||
+ | === Collaborating 3D Booking System === | ||
+ | |||
+ | There was one IS480 Project about 3D Booking system. We can collaborate or adopt their idea in the future to create a complete social media based real time 3D booking system. The system can even tweet on twitter or share on facebook when the booking is done or the room is empty. | ||
+ | |||
+ | === More integration with Twitter functions === | ||
+ | |||
+ | Currently, we have only view, tweet and reply features from Twitter. There are so many features from Twitter such as Photo and Search by name or topic. | ||
+ | |||
+ | === More platforms of social media === | ||
+ | |||
+ | Because of time and resource limitations, we used only Twitter for this project. However, we can connect with more social media platforms such as Facebook, LinkedIn, Google+, and MSN etc. This will bring more users to our application and will complete our goal of the project: bringing people from all social media platform to one playground with 3D models. | ||
+ | |||
+ | === And more === | ||
+ | |||
+ | If you have any good idea, contact us. | ||
+ | |||
+ | == Thank == | ||
+ | |||
+ | Users are the first we would like to thank. Thank each and every test users for giving us insight and useful feedback for every feature. We understand that filling a survey is not an interesting task. However, our testers did a wonderful job. We are lucky to have such a wonderful and flexible sponsors who support and advise us whole journey of IS480. We also want to thank our supervisor who is always read to listen and guide us to make sure we are in right track in every meeting. Without his help and support, we won't be able to create such great application. We also would like to thank Prof Ben for giving us harsh yet useful and insight feedback in mid-term presentation. Finally, we deserves a round of applaud for everything we have done: good, bad, blood, sweat, pain, sorrow, happy, tears and everything. It is not the destination that it matters. The journey we walked together, the memories we shared together, the lessons we learn together and the achievement we got together are the most important. In other words, it is the journey that it matters. | ||
+ | |||
+ | <blockquote> | ||
+ | ''"Focus on the journey, not the destination. Joy is found not in finishing an activity but in doing it."'' | ||
+ | <br/> | ||
+ | ~ Greg Anderson (American best-selling Author and founder of the American Wellness Project., b.1964) | ||
+ | </blockquote> | ||
==Comments== | ==Comments== |
Latest revision as of 13:22, 24 November 2011
Contents
The Talkies Team Members and Roles
No | MEMBER | ROLE | RESPONSIBILIIES |
1 | Aung Myint Thein [1] | Project Manager / 3D model designer |
|
2 | Soe Thet Aung [2] | System Administrator / System Architect |
|
3 | Khaing Pwint Wah [3] | Lead Tester/ Quality Assurance |
|
4 | Kyaw Moe Hein [4] | Lead Designer / 3D model designer / GermaniumWeb developer |
|
5 | Thandar Tun [5] | Database Administrator |
|
6 | Phyo Wint Wint Tun [6] | Lead Developer |
|
- Besides the above mentioned roles, each team member will be developer too. This is to make sure that each member will get chance to expose to the programming with Twitter API.
Supervisor
Prof Archan Misra
The main responsibilities of supervisor are as following.
- Meet with students weekly. If the team progressed very well with frequent demo and good sponsor feedback, the supervisor can decide to meet fortnightly. During the meetings, provide guidance, feedback and supervision. The teams should manage their own project but when there are problems or issues, the supervisor should step in. For example, the students are working on social networking but have no idea who or where to get help. The supervisor can direct the team to relevant faculty, books, articles, etc. If the team is facing a problem with the sponsor, the supervisor can approach the sponsor on behalf of the team.
- Meet teams with sponsor (as required). This is best accomplished during student presentation as described in the grading page. This opportunity is important to get requirements clarity from the sponsor.
- Ensure that the project meets the course objective.
- Grade the team according to the grading page and feedback the grades to the team. This include reviewing other teams to compare team projects. Supervisors are responsible for individual team member grades.
- Review and vet the poster for printing.
Project Overview
Project Description
Creating a fully customized social media dashboard on simplified 3D model of Singapore Management University categorizing tweets based on location and trending topics.
Motivation
Specific Location
SMU students and faculty members are sharing their thoughts and things happening around them by using various social media tools. Among them, twitter is the most popular tools. Twitter offers a social networking and microblogging service enabling its users to send and read messages called tweets. If I want to see someone's tweets with real time updates, I have to "follow" them. "Following" is one-way-adding-friend method and the other side doesn't need to accept my following. Although twitter is pretty popular among students and faculty members, "following" has a very subtle disadvantage. If another student or faculty is not following me, he will not see my tweets even if we are in the same campus. Similarly, if I didn't follow a student, I won't see his tweets even if we are in the same classroom. Do we really need to follow over thousands of students and professors to get tweets from SMU campus? No, we don't want and we should not. Is it the end of what the most popular modern social networking tool capable of?
No! We believe the social media can do better than this. Our social media dashboard will be customized to capture all the tweets in SMU campus and show them on simplified 3D model. Students can see what others think about a particular course or faculty. Faculty can see what is happening around university. All of them doesn't need to follow or explode their following people list just to see things happening around SMU.
Related Trends
Twitter has a very interesting feature called "trends". If users from Singapore tweet about a topic (for example #F1) to a certain amount of times, that keyword is promoted into "trends" and it was shown on the twitter page as Figure 1. However, students are not interested in those random topics or trends happening in whole Singapore. We are more interested in trends happening in SMU. Can we change the setting? No, we can only change the country level or worldwide. Therefore, trends such as #SIS will never appear in Singapore trends. That is not what students want from social media.
We will not only capture the tweets around SMU campus but we will also analyze them and develop trends only related to SMU. For example, when students are tweets about #Steve in matriculation, we will make #Steve as trends. Moreover, we will create a list of possible keywords and use them when we capture the tweets too. For example, #SMUSIS, #SMUSOE, etc. So, it will make trends in our page more relevant and related to SMU.
Combining the specific localized tweets and relevant trends, our website will be one stop dashboard for students and faculty members to stay connect with people around them. Potential students can also see the culture and interaction of current students. Last but not least, the expertise from community can discuss and contribute to the trends and topics in SMU as well. All of them don't need to follow anyone. All the tweets in our web site are specifically localized for SMU and the trends are highly relevant and related to SMU.
Project Scope
Main Features
There are 3 main features in our application.
- It is boring to look at the text only pages. We believe creating 3D model of SMU and showing tweets on the 3D model is much more fun and more meaningful for us. With the limitation of the time and resource, we won't be able to create detailed model of SMU. Moreover, why don't we create more fun-type 3D model to reflect the friendliness of the application? This is our very first feature: Creating simplified yet fun 3D model of SMU.
- We realized that only showing tweets doesn't complete the twitter experience. After we got the tweets based on the location and the pre-defined keywords, we are going to process them and show the trending topics around SMU. This will definitely facilitate the discussion and interaction among our application users mainly students. So, this is our second feature: Trending page.
- In and around SMU, students lost all sort of things including but not limited to pen, mp3 player, and student card most importantly. We can report to lost and found at each school building and library. Do I need to walk to all buildings? Yes. Do they consolidate the reports? I highly doubt No. So, there are multiple reports of lost and multiple reports of found. We can see that it is not a perfect system, at least not good enough. User can tweet about the lost and found with #LostNFound hashtag. We will show it in our permanent Lost and Found Trend page. Isn't it cool? This is our third main feature: Lost and Found Trend Page.
Components
There are 7 components that will make our 3 main features complete. The visualization [to be updated later] of those 7 components is provided in the image below and description of each component is explained in the following table.
No | Components | Description | Specification |
1 | 3D model |
We are going to build a simplified 3D model of Singapore Management University on which we will show the tweets and the trending topics. It won't show the exact classroom and seminar room location because of the sensitivity of the data and time limit of the project. However, it will have the same level and shape as the real building. We promise when you see the model, you will notice which building it is. |
Height of each level: 6m Height of each building with 5 levels: 5 x 6 = 30m Height of doors: 4m |
2 | Location Search |
Using twitter API of searching tweets only around the campus, we will pull only the relevant tweets for our website. So, we will get all the tweets from students, faculty, and even community if they are tweeting in the campus and they enabled the geo-tagged feature. |
We will get the tweets from the area of circle with 0.5km radius centre point at the School of Information Systems. Longitude Range: 103.848 - 103.852 Latitude Range: 1.293 - 1.300 |
3 | # Search (hashtag keyword searching) |
To complement location search, we will also search tweets on pre-assigned keywords. We are going to list possible keywords in SMU campus as much as possible. By doing so, our application will not need to sacrifice for non-geo-tagged tweets. |
Keywords: predefined keywords |
4 | Trends Page |
When a user selects a #keyword, we will show the page with tweets with the selected keyword. When a user selects a faculty name, we will show the page with tweets which are located around the selected faculty and the tweets with related keywords. For example, when a user selects SIS faculty, the page will show all tweets located around SIS and with keywords IS480. |
Frequency of pulling tweets: 1hr Time to become trend: 24hrs Result tweets for a trend: as much as possible in 7 days (Twitter API limitation) |
5 | Lost & Found Page |
In every trending page, there will be #LostNFound keyword and we will keep it permanent regardless of the selected faculty and keyword. We want to make students life easier by just tweeting when they lost or found some valuables. Users can also search the tweets based on the time. It won't be a problem if I want to search the tweets about #LostNFound for last Friday. This can be one stop lost and found portal powered by social media technology. |
Timeline slider maximum: 7days |
6 | Tweet |
Users with twitter credentials can log in, tweet and discuss on every above mentioned pages. When a user tweets on the keyword page, the keyword will be automatically added at the end of the tweet. |
Twitter Connect: OAuth method |
7 | Statistics |
We will keep the statistics such as number of tweets for each keywords so that we can show the weekly or monthly popular trends. |
Frequency of pulling tweets: 1hr Frequency of counting tweets: 1hr |
Show Case
Our application can be accessed at http://3dsocializer.phpfogapp.com/index.php . Although we are not completed yet, we are very proud to show case our efforts and what we have done so far. Please comment at below if you have any thoughts.
System Overview
System Architecture
No | System | Containing parts | Functionality |
1 | 3D Socializer |
|
|
2 |
|
|
|
3 | Clients |
|
|
4 | Cron Server |
|
|
3D Modelling
We need to develop 3D models on 3DsMax 2010 version. Then we have to export the building into .DAE files with OpenCOLLADA Exporter. At the time of implementing this application (2011 November), OpenCOLLADA can support only 3DsMax 2010 version. Germanium Building Composer will compile those .DAE files and export to .xlcl files. Browser with Germanium Plugin can render the 3D models and our application is ready to use.
Resources and references
- Developing Environment
- PHPFog - Web Space hosting
- Version control system (Git) – provided by client
- Development tools (Notepad++, Eclipse) – free and open-sourced
- 3D Modeling tools (Germanium 3D, 3D Max 2010) – provided by client and student licence
- 3D Max 2010 - Student Licence
- Germanium Building Composer - Provided by client
- Language and Technology
- PHP
- MySQL
- Twitter RESTful Search API
Project Management
Project Milestones
Iteration No | Feature to be implemented | Status |
1 |
|
Completed |
2 |
|
Completed |
3 |
|
Completed(Delayed) |
4 |
|
Completed(Delayed) |
5 |
|
Completed |
6 |
|
Completed |
7 |
|
Completed |
8 |
|
Completed |
Acceptance Presentation
We have exported the slides that we used for Acceptance Presentation to PDF and it is available here.
Mid-Term Presentation and wiki
We have exported the slides that we used for Mid-term Presentation to PDF and it is available here.
Our mid term wiki is available here. This is the snapshot of mid-term state mainly highlights of changes and things that we have done after the acceptance presentation.
Final Presentation and wiki
- Our final wiki is available here. This is the highlights of changes and things that we have done after the mid-term presentation.
Risk and Mitigation plan
No | Risk | Likelihood of Occurrence | Impact on Project | Mitigation Strategy |
1. | Schedule Risk | |||
1.1 Underestimation of a task or an iteration | Medium | High |
|
|
1.2 Timetable conflict | High | Medium |
|
|
2. | Specification Breakdown Risk | |||
2.1 Incomplete Requirement Specifications or changes of requirement specifications by client | Low | High |
|
|
3. | Technical Risk | |||
3.1 Unfamiliarity with twitter and Germanium 3d APIs | Medium | Medium |
|
|
3.2 Integration difficulties with Germanium and twitter | Medium | High |
|
|
3.3 External server down | Low | High |
|
|
4. | Resource Risk | |||
4.1 One member have to drop the course if the team do not get at least A- for acceptance presentation since he is doing FYP as IS 481 | Medium | High |
|
|
4.2 Computers crashing | High | High |
|
Learning outcomes
No | Learning Outcomes | Learning Potential | Actions to Achieve the Outcomes |
1. | Integration of business & technology in a sector context | ||
1.1 Business IT value linkage skills | YY |
|
|
2. | IT architecture, design and development skills | ||
2.1 System requirements specification skills | YY |
|
|
2.2 Software and IT architecture analysis and design skills | YY |
|
|
2.3 Implementation skills | YY |
|
|
2.4 Technology Application Skills | YY |
|
|
3. | Project management skills | ||
3.1 Scope management skills | YY |
|
|
3.2 Risks management skills | YY |
|
|
3.3 Project integration and time management skills | YY |
|
|
3.4 Configuration management skills | YY |
|
|
3.5 Quality management skills | YY |
|
|
4. | Learning to learn skills | ||
4.1 Search skills | YY |
|
|
4.2 Skills for developing a methodology for learning | YY |
|
|
5. | Collaboration (or team) skills | ||
5.1 Team work skills | YY |
|
|
6. | Communication skills | ||
6.1 Presentation skills | YY |
|
|
6.2 Writing skills | Y |
|
Possible Future Work
More detailed and refined 3D Models
We are happy with our current achievement on simplified 3D models based on our zero-experiences regarding with 3D. However, after we have seem sample applications from GermaniumWeb, we are inspired to refine and add more details of the 3D models especially on Ground Landscape.
Animations on 3D Models
Not only refining the models, we can add animations to the 3D model such as birds flying around, students walking around and cars moving around. This will add more user friendliness and fun factor to the application. Since the application targets on SMU students, this will definitely attract students to come and visit our application more frequently.
Collaborating 3D Booking System
There was one IS480 Project about 3D Booking system. We can collaborate or adopt their idea in the future to create a complete social media based real time 3D booking system. The system can even tweet on twitter or share on facebook when the booking is done or the room is empty.
More integration with Twitter functions
Currently, we have only view, tweet and reply features from Twitter. There are so many features from Twitter such as Photo and Search by name or topic.
More platforms of social media
Because of time and resource limitations, we used only Twitter for this project. However, we can connect with more social media platforms such as Facebook, LinkedIn, Google+, and MSN etc. This will bring more users to our application and will complete our goal of the project: bringing people from all social media platform to one playground with 3D models.
And more
If you have any good idea, contact us.
Thank
Users are the first we would like to thank. Thank each and every test users for giving us insight and useful feedback for every feature. We understand that filling a survey is not an interesting task. However, our testers did a wonderful job. We are lucky to have such a wonderful and flexible sponsors who support and advise us whole journey of IS480. We also want to thank our supervisor who is always read to listen and guide us to make sure we are in right track in every meeting. Without his help and support, we won't be able to create such great application. We also would like to thank Prof Ben for giving us harsh yet useful and insight feedback in mid-term presentation. Finally, we deserves a round of applaud for everything we have done: good, bad, blood, sweat, pain, sorrow, happy, tears and everything. It is not the destination that it matters. The journey we walked together, the memories we shared together, the lessons we learn together and the achievement we got together are the most important. In other words, it is the journey that it matters.
"Focus on the journey, not the destination. Joy is found not in finishing an activity but in doing it."
~ Greg Anderson (American best-selling Author and founder of the American Wellness Project., b.1964)