Virtual Intimate Objects: Final Presentation

Post on 02-Jan-2016

21 views 0 download

Tags:

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

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 Windows Version Mac Version

TestingDocumentationBeyond 501

What is VIO?

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

Version 2.1: Requirements

What the Client Wanted

Provided?

Custom Sounds Yes

Custom Icons Yes

5-Second Server Polling Time

Yes

Mac Version Yes

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

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

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

Version 2.1

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

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

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

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

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

Class Diagram

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

DEMO on Windows & Macintosh

Registration Website Updates Forums

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

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.

Data Dictionary

Database (MySQL) Schema

Web Implementation

DB: MySQL 4.1.10a Web-logic: PHP

Testing & Acceptance

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

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

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

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

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

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)

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

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

Questions?