HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2011T1 TheTalkies"

From IS480
Jump to navigation Jump to search
Line 274: Line 274:
 
<td width="50px">No</td>
 
<td width="50px">No</td>
 
<td width="150px">System</td>
 
<td width="150px">System</td>
<td width="300px">Containing parts</td>
+
<td width="200px">Containing parts</td>
<td width="500">Functionality</td>
+
<td width="600">Functionality</td>
 
</tr>
 
</tr>
  

Revision as of 00:37, 16 November 2011

Application Logo

The Talkies Team Members and Roles

No MEMBER ROLE RESPONSIBILIIES
1 Aung Myint Thein [1] Project Manager / 3D model designer
  • Planning for meeting agenda
  • Checking the team's progress
  • Communicate between the client, supervisor and the team
  • Managing the expectation of each stakeholders
  • Make sure the overall UI is simple, user friendly and intuitive
  • Building the simplified 3D model
2 Soe Thet Aung [2] System Administrator / System Architect
  • Ensure all the codes follow best practices
  • Providing support for Version Control System
  • Ensure the application is optimized in non-functionality aspect
  • Providing the overview of the connection between components
  • Main point of contact for server side troubleshooting
3 Khaing Pwint Wah [3] Lead Tester/ Quality Assurance
  • Preparing the test plan
  • Making sure the bug are fixed
  • Ensure all documents are kept properly in organized manner
  • Helping the Project Manager with documentation and scheduling
4 Kyaw Moe Hein [4] Lead Designer / 3D model designer / GermaniumWeb developer
  • Responsible for User Interface
  • Create mock up for prototype of final product
  • Making sure the UI is simple, user friendly and intuitive
  • Building simplified 3D model
  • Making sure the 3D model is friendly with the user interface's design
5 Thandar Tun [5] Database Administrator
  • Planning and creating the database to support the application
  • Helping System Administrator for non-functionality requirements
6 Phyo Wint Wint Tun [6] Lead Developer
  • Leading the team at development in Twitter API
  • Support integration of front-end and back-end of application
  • 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

Figure 1: Trends in Singapore


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.

Visualization of features
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

System Architecture
No System Containing parts Functionality
1 3D Socializer
  • PHP Web Server
  • MySQL Database
  • Germanium API Server

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. We choose PHP over other programming language because it is easy to learn and most of our team members are familiar with PHP.

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. Therefore, we would like to put it under our application. It provides us all the functions relating to showing 3D models and interaction with 3D models.

2 Twitter
  • RESTful Search API
  • RESTful Picture Server
3 Clients
  • Windows Browser (with Germanium Plugin)
4 Cron Server
  • Web Server

3D Modelling

3D Modelling Flow


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 API – online sources

Project Management

Project Milestones

Major Milestones


Iteration No Feature to be implemented Status
1
  • Back-end
  • 3D prototype
Completed
2
  • Front-end
  • SIS Model
Completed
3
  • Trend Page
  • SESS Model
Completed(Delayed)
4
  • Lost n Found Page
  • Library Model
Completed(Delayed)
5
  • Tweet/ Discuss/ Report
  • SOB
Completed
6
  • Logging
  • Performance Tuning
  • UI Revamp
  • SOA
Completed
7
  • UI Revamp
  • 3D polishing
Completed
8
  • House Keeping
  • UAT2
Current



- Our detailed planning and schedules are available here.

- We have exported the slides that we used for Acceptance Presentation to PDF and it is available here.

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

- 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
  • Reschedule for the next iteration
  • The pair with unfinished task can ask for the help of other members who already finished their task
1.2 Timetable conflict High Medium
  • To put FYP the highest priority on weekends and after class hour (7:30 p.m.)
2. Specification Breakdown Risk
2.1 Incomplete Requirement Specifications or changes of requirement specifications by client Low High
  • To have some buffer time for some flexibility and unexpected changes
  • Maintain the clear, concise communication with client regarding the requirements
3. Technical Risk
3.1 Unfamiliarity with twitter and Germanium 3d APIs Medium Medium
  • Do thorough research on API and other necessary technical information by all the team members or assign one member to do the research and give one training session for the rest of the members
3.2 Integration difficulties with Germanium and twitter Medium High
  • Integrate phase by phase, test function by function and implement
3.3 External server down Low High
  • Implement server down time handling features
  • Develop appropriate UI to inform users about server down time
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
  • Readjust the tasks and responsibilities
  • Readjust the schedule and scope
4.2 Computers crashing High High
  • Back up everything not only on Git repository but also on some cloud medium like dropbox

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
  • Gather the requirements from client and interpret those business requirements into system requirements
  • Describe the objective and value statement of the project
  • Define the project scope according to client’s desired business scope
2. IT architecture, design and development skills
2.1 System requirements specification skills YY
  • Verify the GermaniumWeb’s needs with the sponsor and specify the requirements for project
  • Prioritize the requirements
  • Estimate the effort required for the functions and map it to the needs
2.2 Software and IT architecture analysis and design skills YY
  • Design the system architecture carefully since client requested to minimize the 3D loading time.
2.3 Implementation skills YY
  • Deploy the system phase by phase
  • Prepare detailed test cases for each phase and test the application thoroughly
  • Continuously get feedbacks from sponsor
2.4 Technology Application Skills YY
  • Make use of twitter API
  • Make use of Germanium 3D API
  • Make use of jQuery API
3. Project management skills
3.1 Scope management skills YY
  • Define the project scope carefully since in the early stage of the project and estimate the efforts and resources required to fulfill the scope
  • Make sure that all the team members are on the same page to give the necessary commitments in order to fulfill the scope
3.2 Risks management skills YY
  • Brainstorm all the risks that can be occurred throughout the project and prepare strategies to mitigate those risks
  • Monitor the risk and mitigation plan according to the iteration by PM
3.3 Project integration and time management skills YY
  • Use a very realistic approach to plan the schedule by taking consideration of different team members’ different timetable
  • Update or adjust the schedule after each iteration using the data collected from previous iteration
  • Continuously monitor the progress of each task during each iteration by PM
3.4 Configuration management skills YY
  • Decided to use Git for version control and code repository
  • Use Eclipse for IDE
  • Follow established and correct guidelines for version control and all the team members are well-practiced to use the tools since the early stage off the project
3.5 Quality management skills YY
  • Prepare UAT and test plan meticulously in order to assure the quality of application
  • 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
4. Learning to learn skills
4.1 Search skills YY
  • Research through twitter and Germanium APIs and any other information that can be useful for the project
4.2 Skills for developing a methodology for learning YY
  • Share of all the information or a new technique learned by every team member through social networking like facebook and twitter
  • Assist and explain each others on every team meeting
5. Collaboration (or team) skills
5.1 Team work skills YY
  • Make sure every one is on the same page of the team progress by constantly informing through team’s group page on Facebook
  • Decided and agreed on some protocols such as being on time for meeting and being contactable since the start of the project
  • Encourage each other to ask questions, to be open if any difficulties encounter and to ensure FYP as an enjoyable learning experience
6. Communication skills
6.1 Presentation skills YY
  • Communication with sponsor
  • Presenting project proposal (Acceptance Presentation)
  • Conducting Mid-term and final presentation
6.2 Writing skills Y
  • Using clear and concise writing for email communication between team members as well as sponsor and supervisor
  • Using simple and easy to understand/follow writing for preparing documents such as UAT and test cases
  • Document details of project on Wiki and team shared documents such as meeting minutes

Comments