WEBVTT 0 00:00.480 --> 00:07.620 Hello, everyone, and welcome to yet another episode of Ask Angela Anything, and you guys have spoken 1 00:07.620 --> 00:12.660 and my team have selected some pretty choice questions, I would say, and I'm really excited to be 2 00:12.660 --> 00:14.680 able to answer them in today's episode. 3 00:15.060 --> 00:22.770 So, as you may notice, today is a very special episode because I am hailing from Nairobi in Kenya. 4 00:23.070 --> 00:26.400 And as you can see, it is absolutely beautiful out here 5 00:26.400 --> 00:29.070 and there's just birdsong and monkeys running around. 6 00:29.610 --> 00:34.590 So gone are the traffic sounds and the usual London pollution of my office. 7 00:34.920 --> 00:38.000 I hope today will be a scenic change to brighten your day. 8 00:38.280 --> 00:40.440 So once you're ready, let's get started. 9 00:41.280 --> 00:45.250 Now, the first question is from Virak Ngauv. 10 00:46.080 --> 00:48.150 This shouldn't be called Ask Angela Anything. 11 00:48.150 --> 00:51.300 It should be called Angela murdering people's names. 12 00:51.630 --> 00:56.680 So Virak asks, do you have any advice for somebody who's looking to start freelancing? 13 00:57.180 --> 00:57.630 All right. 14 00:57.630 --> 01:01.230 So you may or may not know, but I learned how to code when I was younger, 15 01:01.230 --> 01:04.590 and I have been programming on the site for many, many years. 16 01:04.860 --> 01:07.830 But I actually trained to be a medical doctor. 17 01:08.070 --> 01:12.510 So during that time and during med school, I spent a lot of time freelancing. 18 01:12.600 --> 01:16.380 So I hope I'm more than qualified to answer this question for you Virak. 19 01:17.670 --> 01:21.420 The first thing I would say is that don't jump in. 20 01:21.430 --> 01:27.000 Don't, you know, despite what people say, don't just dive into freelancing, quit your job, tell your 21 01:27.000 --> 01:32.790 boss that he's a dick and then just go and, you know, try and find a job. That's really bad. 22 01:33.240 --> 01:37.680 Even though the traditional image of an entrepreneur is someone who likes to take risks, that's actually 23 01:37.680 --> 01:38.610 really not true. 24 01:38.760 --> 01:44.430 If you think about Richard Branson when he started Virgin Atlantic, he didn't just go out and, you 25 01:44.430 --> 01:46.040 know, buy lots of planes. 26 01:46.050 --> 01:51.060 In fact, he actually leased a plane from Boeing to get started. 27 01:51.390 --> 01:55.710 And that meant that if it was successful, then great, he could continue doing this. 28 01:55.710 --> 02:01.040 But if it failed, then he could just give it back and his investment wouldn't suffer. 29 02:01.350 --> 02:03.530 So don't quit your job straight away. 30 02:03.540 --> 02:10.170 Instead, what you should do is try to figure out what spare time you have during the week and try to 31 02:10.170 --> 02:17.230 carve out about 15 hours per week that you're going to dedicate to building a pet project. 32 02:17.580 --> 02:21.840 Now, the important thing about this pet project, it doesn't really matter what you build, but what 33 02:21.840 --> 02:27.810 matters is that it has to be useful to at least one person so that one person can be you, 34 02:28.020 --> 02:30.420 it can be your wife, it can be your pet. 35 02:30.420 --> 02:32.790 It doesn't matter, but it has to be useful. 36 02:32.790 --> 02:38.880 It can't just be a hello world application or something that you used to learn about a particular API, 37 02:38.880 --> 02:39.520 for example. 38 02:39.780 --> 02:45.090 Now, once you've done that and you've deployed it onto either the Web or if you're building an app, 39 02:45.090 --> 02:49.860 then obviously onto the app stores, then you've started building a portfolio. 40 02:50.010 --> 02:56.100 And this is going to be a great thing that you can show everybody, potential employers or potential 41 02:56.100 --> 02:58.930 clients, that this is what you're capable of. 42 02:58.950 --> 03:00.690 So this is the beginning. 43 03:00.970 --> 03:05.490 So now at this stage, you are spending 15 hours a week building your pet project. 44 03:05.730 --> 03:11.400 And once you've started doing this, the next step is to carve out another 12 to 15 hours. 45 03:11.400 --> 03:13.500 Now, nobody said that this was going to be easy. 46 03:13.500 --> 03:15.830 Freelancing is not easy. 47 03:15.900 --> 03:17.220 Nothing that's worth doing 48 03:17.220 --> 03:17.790 is easy 49 03:17.790 --> 03:24.540 in fact. Now you're on to step two and you're carving out 15 hours per week, which you're going to 50 03:24.540 --> 03:27.330 spend working on other people's projects. 51 03:27.330 --> 03:30.720 So you're going to be freelancing on small gigs. 52 03:31.050 --> 03:36.840 So the best place to start, I recommend, is a website called Fiverr, and I'll include the links in 53 03:36.840 --> 03:39.600 the resources section of this episode. 54 03:40.290 --> 03:45.870 But basically it's a website where somebody can get a job done for maybe $5-$20 dollars. 55 03:46.380 --> 03:49.830 Now, the important thing here is that you're not here to make money. 56 03:50.070 --> 03:55.920 You're here to get skills, and you're here to learn about the world of freelancing. Just as you probably 57 03:55.920 --> 04:02.280 wouldn't let a surgeon operate on you if they haven't had any experience before, as a freelancer or as 58 04:02.280 --> 04:04.270 a web developer or an app developer, 59 04:04.650 --> 04:09.540 people need to be able to see what you've done in the past, how you were able to work with clients 60 04:09.540 --> 04:12.930 and have people who can give you good testimonials. 61 04:13.200 --> 04:18.250 That kind of stuff is really, really important in your career as a freelancer. 62 04:18.630 --> 04:25.170 So the first step I recommend is getting started with small things on Fiverr and don't take on projects 63 04:25.170 --> 04:28.200 that will take you any longer than a week, to start with. 64 04:28.470 --> 04:32.340 And another place you can look at is a place called oDesk and Upwork. 65 04:32.670 --> 04:39.150 And you could start building up your profiles on those websites and start answering to some of the requests. 66 04:39.150 --> 04:44.310 And again, don't go for something ambitious. Even though, you know, the larger projects obviously 67 04:44.310 --> 04:45.090 pay more, 68 04:45.450 --> 04:48.330 the important thing here is still about getting experience. 69 04:48.330 --> 04:55.110 So you're looking for projects that basically larger freelancing firms or agencies don't really want 70 04:55.110 --> 04:55.830 to take up. 71 04:56.040 --> 04:59.850 So these are things like bug fixes or things like updates 72 05:00.530 --> 05:06.740 or maintenance or small improvements, not going to make you a millionaire, but it will start earning 73 05:06.740 --> 05:12.250 money and along the way you will gain really, really valuable experience. 74 05:13.100 --> 05:14.360 So that's what it's all about. 75 05:14.640 --> 05:19.190 Now, once you've been working with a couple of clients, some of them, if they enjoyed working with 76 05:19.190 --> 05:25.460 you because you are communicative and I can't stress enough how important it is to be able to communicate 77 05:25.460 --> 05:31.130 well with your clients as a freelancer. It's probably the one thing that will make or break your career. 78 05:31.340 --> 05:37.250 Give your clients regular updates to show them what you've done and explain what it is that you're doing. 79 05:37.280 --> 05:42.860 It's really important that they understand how much work you're doing and also how you're trying to 80 05:42.860 --> 05:44.700 do a really great job for them. 81 05:45.170 --> 05:51.980 So as you do this, you will start to build up a client list, people who will ask you for other things 82 05:51.980 --> 05:55.010 that they want done as well, and you will get word of mouth. 83 05:55.130 --> 06:00.350 And as this goes along, you'll end up with a list of clients who will give you jobs, who will give 84 06:00.350 --> 06:06.890 you good reviews or testimonials, or be able to act as a reference for you for future jobs. And with 85 06:06.890 --> 06:07.780 your portfolio, 86 06:07.790 --> 06:12.680 remember those 15 hours a week that's going towards those pet projects? That's going to be building your 87 06:12.680 --> 06:17.300 portfolio and with the experience that you're getting with your clients, and that's going to help you 88 06:17.300 --> 06:21.350 network and getting more people interested in getting you to work for them. 89 06:21.590 --> 06:24.350 And now, at this stage, congratulations. 90 06:24.350 --> 06:25.550 You're a freelancer. 91 06:25.560 --> 06:26.420 You've made it. 92 06:26.640 --> 06:32.120 And from this point onward, you're going to start to work on larger and larger projects, perhaps collaborate 93 06:32.120 --> 06:33.980 on some projects with other programmers. 94 06:34.100 --> 06:36.440 But as always, the first part is hardest. 95 06:36.440 --> 06:42.200 And once you've gotten over those hurdles, you will be on your way to becoming a fully-fledged and 96 06:42.200 --> 06:47.310 hopefully a really, really in demand, a freelance web developer or app developer. 97 06:47.750 --> 06:53.280 So I wish you the best of luck Virak, and I hope you have an awesome time as a freelance developer. 98 06:54.110 --> 06:54.470 All right. 99 06:54.470 --> 06:57.290 So on to the next question. 100 06:57.500 --> 07:04.000 This is a question from Amit Singh and he asks, What does your daily schedule look like? 101 07:04.370 --> 07:11.640 OK, so the first thing I'm going to say is that what I'm about to tell you is probably an ideal day. 102 07:12.710 --> 07:15.380 I travel a lot because I give talks. 103 07:15.390 --> 07:18.560 So, for example, right now I'm in Nairobi because I'm giving a talk. 104 07:18.710 --> 07:26.690 So this is the daily schedule of a day where I'm based in London and I don't have anything special planned 105 07:26.930 --> 07:27.820 for the day. 106 07:28.190 --> 07:30.470 So I think in one of the the previous AMAs 107 07:30.470 --> 07:34.070 I talked about my morning routine, so I'm not going to cover that part. 108 07:34.070 --> 07:39.590 If you're interested, have a look at one of the previous ones and you'll find the answer there. 109 07:39.860 --> 07:43.970 But I'm going to start from about 9 o'clock, which is where I tend to start work. 110 07:44.210 --> 07:51.240 So for the first hour and a half of the day, so 9:00 until 10:30, I spend on learning stuff. 111 07:51.500 --> 07:55.010 Now this sometimes becomes one hour, sometimes it's two hours. 112 07:55.010 --> 07:56.980 It's really dependent on what I'm trying to do. 113 07:57.290 --> 08:01.040 I want to be able to have enough time so that I haven't just gotten started 114 08:01.040 --> 08:02.690 and I have to switch to another task. 115 08:02.840 --> 08:04.850 But I'm more of a morning person. 116 08:04.850 --> 08:10.460 I'm very alert during the mornings 117 08:10.460 --> 08:14.890 and I'm capable of doing the most creative work during that time. 118 08:15.200 --> 08:19.320 So that's the time period that I tend to allocate to learning new things. 119 08:19.340 --> 08:25.910 So, for example, this morning I spent learning and digging more into Selenium Webdriver because 120 08:26.360 --> 08:33.770 I had written a postscript from God knows how long ago, which basically I'm not even sure I should 121 08:33.770 --> 08:39.500 share this with you, but it's a script that basically renews my library books automatically. 122 08:39.500 --> 08:46.790 So once it gets to two days before the due date, then it will renew my books without me having to do 123 08:46.790 --> 08:50.230 it because I'm terrible at remembering things unless it's in my calendar. 124 08:50.240 --> 08:53.780 So that was a hack that I wrote a while ago. 125 08:53.870 --> 08:56.690 But there's a lot of people who've been asking me how to do it, 126 08:56.690 --> 09:02.690 and rather than teaching them Pearl, which is just like torture, I thought it might be a good idea 127 09:02.690 --> 09:05.390 to teach people how to use Selenium Webdriver. 128 09:05.750 --> 09:13.790 So, for example, I'm using it to book the gym classes that I tend to go to and also I'm trying to 129 09:13.790 --> 09:17.540 get it to renew the books that I have in the library. 130 09:17.840 --> 09:19.280 So that's what I was doing this morning, 131 09:19.280 --> 09:21.950 but it could be anything really. 132 09:21.950 --> 09:27.230 It's basically something new that you want to learn and you should dedicate a block of time when you 133 09:27.230 --> 09:28.990 are at your best to do it. 134 09:29.000 --> 09:33.470 Now, that tends to be the morning for most people, but I know that there's a lot of night owls. 135 09:33.470 --> 09:38.300 So it could be that for you, maybe that's, you know, 12:00 midday, but basically spend an hour and 136 09:38.300 --> 09:41.330 a half during your best time to learn something. 137 09:41.330 --> 09:43.360 I think that's really, really worthwhile. 138 09:43.940 --> 09:48.740 Now, after that block, I tend to do more creative work. 139 09:48.740 --> 09:50.270 So high again, 140 09:50.270 --> 09:50.750 high 141 09:50.750 --> 09:52.280 brain demand kind of work. 142 09:52.460 --> 09:59.480 So that includes things like developing new lesson plans for you guys and 143 09:59.980 --> 10:06.490 also working on a new curriculum or working on a development project. Those are things that require 144 10:06.490 --> 10:12.430 high cognitive function, which I tend to have less and less of as I go towards the end of the day. 145 10:12.760 --> 10:14.820 So that's the morning basically done. 146 10:15.220 --> 10:20.560 And then maybe I'll spend about half an hour on lunch, try to eat and trying to eat something that's 147 10:20.560 --> 10:23.890 not so carb-heavy so that I can stay awake during the afternoon. 148 10:24.130 --> 10:28.630 And then I would normally go for a walk for maybe 30 minutes to an hour. 149 10:28.870 --> 10:32.380 And very often in our company, we tend to do walking meetings. 150 10:32.650 --> 10:40.420 So we'll just take the whole team and we'd walk and talk and hash things out, because I find that when 151 10:40.420 --> 10:43.750 people are sat down in a meeting room, everything is very slow. 152 10:43.780 --> 10:47.170 And I think when you're walking, I have long legs and I tend to set the pace. 153 10:47.450 --> 10:53.290 So I think when everybody's walking really fast, they seem to get out of breath and need to talk really 154 10:53.290 --> 10:55.090 fast, which I really like. 155 10:55.300 --> 10:59.260 So trying to mold your environment to suit your highest productivity. 156 10:59.590 --> 11:05.620 Then after the walk, I tend to work on some slightly less cognitively demanding tasks, for example, 157 11:05.620 --> 11:09.850 video editing or meetings with clients and those kind of things. 158 11:09.970 --> 11:13.270 And then finally, from four o'clock to five o'clock is my email time 159 11:13.270 --> 11:17.200 and that's the only time during the day when I check my email. 160 11:17.200 --> 11:21.430 So I find that with notifications, it's very much a pulling process. 161 11:21.430 --> 11:27.420 You're being pulled by the world into whatever needs they have or whatever demands they have. 162 11:27.430 --> 11:35.170 But it's much better for you to decide when you want to check email or when you want to address issues 163 11:35.170 --> 11:36.160 from other people. 164 11:36.460 --> 11:40.480 So essentially you can protect yourself just by switching off notifications. 165 11:41.260 --> 11:46.210 And in fact, my phone probably stays in airplane mode for a good... 166 11:46.510 --> 11:54.160 so I usually switch off airplane mode at 1 PM, and I tend to switch it back on around 6:30 PM or 167 11:54.160 --> 12:00.310 7 PM. So I'm not even really testing the battery life of the iPhone because it's only being switched 168 12:00.310 --> 12:02.320 on for maybe six hours a day. 169 12:04.060 --> 12:08.080 But it does help me get a lot of -- done, which is the important part, 170 12:08.080 --> 12:08.360 right? 171 12:08.710 --> 12:14.350 So after about 5 PM, I tend to wind down or, you know, finish off the things I need to finish 172 12:14.350 --> 12:20.010 off and just see if anybody else in the team needs any help or anything like that. 173 12:20.020 --> 12:23.050 And then I would probably have dinner around 7:00, I guess. 174 12:23.050 --> 12:28.440 And then after dinner, what I do depends on, again, my cognitive abilities. 175 12:28.450 --> 12:38.320 So when I have basically no cognitive abilities, then I would maybe play video games or watch something. 176 12:38.320 --> 12:45.940 You know, how like you have HP, this is when like HP is or mental points are at like minimum. 177 12:46.270 --> 12:50.980 One of my favorite games I'm playing at the moment is called SUPERHOT. 178 12:51.430 --> 12:56.820 And the idea is basically that as you move, time moves with you. 179 12:57.250 --> 13:00.640 So I can't really do it justice. 180 13:01.000 --> 13:04.570 I recommend just checking it out on YouTube, but it's a really cool game. 181 13:04.890 --> 13:05.860 I'm really enjoying it. 182 13:06.190 --> 13:11.920 If I have slightly more cognitive capabilities, then I'll probably read a book, usually non-fiction 183 13:11.920 --> 13:15.820 up to about nine o'clock and then after nine o'clock, it's only fiction. 184 13:15.820 --> 13:21.220 And if I have a lot of brain power left, then I like to play a game of go. 185 13:22.090 --> 13:25.480 I don't know how many of guys have ever played this game. 186 13:25.810 --> 13:30.070 I think it's called Baduk in Korean and it's called Weichi in Chinese. 187 13:30.970 --> 13:38.620 But it's a fantastic game and it's so simple in terms of the rules, and yet it's so complex in terms 188 13:38.620 --> 13:41.110 of all of the moves that you can make. 189 13:41.410 --> 13:43.900 So that's something that I recommend. 190 13:44.140 --> 13:50.590 So I know that this whole answer has been pretty much centered around how much cognitive capability 191 13:50.590 --> 13:51.220 I have. 192 13:51.520 --> 13:56.470 I think I'm making myself sound a lot like a robot: "if battery life 193 13:56.480 --> 13:57.070 high, 194 13:57.310 --> 13:58.270 do this. 195 13:58.270 --> 14:03.160 If RAM low, do that." I hope I don't come across as a robot. 196 14:03.160 --> 14:06.790 But yeah, so that's pretty much my daily schedule. 197 14:06.910 --> 14:11.860 If you have any productivity hacks or, you know, something that you do in your daily schedule that 198 14:11.860 --> 14:18.340 you think is really awesome has really helped you, then please do either hit me up on Twitter so 199 14:18.340 --> 14:27.100 @yu_angela or comment below or in the Q&A section and let me know. I'm always open to new 200 14:27.100 --> 14:27.550 ideas. 201 14:27.910 --> 14:28.240 All right. 202 14:28.240 --> 14:31.630 So the next question comes from Pascal Heimlicher. 203 14:31.810 --> 14:34.030 I really hope that was a good enough pronunciation. 204 14:34.060 --> 14:41.050 I tried really hard. And he asks, What do you think about cross-platform versus native app development? 205 14:41.560 --> 14:47.350 I have a lot of ideas on this because I get asked this question pretty much on a daily basis from students. 206 14:48.220 --> 14:53.890 But it's a really good question because there's a point in time where I would have said, "Don't even think 207 14:53.890 --> 14:54.970 about cross-platform. 208 14:54.970 --> 14:56.650 It's just not worth it. 209 14:56.650 --> 14:59.650 Just stick to native development and your golden." 210 15:00.080 --> 15:05.750 But actually, you know, more and more so these days, especially with new technology, new frameworks 211 15:05.750 --> 15:10.980 like React native, it's actually not so bad. 212 15:11.660 --> 15:14.880 Now, let's just talk about some of the pros and cons, OK? 213 15:14.960 --> 15:19.510 So the pros of native app development is that it's the gold standard. 214 15:19.790 --> 15:24.940 Basically, if you're a large company flush with cash, you're going to be going down the native route. 215 15:25.100 --> 15:26.020 No question asked. 216 15:26.030 --> 15:28.340 It is the best still hands down. 217 15:28.560 --> 15:30.740 Other pros include that it's fast. 218 15:30.740 --> 15:37.490 If you need animations, if you have graphics in your app, then you probably should stick to Native. 219 15:37.490 --> 15:40.550 When you're using something that's really graphics intensive 220 15:40.910 --> 15:47.240 then the cross-platform apps do show. Other things are things like you have access to exclusive APIs, 221 15:47.240 --> 15:53.660 for example, things like push notification, or if you want to tap into a health kit on the iPhone, 222 15:53.810 --> 15:59.270 then those modules are generally not available, at least not easily through cross-platform means. 223 15:59.480 --> 16:03.980 And the other thing is that if you're watching this video, then you're probably taking my iOS Swift 224 16:03.980 --> 16:11.520 course and you would know that there's a lot more resources for native development than for cross-platform. 225 16:11.810 --> 16:16.430 There are more people who are able to answer your questions on Stack Overflow, more results for your 226 16:16.430 --> 16:17.630 queries on Google, 227 16:17.870 --> 16:21.250 and there's even the Apple developer forum to help you. 228 16:21.260 --> 16:27.260 So there's a lot of help out there if you are going down the native route compared to cross-platform. 229 16:27.470 --> 16:32.870 Now, the biggest con for going down the native route is that if you want an Android app, you need 230 16:32.870 --> 16:33.890 a complete rewrite. 231 16:33.980 --> 16:39.530 There is basically zero reusability of your code and of your UI designs. 232 16:39.770 --> 16:43.250 So it's painful, it's expensive and it's time consuming. 233 16:43.250 --> 16:48.920 And you'll notice that most apps will launch on iOS first before they go down the Android route. 234 16:49.190 --> 16:53.960 And even if they are on both platforms, new features tend to come out on iOS first. 235 16:53.990 --> 16:58.990 It's just a resource constraint that most people have, even large companies like Snapchat. 236 16:59.000 --> 17:01.640 You'll see that features come to iOS first. 237 17:02.780 --> 17:10.850 So it's expensive because time equals money and it's and you need a lot more developers, a large development 238 17:10.850 --> 17:13.450 team, more people to manage, more people to pay. 239 17:13.880 --> 17:15.230 It's just more expensive. 240 17:15.410 --> 17:21.620 And the other thing is that if you yourself already have a good command of a particular language that's 241 17:21.830 --> 17:28.610 not Swift or Java, say you are a web developer and you know JavaScript or say your .Net guy and 242 17:28.610 --> 17:29.990 you know all about C#. 243 17:30.170 --> 17:37.370 If you're using cross-platform tools, for example, PhoneGap, Accelerator or Córdova, then you can 244 17:37.370 --> 17:39.590 use those existing skills that you have. 245 17:39.590 --> 17:42.860 And all you need to know is learn about the modules, the frameworks, the APIs. 246 17:43.190 --> 17:49.280 And that's a lot less painful than picking up a new language from scratch. 247 17:50.060 --> 17:56.480 Although I would argue that, you know, as developers, we've basically signed up to lifelong learning. 248 17:57.470 --> 18:02.000 There's probably a new JavaScript framework every single week, as far as I can tell. 249 18:02.870 --> 18:03.800 And it's cool, 250 18:03.800 --> 18:04.460 it's fun. 251 18:04.940 --> 18:07.250 I really enjoy learning new things. 252 18:07.520 --> 18:12.920 But if you don't, then that can also be quite a big downside of native. 253 18:13.070 --> 18:19.220 Now, the sort of halfway point or in between is something like React native, which is a framework that's 254 18:19.220 --> 18:24.730 open-source, but it has a dodgy licensing and it was created by Facebook. 255 18:25.310 --> 18:31.280 Now, the great thing about React native is that it offers a lot of the native features and it allows 256 18:31.280 --> 18:35.840 you to use the language that you're familiar with to code both Android and iOS. 257 18:35.840 --> 18:41.180 It has a whole bunch of modules that cuts down your development time because you can use them across 258 18:41.180 --> 18:42.160 Android and iOS. 259 18:42.200 --> 18:50.420 Now, it's not completely developed once and deploy everywhere because it has that native aspect, but 260 18:50.420 --> 18:52.010 it gets pretty close to it. Now 261 18:52.080 --> 18:58.280 the downside of React native, probably the biggest one, is that there are some really essential features that 262 18:58.280 --> 19:00.950 I think their modules lack. 263 19:00.950 --> 19:06.140 Like, for example, if you want to do something that's actually pretty standard on native iOS, I found 264 19:06.140 --> 19:12.590 that you actually can't do it very easily without creating custom code, which means that you need to 265 19:12.590 --> 19:14.800 know about Swift and you know about native development 266 19:14.810 --> 19:22.220 anyways. The way that I see React native is that if you are an existing iOS Swift developer 267 19:22.790 --> 19:29.470 who wants to build apps both for Android and iOS, you can use React native and do it more quickly. 268 19:29.900 --> 19:36.410 It's not really the use case for somebody who doesn't really know anything about Swift or iOS to just 269 19:36.410 --> 19:39.350 pick up and be able to develop for Android and iOS. 270 19:41.030 --> 19:45.950 The other thing to remember is that because it's developed by Facebook and it has this weird license, 271 19:46.280 --> 19:50.870 so you guys might have noticed that the most permissive license is the MIT license. 272 19:50.870 --> 19:53.480 That's basically just do whatever you want with this code. 273 19:53.870 --> 19:57.950 But Facebook has a weird licensing on both React and React native. 274 19:58.310 --> 19:59.630 And what it means is that 275 20:00.120 --> 20:07.230 if at some point in the future, your company that uses React or React native decides to sue Facebook, 276 20:08.690 --> 20:15.770 they can revoke your license to use their framework. So in most cases, none of us have to worry about 277 20:15.770 --> 20:16.810 suing Facebook. 278 20:16.820 --> 20:21.360 It's just that's just the level of success that we don't need to worry about until we get there. 279 20:21.800 --> 20:27.080 But if you are cautious and you know, especially with everything that's been going around about Facebook 280 20:27.080 --> 20:28.690 lately, I don't know. 281 20:28.820 --> 20:31.280 It's I think it's definitely a con for me anyways. 282 20:31.430 --> 20:39.230 But in conclusion, I would say that it really depends on the project that you want to build, whether 283 20:39.230 --> 20:42.320 if you should choose cross-platform or native development. 284 20:42.680 --> 20:48.920 And, you know, you really have to assess in a case by case scenario. It's really, there's no blanket 285 20:48.920 --> 20:49.210 rule. 286 20:49.400 --> 20:53.810 There have been projects where I've used React native to quickly create Android and iOS apps, 287 20:54.560 --> 20:59.360 there have been times where I've stayed very, very far away from any sort of cross-platform and stuck 288 20:59.360 --> 21:01.340 to good old native development. 289 21:01.550 --> 21:07.760 Figure out what the project is all about and look at the pros and cons of both and assess on which one 290 21:07.760 --> 21:08.960 will be better that way. 291 21:09.530 --> 21:16.430 So a tagged on question from Pascal is, "Are there any helpful tools that you use that makes a developer's 292 21:16.430 --> 21:17.300 life easier?" 293 21:17.310 --> 21:22.550 And yes, I'm all about the tools, all about the tools, bout the tools. 294 21:23.540 --> 21:31.130 This also should answer your third question, which is when can we expect new music videos from myself 295 21:31.130 --> 21:32.240 or the London App brewery? 296 21:32.540 --> 21:39.950 And that is never. I am never, ever, ever again making a music video. For those guys who don't know, 297 21:40.010 --> 21:40.580 great! 298 21:40.790 --> 21:48.260 For those guys who do know and have watched my rap music video about app development, I apologize for 299 21:48.260 --> 21:49.880 polluting your eyes. 300 21:50.990 --> 21:57.530 It was such a bad attempt and anybody who knows me knows that I can't sing for --, so I'm sorry. 301 21:57.530 --> 21:59.180 And it's never going to happen again. 302 22:00.440 --> 22:03.380 So but I do have helpful tools. 303 22:03.800 --> 22:09.890 One of my favorite websites is Product Hunt, and that's probably the first place that I go to for inspiration 304 22:09.890 --> 22:11.230 to see what new products there are. 305 22:11.240 --> 22:12.620 If you haven't seen it, check it out. 306 22:12.620 --> 22:13.910 It's absolutely awesome. 307 22:14.840 --> 22:21.530 But out of my top tools, I've selected four. First one is an app called Duet. 308 22:21.710 --> 22:28.970 And what it allows you to do is it allows you to set up a separate screen for your laptop or desktop 309 22:29.300 --> 22:32.060 using your iPad or even your iPhone. 310 22:32.810 --> 22:37.670 And that basically allows you to have a dual-screen or in my case, a triple screen. 311 22:37.670 --> 22:42.410 And once you have experienced the joys of dual screening, you will never go back again. 312 22:42.410 --> 22:43.220 I promise you. 313 22:43.370 --> 22:48.860 And this is probably the cheapest way of giving it a go, you can reuse your existing hardware, basically. 314 22:49.160 --> 22:51.350 And it's just an amazing experience. 315 22:51.350 --> 22:53.630 It's a really good app and I really, really recommend it. 316 22:54.560 --> 23:00.020 The next one is Alfred and many of you guys, especially if been watching if you've been watching my 317 23:00.020 --> 23:04.670 tutorials for a long time, you would have noticed that I use Alfred pretty much religiously. 318 23:04.820 --> 23:07.670 And a lot of you ask me why not just use Spotlight? 319 23:07.670 --> 23:08.690 It does the same thing, right? 320 23:08.750 --> 23:09.320 It doesn't. 321 23:09.320 --> 23:10.220 It really doesn't. 322 23:10.220 --> 23:16.760 It's firstly much, much faster at indexing because it's selective indexing and it doesn't go through 323 23:16.760 --> 23:17.840 your entire Mac. 324 23:18.680 --> 23:21.680 And the other thing is that it tends to pull up more relevant results. 325 23:21.800 --> 23:28.940 You have queries that you can put in there, like Find, which opens the folder or open, which opens 326 23:28.940 --> 23:30.290 a particular file that you have. 327 23:30.350 --> 23:32.810 But give it a go and you will never look back. 328 23:32.810 --> 23:33.800 I promise you as well. 329 23:34.580 --> 23:36.440 The next one is momento. 330 23:36.440 --> 23:38.900 So you might have seen it again in my videos. 331 23:38.900 --> 23:44.510 It's a Chrome plugin that I have which shows a new beautiful image of somewhere in the world that I 332 23:44.510 --> 23:48.380 should probably be traveling to every time you open a new tab. 333 23:48.680 --> 23:50.640 But it also has a to-do list built-in, 334 23:50.640 --> 23:56.240 it also has the weather, the time and allows you to focus on one particular task for the day, which 335 23:56.240 --> 23:57.290 I find really helpful. 336 23:57.590 --> 23:58.820 So it's a free plug in. 337 23:58.820 --> 24:01.940 Just, you know, try give it a go and see if you like it. 338 24:02.180 --> 24:06.590 And the last thing I'm going to talk about is something called Cheat Sheet, 339 24:06.830 --> 24:13.640 which is this amazing piece of software that gives you a cheat sheet of all the shortcuts in whichever 340 24:13.640 --> 24:15.050 application you are in. 341 24:15.050 --> 24:20.360 So if you hold down the command button, it will just show you a list of cheat sheets wherever you are. 342 24:20.690 --> 24:21.940 And it's really, really cool. 343 24:22.070 --> 24:26.480 Now, the last one I'm going to talk about is not really a good tool, but it's just something I found 344 24:26.480 --> 24:28.400 on Product Hunt that I thought was hilarious. 345 24:28.670 --> 24:32.600 It's called canned emails and it has canned breakup emails, 346 24:32.600 --> 24:33.230 it has emails 347 24:33.230 --> 24:33.830 for clients. 348 24:34.850 --> 24:40.430 I've never yet sent one of these because I'm just too scared that somebody else has seen this website. 349 24:40.790 --> 24:43.550 But it's pretty hilarious and I recommend you checking it out. 350 24:43.820 --> 24:46.550 So the sun is starting to go down around here. 351 24:46.550 --> 24:52.730 And I'm probably going to go and grab something to eat because I haven't eaten for a whole two hours 352 24:52.730 --> 24:53.000 now. 353 24:54.620 --> 25:01.400 But I hope you guys had fun with me in Nairobi in this episode of Ask Angela Anything. 354 25:01.670 --> 25:07.250 And if you have any questions for the next episode, then be sure to leave it below this video 355 25:07.750 --> 25:13.810 or on one of the new announcements that I make on a regular basis. So I hope you guys are having 356 25:13.810 --> 25:17.000 a great time wherever you are, and that's all from me. 357 25:17.020 --> 25:19.150 I'll see you next time. Ciao.