brainstorming creative uses of ios 8 extensions / cocoaconf columbus 2014

Post on 28-Jun-2015

305 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

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

Brainstorming Creative Uses of iOS 8

Extensions

CocoaConf Columbus 2014Doug Sjoquist (@dwsjoquist)

What are they?

Why?

Better experience for existing users

Why?

Reach new users

Why?

How do they work?

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

How is this different?

Related ideas• URL Schemes

• private UIPasteboard

• x-callback-url

• AudioBus

How is this different?

Data driven

How is this different?

Fits into existing workflows

How is this different?

How do I use them?

User controlled

How do I use them?

Component of regular app

How do I use them?

Limitations

No Background Processing

Limitations

No callbacks

Limitations

Restricted APIs

Limitations

Constrained Resources

Limitations

Extension Points• Today

• Share

• Action

• PhotoEditing

• Document Provider

• Custom Keyboard

Constraints — Creativity

• Understand extension point purpose

• Identify underlying key capabilities

• Gives us constraints for brainstorming

Today

Extension Points

Purpose

Quick access to timely,

pertinent information

Key Capabilities• Update availability of data in

background via containing app• Visible in Today view and lock

screen• No keyboard access

Example

Share

Extension Points

Purpose

Convenient way to post content

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

Javascript

Example

Action

Extension Points

Purpose

View or transform content in context of another app

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

Javascript• Return values to host app

Example

Photo Editing

Extension Points

Purpose

Edit a photo directlywithin the Photos app

Key Capabilities• Work with original image +

adjustments• Can add, edit, or remove

adjustments

Example

Document Provider

Extension Points

Purpose

Allow other apps to access the documents managed

by your app

Key Capabilities• Import or open files from your

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

Example

Custom Keyboard

Extension Points

Purpose

Replaces the system keyboard for text input

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

point• Request open access

Example

Brainstorming

Today ideas

Multiplayer game leader board updates

Today ideas

Containing app uses background geofencing to

update when custom widgets appears /

disappears

Share ideas

Company help desk submission

Share ideas

Personal journal data collection

Share ideas

Footnote and reference collector and categorizer

Share ideas

Data collection assistant for multiple research assistants to post to

shared site

Share ideas

Annotator for custom wiki

Share ideas

Wikipedia reference updater from source URLs

Share ideas

Shared bookmark collector and organizer

Share ideas

Camera based group social game (scavenger hunt)

Keyboard ideas

Use BLE connection to Mac App to use its

keyboard for text input

Photo Editing ideas

Selectively cleanup photo adjustments

Photo Editing ideas

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

annotation

Miscellaneous ideas

Create custom content types as part of an industry consortium

(e.g. AgileBits 1Password example)

Miscellaneous ideas

Take advantage of background

NSURLSession completion response to act as

callbacks into your app to do further background

processing

Your ideas?

Thank youCocoaConf Columbus 2014

Doug Sjoquist (@dwsjoquist)

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

top related