IS480 Team wiki:2014T1 Chi-e Progress Report

From IS480
Jump to navigation Jump to search

Chie logo.jpg
Home Chi-e Project Overview Project Management Project Documentation

|Progress Report| |Acceptance Wiki Page| |Mid-Term Wiki Page| |Final Wiki Page|

TweetBoard Build 0.05 - 21st November 2014

Access Groups

  • Support different access levels for different functions. Currents supports Beta, Standard, and Admin users.


  • Multi-option polling for in-class voting

Analytics dashboard

  • Post-class analytics for overall and individual analysis of tweets

Bulk Import Class

  • Support adding of multiple classes using a CSV file


  • View history of actions applied to the application.

Search Tweets

  • Tweet search available as a separate entity
  • Ability to export tweets to spreadsheet for other analysis

Tweets Display

  • Improvised grid style to allow more tweets to be displayed in a single view
  • Intensified tweet view (via zooming of browser) for better visibility of oncoming tweets

TweetBoard Build 0.04 - 05th August 2014

Log in

  • As Twitter sign-in only supports one Callback URL, we have modified the log in mechanism to be more versatile in terms of redirecting users to their respective pages. This is to support the different types of purposes for logging in to TweetBoard.

Log out

  • Log out feature is now added for security purposes

Home dashboard

  • Home view is back, but to display classes that the user teaches. Under this revamped page, user can add/edit/delete classes, go to lesson and logout of Tweetboard.

Creating a new class

  • Validation is updated to avoid empty and/or invalid entries being submitted when creating a class.
  • If a CSV file of student names is attached, the respective students will be notified automatically via email upon creation of class.

Editing an existing class

  • Users will be able to see the relevant details of the class. They can also add, edit, email, delete the students enrolled in the class, or upload a Comma-Separated Values (CSV) file to update enrolled information.
  • Newly added students in this page will be notified automatically via email.

Email to enrolled students

  • Email will be sent automatically upon adding of new students to a class. A custom 'Send Email' button is developed for instructors who may want to send/resend verification emails to students.
  • Sending of email to instructors is under development for verifying instructors as well

Tweets Display

    Popular Tweets
  • Grid view of class tweets similar to Google Trends Visualization


  • A live version of TweetBoard is deployed and under testing on Openshift

Sauce Labs with Selenium

  • Back-end semi-automated test cases using Selenium and JUnit is under research and development. Front-end cross browser testing using Selenium will be our final product for automated testings with TweetBoard.

TweetBoard Build 0.03 - 03rd July 2014

Creating a new class

  • We have implemented the function of creating a new class. Users will be able to enter the relevant details of the new class and upload a Comma-Separated Values (CSV) file of the students in the class. The csv should contain the names of the students and their respective email addresses.
  • The input values from the user are then stored into a database. Any repeated classes or students will not be added into the database once they have been created.

Email to enrolled students

  • Sending of email to enrolled students in a class could be called upon request. This email notification will require students to login to their Twitter account to retrieve their Twitter IDs which will be used to record student's tweets and class participation
  • A frontend display will be developed for instructors who use the system to call this feature manually or upon uploading of class list during class creation

Landing page

  • Landing page had been integrated to use Bootstrap framework to reduce required styles and scripts

Pulling and display of Tweets

    Calling of tweets
  • The calling of Tweets has been reduced from 25 to 1 every 5 seconds. The drastic drop is to reduce the time taken to retrieve the tweets as the batch call requires some time to categorize the tweets. This also reduce the amount of memory used on the local thread which was causing memory leaks to occur (in the test environment). Pulling 1 tweet at a time also allows the user to scan through each tweet instead of having to scroll down to view all 25 previously
  • Instead of having multiple calls from the different views, all views will be updated from the primary dashboard view. This remove the need to pull tweets individually which may cause instability when switching views
  • Full Screen View
  • Viewing tweets from the full screen view will now scale accordingly to the size of the div that it resides in
  • Hashtags have been given a lighter shade of green to increase visibility
  • With the calling of Tweets originating from the dashboard, Tweets will now load 1 at a time. Switching between number of boxes will caused previous Tweets to be lost. We are still thinking of a way to store these Tweets in memory without overwhelming the system
  • Dashboard View
  • The play, pause and delete buttons have been removed. You can no longer remove the Tweet wrapper from view.
  • Tweets will automatically be removed when user is viewing the most recent tweets.
  • Tweet wrapper's div has been reduced to make way for word cloud
  • WordCloud
  • Word cloud - with a chance of meatballs!


  • The leaderboard is an add-on functionality by the team to simulate class participation. Students will be able to view their class participation (standings/rankings)in real time and 'compete' with their peers (which may result in more discussions).

TweetBoard Build 0.02 - 26th June 2014

We have looked into ways in which we can optimise the user's experience by simulating a situation where the admin uses the application in a class setting. We did a few minor changes to some of the functionalities which we considered it to be more "intuitive".
Another big area that we have decided to focus on would be the analysis of the discussions. Not only will this analysis help the administrators know what his/her class is discussing about, we are also looking into exciting ways in which we can link related topics to simulate more discussions in class. As part of Prof Ben's objective of creating a knowledge management platform, these linkages of topics and categorization of discussion may prove to be critical in making this application a success. Of course, all of these are currently in the experimental phases and we are looking into ways where we can capture valuable data to value add to the users.

Log in

  • Users who had previous authorize and authenticate the application will no longer be redirected to Twitter. On landing on the application, an authenticated user will find himself in the home page
  • We created a browser cookie to determine the status of the user. Users who disabled cookies or deleted them will have to re authenticate to access the application

Landing page

  • A landing page has been created to allow 1st time users to know more about what we do before trying the application

Search Tweets

  • The previous "home" page is now called the "lesson" page
  • Top nav bar has been removed
  • The search input has been shifted from the center of the lesson page to the side navigation bar.
  • The search function now enable users to search up to 3 query strings or keywords. This is done with the intention of allowing admins to open up class specific queries as well as queries for other purposes like comments on presentations, polls or anything that is being mentioned on twitter real-time
  • Each columns (of keyword) will be automatically refreshed at a regular interval to load new tweets that are being sent in real time
  • Twitter has a limit that cannot be bypass which is 180 requests per 15 mins. This amounts to about a 5 secs refresh rate on a single keyword. Hence, 2 columns will have a refresh rate of 11 seconds and 3 columns 16.5 seconds
  • Each batch pull consists of 25 tweets of a particular keyword/phrase to ensure adequate amount of content as well a relatively short period of time for the request to be fulfilled
  • Older tweets will be loaded on reaching the bottom of the column.
  • An indicator, very much similar to that of Facebook's, will display how many new tweets are being loaded when the column is scrolled away from the top. To prevent the column from readjusting the height, all new tweets are hidden until there are called for. To show these new tweets, click on the indicator (which will scroll the user to the top) or manually do it to load the new tweets. The indicator hides on click
  • In the event that the admin wants to stop loading of new tweets, the pause button at the top of the column enable him to do so. To resume, a play button (replacing the pause button) will do just that
  • Deleting the column is as easy as hitting the big "X" button on the top right hand corner of the column or simply search for a new keyword.

Tweets Display

  • All hashtags are in green to identify them easily
  • Twitter handler with links are now clickable and will open a new tab to view the user
  • Included the user's profile pic and twitter handle to beautify the tweet
  • Tweet column header which contains the keyword is now bordered and easily spotted

TweetBoard Build 0.01 - 5th June 2014

TweetBoard primarily focuses on fulfilling the key objectives of the "TwitterQNA" project that was initiated by Prof Thomas, which is the experimenting of fusion between education and social media to enhance in class discussions. With the wide adoption of social media by students, this project aims to see if the capabilities of Twitter are able to bring about a change in the way classes are conducted in lectures.

With the additional add on features by Prof Ben to create a Knowledge based system on top of the Twitter QNA platform, TweetBoard will be a complex and interactive platform that can be used both in and outside of the classroom setting.

The plan is to clear the basic functionalities of the application before we tackle the more advanced features such as the analytical portion of the app.

Log in

With the new Twitter API v1.1, calling Twitter's REST API endpoints has become a little more complex where all operations have to be done server-side.

  • Users (administrators) will have a single form of log in via the twitter authentication flow.
  • Twitter4j will be the 3rd party application that we will be using
  • oauth key and secret access token will be stored for future authentication.

Search Tweets

  • Tweets are searched based on a keyword or query
  • Tweets returned are currently not complete. The search results differ from the ones that we get on Twitter's in-house search
  • Tweets are returned in batches of 100 and may take some time to load, varying from computer to computer
  • Search results returned contains replies as well. Frankly, replies without the main tweet is worthless

Tweets Display

  • Clicking on a tweet will open the tweet in twitter in a new tab
  • Tweets should display Tweet text,tweet user, links in the tweet and timestamp