Phantom Software

Phantom Software consists of four members, Jeffrey Kohler, Cristal Castellanos, Saul Becerra, and Nick Fagan. Our name originated from the shirt Nick was wearing the first day our group met, a Phantom of the Opera shirt.

About Us

SaulS

  • JavaScript
  • HTML/CSS
  • Google APIs
  • Python

CristalC

  • Logic Design
  • DFD
  • C
  • SQL

NickN

  • Visual Basic
  • Java
  • C
  • UI Design
  • Prototype

JeffJ

  • JavaScript
  • HTML/CSS
  • Presentation

Problem Definition

Create a way for UA staff to moderate the display of messages from Twitter and integrate their display into a variety of events

Staff should receive relevant Twitter messages in real-time and be able to approve or reject them for various display surfaces

The ability to whitelist and blacklist Twitter accounts to auto approve or auto reject depending on their list affiliation

Orgnizational Feasibility

Management Prowess

  • Easy client access
  • Easy access to information and direction from the client
  • Project aligns with team members goals

Resource Sufficiency

  • Web based data is readily available
  • Multiple solutions for implementation
  • Experience with applicable technologies

Technical Feasibility

Google Platform

  • Utilize Twitter API
  • Google Sites based Application w Google Apps Script
  • Google Cloud Storage for Data

Third Party

  • Tweetwall
  • Spreadfast

Schedule Feasibility

Project Timeline

  • No outside factors affecting schedule
  • No fixed timetable for completion
  • Simple usage requirements
  • Accelerated schedule should not impose unreasonable risks

Project Management

  • Small agile team should allow for quick response to changes
  • Small team should not require a dedicated Project Manager

Project Schedule

For full GanttChart please visit https://jsfiddle.net/58ob6md9/

Economic Feasibility

This system would replace an existing system the department is currently using that is not integrated into their workflow, and has a subscription cost of $7,000 a year

Total Cost of Ownership

  • Purchase Price of Software
  • Requires Moderator
  • Uses existing broadcast system (no seperate operator)
  • Managing user access and accounts

Phantom vs Spreadfast Costs

Return on Investment (ROI)

Utilizing Phantom software's solution would have a positive net effect for the University of Arizona after 1 year of use, in software expenses alone, as well as reduced labor costs to operate during live events

Potential Revenue

Benefits Display per Game Games per Season Revenue
Basketball 4 18 $ 14,000
Football 4 8 $ 6,400
Yearly $ 20,800

Costs Breakdown

Type Hours Rate Cost
Development 90 60 $ 5,400
Training 8 45 $ 360
Documentation 40 45 $ 1,800
Consulting 6 45 $ 270
Subtotal $ 7,830
Contingency 10% $ 783
Total $ 8,613

Build vs. Buy

Developer Custom ROI Support Training Cost
Phantom
Software
Yes $ 20,800 No Yes $ 8,613
Spreadfast
Option 1
No $ 0 Yes No $ 1,200
annually
Spreadfast
Option 2
Yes $ 20,800 Yes Yes $ 7,000
annually
Tweetwall
Option 1
No $ 0 Yes No $ 975
annually
Tweetwall
Option 2
Yes $ 20,800 Yes Yes $ 7,745
annually
+$ 1,500
Set up

Statement of Work

Phantom software will provide a software solution capable of meeting the needs of moderating relevant real-time Tweets and providing an output capable of integrating with existing workflow

Overview

  • Moderators can whitelist/blacklist user accounts
  • Record of all approved tweets
  • System should be able to allow multiple simultaneous moderators
  • All information from Tweets should be captured for output

Security

  • User specific login system
  • User activity recorded for auditing

Software

  • Either utilize Twitter Stream API or Web Scraping for capture
  • Moderation interface available from multiple devices
  • Tweet storage in a database with multiple output formats available

Hardware

  • Primarily cloud implemented with minimized hardware costs

Usability

  • Easy to use interface
  • Capable of viewing multiple Tweets in real time
  • Simple to undo approval/rejection
  • Easy to see Tweet approver
  • Simple to manage whitelist/blacklist

Data Collection Interview

We were able to directly interface with the client to gather information on the needs of the project with multiple interviews.

Requirements

  1. XML output is needed for communicating with the broadcasting system.
  2. Moderators need to be able to undo tweet rejections.
  3. All tweets captured during an event should be recorded.
  4. User activity should be recorded for auditing.
  5. The system should be capable of supporting multiple users.
  6. Tweets need to be captured in their entirety so they can be repackaged for various media.
  7. Mods should be able to whitelist certain Twitter accounts to auto-approve tweets.
  8. An online interface is preferred for more convenient access to the system.

Event Table

Event Source Action Object Destination
Log in entry Moderator/User System will try to match user and authorize Moderation component loading and moderator table in database If authorized will load, otherwise return to login screen
Feed request Moderator System will request a feed from Twitter A temporary feed recording, Twitter (external) The feed will be stored in a temporary record
Activate moderation Moderator System will start checking Tweets Approved Tweets, temp feed, pre-approved list and moderation queue If pre-approved added to approved, otherwise added to moderation queue
Moderator declines Tweet Moderator Moderator checks decline on Tweet Moderator approval queue Tweet is stored in the queue as declined
Moderator approves Tweet 1 Moderator Moderator checks approve on Tweet Approved Tweet list, moderator approval queue Tweet sent to approved Tweet list and open prompt to pre-approve user
Moderator approves Tweet 2 Moderator Prompt to add Twitter account to pre-approved users Pre-approved user If moderator approves user added to pre-approved, otherwise close
Refresh feed Moderator Moderator click refresh on main screen Temporary feed record Temporary feed record refreshed

ER Diagram

DFDs

DFD 0

DFD 1

DFD 1A

DFD 1B

Use Case Diagram

Activity Diagram

Statechart Diagram

Package Diagram

Design Class Diagram

Interaction Diagram

Database Diagram

UI Design Considerations

  • Simple to use
  • Hard to accidently approve
  • Easy to undo accidental approval
  • Possible to find denied tweets
  • Whitelisting

Security Considerations

  • Google Auth
  • Password training
  • Recommend 2 factor

Network Design

  • Cloud based design
  • Any device with internet access and a browser

Design System Controls

  • User Action Audit Trail
  • Google Permissions Management

Coding

  • Twitter Engine
  • Tweet Server
  • Tweets Rejected
  • Tweets Approved
  • XML Test

Test Plan

  • Integration
  • Systems Testing

Installation Plan

  • Install Chrome
  • Login

Training Plan

  • Onsite Review of Documentation
  • Demonstrate Google Permissions
  • Talk about password security

Documentation

  • Server Page
  • Queue Page
  • Curator Page
  • Approved Rejected Page

Support

  • Support would be limited to e-mail based support

Now for a Demo