Virtual Intimate Objects: Final Presentation

31
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

description

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 - PowerPoint PPT Presentation

Transcript of Virtual Intimate Objects: Final Presentation

Page 1: 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

Page 2: Virtual Intimate Objects: Final Presentation

Outline

Final Delivery Registration/Download Website Windows Version 2.1 Mac Version 2.1

Demos Windows Version Mac Version

TestingDocumentationBeyond 501

Page 3: Virtual Intimate Objects: Final Presentation

What is VIO?

Novel channel to communicate intimacy online for long distance relationships “1 Bit of Intimacy”

Page 4: Virtual Intimate Objects: Final Presentation

Version 2.1: Requirements

What the Client Wanted

Provided?

Custom Sounds Yes

Custom Icons Yes

5-Second Server Polling Time

Yes

Mac Version Yes

Page 5: Virtual Intimate Objects: Final Presentation

VIO 2.1 Additional

RequirementsWhat the Client Wanted Provided

Customized Transition Times YesWebsite to Download VIO Yes

Installer in Archive with Custom Preference File

Yes

Forums YesProtection Against Automated Registrations Yes

Page 6: Virtual Intimate Objects: Final Presentation

Beyond 501Handoff 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

Page 7: Virtual Intimate Objects: Final Presentation

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

Page 8: Virtual Intimate Objects: Final Presentation

Version 2.1

Page 9: Virtual Intimate Objects: Final Presentation

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

Page 10: Virtual Intimate Objects: Final Presentation

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

Page 11: Virtual Intimate Objects: Final Presentation

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

Page 12: Virtual Intimate Objects: Final Presentation

Start

Read username, partnername, user email id, partner email id, OS, survey pref. and validation string

Are username and email id both unique?

Insert username, partnername, user email, OS and survey pref. in database

Send email to user confirming registration

Generate preferences file using defaults and username and partnername

Yes

Username exists in database?

No

YesNo

Usermail exists in database?

NoYes

Is validation string correct?

Yes

No Report error : Incorrect string entered

System Flow Diagram

Continue to Next Slide

Page 13: Virtual Intimate Objects: Final Presentation

Package Mac installer and preferences file in .zip file

Package Windows installer and preferences file in .zip file

Give .zip file to user as download and send email to user and partner

Stop

Mac

OS?

WinReport error : username already exists.

System Flow Diagram... Continued

Page 14: Virtual Intimate Objects: Final Presentation

Class Diagram

Page 15: Virtual Intimate Objects: Final Presentation

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

Page 16: Virtual Intimate Objects: Final Presentation

DEMO on Windows & Macintosh

Page 17: Virtual Intimate Objects: Final Presentation

Registration Website Updates Forums

Page 18: Virtual Intimate Objects: Final Presentation

Web Registration Requirements

Registration check rules

UsernameE-mail

addressAction

Unique UniqueAllow

download

Unique Non-UniqueWarning

followed by download link

Non-unique Non-uniqueWarning

followed by download link

Non-unique Unique Error

as a set

Page 19: Virtual Intimate Objects: Final Presentation

Requirements (2)

Send e-mail to user informing of successful registration ([email protected])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.

Page 20: Virtual Intimate Objects: Final Presentation

Data Dictionary

Database (MySQL) Schema

Page 21: Virtual Intimate Objects: Final Presentation

Web Implementation

DB: MySQL 4.1.10a Web-logic: PHP

Page 22: Virtual Intimate Objects: Final Presentation

Testing & Acceptance

Page 23: Virtual Intimate Objects: Final Presentation

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

Page 24: Virtual Intimate Objects: Final Presentation

Dynamic Testing

Requires manual user inputs/interactionsMany 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

Page 25: Virtual Intimate Objects: Final Presentation

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

Page 26: Virtual Intimate Objects: Final Presentation

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

Page 27: Virtual Intimate Objects: Final Presentation

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

Page 28: Virtual Intimate Objects: Final Presentation

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)

Page 29: Virtual Intimate Objects: Final Presentation

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

Page 30: Virtual Intimate Objects: Final Presentation

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

Page 31: Virtual Intimate Objects: Final Presentation

Questions?