1 00:00:01,900 --> 00:00:03,550 I'm Jim Hoskins. >>And I'm Jason Seifer. 2 00:00:03,550 --> 00:00:05,100 [Jim Hoskins]: And you're watching The Treehouse Show, 3 00:00:05,100 --> 00:00:08,350 your weekly dose of Internets where we talk about all things web design, 4 00:00:08,350 --> 00:00:10,120 web development, and more. 5 00:00:10,120 --> 00:00:12,950 [Jason Seifer]: In this episode we'll be talking about Git aliases, 6 00:00:12,950 --> 00:00:15,840 shopping carts as well as off-line JavaScript. 7 00:00:15,840 --> 00:00:18,870 Nick Pettit is out this week due to injuries sustained 8 00:00:18,870 --> 00:00:22,200 by prolonged pokings on Facebook. 9 00:00:26,390 --> 00:00:28,150 [The Treehouse Show] 10 00:00:28,150 --> 00:00:30,810 [Jim Hoskins]: Jason, do you like free things? >>[Jason Seifer]: I love free things. 11 00:00:30,810 --> 00:00:32,830 [Jim Hoskins]: Do you like 300 free things? 12 00:00:32,830 --> 00:00:37,540 [Jason Seifer]: I like 300 free things 300 times more than I like 1 free thing. 13 00:00:37,540 --> 00:00:39,620 [Jim Hoskins]: Well, I've got something for you. Batch. 14 00:00:39,620 --> 00:00:43,760 Batch is a free icon set 15 00:00:43,760 --> 00:00:46,630 that has some pretty awesome icons, and guess what? 16 00:00:46,630 --> 00:00:49,450 There's 300 of them. >>[Jason Seifer]: Wow. 17 00:00:49,450 --> 00:00:52,720 [Jim Hoskins]: So, if you take a look they are some pretty stylish icons, 18 00:00:52,720 --> 00:00:55,640 and what I really like about it is the variety. 19 00:00:55,640 --> 00:00:58,890 As you can see, these various speech bubbles 20 00:00:58,890 --> 00:01:01,800 come with all orientations of little pointy things. 21 00:01:01,800 --> 00:01:05,160 There are 2 separate keys that are slightly different. 22 00:01:05,160 --> 00:01:07,040 Little variations on everything. 23 00:01:07,040 --> 00:01:10,330 I've never actually seen an icon set with 2 different types of 24 00:01:10,330 --> 00:01:13,780 feather icon for a pen and a fountain pen. 25 00:01:13,780 --> 00:01:15,400 There's a lot of writing instruments there. 26 00:01:15,400 --> 00:01:17,000 [Jason Seifer]: Well, you never know what you're going to need. 27 00:01:17,000 --> 00:01:19,210 [Jim Hoskins]: Yeah. Well, what's really great about them is they come 28 00:01:19,210 --> 00:01:21,260 pre-rendered in PNG in various sizes, 29 00:01:21,260 --> 00:01:24,380 but they're also distributed as Photoshop layers 30 00:01:24,380 --> 00:01:26,700 as well as SVPs, so they will scale well 31 00:01:26,700 --> 00:01:29,050 and integrate into your Photoshop mockups really nice. 32 00:01:29,050 --> 00:01:31,940 You can apply layer styles to them, change the colors, and export them 33 00:01:31,940 --> 00:01:33,940 exactly how you want them to look. 34 00:01:33,940 --> 00:01:35,250 [Jason Seifer]: Oh, nice. So I guess I would use this in 35 00:01:35,250 --> 00:01:37,640 web apps or mobile apps or something like that? 36 00:01:37,640 --> 00:01:39,400 [Jim Hoskins]: Yeah, it's a really great set, 37 00:01:39,400 --> 00:01:42,090 pretty complete, and you could probably even 38 00:01:42,090 --> 00:01:44,910 use some of the styles if you need to create your own icons. 39 00:01:44,910 --> 00:01:47,350 You can reuse some of the shapes if you really need to get 40 00:01:47,350 --> 00:01:50,610 something that's not in that massive pack of 300 different icons. 41 00:01:50,610 --> 00:01:52,510 [Jason Seifer]: Oh, that's pretty sweet, 42 00:01:52,510 --> 00:01:54,710 and free, who doesn't like free? >>[Jim Hoskins]: Love free. 43 00:01:54,710 --> 00:01:57,550 [Jason Seifer]: I've got 18 more free things for you, Jim. >>[Jim Hoskins]: Okay. 44 00:01:57,550 --> 00:02:00,510 [Jason Seifer]: The next post over on the Queness blog 45 00:02:00,510 --> 00:02:04,790 is '18 Useful Twitter Bootstrap Goodies That You Should Know.' 46 00:02:04,790 --> 00:02:07,220 You might already know about these. 47 00:02:07,220 --> 00:02:09,229 You might not, but it goes through 48 00:02:09,229 --> 00:02:12,990 and just concatenates a bunch of different resources for Twitter Bootstrap. 49 00:02:12,990 --> 00:02:15,620 Twitter Bootstrap is the CSS framework 50 00:02:15,620 --> 00:02:17,690 that is just slowly taking over the web. 51 00:02:17,690 --> 00:02:19,040 We talk about it-- 52 00:02:19,040 --> 00:02:21,560 [Jim Hoskins]: Uh, slowly? >>[Jim Seifer]: Okay, very quickly. 53 00:02:21,560 --> 00:02:24,510 We talk about it most weeks here on The Treehouse Show. 54 00:02:24,510 --> 00:02:27,450 So, they go through and they talk about tools for wireframing 55 00:02:27,450 --> 00:02:30,940 and different generators and templates. 56 00:02:30,940 --> 00:02:34,590 They link to 1 set of the famfamfam icon set. 57 00:02:34,590 --> 00:02:39,300 This is not 300 free icons, it's, I think, actually a little more, 58 00:02:39,300 --> 00:02:41,310 but they're a very small size. 59 00:02:41,310 --> 00:02:43,730 That works really well with the Twitter Bootstrap buttons. 60 00:02:43,730 --> 00:02:46,860 There's a ton of different resources out there for Bootstrap, 61 00:02:46,860 --> 00:02:48,980 just for generating the different markup, 62 00:02:48,980 --> 00:02:50,480 different templates that you need. 63 00:02:50,480 --> 00:02:52,260 There's links to different buttons, 64 00:02:52,260 --> 00:02:56,570 to generate buttons as well as PSD for working with it in Photoshop. 65 00:02:56,570 --> 00:02:59,680 There's also about 14 more goodies 66 00:02:59,680 --> 00:03:01,960 that we're not going to go over here on the show, 67 00:03:01,960 --> 00:03:03,700 mainly due to time constraints, 68 00:03:03,700 --> 00:03:06,440 and I don't like saying the word 'goodies' repeatedly, 69 00:03:06,440 --> 00:03:09,390 but we'll have a link to them in our show notes 70 00:03:09,390 --> 00:03:12,050 which you can get at YouTube.com/GoTreehouse. 71 00:03:12,050 --> 00:03:14,050 [Jim Hoskins]: That's a lot of goodies. >>[Jason Seifer]: It is. 72 00:03:14,050 --> 00:03:16,390 [Jim Hoskins]: And you know, Bootstrap itself is pretty good, too. 73 00:03:16,390 --> 00:03:18,310 So, goodies for goodies. 74 00:03:18,310 --> 00:03:22,100 Well, switching from design to a little bit more development-focused, 75 00:03:22,100 --> 00:03:26,710 I've got a great article here about some of the must-have Git aliases. 76 00:03:26,710 --> 00:03:28,750 So, if you ever use Git on the command line, 77 00:03:28,750 --> 00:03:33,720 you have your built-in commands, like log and checkout and branch, 78 00:03:33,720 --> 00:03:36,480 but Git also allows you to create aliases very easily 79 00:03:36,480 --> 00:03:40,250 for commonly used commands and options, 80 00:03:40,250 --> 00:03:42,280 and this one outlines a lot of good ones. 81 00:03:42,280 --> 00:03:44,990 For instance, looking at your log in a very organized way, 82 00:03:44,990 --> 00:03:48,520 and a lot of different ones--there's just too many to go over. 83 00:03:48,520 --> 00:03:50,260 I haven't had a chance to use all of them, 84 00:03:50,260 --> 00:03:52,740 but I've implemented some of them and they are really nice 85 00:03:52,740 --> 00:03:55,820 if you want to just do some pretty common operations 86 00:03:55,820 --> 00:03:58,720 on your code, like taking a look at the last few commits 87 00:03:58,720 --> 00:04:00,580 and being able to see very quickly what happened 88 00:04:00,580 --> 00:04:03,320 as well as moving files in and out of the Index and committing them. 89 00:04:03,320 --> 00:04:06,500 So, it's a lot of the commonly used operations 90 00:04:06,500 --> 00:04:11,080 combined as Git aliases that you can use very easily. 91 00:04:11,080 --> 00:04:14,470 [Jason Seifer]: Huge time saver if you haven't gone through the process 92 00:04:14,470 --> 00:04:17,010 of setting up aliases for commonly used commands. 93 00:04:17,010 --> 00:04:19,470 [Jim Hoskins]: I don't have too many aliases, because I find that if 94 00:04:19,470 --> 00:04:21,610 I overdo my aliases, I become completely dependent on them, 95 00:04:21,610 --> 00:04:24,050 and then as soon as I get on a computer where I don't have the aliases 96 00:04:24,050 --> 00:04:26,140 set up, I'm completely lost. 97 00:04:26,140 --> 00:04:28,980 But a lot of these are really good because they are aliases 98 00:04:28,980 --> 00:04:33,070 that are pretty long and pretty unlikely for you to type out when you really want them. 99 00:04:33,070 --> 00:04:35,640 For instance, the decoration on the logs and things like that. 100 00:04:35,640 --> 00:04:38,850 [Jason Seifer]: Do you think the plural of aliases is aliases? 101 00:04:38,850 --> 00:04:41,720 [Jim Hoskins]: I believe so. With an 'ES.' Aliases? 102 00:04:41,720 --> 00:04:43,370 [Jason Seifer]: Aliasi? >>[Jim Hoskins]: Aliasi. 103 00:04:43,370 --> 00:04:45,330 [Jason Seifer]: Aliasites? 104 00:04:45,330 --> 00:04:47,320 Next up we're going to be talking about a project called 'simpleCart.' 105 00:04:47,320 --> 00:04:51,780 This is a completely free and open-source JavaScript shopping cart. 106 00:04:51,780 --> 00:04:54,280 There's a demo on the site right here. 107 00:04:54,280 --> 00:04:57,150 This is super easy to integrate with your website. 108 00:04:57,150 --> 00:05:00,490 So, if you want to add a book to your cart, just hit this Add to Cart button. 109 00:05:00,490 --> 00:05:02,000 Look at that. >>[Jim Hoskins]: Whoa. 110 00:05:02,000 --> 00:05:04,400 [Jason Seifer]: This zooms out and then it goes right into your shopping cart 111 00:05:04,400 --> 00:05:07,140 right up there, and then you can change the number of items 112 00:05:07,140 --> 00:05:09,510 you want in there and click the Checkout button. 113 00:05:09,510 --> 00:05:13,230 This actually will hook up to your Paypal account. 114 00:05:13,230 --> 00:05:17,160 There are a ton of different callbacks, and it's just super easy 115 00:05:17,160 --> 00:05:20,830 to integrate on your site, and you can get the link 116 00:05:20,830 --> 00:05:23,620 to simpleCart(js) in the show notes, 117 00:05:23,620 --> 00:05:27,080 which are at YouTube.com/GoTreehouse. 118 00:05:27,080 --> 00:05:30,230 Tons of documentation and easy-to-read source code. 119 00:05:30,230 --> 00:05:32,520 Really great project. 120 00:05:32,520 --> 00:05:34,370 This came out relatively recently, 121 00:05:34,370 --> 00:05:37,000 and I see, literally, no reason not to use it 122 00:05:37,000 --> 00:05:39,590 if you're just looking for a simple shopping cart for your site. 123 00:05:39,590 --> 00:05:41,690 [Jim Hoskins]: One thing you do want to watch out for, 124 00:05:41,690 --> 00:05:43,850 especially since it's a JavaScript-based application, 125 00:05:43,850 --> 00:05:46,750 you have to really check those orders if you're 126 00:05:46,750 --> 00:05:49,680 delivering either physical items or digital items, 127 00:05:49,680 --> 00:05:53,380 because you could really just change the Javascript on the page 128 00:05:53,380 --> 00:05:58,040 as a client and maybe change the price from $9 to 1 cent. 129 00:05:58,040 --> 00:06:00,110 [Jason Seifer]: Incredible bargain. >>[Jim Hoskins]: It's a real bargain. 130 00:06:00,110 --> 00:06:02,050 So, that's something to look out for, 131 00:06:02,050 --> 00:06:05,200 either validate using a little bit of server code, 132 00:06:05,200 --> 00:06:08,900 or if you're selling shirts, just take a look and make sure they paid enough 133 00:06:08,900 --> 00:06:11,150 for the shirt you're sending out or whatever piece of merchandise. 134 00:06:11,150 --> 00:06:15,010 That's the only little gotcha versus sort of a full, backend based 135 00:06:15,010 --> 00:06:18,050 e-commerce solution. 136 00:06:18,050 --> 00:06:21,410 [Jason Seifer]: It's a really good point. Also, not something that we totally advocate. 137 00:06:21,410 --> 00:06:23,690 You know. Stealing. 138 00:06:23,690 --> 00:06:26,010 [Jim Hoskins]: Yeah, don't steal. No. 139 00:06:26,010 --> 00:06:29,410 Okay. So, on mobile-- >>[Jason Seifer]: Mobile. 140 00:06:29,410 --> 00:06:31,810 [Jim Hoskins]: Mobile's important. There's this problem. 141 00:06:31,810 --> 00:06:33,680 [Jason Seifer]: Like a phone? Like a cellular telephone? 142 00:06:33,680 --> 00:06:35,630 [Jim Hoskins]: Yeah. Like a pocket computer with a touchscreen on it. 143 00:06:35,630 --> 00:06:39,440 So, what happens when, for instance, on a page 144 00:06:39,440 --> 00:06:41,380 where you normally have your onclick event 145 00:06:41,380 --> 00:06:45,710 there's a little problem, because the phone is actually waiting for you to do a double click? 146 00:06:45,710 --> 00:06:48,460 So, when you click it or when you tap it, 147 00:06:48,460 --> 00:06:52,950 you actually don't get your click event fired for about 300 milliseconds 148 00:06:52,950 --> 00:06:55,100 while it's waiting to see if you're going to do a double click. 149 00:06:55,100 --> 00:06:57,180 [Jason Seifer]: Oh, my, and this is in JavaScript? 150 00:06:57,180 --> 00:06:59,230 [Jim Hoskins]: This is in most mobile browsers, 151 00:06:59,230 --> 00:07:01,560 like Mobile Safari, Mobile Chrome, 152 00:07:01,560 --> 00:07:04,410 and it becomes a real problem because it makes 153 00:07:04,410 --> 00:07:06,670 your page seem less responsive, 154 00:07:06,670 --> 00:07:08,490 because you click it and then there's a little bit of a pause. 155 00:07:08,490 --> 00:07:10,600 [Jason Seifer]: I wish there was some sort of workaround for that. 156 00:07:10,600 --> 00:07:12,510 [Jim Hoskins]: Well, I've got something, 157 00:07:12,510 --> 00:07:16,140 called 'fastclick,' and it's a really small, really easy to use 158 00:07:16,140 --> 00:07:19,370 JavaScript library that pretty much fixes it. 159 00:07:19,370 --> 00:07:21,530 Basically, by using a different type of event 160 00:07:21,530 --> 00:07:25,490 it can replace the touch event with the click event 161 00:07:25,490 --> 00:07:28,390 making the taps instantaneous. 162 00:07:28,390 --> 00:07:31,920 Now, this does have a couple things you need to work around. 163 00:07:31,920 --> 00:07:33,900 For instance, if you are doing a double click, 164 00:07:33,900 --> 00:07:36,690 you may have to work around it because it's going to fire your click event 165 00:07:36,690 --> 00:07:38,820 immediately, and there are a couple of other problems, 166 00:07:38,820 --> 00:07:43,220 because the click event that's created using the JavaScript framework 167 00:07:43,220 --> 00:07:46,370 isn't a real native one, so there are some things 168 00:07:46,370 --> 00:07:50,310 like focusing on forms or certain actions that might be restricted, 169 00:07:50,310 --> 00:07:54,160 but it actually has a build-in class that you can apply to the elements 170 00:07:54,160 --> 00:07:56,240 where you need a real native click 171 00:07:56,240 --> 00:07:59,310 and it will fall back to that slightly delayed real click. 172 00:07:59,310 --> 00:08:01,660 It's a nice drop-in solution. 173 00:08:01,660 --> 00:08:03,710 If you're on a normal desktop browser, 174 00:08:03,710 --> 00:08:05,030 it doesn't do anything. 175 00:08:05,030 --> 00:08:07,010 So, it knows which browsers it needs to use, 176 00:08:07,010 --> 00:08:09,740 and it fixes it for you and makes your sites just a little bit faster. 177 00:08:09,740 --> 00:08:11,440 [Jason Seifer]: That's really fantastic. >>[Jim Hoskins]: Yeah, it's really nice. 178 00:08:11,440 --> 00:08:13,450 [Jason Seifer]: And fast. >>[Jim Hoskins]: Fast. 179 00:08:13,450 --> 00:08:15,910 [Jason Seifer]: Next up, we have a datepicker 180 00:08:15,910 --> 00:08:17,400 for jQuery. 181 00:08:17,400 --> 00:08:20,300 Why another datepicker? This one's called 'pickadate.js.' 182 00:08:20,300 --> 00:08:22,840 The answer to why another datepicker 183 00:08:22,840 --> 00:08:25,620 is that this is responsive and lightweight. 184 00:08:25,620 --> 00:08:31,070 It clocks in at just 3.3 kilobytes gzipped, 185 00:08:31,070 --> 00:08:36,530 and it just lets you turn any text element into a little date popup. 186 00:08:36,530 --> 00:08:39,320 Scroll through, pick everything. 187 00:08:39,320 --> 00:08:42,289 There's pretty easy code as well as just a 188 00:08:42,289 --> 00:08:44,190 ton of different options. 189 00:08:44,190 --> 00:08:47,660 It works with the native HTML5 type="date" element 190 00:08:47,660 --> 00:08:52,630 as well as just tons of different options for clicking around 191 00:08:52,630 --> 00:08:54,300 and finding different dates. 192 00:08:54,300 --> 00:08:56,720 A really quick project, but like we said, 193 00:08:56,720 --> 00:08:58,450 it's lightweight and responsive. 194 00:08:58,450 --> 00:09:00,190 That's pickadate.js. 195 00:09:00,190 --> 00:09:02,230 [Jim Hoskins]: Wow, that makes picking a date on the Internet really easy. 196 00:09:02,230 --> 00:09:04,690 [Jason Seifer]: Yeah, it does. A lot easier than it used to be. 197 00:09:04,690 --> 00:09:07,280 [Jim Hoskins]: Yeah. Okay. >>[Jason Seifer]: We've all been there. 198 00:09:07,280 --> 00:09:09,860 [Jim Hoskins]: So, have you ever been filling out a form 199 00:09:09,860 --> 00:09:13,110 and there's so much stuff and then hit Submit, 200 00:09:13,110 --> 00:09:15,190 and it's like, Yo, you dropped your Internet. 201 00:09:15,190 --> 00:09:17,310 I couldn't submit it, you're not online. 202 00:09:17,310 --> 00:09:19,020 [Jason Seifer]: Oh, yeah. >>[Jim Hoskins]: Isn't that lame? 203 00:09:19,020 --> 00:09:21,010 [Jason Seifer]: Then you have to type everything in again. 204 00:09:21,010 --> 00:09:23,990 [Jim Hoskins]: Ugh. I've got a solution. >>[Jason Seifer]: What's up? 205 00:09:23,990 --> 00:09:26,210 [Jim Hoskins]: What if the website you were typing everything in on 206 00:09:26,210 --> 00:09:28,370 told you when you were offline? >>[Jason Seifer]: Whoa. 207 00:09:28,370 --> 00:09:30,830 [Jim Hoskins]: So, that's where Heyoffline.js comes in. 208 00:09:30,830 --> 00:09:32,410 It does exactly that. 209 00:09:32,410 --> 00:09:34,670 If you were to disconnect, 210 00:09:34,670 --> 00:09:37,120 it'll pop up a nice little box saying, Hey, you're offline. 211 00:09:37,120 --> 00:09:39,210 But it does a couple extra things, too. 212 00:09:39,210 --> 00:09:42,490 You can set it up so it only triggers that pop-up box 213 00:09:42,490 --> 00:09:45,410 if they've filled in some text on a form. 214 00:09:45,410 --> 00:09:48,260 So, if you're just browsing, it won't really yell at you 215 00:09:48,260 --> 00:09:50,240 for being offline, but if you start filling in a form, 216 00:09:50,240 --> 00:09:52,250 where you're treading in that dangerous territory 217 00:09:52,250 --> 00:09:54,720 of losing some information, it can say, 218 00:09:54,720 --> 00:09:58,220 Hey, you probably shouldn't submit this because you're not online. 219 00:09:58,220 --> 00:10:01,050 And it has some really nice options. 220 00:10:01,050 --> 00:10:04,920 It doesn't require jQuery or anything else; it's completely self-contained, 221 00:10:04,920 --> 00:10:07,330 very small, and very easy to use. Just drop it right in. 222 00:10:07,330 --> 00:10:10,080 [Jason Seifer]: Very nice. I like that it yells at you. 223 00:10:10,080 --> 00:10:13,160 [Jim Hoskins]: It does. Hey, you're offline. 224 00:10:13,160 --> 00:10:15,330 [Jason Seifer]: It's a great tagline. >>[Jim Hoskins]: Perfect. 225 00:10:15,330 --> 00:10:17,910 [Jason Seifer]: Next up we have a WordPress theme 226 00:10:17,910 --> 00:10:19,810 called, 'Bones.' 227 00:10:19,810 --> 00:10:24,140 This has probably one of the best graphics I've ever seen on a theme website. 228 00:10:24,140 --> 00:10:27,820 Look, it's got a guy made out of bones and a top hat, just throwing it around. 229 00:10:27,820 --> 00:10:30,710 Anyway, this is a 230 00:10:30,710 --> 00:10:34,120 starter theme for WordPress development. 231 00:10:34,120 --> 00:10:36,200 This is not a framework. 232 00:10:36,200 --> 00:10:38,620 So, you're just going to start with the Bones theme 233 00:10:38,620 --> 00:10:40,080 and then add on to it. 234 00:10:40,080 --> 00:10:43,890 This is a mobile-first and responsive theme. 235 00:10:43,890 --> 00:10:46,640 It's built off of HTML5 Boilerplate, 236 00:10:46,640 --> 00:10:48,750 so it gives you a great starting point 237 00:10:48,750 --> 00:10:50,840 when building a WordPress theme. 238 00:10:50,840 --> 00:10:55,910 It's also made with LESS and Sass, which is actually great for developers, 239 00:10:55,910 --> 00:10:58,840 and the selectors that they use are really fine tuned, 240 00:10:58,840 --> 00:11:02,140 so that you can see exactly what's going on when working with a theme. 241 00:11:02,140 --> 00:11:05,970 This theme is actually completely free, so you can check it out over on GitHub. 242 00:11:06,970 --> 00:11:09,500 Clone it, contribute to it, whatever you want to do. 243 00:11:09,500 --> 00:11:11,910 Anyway, great theme, check that out. 244 00:11:11,910 --> 00:11:15,070 Once again, we will have a link to that in the show notes. 245 00:11:15,070 --> 00:11:17,190 [Jim Hoskins]: Awesome. It seems like a really good starting point 246 00:11:17,190 --> 00:11:19,830 for building WordPress themes. It can be pretty tricky to get started with. 247 00:11:19,830 --> 00:11:22,820 To pick a really full-blown theme that's close 248 00:11:22,820 --> 00:11:24,000 and try to change it, 249 00:11:24,000 --> 00:11:26,090 but starting from scratch, something nice and clean, simplified. 250 00:11:26,090 --> 00:11:28,400 [Jason Seifer]: Yeah, very lightweight. >>[Jim Hoskins]: That's the way to go. 251 00:11:28,400 --> 00:11:31,370 [Jason Seifer]: So, that's it. That's all we have for you this episode. 252 00:11:31,370 --> 00:11:33,060 Jim, who are you on Twitter? 253 00:11:33,060 --> 00:11:35,120 [Jim Hoskins]: I am @JimRHoskins at Twitter. 254 00:11:35,120 --> 00:11:37,360 [Jason Seifer]: And I am @JSeifer on Twitter. 255 00:11:37,360 --> 00:11:40,000 Thanks so much for tuning in to this episode of The Treehouse Show. 256 00:11:40,000 --> 00:11:43,040 For show notes and more check out our YouTube Channel 257 00:11:43,040 --> 00:11:46,120 at YouTube.com/GoTreehouse. 258 00:11:46,120 --> 00:11:48,100 [Jim Hoskins]: This episode of The Treehouse Show was brought to you 259 00:11:48,100 --> 00:11:50,840 by Treehouse, the best way to learn how to design 260 00:11:50,840 --> 00:11:52,690 and develop for web and mobile. 261 00:11:52,690 --> 00:11:54,910 Check us out at TeamTreehouse.com. 262 00:11:57,980 --> 00:11:59,120 [The Treehouse Show] 263 00:11:59,120 --> 00:12:01,140 [?music playing?] 264 00:12:01,140 --> 00:12:02,770 [treehouseā„¢] 265 00:12:02,770 --> 00:12:06,350 [Narrator]: If you'd like to see more advanced videos and tutorials like this one, 266 00:12:06,350 --> 00:12:09,950 go to TeamTreehouse.com and start learning for free. 267 00:12:09,950 --> 00:12:20,280 [?music playing?]