0 1 00:00:00,470 --> 00:00:00,820 All right. 1 2 00:00:00,820 --> 00:00:07,570 So now we've got the color palette down and we know roughly how we want our user interface to look based 2 3 00:00:07,570 --> 00:00:10,230 on some of the stuff we found on mobile patterns. 3 4 00:00:10,330 --> 00:00:15,160 What's the next step? The next step is creating a user flow diagram. 4 5 00:00:15,160 --> 00:00:17,090 Now what is a user flow diagram? 5 6 00:00:17,110 --> 00:00:19,110 Essentially an engineering diagram. 6 7 00:00:19,120 --> 00:00:25,170 It's a very high level representation of a user's journey through your app or through your website. 7 8 00:00:25,180 --> 00:00:31,690 For example say you open up the Amazon app. On the home screen you can decide to search for an item or 8 9 00:00:31,690 --> 00:00:38,140 you can have a look in your basket and go to check out or you can just browse through the list of suggested 9 10 00:00:38,170 --> 00:00:38,680 items. 10 11 00:00:38,710 --> 00:00:44,230 So a user flow diagram is what we use to design a user's journey. 11 12 00:00:44,230 --> 00:00:49,920 It's a bit like a website site map. And a user flow diagram is made up of three things. 12 13 00:00:49,970 --> 00:00:54,320 One you use rectangles to represent screens, 13 14 00:00:54,340 --> 00:01:01,510 so the home screen or the login screen. And then use diamonds to represent decisions such as tapping 14 15 00:01:01,510 --> 00:01:08,090 the login button or swiping to the left or zooming in on an image. 15 16 00:01:08,110 --> 00:01:10,080 So diamonds offer decisions. 16 17 00:01:10,180 --> 00:01:14,850 And finally use arrows to link up screens and decisions together 17 18 00:01:15,040 --> 00:01:17,730 and in the process you create a user flow diagram. 18 19 00:01:17,920 --> 00:01:20,190 So let's show you an example. 19 20 00:01:20,200 --> 00:01:24,220 So this is the Twitter app and on the left is the home screen. 20 21 00:01:24,220 --> 00:01:26,740 So this is what shows up when you launch Twitter. 21 22 00:01:26,740 --> 00:01:30,460 And that's of course the feed that's that we're seeing right now. 22 23 00:01:30,760 --> 00:01:36,910 And on the right is what happens when you tap the new tweet button over here. 23 24 00:01:36,910 --> 00:01:41,470 So once you tap this you go to this screen which is the compose screen 24 25 00:01:41,470 --> 00:01:48,550 and here you can type in a tweet. And you have two actions essentially. You can either discard your tweet 25 26 00:01:48,550 --> 00:01:55,150 by clicking the cross or you can click the tweet button to send off your tweet into the world. 26 27 00:01:55,150 --> 00:01:58,930 Now of course there's actually quite a few more buttons that are available. 27 28 00:01:59,170 --> 00:02:05,200 But let's just map this very basic user flow of going into Twitter, 28 29 00:02:05,440 --> 00:02:11,350 composing a new tweet and either deciding to discard or sending it out into the world. 29 30 00:02:11,350 --> 00:02:19,690 So this feed screen would be converted to a rectangle labeled feed, the compose button would become a 30 31 00:02:19,750 --> 00:02:23,650 diamond which represents the new tweet action. 31 32 00:02:23,740 --> 00:02:30,580 Once you click on the new tweet action. it should take you to the compose screen which is again represented 32 33 00:02:30,610 --> 00:02:32,040 by a rectangle. 33 34 00:02:32,170 --> 00:02:37,990 And finally on the compose screen you have two possible actions that you can take: 34 35 00:02:38,050 --> 00:02:46,150 you can either press cancel to go back to the feed or you can press tweet to send your tweet out into 35 36 00:02:46,150 --> 00:02:52,300 the world. And then we can link all of these actions up with arrows to show how the user progresses 36 37 00:02:52,300 --> 00:02:57,250 through the app and completes a journey of composing and sending out a new tweet. 37 38 00:02:57,250 --> 00:03:00,650 Now going back to our workout app example. 38 39 00:03:00,760 --> 00:03:03,430 So this is something that I've just drawn up off the top of my head, 39 40 00:03:03,460 --> 00:03:06,070 what I would want from my workout app. 40 41 00:03:06,130 --> 00:03:12,640 So you should be able to firstly enter through the welcome screen. And instead of letting users register 41 42 00:03:12,670 --> 00:03:18,400 with email I've decided that they can either log in with their Facebook account or they can log in with 42 43 00:03:18,430 --> 00:03:25,030 Google. And after they log in they are taken to the home screen. And at the home screen they have a number of 43 44 00:03:25,030 --> 00:03:26,560 actions that they can perform. 44 45 00:03:26,590 --> 00:03:32,290 They can either start a new workout or browse through different workouts or they can check their own 45 46 00:03:32,290 --> 00:03:36,220 profile or they can check out their workout stats. 46 47 00:03:36,220 --> 00:03:42,580 Now while this app is very simple and it's relatively easy to map out most of the functionality in a 47 48 00:03:42,580 --> 00:03:48,820 single page, this is certainly not the way that we would recommend you do it because it can become very 48 49 00:03:48,820 --> 00:03:50,470 complex very quickly. 49 50 00:03:50,500 --> 00:03:57,190 But instead what you should do is you should map out a user flow diagram for a single user journey. 50 51 00:03:57,190 --> 00:03:58,470 So what does that mean? 51 52 00:03:58,480 --> 00:04:05,920 For example, if we only wanted to map out the diagram for a user going into the app and completing a 52 53 00:04:05,920 --> 00:04:11,170 workout session, well what they would do is they would go into the welcome screen, they would log in that 53 54 00:04:11,170 --> 00:04:12,880 would take them to the homescreen. 54 55 00:04:13,090 --> 00:04:18,850 They can then click to browse through workouts which takes them to the list the workouts, they select 55 56 00:04:18,850 --> 00:04:20,320 the ones that they want to do 56 57 00:04:20,470 --> 00:04:27,700 and then after they've done selecting they get taken to the workout session screen. And here they can 57 58 00:04:27,700 --> 00:04:30,560 end the workout or go to the next exercise. 58 59 00:04:30,670 --> 00:04:34,670 If they end the workout, they get taken back to the homescreen etc. etc. 59 60 00:04:34,750 --> 00:04:37,480 Now why is all of this necessary? 60 61 00:04:37,480 --> 00:04:43,660 You know, a lot of students ask you know "why can't I just go straight to designing my app in Photoshop?" 61 62 00:04:43,990 --> 00:04:45,310 Or even more extreme, 62 63 00:04:45,310 --> 00:04:48,190 "why can't I just start coding and see how it goes?" 63 64 00:04:48,490 --> 00:04:55,390 Well, because when you're at the earliest stage of designing which is this stage the first stage which 64 65 00:04:55,390 --> 00:04:57,670 is mapping out you use a flow diagram, 65 66 00:04:57,760 --> 00:05:01,440 it's very easy to make any changes as necessary. 66 67 00:05:01,800 --> 00:05:09,870 So for example if in our workout app we wanted people to have the option of starting a default workout 67 68 00:05:10,140 --> 00:05:13,330 without having to go through browsing and selecting it, 68 69 00:05:13,380 --> 00:05:18,830 we can simply edit the user flow diagram like so. We're on the home screen, 69 70 00:05:18,820 --> 00:05:24,710 we have a single button or a single action that can take us to the workout session starting a default 70 71 00:05:24,750 --> 00:05:25,330 workout. 71 72 00:05:25,440 --> 00:05:28,560 This process probably took me two seconds. 72 73 00:05:28,560 --> 00:05:35,700 Now this process in Photoshop, having to change the homescreen, having to add a new 73 74 00:05:35,760 --> 00:05:42,810 action, having to link all these things up which would have probably taken me a few hours. And this whole 74 75 00:05:42,810 --> 00:05:48,440 process, if I was doing it in code, would probably take me a few days. 75 76 00:05:48,450 --> 00:05:52,130 So the beauty of designing from as basic as possible, 76 77 00:05:52,140 --> 00:05:58,500 so starting from user flow diagram, is that you get to a point where you're happy with how your app 77 78 00:05:58,500 --> 00:06:05,370 functions or how your app would logically work before you commit yourself to any designs before you 78 79 00:06:05,370 --> 00:06:11,940 commit yourself to miles and miles of code. Which means that you end up saving time and therefore money. 79 80 00:06:11,960 --> 00:06:19,080 A lot of the students who we've had on our physical in-person programming bootcamps have paid you know 40,000 80 81 00:06:19,080 --> 00:06:27,990 50,000 easily for an app that is incomplete because they don't start out with a very basic use of flow 81 82 00:06:27,990 --> 00:06:28,760 diagram. 82 83 00:06:28,770 --> 00:06:35,910 They don't go through the formal design process. And only once the app has materialized into code that 83 84 00:06:35,910 --> 00:06:41,430 they've commissioned a freelancer to do or they've commissioned an agency to do. So they get it in their 84 85 00:06:41,430 --> 00:06:48,320 hands and they realize "This is not what I wanted." And making any changes at that stage 85 86 00:06:48,330 --> 00:06:54,420 once designers have worked on it, once programmers have worked on it, is very very costly and very time 86 87 00:06:54,420 --> 00:06:55,430 consuming. 87 88 00:06:55,500 --> 00:07:00,000 So I highly urge you guys to always start from the basics. 88 89 00:07:00,150 --> 00:07:05,040 So just sketch out a user floor diagram. And this is the time where instead of just listening to me 89 90 00:07:05,880 --> 00:07:10,820 telling you all about it, it's time for you to do some hands on work. 90 91 00:07:10,830 --> 00:07:17,490 So the premise is that you're commissioned to design a recipe app. And this recipe app is going to allow 91 92 00:07:17,490 --> 00:07:20,210 the user to do two very simple things. 92 93 00:07:20,340 --> 00:07:28,590 One is browse through a list of recipes and two is save or favorite those recipes so that they can refer 93 94 00:07:28,590 --> 00:07:30,000 to it later on. 94 95 00:07:30,000 --> 00:07:36,480 Now it's time to pause the video, take a piece of paper take a pencil pencil and sketch out the user 95 96 00:07:36,480 --> 00:07:39,380 flow diagram for this recipe app. 96 97 00:07:39,750 --> 00:07:45,300 And if you get confused at all or if you forget about how we design user flow diagrams, you can always 97 98 00:07:45,300 --> 00:07:50,780 rewind the video and see how we did it for the Twitter app or how I did it for the workout app. 98 99 00:07:50,880 --> 00:07:55,590 And once you've completed the challenge, I'll see you in the next video when we talk about wire framing.