Gaia/System/Activities
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 | Gallery | Homescreen | Music | PDFjs | Settings | SMS | Video | Wallpaper | |
Bluetooth | |||||||||||||||
Browser | |||||||||||||||
Calendar | |||||||||||||||
Camera | Browse, Open | ||||||||||||||
Contacts | Pick | ||||||||||||||
Dialer | |||||||||||||||
Gallery | Share | Record | Share | ||||||||||||
Homescreen | |||||||||||||||
Music | Share | ||||||||||||||
PDFJS | |||||||||||||||
Settings | |||||||||||||||
SMS | |||||||||||||||
Video | |||||||||||||||
Wallpaper | Pick-wallpaper |
Requirements
Browser
- 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
- Email, Compose 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
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
- 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]
- Email, Compose message
- 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