1 / 36

Cranberry Scheduler

Cranberry Scheduler. Web Dynamics. Who Is Involved. The team Aaron Papp De'Liyuon Hamb Shawn LeMaster The clients Dr . Bouvier Students and teachers that use the HCI lab. Our Process. Agile development Evolving requirements Short development cycles User roles UI designer

azra
Download Presentation

Cranberry Scheduler

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cranberry Scheduler Web Dynamics

  2. Who Is Involved • The team • Aaron Papp • De'LiyuonHamb • Shawn LeMaster • The clients • Dr. Bouvier • Students and teachers that use the HCI lab

  3. Our Process • Agile development • Evolving requirements • Short development cycles • User roles • UI designer • Main developer • Database Manager • Weekly stand-up meetings • Discuss requirements and progress • Assign tasks

  4. The Problem • Scheduling the Human-Computer Interaction (HCI) Lab is currently done using paper • Requires users to go to the HCI lab to check the schedule and record times • Time-consuming and annoying for users

  5. The Goal • Simplify the process of … • Reserving the lab • Tracking meetings • Tracking volunteers • Be easily accessible from different locations • Web application approach • Intuitive

  6. The Constituency • Researchers • Schedules meetings • Volunteers • Signs up for meetings • Teachers • Tracks research • Meetings • Volunteer participation

  7. User Flow

  8. Low-Fi Prototyping

  9. Researchers • Scheduling • Rehearsals • Volunteer interviews • Different research locations • Remote scheduling • Email reminders • Volunteers come to you

  10. Humble Beginnings

  11. Introducing Locations

  12. Translating to Reality

  13. Volunteers • Remote sign-up • Email reminders • Choose projects that interest them

  14. Teachers • Aggregate data • Tracking volunteer points • Group management • Location management

  15. Usability Testing • 7 tasks • As a researcher • Create appointment • Edit appointment • View all appointments • Change settings • View meeting details • As a volunteer • Register as a volunteer • Confirm your participation in a project

  16. Feedback • 3 tests for feedback • Largely positive overall • All tasks were successfully completed • Minor hiccups at a couple spots

  17. Feedback • “Selecting a date on the calendar requires clicking the tiny number. Clicking anywhere should work also.” After Before

  18. Feedback • “Task #3 confused me for a second, had to fumble with the page to find it. […] But after I seen where it was, it made sense.” • Task 3: View all of your appointments

  19. Feedback • “Clicked wrong place to find the interview information.” • Task 4: “Find the detailed view for this meeting.”

  20. Overall • “No complaints.” • “Enjoyed the layout/color scheme” • “It was simple for me to use.”

  21. Development Goals • Focus on cross browser compatibility • Standards compliant code • HTML5, JavaScript event driven • No 3rd party plugins • Working around Internet Explorer’s problems • No legacy support • Hardware compatibility • Develop for smallest common resolution

  22. Development Principles • Using pre-built components • Smarty Template Engine, jQuery, ... • Reduced development time • Increased usable features • Separation of components • Technically possible to be one large file • Bad practice and hard to work with • Markup, CSS, and JavaScript on the front-end • Database, PHP, and templates on the back-end

  23. Developing Towards Templates • UI development geared towards templates • Simplifies changing the UI • Change one template instead of separate files • Helped after requirements changed 2nd semester • Separates content from markup • Better markup readability • 3 primary templates • Header, body, footer • Sub-templates for page specific markup

  24. Object-Oriented PHP • PHP is a procedural language • Object-orientation tacked on • Chose OO PHP for development • Easier to make changes • Easier to support • Separation of components • Not handling everything in one file

  25. Wrapper Classes • Created classes to black box data handlers • GET, POST, SESSION, SERVER • Can make changes to the handler class • To handle magic quotes for example • Abundant use of singletons • Prevent duplication of resources • Database connections • LDAP connections

  26. Security • PHP Data Objects and prepared statements • Smarty Template Engine • No dynamic includes • Variable filtering • Tokens on POST forms • Secure session handling • Inactivity timeouts • Authentication checks • Internally restricted redirects

  27. Database • MySQL • Free and open source • Well supported by web hosts • Engine • InnoDB

  28. Integration • End product based on hi-fi prototypes • AJAX • Pull calendar events in the background • Data validation • Form pre-filling

  29. Demo

  30. Questions?

More Related