Planning, Designing + Coding Your First iOs App with Lou

Published

August 2, 2021

Difficulty

Beginner

Posted by

Louise Bishop

Fancy making your own iOs app and launching it on the App Store? We talk to course teacher Lou about our beginner-friendly short course which takes you through the whole process, step by step. Learn how to tackle a client brief and plan out the work, design the app's user interface, code it from scratch, and, finally, from launch it on the App Store!

Share this post

Transcript

00:00

(upbeat ambient music)[Faith] Welcome Lou, it's nice to chat to you today.- Great to chat to you. - Yeah.We're gonna be talking about your new coursethat you've been working on for quite a few months.

00:20

Can you tell us what it's called and introduce yourselfand maybe tell us about why,how you got into making apps?[Lou] Yeah, sure.So I'm Louise Bishop and I have been, gosh,building apps and teaching people to code now for like,God, about 10 years. (chuckles)And the course I've been working on latelyis plan, design and code your first app.So really, really excited to launch it and get it out there,it's gonna be nice and easy,a nice, great, like simple intro to making iOS apps.

00:55

And yeah, I got, how did I get into making apps?Well, I've like been interested in coding in generalsince I was quite young.My mom and my dad work in like,well, work in like the banking industry,but building kind of like banking systems.And I always like knew that there were not many womenthat did the kind of like techie side of things.(chuckles) So when I was younger,I was like, do you know what?I reckon if I can do that, then that would be great,I'll definitely get a job because there'll be nonew kind of girls that do it.And I kind of fell in love with the creativity of it.Like the, just being able to,it's kind of different to webwhere you get a lot more like,you can do a lot more wit it, and it's really fun.I was lucky enough to in my first job,

01:40

I was kind of just the tech personand they actually were kind of just like,oh, can you make an app?I was like, no, (chuckles)but they then let me to learn on the job,which was really good.So my first sort of foray into iOS apps anywaywas I built kind of this like sound system type app.But II did a little bit at uni as well, but for Android,which I didn't love as much.(chuckles) - Yeah,we'll get onto Android.

02:07

But yeah, so this course that you're working on,so how long have you been working on itand like, it's for beginners, right?[Lou] Yeah, that's right,so without giving too much awaybecause I've been working on a few different things at once.I've kind of been working on this for around,well, a few months now.Definitely for the majority of this year,

02:29

I've been building lots of different things,(chuckles) but yeah,so this one's been in the works definitely for a few monthsand it's for complete beginners.We wanted to do something that was kind of accessibleand really easy to pick up.So it's a fairly simple appthat we're building to get started with,but you did get to see the entire process,which is really nice.So we're going literally from just the ideaall the way through to kind of like quoting it,getting a contract out, getting the project requirements,designing the assets, think about the app icons,thinking about all the apps store guidelinesthat you need to adhere to,and obviously then developing it, then launching it.So it's really jam packed with all of the different stepsthat you need to actually get liketo go from basically just an ideato actually getting your app onto the app store.So, it's, yeah, it's quite exciting really.[Faith] Yeah.It's amazing, it's such like a real world project,but like people can just go and take into the worldand really create their own apps.

03:31

And can you tell us a bit about the project,I'm skipping forward a bit my notes,(chuckles) but I can't waitto talk about the project, so.[Lou] Of course, of course.So the project came about, I've been exploring Swift UI,which is actually a new framework that Apple have releasedthat's replacing one of the older frameworks,which makes things a lot easier, which is great.So I was playing around doing a few little demo projectsand playing with some new kind of like objects,and yeah, we came across (chuckles)this kind of theme, which started off I think with Andreand basically it's gonna be to do with catsand it's gonna be to do with yoga.(laughing) - Perfect.[Lou] Which is really excitingbecause it's combining kind of the two of themto create this app that basically shows different poses.It's got some great content,and yeah, it's really, really fun.[Faith] Yeah,I've had a lot of fun working on this with you.So, just my luck. - Big, big props to youand Andre actually, because I feel like with you,this would have been, I think it started offas like a meal plan, a meal sort of like selection app,and then we kind of like continued working on it,and do you know what?I feel like it's so important to have somethingthat is kind of fun and engaging as a project,that the more kind of creative and the more fun it is,the easier it is to learn, I think as a beginner.So you know who doesn't love cats(chuckles) and doesn't love like,some fun content is it's really good to put it all together.I think it helps make the course really engaging.[Faith] For sure.

05:10

And the structure is quite similar to our planand design your first website, right?- Absolutely. - And designing code for the,yeah, it's pretty similar. - Yeah,it's a bit of a mouthful.Yeah, so if you've taken plan designand code your first website,you'll definitely recognize the format for this course.We've tried to keep it the sameso it feels like a little bit of a series.So yeah, if you left that courseand you like to kind of like seeingall of the different kind of steps and behind the scenesthat really kind of like,it's easy enough to kind of go and design an app screenor to go and learn some Swift and build something,but I think it's rare out there to actually getthe whole kind of thing in one course.- Hmm. - And it's really nice.to kind of, yeah, to see it all from start to finish,I think is a good process and a good intro to, yeah,to learning apps.[Faith] Cool.And you mentioned obviously using Swift UI,is there any other programs that you're usingto kind of design?Is it Figma for this or? - Yeah,so, God, there's actually a ton of toolsthat we introducedin this course. - Okay.[Lou] We go into in the planning section,we use Notion to create kind of like a to do listof all the different tasks we need to complete.So you learn a little bit about project management there.When we do the designing, we're using Figma,which is a free online tool,which if you've used something like Photoshopor like the Adobe Suite, will feel very familiar.We also use Xcode for coding.So that's the kind of heavy lifting,big kind of piece of software.It's an integrated development environment,which means that you write your code, you run your apps,you test your app, you submit your appsall through this big piece of software,which actually does come with some prerequisites,obviously we're making iOS apps,so to use Xcode, you have to have a Mac laptop.I would say 2015 and later,unless you wanna wait a long time for things to run,(chuckles) and it needs to be runninga new version of the operating system.So I think it's a 10.5.1 and above you needin order to be able to use Xcodeand all the new shiny things from Apple, like SwiftUI,things got released last month.So, yeah, that is one thing that needs to do.But Xcode is actually pretty amazing as a tool,like there's just so much inside of it.Alongside that we're gonna be using GitHub as well,so if you've never used GitHub before,you'll get a little bit of an introductionabout what that is, it's an online code repository.Essentially, if you get stuck on the course,you'll upload your code to GitHub,and then I'll take a look at itand make sure that I can help you out and fix anythingas you're going along.Obviously you get support with that.And then finally in like the last part of the course,we actually put the app on the app storeand obviously to do that,you need an apple developer account.So not everyone on the course will do this part,otherwise there'll be a 100 cat yoga appson the app store (chuckles)as you'd imagine.But it just shows you the process.So I have an apple developer account,that bit costs $99 a year, but you don't have to do it,it's completely optional.But of course, watching the process means that in future,if you wanna release your own apps, you know what to do.[Faith] What you're saying,I didn't know it was that easy actually,when was it, (laughing)simple charge there, but that's pretty cool.- Yeah. - And, yeah,I was gonna askwhat all people be able to do by the end of this,but I guess make their own apps and yeah.[Lou] Yeah, absolutely,like there are, like with anything,it is a bit of a processand there are so many different kinds of moving partsthat you need to be aware of in order to actuallypass the guidelines and get your app onto the app store.So it really just, it's a real taster.It's like dipping your toe in,and if you've never done anything like this before,it's a great place to kind of exploreand see what the differences betweenapps and web for example,I imagine that lots of people will have comehaving maybe designed for the web or being a web developer.- Hmm-mm. - And I lovelearning new things.I don't knowabout everyone else, (chuckles)but I find it really fun.And it's actually never been an easier,I've been an Apple developer now for like,yeah, like 10 years and God,it was really not that pleasantwhen I started out (chuckles)like using objective (indistinct)was this really kind of like verbose horrible language,and now obviously we use Swift, which is a lot easier.So yeah, you'll pick up a whole bunch of skillsthat'll help add to your likeentire kind of like skillset,it's always great as welljust to talk about if you're trying to get like a,add to your portfolio,even if you are going. - Hmm.[Lou] For like a web development role,if you show that you can build kind of like apps,if you're just doing front-end web development,this kind of shows a little bit more skills.- Hmm-mm. - So, you know,it ties in really well and kind of, yeah,getting jobs and things like that I would say.- Hmm-mm. - Is a good thing to do.[Faith] What's the difference,like how does Swift compare to something like JavaScriptto?[Lou] So obviously whenever you're kind of workingwith the programming language though,there are things that you can borrow from,like Swift borrows heavilyfrom like loads of different programming languages.And there are really familiar things like variables,functions, things like that.They're all kind of similar.One of the things that's different with Swiftis something called like a strongly typed language.Swift is picky,it likes to know what sort of informationit's dealing with at any one timeand if you pass, it something it's not expecting,it's gonna throw an error, which is actually meansit's kind of like a type safe language.It just means that it's,you catch a lot of errors earlier on the new wordperhaps if you were doing it in JavaScript,because it's constantly checking to make sure thatthe date, the stuff that you're working withis the right stuff, so.Yeah, it is similar in some ways.it's probably more similar I guess,I dunno if anyone have used Rust or like Quinlanand things like that, but yeah,it's a really like beginner friendly language Swift,is really readable,they just keep getting rid of things like semi-colons,like, don't need them anymore(chuckles) I guess it's nice.

11:16

But yeah, like it has things like Closure,so if you come from JavaScript, you'll recognize that.But to be honest with you,it's a very like readable language, it's very like,yeah, it looks good, it looks clean.Yeah.I think it's great for beginners if I'm honest.[Faith] Okay.And SwiftUI, I know you,there was some like blockers throughdesigning this just sort of kind oflaw of. - Yeah, definitely,so just to explain the difference between the two,Swift is the programming languagethat we use to create Apple appsand SwiftUI is a framework, a user interface frameworkthat we have to build basicallythe user interface parts of our apps.Well, it's a huge, huge changefrom the previous thing that we used, which was UIkit.The majority of the apps out there right noware still using the old framework,but SwiftUI is incredibly modern.And it's so, it takes a little while from like,I don't wanna call myself a dinosaur,(chuckles) 'cause I'm not that old,but I feel like if you've got used tothe old way of writing apps,like kind of like breaking those habitsand learning something different, like this is difficult,but SwiftUI in itself is like great.It's so much easier,you probably reduce your code by at like, at least a third.So it makes apps like much faster,it makes them like more fun, more easy to manage,you basically kind of likejust describe how you want things to look,and it just does a lot of the heavy liftingbehind the scenes.But, there is a but, it is a new framework.So this is what was quite frustrating for me I guess,writing the course, not coming from an older frameworkwhere I know how to do everythingand everything kind of like works as I expected.- Yeah. - With any new framework,like it does happen sometimes where,they need to fix things and they are pretty good at that,they've just released SwiftUI three,which like came out in June, I think.And yeah, they fixed it,they fixed a lot of stuff,and they're constantly updating it,but that can be a boundary for if you get stuck,you might not know whether it's youor whether it's the kind of framework sometimes,but that's what I'm here to figure things out.(chuckles) So yeah,I spent a lot of time kind of going through itwith like a fine tooth comb to make sure that,I've picked, hopefully picked outthe bugs. - Hmm.- Before other people have to. - Hmm.And you said like, you'll be there for support,so students can literally like upload their codesand reach out. - Yeah, absolutely.- When they needed to. - Like all of our courses,we've got the Slack group, the Slack channel,so like, if it's something that you're just wondering,feel free to ask it inside of the IRS channel,obviously, yeah, if you get stuck and your code breaks,you can go through like the usual support channels,I'll be on hand, I'll help you unpick it, definitely.It's always good to have someone on your team helping,(chuckles) especially when learningsomething new.[Faith] Definitely.

14:16

Yeah, I was gonna say,did you come up against any tricky blockers?I think it was SwiftUI, which.[Lou] Yeah, there are just,there's just a few niggly things like sometimes changing,like for example, we'll see it in the course actually,one of the things is changing the kind of backgroundof like a list for example, sounds very simple.Sounds like something that you should just be able to do,but like sometimes you have to dip backinto the old framework.So you kind of have to know a little bitof both at the moment,and I don't see that really changingover the next couple of years,but it's a really, really good time to,if you've not done any IRS (indistinct) before,to kind of come and join in because,you're learning something,everyone's like starting from scratch,everyone. - Yeah.[Lou] Even the way you were kind of like thinking aboutdesigning in spaces has changed.So you're kind of not far behind anyone else with this,I guess, it's brand new for everyoneor it we're all kind of be in the same boatand yeah, it's a really like,yeah, it's a good thing to learn.And even though we are dipping back and forth a little bit,it's still not that hard.I mean, it's like one line of codeand it's quite interesting to seethe kind of like comparison of likethe old ways of doing things anyway,so. - Hmm.[Lou] Yeah, sometimes frustrating,but I'm kind of in love with it now,so. (chuckles)[Faith] That is comfortingthat people won't be that far behind,even if they're a complete beginner,so. - Yeah.[Faith] Yeah.And kind of talking about sort of apps at largea little bit more, so we were touching on accessibilityand how will you go about that when making apps?'Cause it's something that obviouslyyou were there. - Yeah.So like iOS apps, they come,or obviously the iOS platformcomes with a whole host of different accessibility features.You have to enable something called Voiceover,which basically allows you to,it will read out that different things on the screenand you can actually communicatewith your phone by your voice.So anyone that is like visually impairedor anything like that can use those features.We also make an effort to make sure that all of ourkind of, the apps that we built for the courses,they have good contrasting colors,like make sure that they arestill kind of like viewable againfor anyone that has visual impairments.And another thing is to make sure that your adscan be kind of like zoomed in,obviously thinking aboutmaking sure things are spaced correctlywhen you're designing user interfaces is really important.And yeah, there's loads of like actually kind ofgreat features that come with Apple,the Apple platform that do make accessibilitykind of a lot easier to build into your apps.But I think it's something like 15% of peoplehave some sort of like disability or like an impairment.So that's a huge,like a huge part of the market that you're excludingif you don't make your apps accessible.So it's absolutely something that I feel like is importantand it's something we touch on in the course as well.[Faith] Cool.And, why should someone learn like iOSover another technology like Android(indistinct) (chuckles)[Lou] This is like the age old battle question(laughing) between likeiOS and Android.Well, like for me I use Apple products and it's been,

17:30

I didn't always, I started off on like a Windows computer,I used to.And when I actually moved from Windows to Mac,I found that it was kind of like hard to do anything,but I just got so used to it.I feel like if you are into Apple products,then obviously learning iOS developmentis a little bit of like a no-brainer,but it depends that,they're all pretty much like caught up with each other now,like obviously if you're interested in learning Android,I do a little bit of Android development too,I just prefer like the Apple platform,I prefer Xcode, I prefer Swift, slightly easier.- Hmm. - But again,it really depends on you.Obviously there are things like React Nativeand lots of different frameworks out therethat allow you to do cross platform apps.And again, like they are still really valid to learn too.It depends on what you're kind of learning this for.If you want to build something that is like,the difference between cross platform and native appsis obviously native apps are built specificallyto run on like the specific platforms.And it used to be that you got better accessto like the devices technology and things like that.But to be honest with you,they all pretty much caught up nowand they are all pretty similar,but for me, I just really enjoy iOS development.I really enjoy kind of like the languages,the tools, I like singing on my phone.And yeah, I think that if you like Appleand if you are into Apple products,if you use Apple products, it's a really great insight.Just knowing kind of like, what goes on behind the scenes,how things actually work. - Hmm.[Lou] And yeah.I know that's not kind of likea definitive answer, but. (chuckles)[Faith] It just made me think actually with,'cause a while ago,I think people were saying that apps were sort of deadand like people weren't using them anymore,but is that, how much truth is in that?Have they kind of made a comeback,- I mean. - What's going on with it.[Lou] I don't think apps are dead,I mean, everyone I know (chuckles)uses apps all the time,like everyone is constantly using apps.I think we're at a stage where like,we are quite oversaturated in general with likejust everything, kind of like social media,like different kinds of things, tools we can use.Like there are tons and tons and tons of things out there.I mean, like there is something like,I think there's like 1.85 million apps on the app store,just on the app store,but that it's not even combining with Google Play.So, we are talking about like a big marketplace,but it's not all about necessarilykind of coming up with a next best app idea.There's always gonna be jobs that people need apps made,like you need updates, you need to do these things.And it's just kind of fun to be honest,I think (chuckles)it's fun to know, it's fun to learn,and there is still a real demandand a real like skill shortage in the sector.So. - Hmm.[Lou] Learning something like this does help you to,future proof your career in a way,you're like adding, as I said, adding to your skillsetand apps are not dead. (laughing)[Faith] I didn't say they were,but I was just poking at it.

20:33

Do you have a favorite app that you justthink is a great kind of model for?- Gosh. - Yeah.[Lou] I love loads of apps typically, don't I.

20:45

At the moment I'm obsessed with Apples,like Apples fitness app.Like I use it. - Okay.[Lou] I have like a constant competitionwith my two friendsand it's really helped me to keep fit.And I just love how like apps enable real life experiences,that's one of my favorite things about them.- Hmm. - It's kind of liketying it into the real worldand actually getting you to like do stuff,like to help someone or to get fit,things like that. - Hmm.[Lou] Another one that I really like is Be My Eyes,which is. - Ooh.[Lou] Like wherebasically people that are visually impairedpair up with sighted peoplethat can essentially help each other out.Like if they get stuck, they can sign up on their appand say, can you help me see this?And the person that can see will help them to actuallywith some decision that they're making.

21:35

So that's really nice.Like, I love for loads of them, so like gaming wise,I'm gonna go old school.And I like Monument Valley.Do you remember Monument Valley?- No. - Ah, it's so nicely designed.It's by us too. - Oh, is it?Oh. - Yeah, it'slike I mean, I'm not a big gamer,like I'm not, but that one is justso beautifully seamlessly designed,like it's a really stunning app like,it's kind of a little bit old now, but yeah,I use, obviously use apps for lots of different thingsand build quite a few. - Hmm.[Lou] Of my own at the same time.There's just endless kind of, endless things you can do.Like, it really is just the creativityand the kind of,the technology that you have at your fingertipsthat you can actually like lock into it and do stuffis just kind of like blows my mind.(chuckles)but yeah. - I feel likethis is a really fun corner of super highthat you're like owning.(chuckles) - Yeah, definitely.

22:32

Come join me in my corneranytime you like. - I will,with my beginners knowledge,although now I can actually learn.[Lou] That's good.[Faith] That's kind of all we're talking about today, but,yeah, I can't wait to share this with students very soon.

22:48

Yeah, thank you. - Oh, me too, I'm so excited.If anyone is interested, wants to know more,like feel free to reach out to me.You can find me on the students luck.And yeah, if there's something that you're wonderingor something that you wanna learn, whether it's,you wanna learn how an app was made or things like that,give me a shout and I'll do as best I can to help you out.[Faith] Great, bye Lou.(chuckles) - Thank you.

Published

August 2, 2021

Difficulty

Beginner

Posted by

Louise Bishop

Meet SuperHi Unlimited! Our annual membership that unlocks all our courses, extra community perks, and early access.

Find out more

Want more? Sign up for our newsletter for more articles, resources, and fresh inspiration!