1 00:00:00,410 --> 00:00:01,200 I'm Nick Pettit. 2 00:00:01,200 --> 00:00:02,210 >> I'm Jason Seifer. 3 00:00:02,210 --> 00:00:04,894 >> And you're watching the Treehouse Show, your weekly dose of Internets 4 00:00:04,894 --> 00:00:07,810 where we talk about all the things web design, web development, and more. 5 00:00:07,810 --> 00:00:09,190 >> In this episode there'll be talking 6 00:00:09,190 --> 00:00:13,830 about typography, sidebars, style guides, and more. 7 00:00:13,830 --> 00:00:14,720 >> Let's check it out. 8 00:00:14,720 --> 00:00:18,659 [MUSIC]. 9 00:00:20,190 --> 00:00:26,170 First up is typebase, which is a minimal customizable typography style sheet. 10 00:00:26,170 --> 00:00:29,060 I know that because it says it right here on the web page. 11 00:00:29,060 --> 00:00:30,250 >> Words on a page. 12 00:00:30,250 --> 00:00:34,450 >> You can use less and sass versions so that 13 00:00:34,450 --> 00:00:37,250 you can easily modify it for your own web project. 14 00:00:37,250 --> 00:00:41,800 So, let's view the demo and see exactly what this does. 15 00:00:41,800 --> 00:00:46,040 Basically, it sets a typographical base, not sure if that's 16 00:00:46,040 --> 00:00:49,095 a word, but I just coined it here on the show. 17 00:00:49,095 --> 00:00:54,339 History in the making, and you can see that it sets a pretty nice base 18 00:00:54,339 --> 00:00:59,500 for all of your different headlines, your paragraphs and so on. 19 00:00:59,500 --> 00:01:05,416 And it even does other things like lists and block quotes, and you can download it 20 00:01:05,416 --> 00:01:12,080 on GitHub, or just download it right here, for direct download from GitHub. 21 00:01:12,080 --> 00:01:16,370 And it even plays nice with normalize.css. 22 00:01:16,370 --> 00:01:19,991 Not a whole lot to say about it, but if you're just building a 23 00:01:19,991 --> 00:01:22,689 super simple website, maybe you don't want 24 00:01:22,689 --> 00:01:26,310 a big framework like foundation, or bootstrap. 25 00:01:26,310 --> 00:01:28,038 You can just go ahead and use something 26 00:01:28,038 --> 00:01:30,120 like this to just get your typography going. 27 00:01:30,120 --> 00:01:32,325 >> Yeah, this is great for people like me who 28 00:01:32,325 --> 00:01:35,350 don't feel like doing maths when creating a a webpage. 29 00:01:35,350 --> 00:01:37,462 Just like okay, here's the, here's the base font 30 00:01:37,462 --> 00:01:39,770 size just do do all those calculations for me. 31 00:01:39,770 --> 00:01:42,570 >> It is a little bit more complicated than it would 32 00:01:42,570 --> 00:01:44,530 seem, so it's nice to have that already done for you. 33 00:01:44,530 --> 00:01:46,190 >> It's just, it's just math. 34 00:01:46,190 --> 00:01:48,550 >> Yeah, who wants to do that? 35 00:01:48,550 --> 00:01:48,996 >> No one. 36 00:01:48,996 --> 00:01:53,396 [SOUND] Next up we have a plugin called a content generator plugin, 37 00:01:53,396 --> 00:01:59,090 this is for the sketch application, of which version 3 was recently released. 38 00:01:59,090 --> 00:02:01,520 Now, this plug-in's actually really, really neat. 39 00:02:01,520 --> 00:02:05,610 If you are inside Sketch, here's a, here's a demo right here. 40 00:02:05,610 --> 00:02:11,040 You'll see it's got a bunch of shapes and then you click on the menu up at the top. 41 00:02:11,040 --> 00:02:13,550 I love that there are animated GIFs in the read me right here. 42 00:02:13,550 --> 00:02:14,420 Look at that. 43 00:02:14,420 --> 00:02:17,560 Oh okay, look at that, boom, you got avatars all the way in there. 44 00:02:17,560 --> 00:02:20,760 All you have to do is select the items, and you can create a new one. 45 00:02:20,760 --> 00:02:25,240 Same thing works for names, and also place holder text. 46 00:02:25,240 --> 00:02:27,360 Now, this is super easy to use. 47 00:02:27,360 --> 00:02:30,680 You basically just clone it from GitHub into your 48 00:02:30,680 --> 00:02:34,390 sketch plugin directory, and you are good to go. 49 00:02:34,390 --> 00:02:36,932 Anyway, again, not a whole lot to say about this 50 00:02:36,932 --> 00:02:41,430 plugin either, just easy, simple to use, and also very useful. 51 00:02:41,430 --> 00:02:42,130 >> Very nice stuff. 52 00:02:42,130 --> 00:02:45,360 Well next up is slide bars. 53 00:02:45,360 --> 00:02:49,960 And if you're familiar with kind of the, the hamburger menu, as it's been called. 54 00:02:49,960 --> 00:02:52,905 The little three line menu, that >> I'm hungry now. 55 00:02:52,905 --> 00:02:55,100 [LAUGH] That slides a menu. 56 00:02:55,100 --> 00:02:56,370 >> I'm familiar with the hamburger menu. 57 00:02:56,370 --> 00:02:59,330 >> That slides a menu out from a side. 58 00:02:59,330 --> 00:03:03,130 We call that the, the sliders, you know, hamburgers. 59 00:03:03,130 --> 00:03:05,970 >> I'd like my, I'd like my slide bar medium-rare please. 60 00:03:06,990 --> 00:03:10,500 >> Anyway, you can click this button and [LAUGH] it shows a 61 00:03:10,500 --> 00:03:14,510 menu on the left side, so it slides out really nicely there. 62 00:03:14,510 --> 00:03:18,860 Now we've showed things like this on the show previously, 63 00:03:18,860 --> 00:03:21,818 but this one is a jQuery plugin and it uses 64 00:03:21,818 --> 00:03:27,647 hardware accelerated transitions, so CSS transitions, whereever possible 65 00:03:27,647 --> 00:03:33,271 and it provides a fallback for animate in jQuery in unsupported browsers. 66 00:03:33,271 --> 00:03:38,700 So for browsers that don't have those CSS animations, it'll just fall 67 00:03:38,700 --> 00:03:43,120 right back to jQuery so you don't need to worry about it. 68 00:03:43,120 --> 00:03:44,980 That is pretty nice. 69 00:03:44,980 --> 00:03:47,420 Now the nice thing about this particular design 70 00:03:47,420 --> 00:03:49,616 pattern is that it works on desktop devices 71 00:03:49,616 --> 00:03:51,751 as well as mobile devices, and hey look, 72 00:03:51,751 --> 00:03:54,620 there's another one over on the right side here. 73 00:03:54,620 --> 00:03:54,920 Look at that. 74 00:03:54,920 --> 00:03:57,350 So you can have two on one wed, webpage. 75 00:03:57,350 --> 00:03:59,380 That's actually a little bit confusing. 76 00:03:59,380 --> 00:04:03,310 But anyway, there is an API for this, so you can check out the 77 00:04:03,310 --> 00:04:08,800 usage and then if you scroll down you can also look at the API. 78 00:04:08,800 --> 00:04:09,680 There it is. 79 00:04:09,680 --> 00:04:13,230 And if you wanna do a couple of different things for 80 00:04:13,230 --> 00:04:16,425 example if you want another button to maybe close it or 81 00:04:16,425 --> 00:04:19,904 toggle it or, you know, you don't want to follow exactly 82 00:04:19,904 --> 00:04:23,730 the same design pattern, you can go ahead and do that. 83 00:04:23,730 --> 00:04:27,797 Anyway, pretty neat stuff and again, it's a really 84 00:04:27,797 --> 00:04:32,040 good design pattern to use for mobile or desktop websites. 85 00:04:32,040 --> 00:04:33,370 So definitely be sure to check us out. 86 00:04:33,370 --> 00:04:36,880 >> So this is a jQuery plugin for ordering a a burger? 87 00:04:36,880 --> 00:04:39,060 >> That is exactly right, Jason. 88 00:04:39,060 --> 00:04:41,950 >> Does the API support cheese and and various other toppings? 89 00:04:41,950 --> 00:04:44,200 >> You've been working on your listening skills. 90 00:04:44,200 --> 00:04:45,080 >> Yeah. 91 00:04:45,080 --> 00:04:46,600 Is listening important? 92 00:04:46,600 --> 00:04:46,750 >> It is. 93 00:04:46,750 --> 00:04:48,130 >> How about listening? 94 00:04:49,600 --> 00:04:51,000 >> Yes, that too. 95 00:04:51,000 --> 00:04:55,380 >> Next up, we have a node style guide over on GitHub. 96 00:04:55,380 --> 00:04:57,470 Now, we've talked about style guides before. 97 00:04:57,470 --> 00:05:01,210 This is a style guide example for Node js. 98 00:05:01,210 --> 00:05:03,910 Now, the benefit of using a style guide when you're coding 99 00:05:03,910 --> 00:05:06,286 is that no matter who picks up the project, as long as 100 00:05:06,286 --> 00:05:09,040 you're following the same style guide, the code is going to 101 00:05:09,040 --> 00:05:12,600 look like it's, for the most part, written by the same person. 102 00:05:12,600 --> 00:05:16,100 Now this is an example style guide, so, they just have some 103 00:05:16,100 --> 00:05:20,560 suggestions about how you're going to want to style your node project. 104 00:05:20,560 --> 00:05:23,960 So, great suggestions, like using two spaces for 105 00:05:23,960 --> 00:05:27,810 indentation and not having any trailing white space. 106 00:05:27,810 --> 00:05:31,060 Now, if you're using an editor like Sublime Text, you can 107 00:05:31,060 --> 00:05:34,352 configure it to strip white space right out of the box. 108 00:05:34,352 --> 00:05:38,090 Tons of different, great suggestions in here, saying actually use semicolons. 109 00:05:38,090 --> 00:05:44,180 This is a hotly debated topic at times, and limiting your lines to 80 characters. 110 00:05:44,180 --> 00:05:47,330 anyway, tons and tons of suggestions inside this document. 111 00:05:47,330 --> 00:05:49,310 We're not gonna go over all of them because 112 00:05:49,310 --> 00:05:52,130 that would be a really long and not interesting show. 113 00:05:52,130 --> 00:05:55,080 But you can read it, I suggest checking it out, you can find the link in 114 00:05:55,080 --> 00:05:56,480 the show notes which you can get to 115 00:05:56,480 --> 00:05:59,150 at YouTube.com/gotreehouse, or search for us in iTunes. 116 00:05:59,150 --> 00:06:00,370 We are the treehouse show. 117 00:06:01,520 --> 00:06:03,595 >> Next up is this wonderful blog 118 00:06:03,595 --> 00:06:08,010 post about improving the payment experience with animation. 119 00:06:08,010 --> 00:06:11,530 So if you have a stripe checkout, this is a way that you can 120 00:06:11,530 --> 00:06:16,580 use animations to add a little bit of context to what's actually going on. 121 00:06:16,580 --> 00:06:19,710 So, here we have the post, and if I click this button, whoa! 122 00:06:19,710 --> 00:06:21,320 We're down in the blog post. 123 00:06:21,320 --> 00:06:21,615 That's pretty cool. 124 00:06:21,615 --> 00:06:22,590 That has nothing to do with [INAUDIBLE]. 125 00:06:22,590 --> 00:06:23,080 >> What? 126 00:06:23,080 --> 00:06:25,280 Did we black out and wake up in the blog post? 127 00:06:25,280 --> 00:06:26,320 >> What just happened? 128 00:06:26,320 --> 00:06:27,240 >> Wow. 129 00:06:27,240 --> 00:06:28,790 >> But, if we scroll down here, once 130 00:06:28,790 --> 00:06:31,150 again we're using animated GIFs in this blog post. 131 00:06:31,150 --> 00:06:34,055 I love this this trend of using GIFs to 132 00:06:34,055 --> 00:06:39,650 show different functionality, but anyway, it says animations add context. 133 00:06:39,650 --> 00:06:45,554 And what that means is when you click a button like this and a little animation 134 00:06:45,554 --> 00:06:51,310 makes this panel slide out, it helps you to understand exactly what's going on. 135 00:06:51,310 --> 00:06:55,130 How you're actions actually relate to the user interface. 136 00:06:55,130 --> 00:06:59,827 So that's pretty neat, that's a good way to use animations to actually 137 00:06:59,827 --> 00:07:05,420 add meaning to your site, rather than just using it to make something flashy. 138 00:07:05,420 --> 00:07:11,162 This is another cool way to add some animation that actually, again, has 139 00:07:11,162 --> 00:07:16,730 some meaning if you are paying and there's a invalid input in the credit 140 00:07:16,730 --> 00:07:22,820 card form, you can actually shake the little input box here using some 3D 141 00:07:22,820 --> 00:07:26,561 transforms and animations and actually say like, 142 00:07:26,561 --> 00:07:30,510 hey you know, there's something wrong here. 143 00:07:30,510 --> 00:07:33,860 And give the user some visual feedback. 144 00:07:33,860 --> 00:07:38,250 I think OS 10 does something similar to this in the Password Input box window. 145 00:07:38,250 --> 00:07:40,570 So it's nice to kind see this come across on the web. 146 00:07:40,570 --> 00:07:41,770 That's very cool. 147 00:07:41,770 --> 00:07:44,280 There's another one where they say, sleight of hand. 148 00:07:44,280 --> 00:07:48,530 Basically, it's saying, you know, you could just show a 149 00:07:48,530 --> 00:07:53,035 loading animation, but this is much nicer because it gives the 150 00:07:53,035 --> 00:07:57,965 user the impression that things are happening behind the scenes 151 00:07:57,965 --> 00:08:02,560 and you could even do this just entirely as an illusion. 152 00:08:02,560 --> 00:08:05,864 So they're saying, we don't actually know when you receive this 153 00:08:05,864 --> 00:08:10,520 SMS, they're just basically saying like, hey you know, something's happening. 154 00:08:10,520 --> 00:08:13,190 It kind of compresses time and makes it seem 155 00:08:13,190 --> 00:08:17,700 like things are happening faster than they really are. 156 00:08:17,700 --> 00:08:20,340 Anyway, there's a bunch of other cool stuff here. 157 00:08:20,340 --> 00:08:22,900 Very intelligent blog posts. 158 00:08:22,900 --> 00:08:26,420 And it's great to see animations being used this way. 159 00:08:26,420 --> 00:08:30,120 Its, its not too often that you see actually, animations 160 00:08:30,120 --> 00:08:33,660 add context to what you're trying to say with a webpage. 161 00:08:33,660 --> 00:08:40,710 Often times they're just used for kind of, flashy, pizzazz, I guess you could say. 162 00:08:40,710 --> 00:08:41,530 >> You, you could say that. 163 00:08:41,530 --> 00:08:41,680 >> Mm-hm. 164 00:08:41,680 --> 00:08:44,088 >> You know what would really improve the payment experience? 165 00:08:44,088 --> 00:08:44,633 >> What's that? 166 00:08:44,633 --> 00:08:46,050 >> Making things free. 167 00:08:46,050 --> 00:08:47,290 >> It's a good idea. 168 00:08:47,290 --> 00:08:50,790 >> Next up, we have a project called Pour Over. 169 00:08:50,790 --> 00:08:53,738 Now, this is a really, really awesome project that 170 00:08:53,738 --> 00:08:57,910 is used for sorting, filtering and querying large collections. 171 00:08:57,910 --> 00:09:01,925 And we say, when we say, large collections, we mean to say, you 172 00:09:01,925 --> 00:09:07,473 know, erase or hashes of items like lots of 'em, they're saying, over 100,000 173 00:09:07,473 --> 00:09:11,853 items that will still run at 60 frames per second inside of the browser 174 00:09:11,853 --> 00:09:17,070 and you don't have to wait for a database call to render query results. 175 00:09:17,070 --> 00:09:20,730 So, this is actually a really, really powerful library. 176 00:09:20,730 --> 00:09:23,230 The only dependency that it has is _.js. 177 00:09:23,230 --> 00:09:27,980 So, let's take a look at the basic example. 178 00:09:27,980 --> 00:09:30,240 So they've got a little bit of data right here. 179 00:09:30,240 --> 00:09:33,040 Now they're just starting with a few different items. 180 00:09:33,040 --> 00:09:34,930 But remember, this will work with, you 181 00:09:34,930 --> 00:09:37,970 know, up to hundreds of thousands of items. 182 00:09:37,970 --> 00:09:42,074 So the first thing that you do is create a new pour over collection and 183 00:09:42,074 --> 00:09:44,162 then from there, you can filter it 184 00:09:44,162 --> 00:09:48,200 based on the different attributes of that collection. 185 00:09:48,200 --> 00:09:49,730 So right here they create a new filter 186 00:09:49,730 --> 00:09:55,090 for mythology, and gender they're using different mythological monsters. 187 00:09:55,090 --> 00:10:02,400 So they have the mythology right up here and then filter also by sex. 188 00:10:02,400 --> 00:10:08,118 Then there is a hobbies filter, where you can include filters for hobbies. 189 00:10:08,118 --> 00:10:11,692 anyway, you can add a ton of different filters. 190 00:10:11,692 --> 00:10:15,165 You can do unions, sorts, querying, tons of things like that. 191 00:10:15,165 --> 00:10:17,965 But you have your collection, all you have to do 192 00:10:17,965 --> 00:10:20,975 is chain it and then you can call your collection and 193 00:10:20,975 --> 00:10:23,845 your filter, give it the filter that you want and 194 00:10:23,845 --> 00:10:27,440 then give it a query for what you are looking for. 195 00:10:27,440 --> 00:10:29,880 And then, boom, you are good to go. 196 00:10:29,880 --> 00:10:32,210 Now there are just a ton of different options here. 197 00:10:32,210 --> 00:10:35,080 Those were a couple of basic examples. 198 00:10:35,080 --> 00:10:39,940 There are advanced views, advanced filtering, just a ton of different things. 199 00:10:39,940 --> 00:10:42,710 This is a super powerful library. 200 00:10:42,710 --> 00:10:46,285 Now when you do have hundreds of thousands of objects that you need to render in 201 00:10:46,285 --> 00:10:48,100 the browser, this is a great choice for 202 00:10:48,100 --> 00:10:50,740 actually getting it done and getting it done quickly. 203 00:10:50,740 --> 00:10:52,090 So definitely check it out. 204 00:10:52,090 --> 00:10:53,170 >> Yeah, that's really smart. 205 00:10:53,170 --> 00:10:56,745 I mean if you've ever tried to iterate over a collection and like a 206 00:10:56,745 --> 00:11:00,580 hash table or an array, or even you know, more complex data types like 207 00:11:00,580 --> 00:11:04,025 a list or a dictionary, it it still can take a really long time, 208 00:11:04,025 --> 00:11:08,770 so it's cool that somebody made something that really optimized that in the browser. 209 00:11:08,770 --> 00:11:09,130 >> Yeah. 210 00:11:09,130 --> 00:11:12,420 Also I like the, or, I like the name of the project, cuz it's kind of a a pun. 211 00:11:12,420 --> 00:11:12,930 >> Mm. 212 00:11:12,930 --> 00:11:14,710 >> You know, pour over. 213 00:11:14,710 --> 00:11:15,390 >> Mm-hm. 214 00:11:15,390 --> 00:11:16,380 >> Like, look through. 215 00:11:16,380 --> 00:11:21,050 >> We really poured over this this project didn't we? 216 00:11:21,050 --> 00:11:22,680 >> Yeah, we did. 217 00:11:22,680 --> 00:11:27,098 >> Alright, well next up [LAUGH] is this site called CSS 218 00:11:27,098 --> 00:11:32,362 Vocabulary, and basically, if you're not familiar with some of 219 00:11:32,362 --> 00:11:37,870 the vocabulary for describing CSS syntax, this is the site for you. 220 00:11:37,870 --> 00:11:41,899 And even if you're a little bit more advanced with CSS, this 221 00:11:41,899 --> 00:11:46,960 can really help you understand the different parts of a CSS code. 222 00:11:46,960 --> 00:11:51,630 So, for example, if we click on something like a comma. 223 00:11:51,630 --> 00:11:55,210 We can say, okay, well yeah, obviously that's a comment. 224 00:11:55,210 --> 00:11:57,180 But what about a statement? 225 00:11:57,180 --> 00:12:02,484 Well, a statement is anything like this and this is commonly 226 00:12:02,484 --> 00:12:07,372 confused with a declaration, which is actually only in 227 00:12:07,372 --> 00:12:13,260 the stuff inside of the curly braces and not the selector. 228 00:12:13,260 --> 00:12:16,102 So you can learn a lot about CSS 229 00:12:16,102 --> 00:12:21,394 vocabulary just by clicking through these different links here 230 00:12:21,394 --> 00:12:25,902 and it will highlight interactively which parts of the 231 00:12:25,902 --> 00:12:31,490 code are actually being described by that particular term. 232 00:12:31,490 --> 00:12:33,858 You can also just click on the code if you want 233 00:12:33,858 --> 00:12:37,445 to know you know, what's the, what are these curly braces? 234 00:12:37,445 --> 00:12:41,450 Well, that's a block and it's also a declaration block. 235 00:12:41,450 --> 00:12:45,140 Or if you click on like something like this, well 236 00:12:45,140 --> 00:12:49,690 that's a value and these are going to be properties. 237 00:12:49,690 --> 00:12:54,940 So, this is super helpful if you're just learning or if you're even more advanced. 238 00:12:54,940 --> 00:12:58,860 And you need to talk about CSS with some of your teammates. 239 00:12:58,860 --> 00:13:02,955 Maybe you're collaborating on something and you need to get very specific 240 00:13:02,955 --> 00:13:06,920 about what you're talking about, whether it's a selector or a block, 241 00:13:06,920 --> 00:13:10,560 or declaration, or what have you, so very cool stuff, it's very 242 00:13:10,560 --> 00:13:14,360 important to know this especially if you are working on a team. 243 00:13:14,360 --> 00:13:16,305 >> Yeah, that's really really cool project. 244 00:13:16,305 --> 00:13:17,080 >> Mm-hm. 245 00:13:17,080 --> 00:13:19,924 >> Next up we have a project called Fluid Box, 246 00:13:19,924 --> 00:13:24,820 this is yet another Light box, but it's actually pretty cool. 247 00:13:24,820 --> 00:13:28,500 If we check it out down here, the main part of fluid box is, let's see. 248 00:13:28,500 --> 00:13:29,680 We got this picture right here. 249 00:13:29,680 --> 00:13:33,280 We click on it, and boom, it does the whole light box thing. 250 00:13:33,280 --> 00:13:35,730 So what is so great about this? 251 00:13:35,730 --> 00:13:39,402 Well, all you need to do is add data Fluid 252 00:13:39,402 --> 00:13:43,570 box to your link, and then you are good to go. 253 00:13:43,570 --> 00:13:47,360 Now, the great thing about this is it works responsively. 254 00:13:47,360 --> 00:13:51,390 So you can link to a higher resolution alternative without doing anything. 255 00:13:51,390 --> 00:13:54,360 Here's a placeholder image that's 200 by 200. 256 00:13:54,360 --> 00:13:54,830 Click on that. 257 00:13:54,830 --> 00:13:55,730 All right, cool. 258 00:13:55,730 --> 00:14:00,880 It fluid boxes up to the width and height of the screen. 259 00:14:00,880 --> 00:14:01,830 So anyway, yeah. 260 00:14:01,830 --> 00:14:03,970 Quick plugin, not too much to say. 261 00:14:03,970 --> 00:14:09,160 It is it has fluid transitions and it is responsive and it's wonderful. 262 00:14:09,160 --> 00:14:12,490 So, go ahead and check that out we'll have a link to it in the show notes. 263 00:14:12,490 --> 00:14:13,330 >> Very nice stuff. 264 00:14:13,330 --> 00:14:15,490 Well that is all we have time for this week. 265 00:14:15,490 --> 00:14:17,150 I am @nickrp on Twitter. 266 00:14:17,150 --> 00:14:18,420 >> And I am@jseifer. 267 00:14:18,420 --> 00:14:21,213 For more information on anything we talked about check our 268 00:14:21,213 --> 00:14:24,600 show notes at youtube.com/gotreehouse or search for us in iTunes. 269 00:14:24,600 --> 00:14:26,460 We are The Treehouse Show. 270 00:14:26,460 --> 00:14:30,118 >> And of course, if you'd like to see more videos like this one about web 271 00:14:30,118 --> 00:14:33,156 design, web development, mobile business, and so much 272 00:14:33,156 --> 00:14:36,180 more, be sure to check us out at teamtreehouse.com. 273 00:14:36,180 --> 00:14:42,566 Thank you so much for watching, and we will see you next week. 274 00:14:42,566 --> 00:14:46,189 [MUSIC]