brainstorming creative uses of ios 8 extensions / cocoaconf columbus 2014

62
Brainstorming Creative Uses of iOS 8 Extensions CocoaConf Columbus 2014 Doug Sjoquist (@dwsjoquist)

Upload: dwsjoquist

Post on 28-Jun-2015

304 views

Category:

Software


0 download

DESCRIPTION

Did you see Apple's demo of Extensions and think "wow, great idea!" Perhaps you were "meh, doesn't really give me what I want." Maybe you skipped it entirely and are thinking "Huh? Extensions? Did I miss something?" Or you could just be wondering: What capabilities do they bring to my device? How do I use them? What are their limitations? How do they compare to other things like URL schemes and x-callback-url? After answering these questions, we will work through some obvious use cases and brainstorm some non-obvious ones. With the right idea and a solid design, a custom extension can improve the experience for your existing customers and help you reach new ones. Join us as we explore the possibilities.

TRANSCRIPT

Page 1: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Brainstorming Creative Uses of iOS 8

Extensions

CocoaConf Columbus 2014Doug Sjoquist (@dwsjoquist)

Page 2: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

What are they?

Page 3: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Why?

Page 4: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Better experience for existing users

Why?

Page 5: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Reach new users

Why?

Page 6: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

How do they work?

Ars TechnicaExplaining iOS 8’s extensions: Opening the platform while keeping it secure

Page 7: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

How is this different?

Page 8: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Related ideas• URL Schemes

• private UIPasteboard

• x-callback-url

• AudioBus

How is this different?

Page 9: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Data driven

How is this different?

Page 10: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Fits into existing workflows

How is this different?

Page 11: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

How do I use them?

Page 12: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

User controlled

How do I use them?

Page 13: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Component of regular app

How do I use them?

Page 14: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Limitations

Page 15: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

No Background Processing

Limitations

Page 16: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

No callbacks

Limitations

Page 17: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Restricted APIs

Limitations

Page 18: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Constrained Resources

Limitations

Page 19: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Extension Points• Today

• Share

• Action

• PhotoEditing

• Document Provider

• Custom Keyboard

Page 20: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Constraints — Creativity

• Understand extension point purpose

• Identify underlying key capabilities

• Gives us constraints for brainstorming

Page 21: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Today

Extension Points

Page 22: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Purpose

Quick access to timely,

pertinent information

Page 23: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Key Capabilities• Update availability of data in

background via containing app• Visible in Today view and lock

screen• No keyboard access

Page 24: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Example

Page 25: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share

Extension Points

Page 26: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Purpose

Convenient way to post content

Page 27: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Key Capabilities• Activation rules• Supports nonstandard data types• Manipulate web page with

Javascript

Page 28: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Example

Page 29: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Action

Extension Points

Page 30: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Purpose

View or transform content in context of another app

Page 31: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Key Capabilities• Activation rules• Supports nonstandard data types• Manipulate web page with

Javascript• Return values to host app

Page 32: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Example

Page 33: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Photo Editing

Extension Points

Page 34: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Purpose

Edit a photo directlywithin the Photos app

Page 35: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Key Capabilities• Work with original image +

adjustments• Can add, edit, or remove

adjustments

Page 36: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Example

Page 37: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Document Provider

Extension Points

Page 38: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Purpose

Allow other apps to access the documents managed

by your app

Page 39: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Key Capabilities• Import or open files from your

server• Export documents to your server• Move documents on your server

Page 40: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Example

Page 41: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Custom Keyboard

Extension Points

Page 42: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Purpose

Replaces the system keyboard for text input

Page 43: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Key Capabilities• Respond to input events• Provide plain text at insertion

point• Request open access

Page 44: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Example

Page 45: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Brainstorming

Page 46: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Today ideas

Multiplayer game leader board updates

Page 47: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Today ideas

Containing app uses background geofencing to

update when custom widgets appears /

disappears

Page 48: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Company help desk submission

Page 49: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Personal journal data collection

Page 50: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Footnote and reference collector and categorizer

Page 51: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Data collection assistant for multiple research assistants to post to

shared site

Page 52: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Annotator for custom wiki

Page 53: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Wikipedia reference updater from source URLs

Page 54: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Shared bookmark collector and organizer

Page 55: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Share ideas

Camera based group social game (scavenger hunt)

Page 56: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Keyboard ideas

Use BLE connection to Mac App to use its

keyboard for text input

Page 57: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Photo Editing ideas

Selectively cleanup photo adjustments

Page 58: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Photo Editing ideas

Batch update multiple photos with watermark, frame, or other common

annotation

Page 59: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Miscellaneous ideas

Create custom content types as part of an industry consortium

(e.g. AgileBits 1Password example)

Page 60: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Miscellaneous ideas

Take advantage of background

NSURLSession completion response to act as

callbacks into your app to do further background

processing

Page 61: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Your ideas?

Page 62: Brainstorming Creative Uses of iOS 8 Extensions / CocoaConf Columbus 2014

Thank youCocoaConf Columbus 2014

Doug Sjoquist (@dwsjoquist)

http://sunetos.com/cocoaconf/Extensions_CocoaConfColumbus2014.zip