Developing Perspective

#186: Dropping Bombs


00:00:00   Hello and welcome to Developing Perspective.

00:00:02   Developing Perspective is a podcast discussing news of note and iOS development, Apple and

00:00:06   the like.

00:00:07   I'm your host, David Smith.

00:00:08   I'm an independent iOS developer based in Herndon, Virginia.

00:00:10   This is show number 186, and today is Monday, June 2nd.

00:00:14   Developing Perspective is never longer than 15 minutes, so let's get started.

00:00:18   All right, so I am coming to you from San Francisco, specifically my hotel room after

00:00:24   just walking out of a rather remarkable keynote.

00:00:29   it was not exactly what I expected,

00:00:31   and in a very good way.

00:00:34   I think it was interesting going into a keynote like that

00:00:38   with not-- I wouldn't say I had low expectations,

00:00:42   but I didn't really know what to expect.

00:00:44   I didn't know if it would be a hardware-focused event,

00:00:46   software-focused event, just minor updates, huge things.

00:00:50   Who knows?

00:00:51   And it turned out it was pretty huge.

00:00:54   And if I'm honest, it's still all kind of seeping in,

00:00:56   and that's the way that I tend to do this.

00:00:58   If you've been listening to the show for a while,

00:01:00   you probably have heard me do this,

00:01:02   where it's right after lunch, right after the keynote,

00:01:05   I'll tend to do a short kind of first impressions post.

00:01:08   And then later in the week, I'll do another one.

00:01:10   I like doing one now.

00:01:12   Before, I fully formed all my thoughts.

00:01:13   They're a little bit more rattled.

00:01:15   But everything I know now is not under an NDA,

00:01:18   or in any way restricted from me to talk about it,

00:01:21   because it was just in the public keynote.

00:01:23   So I can just kind of speak freely

00:01:24   with what I think about, rather than having

00:01:26   to be a bit more thoughtful later on.

00:01:28   and the week.

00:01:29   So first thoughts, first impressions.

00:01:32   It's big.

00:01:35   It's huge.

00:01:38   I don't really know how to undersell it.

00:01:41   I felt like a little bit I was being played

00:01:43   while I was watching the keynote, though.

00:01:45   Because the first two sections, the Mac and the iOS section,

00:01:48   felt fairly-- I wouldn't say meh.

00:01:51   But in that vein, it wasn't large, categorically shifting

00:01:57   changes to the platforms.

00:01:59   Some of the things that are kind of cool--

00:02:01   so starting with, I guess, in chronological order,

00:02:03   talking about Yosemite, it's slightly freshened up UI.

00:02:07   Nothing huge there.

00:02:08   Some widgets in Notification Center.

00:02:11   The continuity thing is kind of cool in terms

00:02:13   of having a connection and an awareness

00:02:16   between your device and your laptop

00:02:20   is just powerful and cool in a lot of ways.

00:02:22   And I'm glad to see some of those kinds of things going on.

00:02:25   And I think you'll be able to do some really cool things

00:02:27   as a developer with that.

00:02:29   Like, it immediately comes to mind for me,

00:02:31   as a podcast developer, to be able to-- you're

00:02:34   listening to a podcast, for example, on your phone.

00:02:36   You sit down and you pick up where I left off,

00:02:38   and that is a smooth and defined handoff,

00:02:41   rather than the user having to manage that, or things

00:02:44   like that that is kind of cool.

00:02:46   So that's kind of an interesting thing on the Mac.

00:02:48   It was fairly minor, I'd say, on the Mac,

00:02:51   at least compared to, I think, what

00:02:52   some people had expected, including myself.

00:02:55   in terms of potentially it being a major overhaul of the UI

00:02:59   system, of the fundamental way that apps are built,

00:03:03   these types of things.

00:03:04   None of that happened.

00:03:05   It was very much the next evolution in that.

00:03:09   And that's great.

00:03:10   I'm not particularly a big Mac developer.

00:03:12   I do some of it.

00:03:13   But mostly, that's not really my focus.

00:03:15   Most of my focus is definitely on iOS.

00:03:17   And on iOS, we had a couple of good--

00:03:22   they're slow playing us.

00:03:23   They show up first.

00:03:24   and it's like interactive notifications.

00:03:26   Cool.

00:03:27   OK, that's nice.

00:03:28   And it's nice that there's a third party capability for that,

00:03:31   it seemed, based on what some of the things they were saying.

00:03:35   Spotlight is, I guess, kind of nice.

00:03:38   Be able to have a bit more powerful search,

00:03:41   a slightly better keyboard, audio and video chat

00:03:44   type of things.

00:03:46   Cloud Drive, which seems kind of a weird document model

00:03:52   that they're kind of moving to, or it's still siloed by app,

00:03:54   but they're accessible in a central location.

00:03:57   It's like, OK, that's cool.

00:03:58   They have these variety of different things.

00:04:01   Then they got to, I think, the thing that made me most nervous

00:04:04   as a developer, of course, is the-- when they started

00:04:08   to talk about HealthKit.

00:04:10   And based on what they said there,

00:04:11   it sounded not so scary as somebody who makes an iOS

00:04:17   fitness tracking thing.

00:04:19   It wasn't so much that Apple was taking over the space so much

00:04:21   just giving some increased visibility to it,

00:04:24   as well as just emphasizing what's going on there.

00:04:28   And kind of having a way to aggregate data rather

00:04:30   than necessarily to just like-- they

00:04:32   didn't release their own pedometer or something

00:04:34   like that, which would have been a bit awkward potentially

00:04:37   for me.

00:04:39   They said they're doing some stuff with home sharing.

00:04:41   I'm not trying to just summarize it necessarily.

00:04:44   But those are kind of the things that I remember

00:04:46   from the keynote.

00:04:48   And then things took a turn.

00:04:51   So that's probably about an hour into it.

00:04:54   And I was like, oh, this is cool.

00:04:55   It's a standard keynote.

00:04:56   This kind of feels like the talk rather than the tick.

00:04:59   It's kind of a minor step forward.

00:05:02   And then they said, OK, now we got some stuff for developers.

00:05:06   And they made a pretty bold statement,

00:05:08   I think, when they first started talking

00:05:09   about the developer stuff.

00:05:11   They said, I think it's the largest release and rollout

00:05:14   that we've ever done.

00:05:15   And Apple is perhaps known and kind of famously

00:05:18   loves to hyperbolize things.

00:05:20   And so I was like, oh, sure it is.

00:05:22   It's going to be the biggest, baddest, amazing thing I've

00:05:24   ever seen.

00:05:26   And then I'm pretty sure they followed through and came

00:05:29   through on that promise.

00:05:30   What they delivered is kind of huge.

00:05:33   There's a ton of things that they're

00:05:36   doing both in the App Store in terms of inter-app

00:05:40   communication, extensions, widgets.

00:05:43   There's a whole new language called Swift.

00:05:45   It just kind of blew my mind.

00:05:47   And it was kind of fun seeing the reactions

00:05:50   to fellow developers in that scene, seeing

00:05:53   these same things.

00:05:54   It's like, whoa, these are all the things

00:05:56   we've been asking for for years.

00:05:58   And it's like, all of a sudden at once,

00:06:00   you're really going to just dump them all on us at once, which

00:06:04   maybe I would have gradually sold them out

00:06:08   over the last few releases, but I'll take it.

00:06:10   I think on my App Store improvement checklist,

00:06:14   the series that I did on the show a little while ago,

00:06:17   they seem to have done maybe a handful of them.

00:06:20   It's hard exactly how to count until I get my hands on it.

00:06:23   But at least a handful of those things are addressed now,

00:06:25   which is kind of cool.

00:06:26   Be able to have some better searching,

00:06:30   showing if an app's an editor's choice,

00:06:33   to show that on the app in the badge,

00:06:35   and doing some things around in-app purchases,

00:06:38   and family sharing and things.

00:06:40   There's some stuff that I think they're doing there

00:06:42   that is definitely an improvement.

00:06:43   It's not as far as I would like to see it go eventually,

00:06:46   but it is definitely a step forward.

00:06:48   And I'll take that.

00:06:49   As someone who makes my living in the store,

00:06:51   anytime they're making progress and don't

00:06:53   seem to be completely just letting things kind of fall

00:06:58   fallow, I'm pretty happy about that.

00:07:00   I like the new search interface.

00:07:03   It's not perfect, I think, but it's certainly

00:07:05   better having this kind of more continuously scrolling list.

00:07:08   I think it's designed to encourage a bit more

00:07:11   exploration by customers, replacing the Nearby Me tab

00:07:17   with this poor little tab that every couple of releases

00:07:20   just gets replaced with something else and never seems

00:07:22   to really stick.

00:07:24   So that was replaced, and that was kind of cool.

00:07:27   But then they started just dropping bombs.

00:07:31   It's like all of a sudden, probably Craig was up there

00:07:35   and just sort of dropping bombs on us.

00:07:36   He's like, OK, so we now have an extension framework.

00:07:40   So you can now have inter-app communication in kind of the way

00:07:44   that we've, for so many years, been asking for,

00:07:47   where you could define something that you can offer up

00:07:53   to other applications.

00:07:55   And they can then act on them.

00:07:56   So you can say, I can handle a URL.

00:07:58   I can handle a document.

00:08:00   I can handle a text.

00:08:01   I can handle a picture, whatever it is.

00:08:02   And you have the ability, through the UI activity

00:08:05   share sheet type of thing to then expose

00:08:08   that behavior to someone else.

00:08:10   Evan, like I said, this is all pre-NDA.

00:08:12   I don't really know all the details of that.

00:08:14   But it seems at least promising that that is something

00:08:16   that they're heading towards.

00:08:18   And even in its most simplest form

00:08:21   is something that is going to allow

00:08:23   us to do some really cool things as developers.

00:08:27   Widgets in Notification Center I think is great.

00:08:31   There's a lot of just little cool things that I think

00:08:33   a lot of applications would benefit from by having

00:08:35   a more persistent place that you can put things that isn't badges.

00:08:39   For example, the classic one for me is obviously in Podometer++.

00:08:43   If you want to look at your step counts,

00:08:45   you can just have them in Notification Center all the time.

00:08:49   I have enough to badge the app.

00:08:52   It's just data that's up there.

00:08:54   I can give you more detailed things potentially than just a number,

00:08:57   in terms of where you are in your goal, these types of things.

00:09:01   Maybe even do some graphs and charts or things.

00:09:03   You can extend and export the experience of an application

00:09:07   outside of it, which is awesome and kind of revolutionary.

00:09:12   At least, revolutionary for the platform, not necessarily

00:09:14   revolutionary in general.

00:09:17   Yeah, and there's just a lot of things

00:09:22   that they're starting to allow that-- it dovetails pretty well

00:09:26   into episode 185, the last one I did,

00:09:29   where I was talking about my perspective now

00:09:31   on trying to find opportunities within the App Store

00:09:35   and see where Apple is heading and see

00:09:36   what they're focused-- putting their weight behind

00:09:39   and trying to get in the way of that.

00:09:40   And there's a lot of things.

00:09:44   There's a lot of waves breaking or whatever metaphor

00:09:47   you'd like to use.

00:09:48   There's a lot of things going on.

00:09:49   There's a lot of opportunities I think

00:09:51   this summer is going to create for developers.

00:09:54   And honestly, at this point, I am a little overwhelmed

00:09:57   by what exactly I'm going to do.

00:09:58   There's obviously some obvious simple low hanging fruit things

00:10:01   that I'll do to my existing apps.

00:10:03   But I think there's a ton of opportunities.

00:10:05   There's a lot of things that if you executed well and got it,

00:10:09   you know, sort of were an early trailblazer on some

00:10:12   of these technologies, I think there's a lot of things that you

00:10:15   could do to get noticed in that.

00:10:17   And there's just a whole new realms of applications

00:10:21   that previously just were not possible that now are.

00:10:24   And any time that happens, like maybe you

00:10:25   could use a land rush.

00:10:26   You could call it that if you want

00:10:27   to go a couple more on the negative side.

00:10:29   Or you could just call it a really ripe opportunity.

00:10:31   So I'm pretty psyched.

00:10:32   And then, of course, the last biggest bomb of all, like, oh,

00:10:36   and by the way, here's this new language.

00:10:38   It's called Swift.

00:10:40   It's like a objective C without the C, which is kind of crazy.

00:10:45   And if I'm honest, I don't know too much about it

00:10:47   at this point.

00:10:48   I'm sure there's some things I'll be learning over this

00:10:50   next week.

00:10:51   My initial reaction when I saw that was like, that's cool.

00:10:54   I'm glad that they're doing that.

00:10:56   And maybe that's something I'll look at in the fall

00:10:59   or in the winter or something like that.

00:11:00   I don't expect to be spending too much time trying

00:11:02   to learn it this summer.

00:11:04   I expect it's just going to be too much to try and balance

00:11:07   learning all of the new APIs and all the new applications

00:11:10   and all these types of things that are now part of the system

00:11:13   to then balance that with also trying to learn a new language.

00:11:17   Because at its core, Objective C is at least something

00:11:21   that I know well.

00:11:22   And so that's just maybe a cautionary note

00:11:25   as I'm thinking about it myself is

00:11:27   that be careful about diving too much into Swift

00:11:29   unless you have a lot of overhead that you can burn

00:11:32   through and a lot of runway or whatever you

00:11:35   want to think about it.

00:11:37   My suspicion is maybe I'll go to the introduction

00:11:40   to Swift session or see those types of things.

00:11:43   But I'm not going to focus too much on probably learning it.

00:11:46   There's a lot of APIs.

00:11:47   There's a lot of really cool fundamental things

00:11:49   that I'm going to be focused on making sure that I know how

00:11:52   to do using my existing Objective C skill set.

00:11:56   And also, to be fair, Swift is a brand new language.

00:11:58   And that is not to say that I don't think Apple

00:12:01   was thoughtful about it.

00:12:02   And it's fully formed and well developed.

00:12:04   But that is always going to be a little bit scary,

00:12:08   being one of the first people to implement a new language when

00:12:13   there's not necessarily going to be user-facing benefit

00:12:15   to that.

00:12:15   That benefit is going to come to you in terms of your ability

00:12:18   to more safely and more efficiently write code,

00:12:22   hopefully.

00:12:23   Maybe they say that it's much faster, which maybe is true.

00:12:25   And if that's the case, down the road,

00:12:27   It'll certainly improve my implications

00:12:29   as I move towards it, potentially.

00:12:31   But in the meantime, I've got a full plate as it is.

00:12:35   So yeah, so that's the keynote.

00:12:39   And those are my first reactions.

00:12:41   It's big.

00:12:41   It's one of the bigger years.

00:12:43   And it's kind of cool in some ways as a developer

00:12:46   that last year, I feel like the-- WWDC last year

00:12:51   had much more of a-- when you looked at iOS 7,

00:12:54   you saw the aesthetics of it.

00:12:57   And so much of my time and energy last year

00:12:59   was spent on design and visual types of things

00:13:02   and interaction types of things, which is not to say isn't fun

00:13:06   or interesting, but my heart really is with development.

00:13:13   And so seeing them rolling out and expanding the development

00:13:17   things in really dramatic ways is exciting,

00:13:19   because the next year, I think rather than being as worried

00:13:22   about pixels, I'm going to be thinking about bytes and code

00:13:26   and things like that that just make me super excited

00:13:29   as a developer.

00:13:30   And so I'm pretty psyched.

00:13:31   I think it's awesome.

00:13:34   It's like it's Christmas morning,

00:13:35   and we just opened up all our toys,

00:13:37   and we got way more things than I think anyone was expecting.

00:13:40   No hardware, nothing like that.

00:13:41   This is just about the code.

00:13:43   And that's really cool.

00:13:45   All right, so that's it for this little first impressions post.

00:13:49   Like I said, I'll probably have another one later in the week,

00:13:52   after I've had a time to kind of digest things, talk to people

00:13:54   I'm out here in San Francisco and see what's going on.

00:13:57   But those are some of my first impressions.

00:13:59   It's big, it's huge.

00:14:00   Open up the developer portal and get going.

00:14:03   All right, as always, we have questions, comments, concerns,

00:14:05   complaints, underscore David Smith on Twitter,

00:14:07   David at developing perspective dot com.

00:14:09   And otherwise, we hope you have a great week.

00:14:10   If you're out in San Francisco, if I run into you,

00:14:12   definitely say hi.

00:14:14   And otherwise, have a happy coding.