All right, guys. 1
As with all good things, they always have to come to an end. And well done for getting to this part of 2
the tutorial. You've built so many cool things. You've learned so many new concepts, and this is by no means 3
easy stuff. 4
Development is hard and a lot of the concepts that we're trying to teach you are taught 5
over six months in an undergrad computer science degree, and we're trying to condense it into as short 6
a period as possible by using project-based methods. 7
So, now begs the question, where next? 8
The important thing is don't forget. 9
So we've taught you a lot of things. 10
And in order to really put it into practice, you have to experiment and test out your own ideas. 11
So make your own app and start off with something really simple. 12
Don't try and make an app that's Facebook merged with Twitter merged with Instagram. 13
That's really not going to end up well. 14
Instead, try to build a minimum viable product. So have something super simple, and then build on top of 15
it in order to make it more and more complex, more and more interesting. 16
Don't start off with something that's just like a wheel, and then you have two wheels, 17
and by this point, you've already banned in the project. 18
That'll be really sad. 19
So try and build a skateboard instead. 20
So plan out your app, 21
avoid complexity. And to do that, make sure that you prototype your app and set out all the screens, all 22
that layout, how it's going to work. 23
And we've introduced you to some tools in the app design modules including pop and model as well as 24
sketch. 25
So have a look over there for some inspiration and learn a bit more if you haven't already about how 26
to create user flow diagrams. 27
create 28
wireframes, make mockups and prototypes, et cetera. 29
So that's a really essential step and it's really important that you don't skip it. 30
So code wise, you should always aim to stand on the shoulders of giants. 31
What I mean by that, 32
use open-source code libraries. 33
There are so many great ones out there. And we've introduced you to some of them in some of our app projects. 34
For example, we used SVProgressHUD to have a loading spinner in FlashChat. And in Clima, we used 35
library such as Alamorefire to network, 36
also, SwiftyJSON to make--working with JSONs a little bit easier, 37
et cetera. 38
And it's really easy to just go into Google and search for top 5 iOS libraries or best iOS libraries, 39
and you'll come up with a whole load of lists that you can read through and window shop and keep a note 40
of some of those that you might want to use in a future project. 41
Now, there is a weekly newsletter compiled by some really great guys and they include some of the new 42
open-source libraries that they've discovered, and it can be quite a good way of keeping on top of what's 43
happening in the iOS world, as well as keeping a tab on new libraries that people are developing. 44
So the other thing to mention is have a look at some of these apps services when you're trying to implement 45
your apps. 46
Don't try to build everything by yourself. 47
Instead, try to leverage services that other people have ready built that can make your life so 48
much easier. 49
Not to mention, cut down maybe three or four months of development. 50
So we've already looked at Firebase for implementing a real-time Cloud-based database. 51
But Firebase have a lot of other features, too. 52
For example, they have notifications, they now have server-side implemented code, and they have a whole 53
load of things there. Just go and check it out. 54
The other thing to implement and it's something that I have and most of my projects is an SDK called 55
craslytics, and this is something that shows you when your app is deployed out there on the App Store, 56
how many crashes you're getting, 57
under what conditions, for example, which operating systems, which devices is your app crashing on, so that 58
you can identify bugs and treat and cure them. 59
Now, MapBox deserves a special mention because they are a really easy way of implementing maps or 60
map-based features in your app. 61
They also have offline mapping abilities and a whole bunch of beautiful, beautiful map layouts, 62
so check out MapBox. 63
And, finally, Sinch is a service that provides APIs to help you implement voice messaging and sending SMS 64
in your app, et cetera, so it's really cool as well. 65
Check out all four of these. And if you sign up to the newsletter, we tend to tell you guys about new 66
discoveries and cool new apps services, too. 67
So keep an eye out for that. 68
Now, finally, we're gonna talk about how to help yourself during development because in your journey of 69
becoming proficient as an iOS developer, you've learnt to use iOS documentation, you've learned to implement 70
some of the features that are available in iOS framework, 71
but, of course, we can't cover everything, 72
so, for example, we haven't covered how to use the camera or how to play videos or a whole bunch of other 73
cool things that the iOS SDK is capable of. 74
So how do you help yourself when you need to use a feature that we've not taught you? Well, the iOS Documentation 75
is your first port of call. And in there. in the API Reference and in the Documentation, there's a whole 76
load of explanations about how to do everything that you can possibly want with iOS. 77
And as you go from, you know, intermediate to advanced iOS developer, you're going to be more reliant on 78
the documentation that Apple provides in order to learn how to do some of the things that we haven't 79
taught you. 80
Now, the other thing is have a look at GitHub because GitHub is really gonna become your best friend. 81
There's a whole load of projects that people have uploaded on there and all of which are open source, 82
so you can check out to see how do other people write their code, or what is the best way of structuring 83
my project. 84
And these projects on there that are written by people at Apple, for example, so, you know, really that should be 85
the gold standard of how you should be using Swift and how you should be writing iOS projects. 86
But also there's projects on there from normal developers which you can learn from and, for example, 87
the link below the video which links to a Flappy Swift repository, and it has all the code that's required 88
to build yourself Flappy Bird using Swift. And you can read these code files to learn more about various 89
aspects of programming as well 90
as IOS development. 91
And you can also find some really cool libraries that you might want to incorporate into some of your 92
future apps. 93
So, for example, there's this really, really cool UI component from the guys at Yalantis. It has this beautiful 94
way of dismissing and fracturing the screen into a thousand pieces. 95
And I just think it's absolutely amazing. 96
And you could implement all of that with just a few lines of code by incorporating that library. 97
So check out some of these cool libraries. 98
Check out cocoapods.org for more awesome pods. 99
And in fact, one of my favorite activities is just browsing through all the new Cocoa Pods that are available 100
because sometimes you really find some new gems, and there have certainly been cases where I've built an app 101
just purely because I found this really nice pod that I wanted to implement. 102
So check it out. 103
And what if you get stuck 104
or what if you get a bug, or what if you get a problem while you're building your own projects? 105
Well, you're going to become very familiar with a website called Stack Overflow. And it's well-known 106
and well-established that when Stack Overflow is down, then the world over developers basically just stop 107
doing their jobs, because it's impossible to know everything. 108
And that's why we have these websites for knowledge exchange. 109
So I've mentioned Stack Overflow before in the Xylophone tutorial, and it's just a great place where you 110
can ask questions. 111
"I got this error." 112
"This is the error code." 113
"This is what happened." 114
And your question might get upvoted if a lot of other people have the same problems. And then, experts 115
and other developers come along and answer your queries, usually providing code snippets to help you 116
out and give you a solution to some of your woes. 117
So check out Stack Overflow if you haven't already, because it is going to be so important in your life. 118
All right. 119
So almost ready. 120
It's time to test your app. So before releasing your app out there into the world where all criticism 121
is invited, you want to make sure that there's no bugs and there's no obvious things wrong with your 122
app. 123
So make sure that you test it. Ask every single one of your friends all of your family to download it 124
and try it out and give you feedback. 125
Tell you if something's not working, 126
if something is crashing, or if they have anything that they can suggest to improve upon. And this is 127
going to be essential in avoiding one-star reviews on the App Store and getting a lot of hatred, 128
generally. People are not very tolerant on the App Store. 129
So make sure that your app is perfect before you put it out there into the world. 130
Now, what can you do if you have no friends? 131
Well, there is a website called Ubertesters. 132
And here, you can pay to get professionals to test out your app and give you feedback on it. 133
So check that out as well. 134
Now, finally, of course, it's time to publish your app. 135
And in the last module, we spoke about how you can publish using iTunes Connect and the various nuances 136
in terms of publishing your app. And you should keep in mind a quote by Reid Hoffman, who was the founder 137
of LinkedIn, and he said that if your first version isn't embarrassing, then you've shipped too late. 138
So as soon as you've got your co-features down and your app is working and bug-free, then put it out 139
there. 140
Let people try it out. 141
Let people suggest what the next features should be and see generally how much interest there is in 142
your idea or in your app, because it's very easy to get stuck in our own heads thinking that "Oh, I need 143
all of these 200 features before I can release it out there." 144
And that's just not going to help you in the long run because you might have spent two years and it might 145
be completely perfect for you. And you launch it and it lands with a thud. 146
Nobody wants it. 147
Nobody's interested in those features. 148
So always, always let your users dictate the direction of your apps. 149
And if you are like some of my past students 150
and you've successfully built your own apps and uploaded them to the App Store, then please let us know 151
because we want to tell the world about your app and we'll help you spread the word. 152
So this is an app by a former student of us called Mai Le, and she builds an app that allows her to speak 153
to her diary, instead of typing in it. 154
So the app is called NextSpeech and it turns your voice diary into a written entry. 155
And another really cool project by a former student of us is called EARLIER and this is for those people who 156
are bad--who are not morning people. 157
So Russ wanted to wake up earlier in the day like around 6 o'clock, 158
but just setting the alarm at 6:00 o'clock was pretty painful. 159
So he built this app that wakes you up one minute earlier every day until your target time. 160
So that's also really cool. 161
So if you've built your own project, do let us know, 162
and we will include you in the newsletters, will tell all our students, and will try and get you to product 163
turn as well. 164
So let us know once you've succeeded. And we do more than just app development, we have a huge lively 165
community, and we do a lot of events based in London. 166
So, for example, we have the Firebase team come down to our offices to teach our students about using 167
Firebase and what are all of its great features. 168
And we also took some of our students to the Twitter headquarters to learn about Twitter APIs and implementing 169
those as well. 170
So stay in touch. 171
Check us out on Meetup 172
if you are around in London, and, of course, tweet at us, or give us a shout on Facebook or Slack. 173
But we're here for you every step of the way and I sincerely wish you all the best luck. 174
So thank you so much. 175
That's all from me, Angela at the London App Brewery, and I hope I'll get to meet you in person at some point. 176
If you're ever around in London, 177
don't hesitate to pop into our offices and give us a shout. 178
So thank you so much, everybody. 179
And see you soon.