PodSearch

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.