Polyratings Website Update

Similar documents
Plants can improve mood and health. Many people want to have plants in their home or workplace, but struggle with properly caring for their plants.

An Honors Thesis (HONRS 499) Thesis Advisor Rui Chen. Ball State University Muncie, Indiana. Expected Date of Graduation

Problem and Solution Overview: An elegant task management solution, that saves busy people time.

Case study on PhoneGap / Apache Cordova

Assignment 8 rekindl Local Community (1:30PM) Meet The Team. Ryan C. Amanda L. Sara V. James C.

Uber Push and Subscribe Database

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

The main website for Henrico County, henrico.us, received a complete visual and structural

Audit. A Senior Project presented to the Faculty of the Computer Science Department California Polytechnic State University, San Luis Obispo

June 2017 intel.com schneider-electric.com

Ideas Gallery - Sai Kishore MV (Kishu)

Adam Hodges CPSC481/CyberTiger Project Proposal 1/31/12. Motivations

interview.io Final Report

The course also includes an overview of some of the most popular frameworks that you will most likely encounter in your real work environments.

ASP.NET MVC Training

Migration With Duda.

VIRGINIA TECH. FlickrIDR. A web-based multimodal search interface based on the SuperIDR

Lehigh Walking Wizard Final Report Steven Costa & Zhi Huang

Giles County Animal Rescue

Collegiate Times Grades

Course 20486B: Developing ASP.NET MVC 4 Web Applications

Ryan Parsons Chad Price Jia Reese Alex Vassallo

GOALS SOLUTIONS BENEFITS. COMPANY WEBSITE LOCATION Calgary, Canada. INDUSTRY Interactive Technology

Developing ASP.NET MVC 4 Web Applications

Rambl. Skip the obvious, travel with Rambl. Problem and Solution Overview: Tasks and Final Interface Scenarios:

Interactive Hi-Fi Prototype

Qualtrics Survey Software

idealab online platform

User Testing Study: Collaborizm.com. Jessica Espejel, Megan Koontz, Lauren Restivo. LIS 644: Usability Theory and Practice

Data-driven design decisions for discovery interfaces

FACETs. Technical Report 05/19/2010

Cameron Stewart Technical Publications Product Manager, xmatters. MadCap Flare native XML singlesource content authoring software

The subject line should have your name and class number and class meeting time.

How APEXBlogs was built

Participation Status Report STUDIO ELEMENTS I KATE SOHNG

COURSE 20486B: DEVELOPING ASP.NET MVC 4 WEB APPLICATIONS

Quantum, a Data Storage Solutions Leader, Delivers Responsive HTML5-Based Documentation Centers Using MadCap Flare

20486: Developing ASP.NET MVC 4 Web Applications (5 Days)

Drupal 8 THE VIDER ITY APPR OACH

Quick Quiz Grader Colorado School of Mines Field Session Mark Beaty, William Brown, Michelle Hulongbayan, Tanner Jones Dr.

ENTERPRISE MOBILE APPLICATION DEVELOPMENT WITH WAVEMAKER

Developing ASP.NET MVC 4 Web Applications

Core Programming skill class Practical/Projects class Creativity and Production class Graduation/Interview/Job Preparation class.

StyleEye. Interactive Prototype Report

Product Manager Visualization Final Report

Senior Project: Calendar

Is your JavaScript ready for the Enterprise? What does that even mean?

HUBSPOT COS WEBSITE DESIGN & DEVELOPMENT

THE COMPUTER SCIENCE DEGREE GUIDE

Popularity of Twitter Accounts: PageRank on a Social Network

UX / UI THE BOOT CAMP AT UT AUSTIN CURRICULUM OVERVIEW. McCombs School of Business School of Information

20486: Developing ASP.NET MVC 4 Web Applications

What s Inside: MemberView Report User Guide: Page MemberXP (Permission to reprint for internal training only.) Rev.8.17

WEB DEVELOPER BLUEPRINT

Heuristic Evaluation Project. Course Agent

Xerte Online Toolkits v3.0 Release Notes

PROJECT REPORT. TweetMine Twitter Sentiment Analysis Tool KRZYSZTOF OBLAK C

Developing ASP.NET MVC 4 Web Applications

ISU Market. A website application for buying and selling various items in the ISU domain. ComS 309 Portfolio 2 Group 11: Chao Song & Neh Batwara

Microsoft Outlook Web App Options and Settings

Beginners Guide to. Sencha Touch. Joshua Morony

Support Notes (Issue 1) September Diploma in Digital Applications (DA105) Coding for the web

Making you aware. CS577a 17Fall Team 04

Proposal for the design and development of the Compass Land Consultants website

Digitized Engineering Notebook

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM

Switch What s New in Switch New features. Fixes and improvements. Date: March 22, 2018 What s New In Switch 2018

UX and Fresh Thinking

INF 231 Project 1 (Customer: Dr. Geoff Ward) Fernando S., Hosub L., Roeland S., Ya-Wen L., Sunakshi G., Michael W. B., Sowmya J.

PubWC Bathroom Review App By Clay Jacobs Advisor: Alexander Dekhtyar Computer Science Department California Polytechnic State University 2017

MiPhone Phone Usage Tracking

End of Summer Usability Study

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,

Standards for Test Automation

State of the Headless CMS Market 2018

Getting the most out of Reputation Management. Your How To Guide

NewsConnect is a web application that allows users to see global connections in news, and makes it easy to find only the news you want to read.

student communications survey 2015 RESULTS Prepared by Kirsty Budd, Student Success Office Released Fall UNIVERSITY OF WATERLOO

Responsive Web Design: A Future-Friendly Web Strategy

Northern Arizona University. Project Requirements. Bit Tag. Temitope Alaga, John Dance, Josh Frampton, Jun Rao CS 476. Version 1.0

Student Registration System Redesign Project Overview. Kevin Yeung Student Information Systems

Getting started with Inspirometer A basic guide to managing feedback

Impressive Navigation. Client: Data Verity Client Representative: David Flammer Team: Jerrod Crook, Kelton Hislop, Tim Ross

RELEASE NOTES. CX Suite 18.1 Release

Review Generation. Best Practices 11/16/15. Version 1

GOALS SOLUTIONS BENEFITS. COMPANY WEBSITE LOCATION Zurich, Switzerland. INDUSTRY Financial Services Software

SpringCM. Release Notes December 2017

HTML5 & CSS3 For Beginners: Your Guide To Easily Learn HTML5 & CSS3 Programming In 7 Days By icode Academy READ ONLINE

niyaaz parker Summary Experience front end developer at Dstv digital media

P R OJ E C T K I C K O F F

Custom Discovery Interface at the University of Michigan Library

Visual Studio Course Developing ASP.NET MVC 5 Web Applications

The Four Biggest Mistakes B2B Companies Make With Their Website That Drives Visitors Away To The Competition And How To Keep Them From Leaving.

Rapid Application Development with APEX 5.0

Student Success Guide

DRACULA. CSM Turner Connor Taylor, Trevor Worth June 18th, 2015

FUNCTIONALITY OF THE KSU FEEDBACK 3.0 Alexander Spivakovsky, Dmitry Berezovsky, Sergey Tityenok Kherson State University

FULL STACK FLEX PROGRAM

Large scale SPVC ATM network

CS Equalizing Society - Assignment 8. Interactive Hi-fi Prototype

Transcription:

Polyratings Website Update Senior Project Spring 2016 Cody Sears Connor Krier Anil Thattayathu

Outline Overview 2 Project Beginnings 2 Key Maintenance Issues 2 Project Decision 2 Research 4 Customer Survey 4 Low Fidelity Mockup 7 User Interface Library 13 Implementation 15 Beta Test 15 Lessons Learned 16 Working With a Client 16 UI Frameworks and Licenses 16 New Technologies 16 Future Work 17 Data Scrubbing 17 Migrating to Microservices 17 Mobile App 17 Accounts 17 Web Based Administration Portal 17 Conclusion 18 1

Overview Project Beginnings Polyratings is a well known website amongst Cal Poly students. Over the past 14 years it has been in existence the site has been viewed 2.5 million times. This is a drastic number because the average student population on campus every year nears 20,000. This being said, when class registration came around every quarter there was always talk about the Polyratings scores for professors. However, with this talk also came much negativity towards the site. The problem that we found was that everyone needed Polyratings for help with class searching, but were also very dissatisfied with the website. The main problems with the website were that the User Interface (UI) was outdated and cumbersome, as well as there being some troubles with the data in the website. Our team knew that there were problems with the website, but the first problem that needed to be solved was that we needed to get into contact with the person maintaining the site. We had to find the man behind Polyratings. Our senior capstone professor, Dr. Janzen, was able to direct us to the email of one, J. Paul Reed (Paul). From this point forward the project took its roots. Key Maintenance Issues After reaching out to Paul, he informed us about the main issues currently with the site. These problems included: A UI Refresh Data Scrubbing (retired professors, spam removal, spam detection) Migrating the app to microservices Migrating the app to containers/cloud Mobile application (native or otherwise) Addition of accounts Web based administration portal, including moderation functionality Project Decision In order to make the best decision about what maintenance issue to choose, we decided to ask the people that use Polyratings the most: the students. Through a survey sent out to students, we were able to spot the biggest problem. This paper will go more into detail with the survey, but the main problem to the students was that it looked outdated. Some free form comments 2

from the students even insisted that the UI influenced people to not trust the data that was on the website. Using both the survey s results and our personal preferences, we decided our main issue to tackle was the UI refresh. Also, the data scrubbing issue was decided to be the secondary problem that would most likely be implemented. However, after further discussion with Paul, we choose to take data scrubbing off of our implementation list in exchange that we present at the senior expo. Thus, our final senior project consisted of a UI refresh for Polyratings.com in the form of a design overhaul and the addition of mobile responsiveness. 3

Research Customer Survey We created a survey that would help organize the Polyratings page in a way that satisfied the users of the website. Much of the data gathered from this survey influenced our design decisions for the new version of Polyratings. Here are some key takeaways from the survey results: Figure 1: Class Importance Figure 1 illustrates that, when looking at individual professor s reviews, the class they want to take is a large factor into the relevance of the data. This is because a majority of people chose 4 and 5 from a range of importance with 1 being the lowest and 5 being the highest. Thus, our team decided that it would be important to sort the data for individual professors based on class. This can be seen in Figure 9. 4

Figure 2: Sorting Importance With the overwhelming number of 1 s and 2 s in figure 2, it illustrates that most students do not think that sorting their results is very important. However, this could be a possible user interface issue on the part of the old Polyratings because of the difficulty in understanding how to sort the data. The two possible cases that the results show are that it could be the fault of the old UI for Polyratings or that is is not needed by students. Therefore, we decided to keep the feature in our design, but make it much more simple. 5

Figure 3: Review Credibility Figure 3 highlights the two most important parts of someone s review of a professor: the recency of the rating and the reviewer s grade earned in the class respectively. Additionally, the irrelevant portion to the students was whether the class was taken as required/elective. This information could therefore be dismissed from the website, but we decided to keep it in because there was a small percentage of people that would miss it. 6

Figure 4: Search Type Figure 4 illustrates that an overwhelming percentage of people (91%) search by the name of the professor. This helped organize the home page shown in Figure 5 by providing us with a default search type. Low Fidelity Mockup Using the information given to our team through the survey and our own understanding of the Polyratings website, we came up with a comprehensive set of low fidelity mock ups for the site. These pictures represent the different pages of the website without any of the sophisticated design that is implemented later on. It gives our team a chance to make quick changes to the site without taking too much time. Based on the survey results, feedback from other students, and modern design practices our main priority for the mock ups was to simplify the website as much as possible. It became a difficult task because we needed to include every page and feature in the old Polyratings website without the extra bulk. Thus, the process for creating the mock ups involved many iterations of design and discussion. After many tries, here are a complete set of the final mock ups created for the different website pages as well as their respective look on mobile phones: 7

Figure 5: Homepage 8

Figure 6: Mobile Homepage 9

Figure 7: Professor List Figure 8: Mobile Professor List 10

Figure 9: Professor Page Figure 10: Mobile Professor Page 11

Figure 11: Evaluate a Professor Figure 12: Mobile Evaluate a Professor 12

Figure 13: Contact Us Figure 14: Mobile Contact Us User Interface Library Following the creation and discussion of these mock ups, we wanted to find a library that would help the implementation of the design. After extensive research, the decision was made that most of the design would need to be custom. No reasonable amount of libraries could cover the mock up design that was chosen. To this point, we found Semantic UI and Bootstrap that were 13

both responsive frameworks for UI development. These frameworks are not fully themed libraries like many others, but instead give developers elements that can be built upon for individual design decisions. Deciding between Semantic UI and Bootstrap became a daunting task. They both claimed to be responsive and had many elements that we needed. However, the one advantage that Semantic UI had over Bootstrap was that it had a more sleek initial design to build upon. This influenced us to initially start using Semantic UI. 14

Implementation After doing extensive research on best practices and design, our initial implementation consisted of using the Semantic UI framework with the existing code base. In order to ensure this was a possible feat, we created a proof of concept with the homepage. We were very pleased with the look and feel of the page. However, one major problem with Semantic UI that was discovered while implementing the proof of concept was that the page was not responsive. Mobile responsiveness was a key element for the website update, therefore Semantic UI was not an effective framework to use for our purposes. In order to get the mobile responsive functionality without fully customized style, the next best option was to use Bootstrap. Thus, a proof of concept was implemented with Bootstrap. This resulted in a responsive page that took slightly more customized styling, but it was decided that this would be the best option moving forward with the project. Our final implementation of the website can be found at: www.polyratings.com. Overall, the libraries and programming languages used on this project were: Bootstrap, PHP, HTML, JavaScript, JQuery, and CSS. Using these technologies the new website was given a new clean look that responded to changes in screen size. Beta Test After implementing the project to a point that could be sent to production, we gathered trusted classmates to test out the website. They gave us important insight into the design of the site and found bugs within the UI. The main feedback that we were given was that they loved the new look and feel, but had some minor changes for us. This included taking out the P in the main header because it looked tacky and fixing the search functionality at some edge cases. There were other minor points of feedback, but the main thing gained from beta testing was that we confirmed our design decisions. Everyone enjoyed the new site and were happy that it was finally updated. 15

Lessons Learned Working With a Client One of the difficult parts of our project was working side by side with a client that was busy working and traveling. This forced our communication to be very concise and made us allocate more time for every task than was needed on our end. It was an important lesson to learn especially because many members of our group may be consultants after graduation. This type of work requires effective communication with clients in other companies that have a breadth of different projects. In this way, our senior project allowed us to gain industry knowledge that will help our careers in the future. UI Frameworks and Licenses Another important lesson we learned was that each website requires different styles and thus different utilization of libraries and frameworks. For our site, the best option was Bootstrap. However, it requires planning through mock ups and research to find the best fit for each project. Additionally, we learned about copyright licenses through this project. We had to ensure that every library or technology researched had a copyright license that would allow us to use it under fair use. Through our new understanding of licenses, we were able to ensure that Bootstrap had an MIT license, which is one of the most used open source licenses. The MIT license only requires that we pass along the MIT license in our code base. New Technologies All of our group members have worked with HTML, CSS, and JavaScript before, but this was our first chance to work with PHP and Bootstrap. These technologies are important parts of our programming toolbox. Many projects in the industry have used PHP, thus knowing this language will be very useful after graduation. Also, Bootstrap and mobile responsive frameworks have had a huge push in recent years. Having knowledge in Bootstrap will be beneficial in the case that any of us work with web based programming going forward. 16

Future Work As stated previously, there are many other maintenance issues that still need to be implemented for the Polyratings website. If there is any interest in further projects with Polyratings be sure to contact J. Paul Reed at: preed@release approaches.com or Professor Phillip Nico at: pnico@calpoly.edu. This section will talk about the possible future work for Polyratings. Data Scrubbing Data scrubbing includes setting up an automatic system of cleaning up the data in the Polyratings database. This means removing multiple instances of professors, retired professors, and spam. Migrating to Microservices Microservices are small distinct sets of system features. This means that the whole Polyratings system will be highly decoupled and each part will be focused on doing a small task. This could look like creating a REST API to bridge the connection between the database and the front end; therefore decoupling the system into a front end, back end, and server. Mobile App Although the Polyratings website is now mobile responsive, it could be nice to have a mobile application that students could utilize to view professors ratings. This could be a native or cross platform app. Accounts This feature is very open ended, but the idea behind having accounts is to help with the credibility of the data on Polyratings. This could be a Cal Poly authentication page, each person signs up with their email to view ratings, or even allowing professors to create their own account in order to comment on the reviews that were given to them. Again, this feature has a lot of leeway and would need to be discussed with either Paul or Professor Nico. Web Based Administration Portal An administration portal allows the people with the permission to change data in Polyratings to moderate, delete, and update the Polyratings content. Polyratings currently has commandline implementations of an administration portal, but this is cumbersome to use. Thus, having a web based portal will make the administration work for the website much smoother. 17

Conclusion Over the course of two quarters, we redesigned the Polyratings.com user interface from the ground up. In that time, we juggled many different parts of a complex and rewarding process. After collecting usage data and opinions from students, working with our external client, and the actual implementation details in between, we found ourselves with a project to be proud of. We took an already popular (albeit outdated) website with over 2.5 million page views, something that students frequently use and rely on for obtaining information about their professors, and made it even better. While there is still more work to be done updating/upgrading Polyratings, this senior project made a mark on a Cal Poly legacy. 18