Gaia/System/Activities

From MozillaWiki
Jump to navigation Jump to search

Status & Team


Background

Activities facilitate app to app communications. They have the following characteristics:

Are exclusively user-initiated.

Comprised of four components

Action + Type + [data] + Disposition

  • Action
    • Pick
    • View
    • Edit
    • Share
    • etc...
  • Type
    • image/png
    • etc...
  • Data
    • URL
    • Object
    • etc...
  • Disposition

Can be one-way, or round trip

One way

  • 1. Browser: "Share"
  • 2. Select handler app from list of apps that support that Activity (Share), type (URL), and [Data] (string)
  • 3. Selected app opens (eg: Email) and presents appropriate interface (eg: Email new message composition)
  • 4. User completes composition and sends.

In a one-way trip, the message composition window would then close, and take user to main window of Email app. The user would not be returned to the originating app (Browser).

Round trip

  • 1. Email: "Attach"
  • 2. Select attachment type from list (eg: Image, Document, Video, etc)
  • 3. Select handler app from list of apps that support the Activity (Pick), type (Image), and [Data] (image object)
  • 4. Selected app opens (eg: Gallery) and presents appropriate interface (eg: Image picker)
  • 5. User completes activity (eg: selects one or more images, and selects "Ok")
  • 6. User is returned to Email. Selected images are input into email message.

In this instance, the Activity returns the user to the originating app, along with an object.

Are tracked by OS

The system maintains a record (via a central registry in Activities API?) of which apps support which Actions & Types, and uses this record to populate the list of available handler apps when the user selects an Action.

App Interaction Matrix

  Handler App
Initiating App Bluetooth Browser Calendar Camera Contacts Dialer Email Gallery Homescreen Music PDFjs Settings SMS Video Wallpaper
Bluetooth                              
Browser                              
Calendar                              
Camera               Browse, Open              
Contacts               Pick              
Dialer                              
Email                              
Gallery Share     Record                     Share
Homescreen                              
Music Share                            
PDFJS                              
Settings                              
SMS                              
Video                              
Wallpaper               Pick-wallpaper              

Requirements

Browser

Share Function

  • 1. Select from list of compatible applications that the link can be shared to:
    • Email, Compose message
      • subject line: "[name] Shared a link with you"
      • body text: [link]
    • Messaging/SMS
      • Include link into message
  • 2. User sends message or completes sharing operation
  • 3. Share operation is completed in background and user is returned to browser

In browser content mailto: link

  • 1. User clicks on email links
  • 2. Email, Compose message
    • to: [mailto: email address]
  • 3. User sends email
  • 4. Email send operation is completed in background while user is returned to browser.

In browser content link pattern

  • 1. Pattern match website addresses (ie: www.domain.com)
  • 2. User clicks and navigates to link
    • Long-press on link provides the option to open in a new tab?

In browser content phone number pattern

  • 1. Pattern matches phone numbers (eg XXX-XXX-XXXX formatted)
  • 2. User clicks phone number
  • 3. Dialer application is opened with phone # added to number field.

Camera

Image/Video capture

  • 1. After Image/Photo is captured, it is automatically inserted into Gallery application.
    • Thumbnail of last capture is added to 'filmstrip' of thumbnail images for quick viewing.
  • 2. After Video is captured, it is automatically inserted in Video application
    • Thumbnail of last video capture is added to 'filmstrip' of thumbnail images for quick viewing.

Captured image view

  • 1. User clicks on image thumbnail to reveal full sized image from gallery.

Calendar

Calender events with email participants:

Add Calender Event

  • 1. User adds new calender event and email participants
  • 2. Email event invite request is sent for each email participant in background

Update, Delete Calender Event

  • 1. User updates calender event
  • 2. Event update is sent for each email participant in background.

Contacts

Contact website entry

  • 1. User clicks on website address
  • 2. Web browser opens and navigates to address

Contact phone number entry

  • 1. User clicks on phone number
  • 2. Dialer opens and immediately dials phone number

Contact email address entry

  • 1. User clicks on email address
  • 2. Email, Compose Message opens
    • To: email address
  • 3. User sends email
  • 4. Email send operation is completed in background, user is returned to Contact entry.

Send SMS/MMS/Message contact

  • 1. User clicks on Send message
  • 2. New SMS/MMS/Message
    • To: contact phone #
  • 3. User sends message
  • 4. Send message operation is completed in background, user is returned to Contact entry.

Send Contact Entry

  • 1. User Shares contact entry
  • 2. Email, Compose Message Opens
    • Attachment: contact vcf file
  • 3. User sends email
  • 4. Email send operation is completed in background, user is returned to Contact entry.

Dialer

Add phone number to contact

  • 1. User click and hold, Add contact
  • 2. New Contact entry opens
  • 3. User enters contact details
  • 4. User saves contact and is returned to dialer

Email

Add Email recipient from Contacts

  • 1. User selects to, cc, bcc recipient field
  • 2. Live search or add email address from contacts application

Read Email Contact

  • 1. Match any emails in Contacts application
  • 2. user click on contact
  • 3. Open entry in Contacts.

Read Email Content

  • Should exhibit same behavior as Browser Content

Gallery

Share item

  • 1. User selects gallery item to share
  • 2. Select from list of compatible applications that the item can be shared to:
    • Email, Compose message
      • subject line: "[name] Is sharing a [item type] with you"
      • attachment: [gallery item]
    • Messaging/MMS
      • Include [gallery item]
  • 2. User sends message or completes sharing operation
  • 3. Share operation is completed in background and user is returned to browser

Music

SMS/MMS

  • Add recipient same as Email
  • Message content same as Browser content

Take photo for MMS message

  • 1. User selects Take Photo for new message
  • 2. Camera application opens
  • 3. User takes photo
  • 4. Camera Modal dialogue

Use this photo Retake | Continue

  • 5. User is returned to new message with photo inserted into message contents.

Save Picture from MMS message

  • 1. User Press and hold message image and selects 'Save Image
  • 2. Image is saved to Gallery in background
  • 3. User continues in Conversation view.

Video

Settings

  • Background / Lock screen image picker -- opens photo gallery

Design Spec

Interaction Design Spec (Draft): https://www.dropbox.com/s/ohrypdms37tfa69/Activities.pdf