mobiletech conference 2015: apple watch apps

Post on 12-Apr-2017

306 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mit WatchKit Apps für die Apple Watch entwicklen

@claushoefele

Kleinanzeigen TransitHopper

Next meeting

Follow Back

ToDo with Siri/Things

“[…] the watch is a useful luxury […]”

–Benedict Evans

Agenda

• Interaction Models • Transitioning to watchOS 2 • Implementation Overview

Usability

UtilityUtility/Usability Model

Interactive Notifications

Notifications

Apps

Glances Complications

Usability

Utility

Siri Background

Apps

Interactive Glances

Interaction Models

Priorities

Interactive Notifications Complications Glances

1. 2. 3.

Apps are landing pages for extensions

OS 2WatchKit Extension

WatchKitExtension

iOS App

OS 1

Watch App

watchOS 1

Hides When Loading

Initially display Storyboard values

watchOS 1(Hides When Loading disabled)

watchOS 2

Storyboards

class TripDetailInterfaceController: WKInterfaceController { @IBOutlet private weak var map: WKInterfaceMap! override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context)

... } override func willActivate() { super.willActivate()

... } }

map.addAnnotation(coordinate, withPinColor: .Red) let coordinateRegion =

MKCoordinateRegionMakeWithDistance[...] map.setRegion(coordinateRegion)

watchOS 2

• Extensions running on the watch • Animations • More access to hardware • Complications (ClockKit) • Watch can connect to WiFi directly • Watch Connectivity framework

watchOS 2

Upgrade

watchOS 1

watchOS 2

Targets

Earlier 2%iOS 7

13%

iOS 8 86%

iOS Distribution

OS 1Parent App

WatchKitExtension

iOS App

Watch App

openParentApplication()

Darwin Notifications

App Group Container

Parent App

WatchKitExtension

iOS AppWatch App

OS 2

Watch ConnectivityFramework

Watch Connectivity

• Background mode • Application context • User Info Transfer • File Transfer

• Interactive messaging • Dictionary • Data

OS 1Networking

WatchKitExtension

iOS App

Watch App

Networking

Watch App

OS 2

Networking

• Full support HTTP/S (2) & ATS • Apps will only run for a very short time

• Keep it quick • Background uploads/downloads • Watch Connectivity

• No NSURLConnection

Hidden Complexities

CC BY 2.0 Natalie Lucier https://flic.kr/p/6weBij

Notifications

Short look Long look Static

Dynamic

Default

Customized

Notification Appearances

Category

Category

Interactive Notifications

Foreground/background

Implementing Actions

Identifier

Foreground Actions

Complications OS 2

Complication Families

Modular Large

Circular Small Utilitarian Small

Utilitarian Large

Modular Small

Time Travel

Lunch12:00PM

Meeting1:00PM

Gym2:00PM

12:45PM

TimelineEntry

TimelineEntry

13:45PM

TimelineEntry

• Small space • Data delivery • PushKit • Timed update

• Budgeted execution time

Implementing Complications

Glances

Glance Templates

Glance Templates

• Non-interactive • UI based on templates • Use Handoff to pass data to app • Consider using performExpiringActivityWithReason:usingBlock:

Implementing Glances

@claushoefele

top related