Podcast Search

Under the Radar

Under the Radar 2: Time for Swift

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

0:00:00welcome to under the radar a show about

0:00:02independent app development I'm Marco

0:00:04Arment and I'm David Smith under the

0:00:06radar is never longer than 30 minutes so

0:00:08let's get started so this week we are

0:00:11talking about Swift do that lovely

0:00:14language introduced about Isis about a

0:00:16year and a half ago now two years ago

0:00:17yeah almost a year and a half yeah if I

0:00:20have a brief confession to make

0:00:22I've never written a single line of

0:00:24Swift in the last year and a half not a

0:00:27single one I think I can say the same

0:00:30thing as long as playgrounds don't count

0:00:32I wrote a few lines in a playground once

0:00:34and that was it

0:00:37beyond that I certainly have written no

0:00:39Swift code that's gone into an app yeah

0:00:42and that's I gotta say I almost feel

0:00:45guilty when I say that like it's this

0:00:47thing that feels like you know I'm a

0:00:50fairly committed Apple platform person

0:00:52like I do a lot of development here this

0:00:54is where I make my livelihood and this

0:00:56is their whole big fancy new thing that

0:00:58has in theory a variety of advantages to

0:01:01the way that I've developed things in

0:01:03objective-c but I've never really felt

0:01:06motivated to learn Swift I think that's

0:01:09because I don't see how it would make my

0:01:12apps as they are today

0:01:13any better and that's kind of a strange

0:01:17place to find myself that I think my

0:01:19apps would be but you know just the same

0:01:21using objective-c that I know so well

0:01:22but there's always in this back of my

0:01:24mind like hmm I should be learning Swift

0:01:26that would probably be better but that's

0:01:29never happened yeah I kind of feel the

0:01:31same way it's it's something that I'm

0:01:33not really against I mean there are some

0:01:35things about it I don't care for but I'm

0:01:37sure I get over them you know in

0:01:39practice once I once I was using the

0:01:41language full-time and I'm sure there

0:01:42will come a time where we will we will

0:01:44switch to it and we will start using a

0:01:46full time and it will just be normal and

0:01:48we'll just deal with it but I don't

0:01:49think the time has yet come where you

0:01:52need to switch to it if you already have

0:01:54a code base in objective-c that doesn't

0:01:57really need to be migrated for any

0:01:58particular reason or if you already have

0:02:00a lot of objective-c knowledge and and

0:02:03your primary goal is to to ship apps

0:02:07quickly and with little overhead then in

0:02:10those cases I think it does make sense

0:02:11to do what we're doing so far and it's

0:02:13just

0:02:13you know wait and see it's not that

0:02:15Swift is is never gonna be a part of our

0:02:18lives it's just that I don't think

0:02:20there's a lot of compelling reasons for

0:02:21us to adopt it yet when we you know when

0:02:24we already have is this experience and

0:02:26wisdom and and toolchains and everything

0:02:29all these things everything's built up

0:02:30around the other language that we've

0:02:32known forever yeah and it's funny I was

0:02:34also a things in preparation to what are

0:02:38the reasons why I haven't and there's

0:02:40obviously like the obvious ones if just

0:02:41like the inertia of having do it done

0:02:43Objective C for so long and knowing it

0:02:44like inside and out knowing all we're

0:02:46all the like the quirks are and all the

0:02:48problems and when I hit a weird bug I'm

0:02:50pretty good at finding them in Objective

0:02:53C if they're you know programming

0:02:54related rather than logically related

0:02:56but the thing that also makes me so

0:02:58nervous about Swift is that it keeps

0:03:00changing like every time a new version

0:03:03of Xcode comes out it seems like there's

0:03:04some new thing in Swift there's some new

0:03:08syntax there's some new ability there's

0:03:10some new approach for the way it works

0:03:12and every time I see one of those I

0:03:14think of it's like I have this moment of

0:03:16relief that wow I'm glad I haven't

0:03:18decided to start learning Swift yet

0:03:21because it seems like what I would have

0:03:23learned every time seems it's constantly

0:03:25being like deprecated going forward and

0:03:28that makes me so nervous about spending

0:03:30the time because the reality is like I

0:03:32have so little time to invest into new

0:03:35things that aren't just like actually

0:03:37working that spending time on something

0:03:40that potentially could be completely

0:03:42overcome by or not not completely is

0:03:45probably an extreme but could require me

0:03:47to go back and change the things that

0:03:49I've learned or change the code that

0:03:50I've written is very discouraging yeah

0:03:54because it seems it seems like churn to

0:03:56go through this process and you know to

0:03:58some accessory in our in our profession

0:04:03you know when when Apple changes the UI

0:04:05of the entire OS like with iOS 7 and we

0:04:08have to recreate or redo or

0:04:10reimplemented unlike it never feels

0:04:13great to be forced to to repeat work or

0:04:17to be forced to throw away something

0:04:19that works perfectly well just to do it

0:04:21some some new way that you didn't really

0:04:23want to do on the flip side of that you

0:04:26know a lot of people

0:04:27and you know myself included I love

0:04:29deleting deleting code that that is no

0:04:31longer necessary or you know like once

0:04:33there's a new ability to do something

0:04:34like a new API comes out from Apple and

0:04:36a new OS release that makes a whole

0:04:39bunch of my code obsolete

0:04:40I love deleting that old code and

0:04:42getting rid of it getting it out of my

0:04:43life and moving on using the new Apple

0:04:46API assuming it works which isn't always

0:04:48the case but usually and having less

0:04:50code demanding she like that part is

0:04:52nice a lot of programmers myself

0:04:54included also frequently get the itch to

0:04:55rewrite things in a better way and that

0:04:59sometimes that is a good idea it often

0:05:00isn't it sometimes it's just a big waste

0:05:02of time and a way to create all your all

0:05:04your bugs all over again but it

0:05:05sometimes it is a good idea but I think

0:05:08with with Swift coming in for Objective

0:05:10C programmers the the motivation is is

0:05:14less there at you know and as you said

0:05:16it is still changing a lot for most of

0:05:18its first year the tools were still

0:05:21really immature and we're still having

0:05:23lots of crashing and performance issues

0:05:25and and that seems to be resolved so far

0:05:28from from people who have written Swift

0:05:29so far who are really into it more than

0:05:31us it does seem like I've been kind of

0:05:33like paying attention to what people say

0:05:35about it what how people report like oh

0:05:37we converted a big project or we started

0:05:39that we started and a new project in

0:05:41Swift and here's how it went for us and

0:05:43in the early days those stories were

0:05:45really rough they were the only things

0:05:47that were really not compelling because

0:05:49everything was still so immature or

0:05:50unstable as time has gone on in just a

0:05:53year and a half which is pretty quick

0:05:54that has settled somewhat and and a lot

0:05:57of people are now saying ok now you can

0:05:59jump in I've done a project on Swift and

0:06:01it was fine for us so it really did I

0:06:04think now would be a safe enough time to

0:06:07jump in and it wouldn't be too

0:06:09unreasonable but again it comes back to

0:06:11you know how do we allocate our limited

0:06:13time and our limited resources and how

0:06:14much time are we willing to devote to

0:06:16messing with something that's still new

0:06:19and immature and and adapting to it as

0:06:22it changes like to me like I've always

0:06:25said in the past and we'll talk about

0:06:26server-side stuff I'm sure many times

0:06:29but I've always said in the past that my

0:06:30server-side stuff I want to be very

0:06:32conservative with especially as you get

0:06:34lower down the application level stacks

0:06:36so if you you know if you want to try

0:06:38out a new you know Web API

0:06:41cool whatever you know a new new

0:06:42application-layer thing as you go down

0:06:44the stack I don't want to be running a

0:06:46cutting-edge Linux distribution I want

0:06:48to be running a very conservative OS I

0:06:50want to be running a very conservative

0:06:52database you know all like as you get

0:06:54that low level with like you know the

0:06:57data layer and the infrastructure layer

0:06:59of these things I don't want to be on

0:07:01the cutting edge of anything there

0:07:03because the cutting edge is where you

0:07:04get bugs and instability and and you hit

0:07:07limitations as you move up the stack I

0:07:09feel like you have more tolerance for

0:07:10things like that like for risk in those

0:07:12areas for me the programming language

0:07:15that you're writing your code in is

0:07:17pretty low level and with Swift you at

0:07:19least have the benefit of you can mix it

0:07:21in slowly and that is ver that it was

0:07:23very wise of Apple to do there are some

0:07:24downsides to like things like they

0:07:27couldn't make as clean of a jump as they

0:07:29as they might have wanted to because

0:07:30they have maintained backwards

0:07:31compatibility with Objective C libraries

0:07:33and stuff but for the most part I think

0:07:35that was wise because we can kind of

0:07:37wade in slowly when we decide that's the

0:07:40right move but at the same time you know

0:07:43because of my conservatism in in those

0:07:45low-level things I don't really see a

0:07:49huge reason to jump in yet because I

0:07:51don't want to be programming with a

0:07:53cutting-edge language and not only for

0:07:55instability reasons and for for having

0:07:58to relearn things as they change things

0:08:00over time not only for those reasons but

0:08:02also right now we don't really know what

0:08:06will eventually be known as idiomatic

0:08:07Swift an idiomatic Swift API design we

0:08:10don't know those things yet those are

0:08:11still being worked out a lot of people

0:08:13and and I'm not one and I don't think

0:08:16you are one either a lot of people love

0:08:18being a part of that process of figuring

0:08:20out what the idioms should be and and

0:08:23creating helping to create them and

0:08:25helping to work out how things and

0:08:27helping to experiment with like oh maybe

0:08:28we should design api's in this way maybe

0:08:30the right way to use the language is

0:08:31this I am NOT into that at all for me I

0:08:34would rather let that let the smarter

0:08:37people than me who care a lot more about

0:08:38language design and who are better at it

0:08:40than I am

0:08:40let them figure out the idioms and the

0:08:43language of design and the API design

0:08:44and then I want to just take the

0:08:47finished product and master one thing

0:08:49that they have figured out over time and

0:08:51apply that into building apps that I

0:08:53want so it's like you know I want to

0:08:55closer to the product building side not

0:08:57the messing with languages side if that

0:08:59makes sense yeah cuz I mean the process

0:09:02of it sounds vaguely interesting like

0:09:05sort of feel oh let's be let's be part

0:09:07of the process and you know it seems

0:09:09like this Swift team is very responsive

0:09:11and that all those things on that side

0:09:13seem to be very encouraging in that

0:09:15regard if you that were something you

0:09:16were interested in but it's just like

0:09:18effort going into something that isn't

0:09:21making my apps better isn't making my

0:09:24customers happier isn't helping me ship

0:09:26something more impressive it's like it's

0:09:28going into something that is kind of

0:09:30intellectually cool but it kind of feels

0:09:32it's like the difference between someone

0:09:34who is in academic versus like who has I

0:09:38think I'll probably make some more

0:09:39practical living like I'm very glad

0:09:41there are people who enjoy that a more

0:09:43academic side of computer science who

0:09:44come up with the the new things and push

0:09:49boundaries and go down ten sort of dead

0:09:51end roads before they find the thing

0:09:52that is actually the thing that we're

0:09:55gonna want to use in practice like I'm

0:09:56really glad those people exist but it's

0:09:59a very different thing than with the

0:10:01skills and the experience and the time

0:10:03allocation that you would want to do if

0:10:05you actually have to ship something and

0:10:07ultimately especially if that thing at

0:10:09the you ship at the end of the day has

0:10:10to like make your living then the last

0:10:12thing you want to be doing is playing

0:10:13around with stuff that isn't quite baked

0:10:16or isn't quite to the point that it's

0:10:19like it's this is exactly the way you do

0:10:20it because I think in Objective C it's

0:10:22very established at this point it's an

0:10:24old enough language and it's use has

0:10:26been so focused in by Apple and its

0:10:30benefited from the fact that I think

0:10:31Apple is the only people who sort of

0:10:33typically use it in a way that like

0:10:34language like Java or C has so many

0:10:38different uses that it's doesn't quite

0:10:41have that same heavy hand that Apple I

0:10:43think has been able to bring to it where

0:10:44as they've improved and changed the

0:10:46syntax and the details of objective-c

0:10:49like it is now very finely tuned to go

0:10:52along with cocoa and it to go along with

0:10:55iOS and to go along with all of the

0:10:56things that go into building for apples

0:10:59platforms that it's very straightforward

0:11:02like there is probably one way to write

0:11:04most you know sort of most functions in

0:11:07most code and once you learn it and once

0:11:09good at it then you know you're doing

0:11:10the right thing and the process of

0:11:12letting that for Swift just sounds like

0:11:14kind of scary until that thing settles

0:11:17down and so I'm not really sure what's

0:11:19ultimately gonna get me to learn Swift

0:11:22like I was thinking about it what could

0:11:24Apple do it obviously are doing all the

0:11:26right things on the marketing side of

0:11:27saying like this is the hot new thing

0:11:28all their sample code is in or most of

0:11:31their samples code is in Swift to WTC

0:11:33all the session videos all the code on

0:11:35the slides is in Swift like they're

0:11:37pushing it as hard as they can from a

0:11:38marketing perspective but my gut says

0:11:41until they come out with something that

0:11:43says you can only interact with this

0:11:45platform or interact with this library

0:11:47in Swift I probably won't learn it

0:11:52that's just so that's just the practical

0:11:54reality like I'd almost wondered if when

0:11:57they were announcing things like the

0:11:59watch or the TV if at some point they

0:12:03would say this is a swift only platform

0:12:05and architect like the runtime for it or

0:12:09the libraries for it - those types of

0:12:10things in such a way that say like this

0:12:12is the only language that it's going to

0:12:14work and if they did that obviously like

0:12:15I'd have to learn I mean it's sort of

0:12:17like with the TV OS where you can write

0:12:19apps natively or in the TV ml like

0:12:21markup language if it said oh we're only

0:12:23gonna do T the TV ml stuff then like

0:12:26okay if I want to do a TV app I would

0:12:28have learned that but it seems like it's

0:12:31probably only going to come out of

0:12:32necessity rather than out of just like

0:12:33the intrinsic desire right yeah I mean

0:12:36at some point they are probably going to

0:12:38have swift only API is in the same way

0:12:40that there are objective-c only api's

0:12:43now and originally you could you know

0:12:46you could write in C if you wanted to

0:12:48you could write a lot of Mac apps only

0:12:49and see it in the olden days that's how

0:12:51all of them were written and you know

0:12:53over time Java C came in and and there

0:12:56are there have been to see only api's so

0:12:59over time there will be Swift only api's

0:13:02eventually you know as Apple add new new

0:13:05api's to things but that doesn't

0:13:06happened yet and even internally Swift

0:13:08is still so young that even internally

0:13:11Apple is hardly using it for anything so

0:13:14if they can't even work it into their

0:13:16workflow in in mass yet then I think

0:13:19that shows that we are not yet to the

0:13:22and we're not close yet to the level

0:13:24where it's a requirement for everybody

0:13:27to use that being said you know I think

0:13:29if you're starting out fresh if you

0:13:31don't know how to program it or if you

0:13:33only have a little bit of programming

0:13:35knowledge so far orbs have C knowledge

0:13:37so far and you and you're looking to

0:13:39expand your knowledge it's starting now

0:13:41by all means do that in Swift like it

0:13:44doesn't I don't think it makes a lot of

0:13:45sense to learn Objective C from scratch

0:13:47now now that Swift is coming up and and

0:13:50being you know being the hotness

0:13:52although that being said I think it's

0:13:53very likely that any any iOS app will

0:13:56probably you will probably need to know

0:13:58some you have to see at some point to do

0:14:01something similar to how Objective C

0:14:03programmers generally like you can get

0:14:05along pretty well most of the time but

0:14:07occasionally you have to call a C

0:14:08function or you have to know how C works

0:14:10enough to use some some API that is C

0:14:13only so new programmers should

0:14:16definitely start with Swift I would say

0:14:17just because you you generally don't

0:14:20want to start with something that is on

0:14:22its way out long term you want to start

0:14:23with something that is going to be as

0:14:26useful as long as possible yeah and I

0:14:28think the funny thing is like I know

0:14:30enough Swift at this point that I can

0:14:33read it but I can't write it because I

0:14:36was like often I'll you know searching

0:14:38on Stack Overflow and I'll find an

0:14:39answer to something that I was

0:14:41struggling with and the answers written

0:14:42in Swift and so I need to work out how

0:14:44it works and so at this point I know it

0:14:47enough to be like the it cert but it's a

0:14:49you know it just enough to be like

0:14:50read-only but I couldn't ever create it

0:14:52out of nothing and I think if you're new

0:14:54to some things like your goal is

0:14:55probably going to be to learn Swift well

0:14:57enough that you can write your programs

0:14:59in it and program in it but then no

0:15:01objective-c at least well enough that

0:15:03you can read it and understand what's

0:15:04going on with all the crazy square

0:15:06brackets and the general kind of

0:15:08structure of it but that's probably all

0:15:10you'll ever need to actually you know in

0:15:12practical use right exactly and and

0:15:15there are certain things about Swift too

0:15:16like it isn't it isn't a guarantee that

0:15:19if you like objective-c that you will

0:15:22like Swift it is it is a different style

0:15:25of language it is not objective-c with

0:15:27pointers removed like that that isn't it

0:15:30it it is not like what all people were

0:15:32saying before Swift was unveiled it was

0:15:34like oh just just making

0:15:35to see without the see and that is even

0:15:37how Apple introduced it on this on the

0:15:39keynote slide but that really isn't what

0:15:41it is at all it really is more like a a

0:15:44modern reinterpretation of C++ and so

0:15:49this is going to mesh better with some

0:15:51people than others for me honestly I

0:15:53don't like a lot of it a lot of what I

0:15:55know of it at least so far and again I

0:15:56haven't used it in a project yet so this

0:15:59could change as I use it but a lot of

0:16:00the things that that are some of its

0:16:01more advanced features like generics I

0:16:03don't think I will ever use most of that

0:16:06stuff you know there's this is going to

0:16:08kind of gel better with some people in

0:16:10others and that might influence what how

0:16:13early you want to jump into it because

0:16:15for me it hasn't done much for me and

0:16:18and it it doesn't really appeal to me as

0:16:21strongly as as some other changes would

0:16:23have or may have then I'm in less of a

0:16:26rush but if you're the kind of person

0:16:28who you enjoy those kind of language

0:16:31features that it's adding or you enjoy

0:16:32the kind of formalism that it that it

0:16:33imposes that wasn't there before then by

0:16:36all means jump in you know it's but

0:16:38that's not going to be true of everybody

0:16:40and I think that's okay yeah and I think

0:16:43it's like I have gradually gotten better

0:16:46about having the gate like the Swift's

0:16:48guilt of having that feeling like oh I

0:16:50really should you'd be learning this and

0:16:52it's likely understand it's like at some

0:16:53point I'm sure it's in my future I don't

0:16:56know when that is it's it's the role

0:16:58it's gonna play and my future is also

0:17:00going to depend on where Apple takes

0:17:01their platforms and what platforms and

0:17:03opportunities make the most sense for my

0:17:05business like you know I don't know like

0:17:08iOS is relatively young and it's also

0:17:10relatively old like seven years or so

0:17:13for a platform is getting to a point

0:17:14that you start to wonder you know is

0:17:16something new coming along that is going

0:17:19to be you know sort of overtake it

0:17:22because you know very few things in

0:17:25technology seem to last more than 10 or

0:17:2715 years and so we're at least sort of

0:17:30towards the middle if not the tail end

0:17:32of except of this you know this way then

0:17:33you sort of keep your eye out for what's

0:17:35which platform and what opportunity is

0:17:37going to be the next big thing because

0:17:39as we were saying last week about yeah

0:17:41but you know market opportunities and

0:17:42and you know how to how you can take

0:17:44advantage of a market that's like on its

0:17:46boom time and then how quickly that

0:17:48window Falls

0:17:49as it gets more crowded it's the same

0:17:51thing with with languages and

0:17:52technologies like if you can get in

0:17:55relatively early two things now again

0:17:57again this is a balance between like

0:17:59conservatism and stability versus you

0:18:01know how cool it is to try new things

0:18:02and whether whether you're the kind of

0:18:04person who loves just trying new

0:18:06languages for the sake of trying them

0:18:07and and you know or whether you're more

0:18:09kind of product focused like me and

0:18:11David here but I think there's a similar

0:18:14kind of window with technologies where

0:18:15like as I said like this is you can tell

0:18:17that this is big this is the beginning

0:18:18of the end of yet to see and it's going

0:18:21to be a long way down it's gonna think

0:18:22we're gonna it's gonna be here for a

0:18:24while yeah we're not talking five years

0:18:27we're talking at least ten that is still

0:18:29gonna be around and still be relevant I

0:18:30mean look at how long I mean look I just

0:18:32said like you know see function still

0:18:34exists that we still call routinely for

0:18:36most efficacy apps and that those have

0:18:37been there since the you know since the

0:18:40beginning of core foundation which was

0:18:42what in the late 80s I mean it's gonna

0:18:44be at least until Apple replaces their

0:18:47fundamental like OS stress structure

0:18:49probably or something like that because

0:18:51the Apple isn't gonna rewrite all their

0:18:52apps unless they absolutely have to

0:18:54right and all the foundation classes I

0:18:56mean Swift is still switch has has its

0:18:59own you know strings and it's it's own

0:19:01arrays but there's so many things in

0:19:04Foundation and networking and IO and

0:19:07graphics all these things that that

0:19:10Swift is still calling the system

0:19:13Objective C and C api's to do those

0:19:16things so it's not like they threw it

0:19:19entire stack in the entire API you're

0:19:21just writing things in a new front-end

0:19:23language it's not like that whole stack

0:19:25is gonna go away in two years or five

0:19:27years or even ten years I think that's

0:19:29unlikely

0:19:29anyway we are sponsored this week by our

0:19:32friends at NS screencast and a

0:19:35screencast features short focused

0:19:37screencasts on iOS development every

0:19:40week you're going to find a new

0:19:41fantastically produced episode that will

0:19:44help you build and enhance your

0:19:45development skills now I've been looking

0:19:47at these for this past week since they

0:19:48came to us with this have you look these

0:19:50to David yeah yeah these are great the

0:19:52production value on these is really

0:19:54really high and they're what I like

0:19:56about them is that they're short like

0:19:58the idea is it's just one short episode

0:20:00a week and you just keep up with it

0:20:02and you you can kind of keep up on new

0:20:04technologies you can learn new things

0:20:05but it's not you don't have to jump in

0:20:07and watch like a 45 minute conference

0:20:08video just to keep up with what's going

0:20:10on or to learn something new it's a nice

0:20:12overview with examples and everything

0:20:14the production quality I think is great

0:20:16have you seen one that that you liked

0:20:17yeah I mean I love I've actually

0:20:19speaking of what we've been talking

0:20:20about it and watching a little bit of

0:20:22the ones about Swift just to kind of

0:20:24keep an eye on what's going on there

0:20:26because like we said it's not something

0:20:28I'm at the level where I want to spend a

0:20:29lot of time on it but it's really

0:20:30helpful to just be able to sit down and

0:20:32watch a short like 10 15 minute video to

0:20:34get a sense of like what are the all

0:20:36these fancy keywords and things I keep

0:20:37hearing people talk about and so I can

0:20:39sit down and watch you know what's new

0:20:40in sort of Swift 2 or Swift new Swift

0:20:43optionals they're all the kind of these

0:20:44things that are totally new and get a

0:20:46very short amount of time understand

0:20:48what's happening without you know sort

0:20:50of sitting there and just going through

0:20:52the documentation myself and so that

0:20:54found that to be really helpful you can

0:20:56watch these videos on the web on iOS or

0:20:59you can even they also have a TV OS app

0:21:01they they're already in the Apple TV you

0:21:03can watch it right there on the NS

0:21:04screencast TV OS app all this costs just

0:21:079 dollars a month or $100 a year with

0:21:10team plans available - you can get 30%

0:21:12off your first month by signing up at NS

0:21:14screencast.com slash first crack and a

0:21:18screencast comm slash first crack thank

0:21:20you so much to enter screencast for

0:21:22supporting this show and all of relay FM

0:21:24all right and the last thing I wanted to

0:21:27talk about briefly with Swift I thought

0:21:28would be kind of an interesting I mean

0:21:31it's the best way to call it as a

0:21:32thought experiment is I was recently

0:21:34trying to think through if in the

0:21:37limited amount of time I have to learn

0:21:38something if I would be better off it's

0:21:41putting that time and energy into

0:21:42learning Swift and in you essentially

0:21:44embracing the future of iOS or

0:21:46diversifying and learning modern Android

0:21:50development and when I've sort of posed

0:21:54that question to myself the answer

0:21:55immediately wasn't obvious because I

0:21:57think about it in Swift I'm like okay

0:21:59it's the future of the platform and

0:22:01that's better

0:22:01you know I've you know I'm very

0:22:03committed to iOS that's where I make the

0:22:05majority of my living but it also means

0:22:07that I'm tied in to like you know one

0:22:09basket like I'm putting all of my apps

0:22:10all my eggs into that one basket and

0:22:13there's part of me that wonders if would

0:22:16I be better off if

0:22:16instead I like took that energy of

0:22:19learning something new and put it into

0:22:21learning Android in the end I'm

0:22:24skeptical if I actually ever would

0:22:26because it's so hard to think about

0:22:28developing for a platform that I don't

0:22:29use on a regular basis but I think my

0:22:34gut says at the end of the day I would

0:22:35actually probably be more prudent for me

0:22:36to know both iOS and Android then to

0:22:40know iOS and then iOS plus Swift and

0:22:44sort of as I know it now yeah I think it

0:22:47really depends I mean obviously I think

0:22:49you can learn Swift more easily than you

0:22:52can learn Android because you are still

0:22:53on the same platform calling it to most

0:22:55of the same api's and everything so I

0:22:56think it's Swift would be an easier

0:22:59transition also Swift would eventually

0:23:01replace your objective-c

0:23:03slot in your mind you know like so it

0:23:06wouldn't you wouldn't it wouldn't be

0:23:07like an additional thing that you that

0:23:08you'd have to decide where to spend your

0:23:10time between on an ongoing basis it

0:23:12would be kind of like a one-time big

0:23:14transition over you know six months or

0:23:16whatever however long it would take you

0:23:17to really like master it and really be

0:23:19doing it full-time but Android of course

0:23:22opens up way more market share I mean if

0:23:24you're if you have a handful of apps

0:23:26well you have more than a handful but

0:23:28suppose somebody has a normal number of

0:23:30apps

0:23:31yep support and and and they have to

0:23:35choose whether to you know convert all

0:23:38their existing apps from Java C to Swift

0:23:40or port them to a new platform obviously

0:23:44that the right move there B to Portland

0:23:46a new platform because the customers

0:23:48don't care what language your app is

0:23:49written in so you wouldn't get any

0:23:50benefit on the customer side by

0:23:52converting to Swift it's more of like an

0:23:54investment in your own long-term ongoing

0:23:56education long term craft you know long

0:24:00term time savings for yourself assuming

0:24:01Swift will save you time in the long run

0:24:03which I think it probably will over time

0:24:05but we don't know that yet really so

0:24:08it's a question I mean these are this is

0:24:11a great thought experiment I this is one

0:24:13reasons why I wanted the podcast with

0:24:14you because I you are so good at coming

0:24:16up with these these crazy ideas because

0:24:18it isn't that crazy like if you think

0:24:19about it going on to a new platform is

0:24:22probably a better idea than relearning

0:24:27the the language on the platform you're

0:24:29already on

0:24:30that being said if you specialize in one

0:24:34of these areas if you specialize and you

0:24:36say you know I'm gonna just be really

0:24:38really good at making iOS apps and I and

0:24:40then and that way you know to do what

0:24:41you do to be able to try out a whole

0:24:43bunch of ideas to be able to make things

0:24:44make new apps quickly and deploy into

0:24:46the store quickly if you if you get

0:24:48really really good at that one thing

0:24:50versus if you if you spread your

0:24:53knowledge out into into a more broad

0:24:55toolset really so you're able to make

0:24:58iOS apps and Android apps and maybe

0:25:01after something else maybe Mac apps

0:25:02maybe web apps and you know if you

0:25:04spread it out and get more wide like

0:25:05that I feel like that might be harder

0:25:08for one person to be very productive and

0:25:11very successful for themselves because

0:25:13they're there's so much overhead

0:25:15involved in in dealing with these

0:25:17different ecosystems different platforms

0:25:19different languages different api's I

0:25:20feel like you can be better specializing

0:25:24in one and being able to just really

0:25:26crank out high volume work on one rather

0:25:29than spreading yourself out very wide to

0:25:31be able to do a wider variety of things

0:25:33does that make sense yeah and I think

0:25:34ultimately that's probably miss the

0:25:36reality if that's where I am that's

0:25:38where I have been for the last year and

0:25:40a half since this was it would even be

0:25:41sort of a thought experiment that could

0:25:43exist is ultimately for me and my

0:25:46business to run I have to be

0:25:47extraordinarily productive in one thing

0:25:52and should be in a true expert and be

0:25:54able to really you know if I have an

0:25:56idea for an app to be able to build it

0:25:58very quickly and for me right now that's

0:26:01be writing you know iOS apps in

0:26:03objective-c like that's something that I

0:26:05can really crank out just from by the

0:26:07virtue of having so much experience with

0:26:09it and I think until such time as doing

0:26:12that thing having that expertise and

0:26:14having that sort of finely honed of a

0:26:17skill

0:26:18ceases to be the thing that I need to do

0:26:20and it becomes like okay now I should I

0:26:22need to diversify I need to go somewhere

0:26:24else like it isn't working on iOS

0:26:25anymore that's probably where I'll

0:26:27continue to go and but in this you know

0:26:30this is for the same reasons that I

0:26:32haven't learned Swift is probably the

0:26:33same reasons that I haven't learned

0:26:34Android it's that same thing of it's

0:26:35like I like and it seems to work well to

0:26:38be a true master of one thing and to

0:26:41drive that you know sort of driving

0:26:43perfect your art in craft of doing that

0:26:46one thing is probably better than

0:26:48becoming a complete generalist but being

0:26:50sort of some more superficial in all the

0:26:53different areas and this is obviously

0:26:54currently coming from the perspective of

0:26:56being independent like if you work in a

0:26:58bigger company you may have to be a

0:27:00generalist and be working in all these

0:27:02different platforms and areas because

0:27:04that's just what your boss tells you to

0:27:06do but because my boss doesn't tell me

0:27:08to do anything

0:27:09I came able to sort of go with whatever

0:27:11makes sense for me right and that's it

0:27:13and I think it makes sense for big

0:27:14companies to diversify because you know

0:27:15when you look at the way big companies

0:27:17structure their engineering departments

0:27:18you don't usually have one person who's

0:27:22in charge of five different platforms of

0:27:24apps and they're the only ones working

0:27:25on them usually you have employees who

0:27:27were specialized and so the whole

0:27:29department might be able to be more

0:27:30broad and have an app for iOS and an app

0:27:33for Android and even look at Windows

0:27:35Phone or Blackberry or whatever else

0:27:36comes along but each individual person

0:27:39to maximize their efficiency is usually

0:27:41only doing one of those things you know

0:27:43it makes sense for companies to be able

0:27:45to afford to be more broad but for

0:27:47individuals to maximize what you can do

0:27:50I think it makes the most sense for

0:27:51individuals to be specialized yeah and I

0:27:54think that's sort of where we're just

0:27:55canned up good end up for today's

0:27:57discussion that I think Swift ism is a

0:27:58powerful useful tool that I'm glad

0:28:02exists and glad Apple is pushing the

0:28:04platform forward on but I don't expect

0:28:06to use it anytime soon I'm sure both of

0:28:08us will use it eventually and it might

0:28:10even be faster than we think it might

0:28:11even be like next year but I'm I'm

0:28:13certainly not in any rush to start doing

0:28:14it right now but that's fine

0:28:16yeah and I think that's probably where

0:28:17we'll end it for today thanks for

0:28:19listening everyone please tell your

0:28:20friends about the show help us spread

0:28:21the word recommend us an overcast and

0:28:23we'll see you next week see you next

0:28:25week