Developing Perspective

#223: What to expect this summer.


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

00:00:02   Developing Perspective is a podcast discussing news of note in 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 Herner, Virginia.

00:00:11   This is show number 223, and today is Friday, June 26th.

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

00:00:19   All right, so at the end of the last episode, I said I'd probably do another one at WWDC.

00:00:24   I did not.

00:00:25   I also did not think I did one last week.

00:00:28   Getting over WWDC is always an interesting time of the year.

00:00:31   The actual week itself is just nonstop and relentless in the best possible way.

00:00:35   And so that's really fun.

00:00:37   I really enjoy being out there, meeting lots of people, learning a tremendous amount, especially

00:00:43   enjoying my time at the actual conference in the labs, talking to engineers.

00:00:49   It's the one thing that I wish more and more people were able to do by getting a ticket

00:00:54   WWDC because, you know, it's just a unique experience that I always enjoy.

00:01:00   But now I'm back.

00:01:01   Now I'm back at the grindstone sitting at my desk writing all the codes and it's gonna

00:01:06   be an interesting summer.

00:01:07   There's a lot of good stuff, a lot of things that, like this year is, I would say, an exciting

00:01:12   year rather than a brutal year.

00:01:14   Like some years we were looking at, I'm looking at what I'm going to put out to build, what

00:01:18   I'm trying to build, and it's, you know, tear everything down, rebuild it, it's going to

00:01:21   be crushing.

00:01:22   year, it's not. This year, it's actually pretty straightforward. There's a lot of minor changes

00:01:28   that I'll be doing. And then there's a lot of things that I'm working on that just get

00:01:31   better. And I like those types of changes where the work I'm doing feels very productive

00:01:36   and user-facing, that my users will be able to--I can put it in the release notes, and

00:01:41   they'll be impressed rather than just--I think someone--I remember hearing someone call it

00:01:46   the hygiene features, things that you just kind of, you know, your customers assume that

00:01:52   you're going to do, which are important to do because if you, you know, if you don't,

00:01:56   you don't want to be unhygienic, I suppose. But if you do do them, then you don't really

00:02:02   get much credit for them. You don't get a much a lot of goodwill just out of necessarily

00:02:06   doing those. And so I always like it when years where I have tangible improvements that

00:02:09   I can do. And for me, a lot of those are going to come on the watch. But I have a few other

00:02:13   things in store, as always. But the main topic I wanted to talk about today that I thought

00:02:19   would be a useful thing to walk through, both to help me think about my planning as well

00:02:24   as for probably especially helpful for somebody who for whom this is one of your earlier beta

00:02:31   cycles on iOS and watch OS and Mac OS, just to have a sense of what's going to happen

00:02:37   this summer. It's like what to expect this summer. Because there's a Apple is a company

00:02:43   that likes to see it seems to like to have a good rhythm with things where they do the same thing

00:02:47   over and over and over again. And that's probably good. It helps us as developers know what to

00:02:54   expect and to plan accordingly. And it probably is helpful for them internally to not have to

00:02:59   feel like they're constantly reinventing the wheel. So this is sort of what happens over a summer.

00:03:04   So you can kind of plan accordingly and be ready for the fall when the you know,

00:03:08   the real exciting stuff will launch.

00:03:10   So this week, on Tuesday, Apple launched Beta 2

00:03:15   of all the various things, of iOS, of Mac OS, and--

00:03:20   or I guess it's-- oh, sorry, OS X and watchOS 2.

00:03:25   And roughly, I would say, they typically

00:03:27   launch Betas every two weeks.

00:03:30   That seems to be the pattern they've

00:03:31   done the last couple of years.

00:03:33   And so it's kind of this thing that you

00:03:35   can start to rely on and depend on as a developer, which

00:03:38   is quite helpful.

00:03:40   The beta is what I'm referring to that,

00:03:42   is probably just take a step back.

00:03:43   If you're really, really new at this,

00:03:44   is at W3C they released the new developer tools, the new SDKs,

00:03:51   all the new things that we can take advantage of in the new OS.

00:03:54   And we can install this on testing devices.

00:03:57   And I would recommend that you keep it to testing devices,

00:03:59   at least for a little while.

00:04:02   I have WatchOS 2 and a testing watch, which coincidentally,

00:04:05   you can now just pick up at an Apple store.

00:04:06   Like you do this little pre-reservation thing online,

00:04:10   but you can just go and get one.

00:04:11   It's not quite as crazy as before,

00:04:13   where there was very-- there were very supply constrained.

00:04:16   I went in and just bought a new-- bought a testing watch,

00:04:19   put a watchOS 2 on it.

00:04:21   Because betas are betas.

00:04:23   They are going to have terrible battery life often.

00:04:26   They can have some weird performance characteristics.

00:04:28   So be careful.

00:04:29   But we get the betas, and we can play it with them.

00:04:32   And you get a new version of Xcode.

00:04:33   This year it's Xcode 7.

00:04:35   And you can download and install that.

00:04:37   And the nice thing is Xcode 7, you

00:04:39   can just run it in parallel to your existing, the main version,

00:04:42   which I think is 632.

00:04:44   I think that's the shipping version of Xcode, but whatever.

00:04:47   You can run both of them at the same time on the same machine.

00:04:51   And so you can switch back and forth

00:04:53   depending on what it is you're working on.

00:04:55   But you can install those, and they'll

00:04:56   come out roughly every two weeks.

00:04:58   And I'll have a link in the show notes.

00:04:59   There's a great little chart Will Haynes puts together

00:05:01   every year.

00:05:03   as a chart to show the progress of the betas, how long they've launched, and I always found

00:05:07   that helpful to just kind of get a sense of how, when I should expect the next one.

00:05:12   But conceptually, you should probably be thinking that there's going to be a new beta coming

00:05:15   out roughly every two weeks until we get towards the end, like maybe like beta five or six.

00:05:21   At some point, it'll stabilize, and then betas will not come every two weeks.

00:05:25   And typically, that is the point where Apple has said, you know, there's always something

00:05:30   up their sleeve.

00:05:31   there's always some feature that is going to be coming in the last GM that is often

00:05:37   related to the hardware they're going to announce this fall. And that is going to then probably

00:05:44   be coming along in that last beta. And so they don't want to show that to the world quite yet,

00:05:50   and so it's held out. And so my guess is internally, they're probably still running a few betas,

00:05:55   but we won't see those.

00:05:58   Historically, this process will continue until roughly

00:06:02   the second Tuesday in September, which this year is September

00:06:06   8, which is in 74 days or 53 weekdays, if you're curious.

00:06:14   At that point, we'll probably be able to submit

00:06:16   iOS 9, watchOS 2, or LCAP applications

00:06:22   to the various app stores.

00:06:24   That's sort of roughly the experience they had before.

00:06:27   It'll launch then, and then it will probably,

00:06:29   the actual be released to the world the third Wednesday

00:06:32   in September, and obviously that's just me guessing

00:06:34   based on past dates, but somewhere in that ballpark,

00:06:38   more likely than not.

00:06:40   The only thing that I think could change

00:06:41   that pattern slightly, if all of the rumors and speculation

00:06:46   and some of the little hints we've seen in iOS 9,

00:06:50   they indicate there's some fancy new iPad stuff coming out,

00:06:54   this fall. I wouldn't be surprised if potentially

00:06:58   the iPad and iPhone were launched at the same event

00:07:01   this year, which sometimes they are, sometimes they haven't been, but I think

00:07:05   combining them together would probably make sense because there's going to be

00:07:08   new iOS 9 features

00:07:10   that take advantage of the new stuff that we see on the iPad.

00:07:13   And so, you know, they may

00:07:17   tweak the schedule slightly, but somewhere around there is probably safe.

00:07:20   If you're sitting down today and you're planning out what it is

00:07:23   you're going to be doing over the summer, what you're going to build, when you're going

00:07:26   to build it, how much time you have to do that building.

00:07:29   I think it's fairly reasonable to say that you need to be ready by the second Tuesday

00:07:33   in September, and you're probably not going to be disappointed in the direction of not

00:07:39   being ready in time.

00:07:41   Maybe you may get an extra week, you may get an extra few days, but my guess is you'll

00:07:45   be safe if you did it around then.

00:07:47   And that's what I'm doing.

00:07:48   I'm kind of planning out.

00:07:49   I've worked out roughly what I'm expecting to be working on over each of the weeks, but

00:07:53   between now and then.

00:07:55   And I think it's pretty doable.

00:07:57   It's, what is it, 10 weeks, roughly 10 working

00:08:00   weeks of time, which should be enough to get

00:08:03   quite a lot done.

00:08:06   One thing I did want to mention on that score

00:08:08   is that you probably want to also make sure you're planning

00:08:10   to submit your updates.

00:08:12   If you're doing new and fresh iOS 9 stuff,

00:08:15   to make sure your updates ideally are ready on day one.

00:08:19   And the reason I say that-- not day one of being released

00:08:22   to customers, but being able to submit them as early in that process as possible.

00:08:26   Typically, we'll be able to submit probably about a week, week and a half before customers

00:08:31   will be able to get it.

00:08:32   And in my experience, if you are in that early wave of submissions, you know, you are rearing

00:08:39   to go, everything's ready, the new GM comes out, you download it, you do a round of testing,

00:08:43   and you submit that same day, that you have a much higher chance of being featured, you

00:08:47   have a much higher chance of getting Apple's attention as somebody taking advantage of

00:08:51   of new OS stuff than you do if you submit later on

00:08:56   in that process.

00:09:00   Because certainly the people doing that marketing efforts,

00:09:01   the people who are on the lookout for those things,

00:09:03   they want to be planning and working out all the details

00:09:05   of their marketing, their features, all the stuff

00:09:08   they're going to be doing coincident with the launch,

00:09:11   they want to get that in as early as you can.

00:09:14   So it's just something to keep in mind

00:09:16   that even if you say submitted three or four days

00:09:18   after submissions opened and you were ready for customers

00:09:17   after submissions opened and you were ready for customers

00:09:19   on day one, you may be missing an opportunity.

00:09:22   So just something to keep in mind.

00:09:24   The other things I wanted to mention.

00:09:26   If you are going to work on the new iOS 9 stuff

00:09:29   and you see issues or challenges in the APIs, in the SDKs,

00:09:33   things that you have an idea for an app,

00:09:35   but the way it works currently, it

00:09:38   prevents you from doing that or there's something weird

00:09:40   you're running into.

00:09:43   Maybe it's a bit of a cliche at this point.

00:09:45   But everything you always hear is

00:09:46   that Apple engineering is driven by radars.

00:09:51   It's not a perfect process.

00:09:55   There's all kinds of issues and challenges with it.

00:09:56   But the time to file a radar

00:09:58   about a problem you are having is now,

00:10:00   and if not even last week,

00:10:03   in my experience and from talking to engineers in person,

00:10:06   from their perspective,

00:10:11   they are most able to help fix things

00:10:12   as early in that process as you can let them know

00:10:14   that things are wrong.

00:10:15   So at this point, we just got beta two.

00:10:18   My suspicion is internally, they are working on beta three,

00:10:23   if not four at this point within the engineering staff.

00:10:26   And so they are probably running out of time

00:10:31   to be able to incorporate features or changes

00:10:35   if you do not get your feedback into them soon.

00:10:38   If you wait until September to submit a bunch of issues

00:10:41   problems. You're at the very least probably pushing out until like 9.1 for that to be

00:10:48   addressed, but more likely than not you'll maybe even be pushing it out until iOS 10.

00:10:54   And so just something to keep in mind, like if there is something you're running into,

00:10:58   I mean I've submitted probably about 10 to 12 radars I think since I got back from WWDC.

00:11:04   It's anything that I run into I will file as a radar. And sometimes they get returned

00:11:09   to me as won't fix, sometimes they get returned to me as duplicate. But, you know, I can't

00:11:14   complain if I don't vote with my radars. So that's what I do. All right, what are the

00:11:21   another thing that I wanted to talk about is Swift, which is what to expect over the

00:11:25   summer and kind of in that theme. Swift two seems to be gaining a lot of traction. It's

00:11:31   the way it's people are talking about it, just in the community and amongst my friends.

00:11:35   It seems to be, it's not this novel new thing

00:11:40   that we're all kind of curious about.

00:11:43   It's becoming much more of an accepted

00:11:45   and robust part of the development tools.

00:11:48   And I'm starting to increasingly become interested

00:11:52   in using it.

00:11:53   I've talked about this before many times.

00:11:55   I'm brutally pragmatic in the way that I built

00:11:58   off the software and applications.

00:12:00   And so building, starting to learn Swift is something

00:12:04   that I expect to have to do at some point,

00:12:07   but finding the opportune time for that

00:12:08   is always a bit awkward.

00:12:10   Probably not gonna do it over the summer,

00:12:12   especially because more likely than not,

00:12:14   and I mean, the last betas have proven this,

00:12:16   Swift is still undergoing changes and improvements

00:12:20   and changes in how it's structured and how it works,

00:12:24   and I would rather learn it

00:12:26   when it hits a fairly stable point.

00:12:28   And the next sort of logical stable point

00:12:30   is probably at the end of the summer,

00:12:32   September/October when Swift 2.0 is finalized. That's probably around the time this winter

00:12:38   when I will be picking it up and starting to learn at it and learn it in detail. And

00:12:43   the funny thing is, and this is just an observation I was noticing for why I'm probably most interested

00:12:48   in learning Swift now, is not necessarily--I think there are some technical advantages

00:12:53   to Swift. You know, it has some protection and safety things over Objective-C. Those

00:12:59   Those are vaguely interesting to me.

00:13:00   At this point, I'm a reasonably proficient Objective-C developer, and I'm very quick

00:13:05   with it, and I know how it works, and so it's very comfortable for me.

00:13:08   But the biggest thing that is encouraging me to get into Swift, and I'm sure this is

00:13:12   not unintentional on Apple's part, is that Apple is progressively Swiftifying all of

00:13:18   the libraries and the Cocoa frameworks and things.

00:13:21   And so my Objective-C code is progressively getting more and more unattractive as I start

00:13:27   to have all these crazy nullable like flags and options. And, you know, the block handlers

00:13:35   that I'm passing into system API's are now these huge sort of massive masses of stuff

00:13:40   that isn't really there for Objective C, but it's there for Swift. And it started to make

00:13:45   my programs look ugly. And, you know, that's an encouragement for me to go and get and

00:13:50   dive into Swift a bit more because a lot of those things look, look and feel natural and

00:13:55   at home in Swift because that's the whole point.

00:13:58   And Apple is clearly investing in it and they are focused on it.

00:14:02   And that's a train I probably don't want to get left behind on.

00:14:06   And lastly, just a random closing thought for the summer as you're thinking about what

00:14:09   you're going to do.

00:14:11   One thing I'd encourage everyone to do, this is something I'm kind of famous for doing,

00:14:14   but think about building something new at some point this summer.

00:14:18   Like it's a good time, there's new APIs, there's new fun stuff.

00:14:20   Whether that's a product, whether that's just a hobby, whether that's just something that

00:14:25   doesn't exist, just scratches an itch that you have, like just I would encourage everyone

00:14:29   to try and build something new.

00:14:32   Take a break from working on one of your main projects or consulting clients or whatever

00:14:35   it is that you do and just build something new and interesting.

00:14:38   And I will say that I learned the most from the newest projects that I work on.

00:14:43   And so I would encourage everyone to have that experience as well.

00:14:46   All right, that's it for today's show.

00:14:49   As always, questions, comments, concerns, complaints, you can find me on Twitter, I'm

00:14:52   @_davidsmith there, or you can email me, david@developingperspective.com.

00:14:55   Have a great week, happy coding, and I'll talk to you later.