Podcast Search

Developing Perspective

#204: Delightfully Pragmatic.

Select a time to play from there. The line being spoken is highlighted as the audio plays.

0:00:00Hello and welcome to Developing Perspective. Developing Perspective is a podcast discussing

0:00:07news of note and that was development, Apple, and the like. I'm your host, David Smith.

0:00:12I'm an independent iOS developer based in Herndon, Virginia. This is show number 204.

0:00:14Today is Thursday, November 20th. Developing Perspective is never longer than 15 minutes,

0:00:19so let's get started. So if you have been paying attention this week, it's probably

0:00:23not much of a surprise to you that this episode will be all about WatchKit, which was announced

0:00:29which was announced or at least I guess on Tuesday this week,

0:00:32a couple days ago. So if you have not been following the news, I'll give you a brief overview of what it is,

0:00:39a few of my reactions to it, and some of the things that I'm kind of excited about.

0:00:43So WatchKit is the long-promised

0:00:46set of APIs, SDK, whatever you want to call it, that Apple has put out now,

0:00:52which will be our first foray into developing apps for the Apple Watch.

0:00:58So this is something that Apple announced, I think Tim Cook announced at the iPad event,

0:01:03I think it was, that this was coming sometime in November, came last Tuesday, so on track

0:01:09with that.

0:01:10And the expectation, I think, is that the apps and the things that we can do with this

0:01:14are now allowing developers to get everything ready that they can for an early next year

0:01:20launch of the actual Apple Watch itself.

0:01:23as yet to say exactly what that's going to look like and when that's going to be.

0:01:28I think it's not too much of a surprise in terms of I think they're expecting it to be

0:01:32sometime in the spring.

0:01:34Maybe earliest, I'm guessing, is February.

0:01:36Latest, probably April.

0:01:38That's kind of what I am in my head.

0:01:40That's what I'm moving towards anyway.

0:01:42Like I'm trying to think as I'm doing kind of release planning or thinking about how

0:01:46much I want to tackle for WatchKit.

0:01:49in the back of my head, the data I'm kind of working towards is February 1st. Not because

0:01:53I think February 1st is when these things are going to be submittable, but I don't think

0:01:58it's going to happen before that. This is just kind of like a hunch. And so if I'm ready

0:02:02on then, then I'll probably be ready in general. So that's kind of what I'm doing. And so Apple

0:02:07came out with a watch kit. And you might remember a few weeks ago, I did a little bit of sort

0:02:13of speculation about what we might get here, which in retrospect was pretty close, but

0:02:18Not exactly right.

0:02:19So there is a two-phase rollout for WatchKit, which is something

0:02:22that I thought we were going to get.

0:02:23And so to start with, we're not getting the full native

0:02:26experience.

0:02:27We're not getting the ability to make really rich, full native

0:02:30WatchKit apps, or Watch apps.

0:02:32I'm not sure if it'll just be called WatchKit when it

0:02:35actually comes out.

0:02:36But we're not being able to write native applications.

0:02:39We're not able to write long-lived processes that

0:02:41run on the phone, that are completely detached--

0:02:43or sorry, on the watch-- that are completely detached

0:02:46from an iPhone nearby.

0:02:48The expectation here is that these

0:02:51are a much more limited subset of things

0:02:53that Apple is allowing us to do, mostly just to get

0:02:56started with what we wanted to do with watch apps.

0:03:00And so it's a two-phase rollout.

0:03:01They've said sometime later next year,

0:03:03we're going to get the full SDK.

0:03:06I think the running speculation I think is pretty safe,

0:03:09is that that's probably going to be WWDC next year.

0:03:11So sometime in June, they will release the first version

0:03:14of whatever that's going to be.

0:03:16It seems the most appropriate, obvious, logical time

0:03:19to roll out a big new API to the Apple developer community,

0:03:22do a bunch of sessions, have labs,

0:03:24be able to really let people dig into it.

0:03:26Developers will have had watch hardware

0:03:29in hand for several months, and so be fairly familiar with it.

0:03:33So I think that's probably what we're seeing.

0:03:35So now, essentially, this is what we have.

0:03:37What we have watched today is what

0:03:39we'll have from now, in late November,

0:03:41till probably next June.

0:03:44These are the things that we can do to build watch apps.

0:03:47And based on what they gave us, I'm pretty excited about it.

0:03:49I think it's really kind of fun.

0:03:51There's some questions, and this is probably

0:03:53an episode I'll have probably next week or along those lines.

0:03:56There's still some obvious smoking questions

0:03:58about the business side of this, about building a business

0:04:01around WatchKit and what Apple Watch Apps is

0:04:04going to look like.

0:04:06It's going to be a little-- there's

0:04:07some unanswered questions or some kind of tricky things.

0:04:10But from a technological side, and from a capability side,

0:04:13And from can I do things that will make my apps awesome

0:04:16and cool, this is really, really awesome.

0:04:18There's some really cool stuff that I

0:04:20think I'm going to be able to do.

0:04:22And specifically with-- so I should probably take a pause

0:04:25and unpack a little bit what they gave us.

0:04:28And so in this first phase, there

0:04:30are three different rough, conceptual types of apps

0:04:33that we can build.

0:04:34The actual technical parts of this are a bit more fuzzy,

0:04:36but basically we can have three different interaction models,

0:04:39is probably a fair way to say it.

0:04:41We can have actionable notifications, which are just basically notifications that you

0:04:47can interact with, as you'd guess.

0:04:50So if you have a system where you get a notification about something, you can have a couple of

0:04:55buttons.

0:04:56You get something you can say "Ignore," "Like," or whatever.

0:04:59It's that type of an interaction model.

0:05:01This is something we have on iOS 8 on the phone.

0:05:05Same exact thing.

0:05:06I think it's built and structured very similarly.

0:05:07There's just some things you can do to enhance

0:05:09the presentation of it.

0:05:11There's Glances, which is very vaguely like TodayView widgets.

0:05:15But they're basically just these very small static snapshots

0:05:19of your application, whose purpose is just

0:05:22to give the user a little bit of a tease of what's going on.

0:05:27So say, for example, this is something

0:05:28I'm thinking about for Feed Wrangler.

0:05:30It's a new service.

0:05:31So maybe you have a Glance that shows you the top five most

0:05:36recent articles in your system.

0:05:37So it's just trying to give you a pointer to there.

0:05:41It's completely read only.

0:05:42It's completely static.

0:05:43It's one page.

0:05:44It doesn't scroll.

0:05:45It is a very boiled down version of whatever

0:05:47your application is.

0:05:49Or as an example, I think Apple gave--

0:05:52and this is something I'm thinking about for my recipe

0:05:54book-- you can show if you have something

0:05:58that's active and ongoing.

0:05:59So in my recipe book, you can set timers.

0:06:01Well, maybe I'll show the current status

0:06:03of that timer inside the glance.

0:06:05It's things like that that are very, very, very focused.

0:06:11And in my initial predictions, I thought

0:06:12that's where Apple would leave it off,

0:06:14that we would get those two things, these very basic

0:06:16glances and these very basic notifications.

0:06:19And instead, we get something even better.

0:06:22We get a little thing on top.

0:06:23And that extra thing that we get is these--

0:06:27I don't even know, but some of them

0:06:28found a good name for them.

0:06:29But they're kind of split apps.

0:06:31They're these apps that are-- maybe you

0:06:33call them surrogate apps.

0:06:34I don't know.

0:06:35Apple has come up with this delightfully pragmatic and genius way of being very conservative

0:06:43on the watch hardware itself, only doing things that are very, very limited and presumably

0:06:50battery respectful and those types of constraints.

0:06:54Apple is being very good on that side.

0:06:56By doing this thing, we're basically the watch component of this application, which is a

0:07:00full-on application.

0:07:01It's something that you can launch from the watch's home screen and it'll come and run.

0:07:05But all it is is a single static storyboard, basically.

0:07:10That's all it is.

0:07:11All of the UI for it is defined in that storyboard.

0:07:14All of its visual appearance and things is defined in that.

0:07:18But that app is completely hollow insofar

0:07:24as all it is is the UI.

0:07:25That is, in the MVC pattern, it is V, but it has no M or C.

0:07:32It has no model or controller.

0:07:33It is all view. And so what it does, though, is it offsets all that heavy lifting, all

0:07:39the logic, all the networking, all the persistence, all everything else into an extension that

0:07:45runs on the iPhone itself. And at first I thought that I was like, whoa, that's kind

0:07:50of crazy. But as it's kind of sat in a bit more and I've been able to think about it,

0:07:55it's genius, right? Like what they're doing is they're giving us the ability -- they're

0:08:00opening up early access to something to development on the watch, to be able to build really useful,

0:08:06interesting, compelling experiences for our customers, but doing it in a way that is really,

0:08:10really safe and really conservative. You know, they're not over-committing up front. They're

0:08:15only doing -- giving us what we really -- you know, a really limited, boiled-down, straightforward

0:08:21set of experiences that we can develop on this. But we can still do a lot with it. And

0:08:26And so I'm really glad that Apple didn't just leave it at that.

0:08:30Sure, I'd love to build these really deep, low-level, rich native applications.

0:08:34That'd be awesome, I suppose.

0:08:36As a geek, that sounds great.

0:08:37But I can totally understand Apple's perspective of saying, you know, this is new hardware

0:08:41that no one's ever seen outside of our labs.

0:08:43There's only probably a few dozen people in Cupertino who have their hands on a prototype

0:08:49hardware.

0:08:50It is a very crazy thing in some ways to open up the complete low-level APIs for this, just

0:08:56I'll do it right out the gate.

0:08:58And so instead, they're being very pragmatic.

0:08:59And they're saying, here's this thing

0:09:01that we feel like we can do that--

0:09:03and for most applications-- or not most,

0:09:05maybe for many applications-- will actually be enough,

0:09:08all you ever need.

0:09:09But it does it in a way that's really, really respectful

0:09:11of your battery.

0:09:12Because all the phone has to do is-- well, sorry,

0:09:16all the watch has to do-- I keep saying that.

0:09:18All the watch has to do is basically just

0:09:21show a few pictures and labels and have a couple of buttons

0:09:24that send data. And the most battery-intensive part of this whole thing is probably just

0:09:31the networking back and forth between the watch and the iPhone, which I imagine they

0:09:36can very strongly optimize for, in terms of coalescing things, being very opportunistic

0:09:40about it. There's lots of things that I'm sure they can do to make that experience as

0:09:44efficient as possible. And so what we then end up with is this really cool system where

0:09:49you can build an application that will run natively on the watch. It'll appear to run

0:09:53It'll appear to be a native application from a customer's perspective.

0:09:58It just has a very streamlined set of capabilities.

0:10:01You have no access to anything on the watch itself.

0:10:04There's no sensors.

0:10:05There's no data coming out of that.

0:10:06It's all coming off your phone.

0:10:09As a result, you can still do anything you want in it.

0:10:12You can be doing making, pulling stuff out of your shared database and displaying it

0:10:17to your user or accessing the user's photos or things.

0:10:20You could do all kinds of things you could kind of imagine because you can use the very

0:10:27rich ecosystem of iOS SDK and APIs to do those things.

0:10:33And then you're just kind of pushing that onto the watch.

0:10:37So I'm really excited about it.

0:10:38I think it's really cool.

0:10:39And I think what's really interesting as a developer is I think, you know, in some ways

0:10:42I kind of view what they've done here as a bit of a challenge for better or worse because

0:10:47I'm starting to think about ways that I can push the limits of this, right?

0:10:50Like what are the things that I can do that still are, you know, respectful of battery

0:10:54and respectful of power, but create new experiences that are kind of pushing the limit beyond

0:10:59just like, here's a list of unread items.

0:11:03Like that's sort of interesting or, you know, here's a to-do list.

0:11:06Like that's sort of interesting.

0:11:07But I imagine there's a lot of really cool things that I can start to think about and

0:11:10push the limits of even this very basic system and kind of, you know, establish, you know,

0:11:17establish new experiences that then next summer, next fall, when whatever watchOS comes out

0:11:21or something, when that comes out and I can fill those in and make them even richer, it'll

0:11:28be starting from a really great spot.

0:11:30And so that's kind of where I am.

0:11:32And it's really kind of cool.

0:11:33My list of watch kit apps is just growing each day now of things that I want to think

0:11:39about building or I'm starting to build or have prototyping.

0:11:42Because originally I was starting about with like, what can I do with a glance and a notification?

0:11:47And I had some kind of interesting things

0:11:48that I thought would be pretty cool.

0:11:50Now I can go crazy.

0:11:50And I can build all these other really cool things.

0:11:53And so I'm really enjoying this process.

0:11:54And it's kind of got me excited and engaged in development

0:11:57in a way that I was-- like I said,

0:11:58I was a little bit bored with iOS.

0:12:01It's really exciting to have something to be excited about.

0:12:03And so this is what I've been doing.

0:12:05I've posted an article on my blog.

0:12:08If you want to start there, it's really just

0:12:10kind of how I'm going through and learning,

0:12:11which I probably thought would be

0:12:13worth mentioning on the show.

0:12:15Apple has done a really good job in terms of having a pretty rich set of documentation

0:12:19for this.

0:12:20It's a brand new thing.

0:12:21They're introducing it not at their developer conference where they can kind of have a more

0:12:25richer experience, but instead they've still done some things.

0:12:27They have a video that feels like you're sitting in the Presidio watching Apple.

0:12:32They eventually present to you like, "That's great."

0:12:35The programming guide and human interface guidelines for the watch are solid.

0:12:38I've been reading through them, making sure I'm pretty good.

0:12:40And the toolset themselves actually seem to be really good.

0:12:43A lot of the times these kind of beta ones, in my experience, are really kind of broken.

0:12:47You know, I have a lot of things that are like, "Well, this doesn't actually work."

0:12:51By and large, I've been playing with this pretty much solidly for two days, and it works

0:12:54for the most part.

0:12:55You know, there's a few things.

0:12:56You have to reset the simulator more often than you wish you would, or those kinds of

0:12:59things.

0:13:00But it's really great.

0:13:01And so if you are at all interested in this stuff, I'd recommend diving into it and sort

0:13:04of getting your feet wet.

0:13:07It's good enough to really get going.

0:13:10And one other thing I wanted to mention along those lines in terms of how to get up to speed

0:13:13is the developer forums are probably

0:13:15going to be very vital in this.

0:13:17So I've been spending a lot of time looking there,

0:13:19and it seems like the evangelism team at Apple

0:13:22is very active there.

0:13:23And so if you have questions or problems or things or policy

0:13:26decisions or whatever it is that you're trying to understand,

0:13:28the best place seems to be to go to the dev forums and to look.

0:13:31And probably someone's already answered that question.

0:13:33And if they haven't, you can answer it there.

0:13:34And there's a good chance you're going to ask it there,

0:13:36and you're going to get an answer back.

0:13:38They've been really, really engaged there.

0:13:39And so I'd encourage you to go to the dev forums

0:13:41take a look at that.

0:13:44But yeah, otherwise, it's kind of interesting.

0:13:46It's a really interesting time as a developer.

0:13:48I'm more and more excited about what the watch will do.

0:13:50Like I said, I've had my Microsoft band for about a month

0:13:54now or something.

0:13:55And every day, the more and more I wear it,

0:13:59the more I enjoy having this kind of a device.

0:14:03The things that it enhances and changes in my day-to-day life

0:14:06are really cool.

0:14:07And the more it helps me to understand

0:14:09And what a device like an Apple Watch that is deeply integrated into iOS and with iOS,

0:14:14with apps that are integrated deeply with the apps that I use on iOS, is going to be

0:14:18capable of.

0:14:19And how nice that is going to be on a day-to-day basis.

0:14:23Not just one of these kind of ephemeral technologies that's like, "Oh, it's really cool in theory,"

0:14:26but in practice isn't actually very helpful.

0:14:29This is actually something that I think I will enjoy using and will change a lot the

0:14:33way I interact with technology.

0:14:34All right, that's it for today's show.

0:14:36As always, if you have questions, comments, concerns, or complaints, you can find me on

0:14:39Twitter.

0:14:40I'm _DavidSmith there, or you can email me, david@developingperspective.com.

0:14:44Have fun with that watch kit, have a good weekend, and I'll talk to you next week.