1 / 31

Virtual Intimate Objects: Final Presentation

Virtual Intimate Objects: Final Presentation. The Group: Richard Calvi, Vishal Desai, Matt Feusner, Wei Guo, Aakash Jain, Shantanu Shah, William Yip Client: Joseph “Jofish” Kaye. Outline. Final Delivery Registration/Download Website Windows Version 2.1 Mac Version 2.1 Demos

kibo-nelson
Download Presentation

Virtual Intimate Objects: Final Presentation

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. Virtual Intimate Objects:Final Presentation The Group: Richard Calvi, Vishal Desai, Matt Feusner, Wei Guo, Aakash Jain, Shantanu Shah, William Yip Client: Joseph “Jofish” Kaye

  2. Outline • Final Delivery • Registration/Download Website • Windows Version 2.1 • Mac Version 2.1 • Demos • Windows Version • Mac Version • Testing • Documentation • Beyond 501

  3. What is VIO? • Novel channel to communicate intimacy online for long distance relationships • “1 Bit of Intimacy”

  4. Version 2.1: Requirements

  5. VIO 2.1 AdditionalRequirements

  6. Beyond 501 • Handoff • Repository on Sourceforge • Jofish listed as an administrator • Source Code Documentation on Doxygen • Simple Help Files for User • Archive of the Web Pages • Documentation on Development Environment • Compiling wxWidgets libraries • Running Makefile on Mac • Using Visual Studio with wxWidgets • Setting up server/scripts, etc

  7. Beyond 501 (cont’d) • Version 3.0 Beta • Based on client requests made a few days ago • Secret shared phrase between user • Implemented on Windows • Will NOT be part of the final deliverable on May 12 (but we’ll do it because we’re “nice” ) • Will be complete and delivered by the end of the semester

  8. Version 2.1

  9. Version 2.1: Requirements • Icons • User can specify an icon for each different state • Program displays a specified icon based on state (partner’s state when the mouse is hovering the tray icon, user’s state otherwise) • Standard circle icon if option is unspecified • Sounds • User can specify an sound for each different state • Program plays a specified sound file upon receiving a click from the user’s partner • The sound file to be played is based on the user’s state when the click is received • Standard sound plays if option is unspecified

  10. Version 2.1: Requirements (Cont.) • State redefinitions • Allows user to specify the time intervals that define the states • Uses states defined in v1.1 if not set • Server Specification • Allows user to specify the server the software communicates with • Uses the default ioserver address if not set • Website Updates: • Designed to download VIO for Windows or Macintosh • Special Image-based Security • Frequently Asked Questions to help new users • Forums to post questions or comments

  11. Version 2.1: Design • New Class: Icon Manager • Storage class that contains the 8 different icons to be displayed for each of the user’s and partner’s state • Essential Methods include: • updateIcon: changes the user and partner icons based on the user’s preference change in the advanced options window • updateColor: changes the color used to fill the default circle icons (if used) • getMyIcon: Returns the icon for the user given the state • getPartnerIcon: Returns the icon for the user given the partner’s state • shrinkIcon: shrinks a 32×32 icon to a 16×16 icon • Other classes: same design as presented last time

  12. Report error : Incorrect string entered Start Read username, partnername, user email id, partner email id, OS, survey pref. and validation string No Is validation string correct? Yes Are username and email id both unique? No Yes No Username exists in database? Insert username, partnername, user email, OS and survey pref. in database Yes Send email to user confirming registration No Usermail exists in database? Yes Generate preferences file using defaults and username and partnername System Flow Diagram Continue to Next Slide

  13. Report error : username already exists. Mac Win Give .zip file to user as download and send email to user and partner Package Mac installer and preferences file in .zip file Package Windows installer and preferences file in .zip file Stop OS? System Flow Diagram... Continued

  14. Class Diagram

  15. Version 2.1: Implementation • Implementation on Windows: • Same as v2.0 • C++/WxWidgets • Implementation on Macintosh: • gcc instead of Visual Studio • Changes from Windows version: • Window instead of taskbar icon • UNIX C sockets instead of wxURL • Bitmaps instead of icons

  16. DEMO on Windows & Macintosh

  17. Forums Registration Website Updates

  18. Web Registration Requirements • Registration check rules as a set

  19. Requirements (2) • Send e-mail to user informing of successful registration (iocrew@cemcom.infosci.cornell.edu) • Provide a link to user to download a zipped archive of the appropriate version of VIO (based on OS) along with the pre-configured preferences file.

  20. Data Dictionary • Database (MySQL) Schema

  21. Web Implementation • DB: MySQL 4.1.10a • Web-logic: PHP

  22. Testing & Acceptance

  23. Static Testing • Code Review/Verification • Code is reviewed by the developer after each change • Individually and with code sessions • Use of Visual Studio’s debugger • wxWidgets warning flags • Memory leak detector with Visual Studio

  24. Dynamic Testing • Requires manual user inputs/interactions • Many test cases are performed by developers while running the actual application • UI components such as the buttons, dialog inputs, file choosers, icons, sounds, etc • Non-UI components such as preference loader, network communication, user name validation, etc

  25. Dynamic Testing • Unit Testing • Testing each individual component as written • UI Components: Running the program and use/ensure the new component works • Non-UI: Individual main methods to test out functionality (with Preference) • External tools used • Visual Studio Debugger • stepping through each line to ensure the result matches expectation • Web browser • looking at send/receive output from the server

  26. Dynamic Testing • Boundary • Related to user inputs • Run a standard set of tests to ensure correct handling by using the software • Number values • Setting several time periods to be the same and to 0 • Names • Long (up to 100 characters) and short names (1 letter) • Files • Long folders structure/names • Long sound names

  27. Dynamic Testing • Exception • Related to user inputs • Run a standard set of tests to ensure correct handling by using the software: • Invalid values for numbers • negative numbers, numbers > 99999 • Empty input • Invalid input for names • names including characters other than alphanumeric characters and ‘-’, names longer than 100 characters long • Empty string • Invalid file selection • non-existing files • Empty input

  28. Stress Testing • Run a standard set of tests to ensure correct handling by using the software: • Multiple clicks/sends • Changing preferences repeatedly to different files/values • Having no preference file or an incomplete preference file • Another way to track memory usage (to look for leaks)

  29. Compatibility Test • Windows • Tested on multiple XP and 2000 machines • We expect it to work on Windows 98, but not extensively tested due to unavailability • Mac • OS X 10.3 (2003) and above

  30. Beta Testing • Jofish • Several beta test users • Bug reports reported back to Jofish, forwarded to us • Developers • Our own developers • Recruited several beta test users • Bug reports reported back to us directly • For faster feedback and quicker bug detection • For targeted test cases • Different operating system • Different system configuration • Different user profile and expertise level

  31. Questions?

More Related