Project Plan Multi-Touch Gestures for Mac OS X Firefox The Capstone - - PowerPoint PPT Presentation

project plan
SMART_READER_LITE
LIVE PREVIEW

Project Plan Multi-Touch Gestures for Mac OS X Firefox The Capstone - - PowerPoint PPT Presentation

Project Plan Multi-Touch Gestures for Mac OS X Firefox The Capstone Experience Team Mozilla Guilherme de Araujo Raymond Heldt Brandon Waterloo Department of Computer Science and Engineering Michigan State University Spring 2013 From


slide-1
SLIDE 1

From Students… …to Professionals

The Capstone Experience

Project Plan

Multi-Touch Gestures for Mac OS X Firefox

Team Mozilla

Guilherme de Araujo Raymond Heldt Brandon Waterloo Department of Computer Science and Engineering Michigan State University Spring 2013

slide-2
SLIDE 2

Project Overview

  • Improve current Mac OS X Firefox multi-touch

gesture support by introducing the following gestures:

  • Rotate
  • Pinch
  • Double Tap

The Capstone Experience Team Mozilla Project Plan 2

slide-3
SLIDE 3

Functional Specification

  • Overview of gesture capabilities:

The Capstone Experience Team Mozilla Project Plan 3

Gesture Image Video Webpage

Rotate

X

Pinch

X X X

Double Tap

X X X

slide-4
SLIDE 4

Regular Document

  • Typical webpage
  • Text
  • Images
  • Links
  • Tables

The Capstone Experience Team Mozilla Project Plan 4

slide-5
SLIDE 5

Synthetic Document

  • Single object

wrapped by synthetic HTML

  • JPEG image
  • Quicktime .MOV video

The Capstone Experience Team Mozilla Project Plan 5

slide-6
SLIDE 6

Functional Specifications: Rotate Gesture

  • Rotate gesture will allow the user to rotate a

synthetic document’s image content

  • The image must:
  • Rotate along with the user’s gesture movement in

such a way that is natural

  • Snap to the nearest 90 degree orientation after the

gesture terminates

The Capstone Experience Team Mozilla Project Plan 6

slide-7
SLIDE 7

Functional Specifications: Pinch Gesture

  • Pinch gesture will enable the user to zoom in
  • r out of a synthetic or regular document’s

content

  • Zoom is as smooth and natural as possible
  • When gesture terminates, no additional action is

taken

The Capstone Experience Team Mozilla Project Plan 7

slide-8
SLIDE 8

Functional Specifications: Double Tap Gesture

  • Double tap gesture will allow the user to zoom

in on a synthetic or regular document

  • Zoom in is:
  • Centered at position of the cursor
  • Similar to pinch to zoom
  • If gesture is repeated, zoom is reset to default value

The Capstone Experience Team Mozilla Project Plan 8

slide-9
SLIDE 9

Design Specifications

  • Gestures will be detected by the Apple Trackpad
  • Magic Trackpad for Desktop
  • Built-in Trackpad on Macbook
  • Recognized by Mac OS X

The Capstone Experience Team Mozilla Project Plan 9

slide-10
SLIDE 10

Screen Mockup: Pinch Gesture

The Capstone Experience Team Mozilla Project Plan 10

slide-11
SLIDE 11

Screen Mockup: Rotate Gesture

The Capstone Experience Team Mozilla Project Plan 11

slide-12
SLIDE 12

Screen Mockup: Double Tap Gesture

The Capstone Experience Team Mozilla Project Plan 12

slide-13
SLIDE 13

Technical Specifications

  • Languages
  • JavaScript
  • CSS
  • Objective-C
  • C++

The Capstone Experience Team Mozilla Project Plan 13

slide-14
SLIDE 14

System Architecture

The Capstone Experience Team Mozilla Project Plan 14

User Interface Gecko

Browser Engine Rendering Engine Networking JavaScript Interpreter XML Parser Platform-Dependent Widget Code Display Backend

slide-15
SLIDE 15

Gesture Event Data Flow

The Capstone Experience Team Mozilla Project Plan 15 OS X Operating System Firefox Widget Code for OS X

OSX Gesture Event

Gecko – Browser Engine Gecko – Rendering Engine OS X Display Backend

Gecko Gesture Event Gesture Action Gesture Action User Input

User

slide-16
SLIDE 16

Technical Specification

The Capstone Experience 16 Team Mozilla Project Plan

  • Zooming
  • Full zoom management feature included in Gecko
  • Screenshot of page to scale
  • Pinch to zoom requires:
  • Ability to trap event in the browser engine
  • New zoom amount
  • Translate screenshot based on center of gesture
  • Re-render after gesture terminates
slide-17
SLIDE 17

Technical Specification

The Capstone Experience 17 Team Mozilla Project Plan

  • Rotation
  • Framework and functions exist
  • CSS transform property
  • CSS transition property
  • Rotation gesture event records rotation delta
slide-18
SLIDE 18

System Components

  • Hardware Platforms
  • Apple Magic Trackpad
  • Built-in trackpad on Macbook
  • Software Platforms / Technologies
  • Mac OS X
  • Mozilla Firefox

The Capstone Experience Team Mozilla Project Plan 18

slide-19
SLIDE 19

Testing

  • Write scripts to automate testing of gestures
  • Generate random combinations of gesture input
  • Test gesture
  • Record results, alert any error or unexpected results
  • Manually test gestures when debugging
  • Get feedback from Mozilla community
  • Classmates to briefly test gestures

The Capstone Experience Team Mozilla Project Plan 19

slide-20
SLIDE 20

Risks

  • Understanding Firefox architecture
  • Browser is complex, need solid understanding to work well
  • Mitigation: Ask community, study data flow
  • Coding standards
  • Mozilla has high code quality standards
  • Mitigation: Write good code up-front, understand

standards

  • Writing our own tests
  • We’ll likely need to write test code to test our features
  • Mitigation: Look at test code for full zoom and other

features

The Capstone Experience Team Mozilla Project Plan 20