<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    >

<channel>
    <title>Webmonkey &#187; Web Basics</title>
    <atom:link href="http://www.webmonkey.com/category/web-basics/feed/" rel="self" type="application/rss+xml" />
    <link>http://www.webmonkey.com</link>
    <description>The Web Developer&#039;s Resource</description>
    <lastBuildDate>Fri, 05 Apr 2013 20:20:46 +0000</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <generator>http://wordpress.org/?v=3.4.2</generator>
    
    <item>
        <title>The Future of CSS: Flexbox Is a Game Changer</title>
        <link>http://www.webmonkey.com/2013/04/the-future-of-css-flexbox-is-a-game-changer/</link>
        <comments>http://www.webmonkey.com/2013/04/the-future-of-css-flexbox-is-a-game-changer/#comments</comments>
        <pubDate>Mon, 01 Apr 2013 16:35:26 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61445</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[Web Standards]]></category>
		<category><![CDATA[Flexbox]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/04/flexboxex-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/04/flexboxex.jpg" alt="The Future of CSS: Flexbox Is a Game Changer" /></div>It might be a little early to throw away your CSS floats, but thanks to the new CSS Flexible Box Model -- better known as Flexbox -- simple, sane layout tools will soon be part of your web development arsenal. Browser support isn't complete yet, but for those who'd like to push the envelope, Flexbox already works in three major browsers, with more coming soon.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_61447" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/04/flexboxex.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/04/flexboxex.jpg" alt="" title="flexboxex" width="580" height="311" class="size-full wp-image-61447" /></a><p class="wp-caption-text">Look Ma, no floats! <em>Image: <a href="https://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spec.html">Abobe</a></em></p></div>HTML5 and CSS 3 offer web developers new semantic tags, native animation tools, server-side fonts and much more, but that’s not the end of the story. In fact, for developers slogging away in the web design trenches, one of the most promising parts of CSS 3 is still just over the horizon &#8212; true page layout tools.</p>
<p>While it&#8217;s possible to create amazingly complex layouts using tools like CSS floats, positioning rules and the odd bit of JavaScript, none of those tools were actually created explicitly for laying out content, which is why it&#8217;s amazingly complex to get them working the way you want across browsers. </p>
<p>Soon, however, you&#8217;ll be able to throw out your floats and <a href="http://www.webmonkey.com/2011/03/the-future-of-css-finally-sane-layout-tools/">embrace a better way</a> &#8212; the <a href="http://www.w3.org/TR/css3-flexbox/">CSS Flexible Box Model</a>, better known as simply Flexbox. Flexbox enables you to create complex layouts with only a few lines of code &#8212; no more floats and <a href="http://nicolasgallagher.com/micro-clearfix-hack/">&#8220;clearfix&#8221; hacks</a>.</p>
<p>Perhaps even more powerful &#8212; especially for those building responsive websites &#8212; the Flexbox <code>order</code> property allows you to create layouts completely independent of the HTML source order. Want the footer at the top of the page for some reason? No problem, just set your footer CSS to <code>order: 1;</code>. Flexbox also makes it possible to do vertical centering. Finally.</p>
<p>We&#8217;ve <a href="http://www.webmonkey.com/2011/03/the-future-of-css-finally-sane-layout-tools/">looked at Flexbox in the past</a>, but, unfortunately the spec has undergone a serious re-write since then, which renders older code obsolete. If you&#8217;d like to get up to speed with the new syntax, the Adobe Developer Blog recently published a guide to <a href="https://www.adobe.com/devnet/html5/articles/working-with-flexbox-the-new-spec.html">working with Flexbox</a> by developer Steven Bradley.</p>
<p>Bradley walks through the process of using Flexbox in both mobile and desktop layouts, rearranging source order and elements to get both layouts working with a fraction of the code it would take to do the same using floats and other, older layout tools. The best way to wrap your head around Flexbox is to see it in action, so be sure to follow the links to Bradley&#8217;s demo page using either Chrome, Opera or Firefox 20+.</p>
<p>For some it may still be too early to use Flexbox. <a href="http://caniuse.com/flexbox">Browser support is improving</a>, but obviously older browsers will never support Flexbox, so bear that in mind. Opera 12 supports the new syntax, no prefix necessary. Chrome supports the new syntax, but needs the <code>-webkit</code> prefix. Like Opera, <strike>Firefox 20+</strike> Firefox 22 supports the unprefixed version of the new spec. Prior to v22 (currently in the beta channel), Firefox supports the old syntax. IE 10 supports the older Flexbox syntax. Most mobile browsers support the older syntax, though that is starting to change. [<b>Update:</b> Mozilla developer Daniel Holbert, who is working on the Flexbox code in Firefox, wrote to let me know that the Flexbox support has been pushed back to Firefox 22. Actually the new Flexbox syntax is part of Firefox 20 and up, but until v22 arrives it's disabled by default. You can turn it on by heading to <code>about:config</code> and searching for <code>layout.css.flexbox.enabled</code> pref. Set it to true and the modern syntax will work.]</p>
<p>So, as of this writing, only two web browsers really support the new Flexbox syntax, though Firefox will make that three in the next month or so. </p>
<p>But there is a way to work around some of the issues. First off, check out Chris Coyier&#8217;s article on <a href="http://css-tricks.com/using-flexbox/">mixing the old and new syntaxes</a> to get the widest possible browser support. Coyier&#8217;s methods will get your Flexbox layouts working in pretty much everything but IE 9 and below. </p>
<p>If you&#8217;re working on a personal site that might be okay &#8212; IE 9 and below would just get a simplified, linear layout. Or you could serve an extra stylesheet with some floats to older versions of IE (or use targeted CSS classes if you prefer). That defeats some of the benefits of Flexbox since you&#8217;ll be writing floats and the like for IE, but when usage drops off you can just dump that code and help move your site, and the web, forward.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/04/the-future-of-css-flexbox-is-a-game-changer/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Google Discontinues Site-Blocking Service</title>
        <link>http://www.webmonkey.com/2013/03/google-discontinues-site-blocking-service/</link>
        <comments>http://www.webmonkey.com/2013/03/google-discontinues-site-blocking-service/#comments</comments>
        <pubDate>Mon, 25 Mar 2013 15:35:12 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61385</guid>
        		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Google]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/google-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/google.jpg" alt="Google Discontinues Site-Blocking Service" /></div>The hits just keep getting killed off. Until recently Google allowed you to stop certain domains from showing up in Google search results, but now the company has discontinued its site-blocking tool and suggests replacing it with a far less capable Chrome extension.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_57824" class="wp-caption alignleft" style="width: 360px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/07/deadend.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/07/deadend.jpg" alt="" title="deadend" width="350" height="208" class="size-full wp-image-57824" /></a><p class="wp-caption-text"><em>Image: <a href='http://www.flickr.com/photos/geishaboy500/2496995573/'>THOR</a>/Flickr</em></p></div>The hits just keep getting killed off. Google is shutting down yet another service &#8212; the company&#8217;s domain blocking tool, which allowed logged-in users to block unwanted domains from Google&#8217;s search results.</p>
<p>Google&#8217;s site-blocking tool was originally aimed at &#8220;content farm spam,&#8221; but Google hasn&#8217;t done much with it of late, and it even stopped working for a while, despite being available via a link from your profile.</p>
<p>Now the service is <a href="https://support.google.com/websearch/bin/answer.py?hl=en&amp;answer=1210386">officially gone</a>, replaced by a <a href="https://chrome.google.com/webstore/detail/personal-blocklist-by-goo/nolijncfnkgaikbjbdaogikpmpbdcdef">Chrome add-on</a> that does nearly the same thing. Unfortunately that means the ability to ban sites from Google&#8217;s search results is now limited to those using Google&#8217;s Chrome web browser. For more on the Chrome add-on <a href="http://www.webmonkey.com/2011/02/new-chrome-add-on-blocks-sites-from-search-results/">see our earlier review</a>.</p>
<p>The bad news about the Chrome extension is that it&#8217;s client-side filtering, not server-side. That means that if Google returns results from domains you&#8217;ve blocked those results are simply hidden (sometimes there&#8217;s even a brief flash of the blocked results). </p>
<p>That means you&#8217;ll end up with fewer search results than you would with the server-side solution, which filtered out your blocked domains <em>before</em> the results were sent. For example, if there are ten results on the first page and three are from domains you&#8217;ve blocked, using the add-on method you&#8217;ll only see seven results, whereas the server-side method would have fetched the next three results to show a total of ten.</p>
<p>If you used the account-based version of the blocking tool, you can head over to your account and <a href="http://www.google.com/reviews/t">grab the list of sites you had blocked</a>. Just add those sites to the Chrome extension and you&#8217;ll be back up and running in no time, with not an Experts-Exchange, Quora or W3Schools link to be seen (or whatever you consider search results spam). </p>
<p><em>Home Page Photo:<a href="http://www.flickr.com/photos/carlosluna/2856173673/lightbox/"> Carlos Luna </a>/ Flickr </em></p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/google-discontinues-site-blocking-service/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Scaling on a Shoestring, Lessons from NewsBlur</title>
        <link>http://www.webmonkey.com/2013/03/scaling-on-a-shoestring-lessons-from-newsblur/</link>
        <comments>http://www.webmonkey.com/2013/03/scaling-on-a-shoestring-lessons-from-newsblur/#comments</comments>
        <pubDate>Fri, 22 Mar 2013 15:21:37 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61373</guid>
        		<category><![CDATA[Business]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[RSS]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/newsblur-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/newsblur.jpg" alt="Scaling on a Shoestring, Lessons from NewsBlur" /></div>When Google announced Reader would shutdown, nearly all its competitors saw a massive traffic spike. Most were well-funded startups with resources to scale, but NewsBlur, a one-man operation, managed to more than double its user base in a few short days without all the startup trappings. Developer Samuel Clay writes about what went wrong, what went right and how NewsBlur not only survived, but is thriving.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_61374" class="wp-caption alignnone" style="width: 590px"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/newsblur.jpg" alt="" title="newsblur" width="580" height="327" class="size-full wp-image-61374" /><p class="wp-caption-text">NewsBlur survives a traffic surge after news of Google Reader&#8217;s pending demise gets around.<br /><em>Image: NewsBlur</em>.</p></div>One of the more interesting stories to emerge from the demise of Google Reader is that of <a href="http://www.newsblur.com/">NewsBlur</a>, a previously small, but very nice, <a href="https://github.com/samuelclay/NewsBlur">open source</a> alternative RSS reader. </p>
<p>NewsBlur is a one-man operation that was humming along quite nicely, but when <a href="http://www.webmonkey.com/2013/03/its-not-just-reader-google-kills-chrome-rss-extension-too/">Google announced Reader would shutdown</a>, NewsBlur saw a massive traffic spike &#8212; in a few short days NewsBlur more than doubled its user base. How NewsBlur developer Samuel Clay <a href="http://blog.newsblur.com/post/45632737156/three-months-to-scale-newsblur">handled the influx of new users</a> should be required reading for anyone working on a small site without loads of funding and armies of developers.</p>
<p>&#8220;I was able to handle the 1,500 users who were using the service everyday,&#8221; writes Clay, &#8220;but when 50,000 users hit an uncachable and resource intensive backend, unless you&#8217;ve done your homework and load tested the living crap out of your entire stack, there&#8217;s going to be trouble brewing.&#8221;</p>
<p>Having tested NewsBlur a few times right after Google announced Reader was closing, I can vouch for the fact that there were times when the site was reduced to a crawl, but it came back to life remarkably quickly for a one-man operation. </p>
<p>In his postmortem, Clay details the moves he had to make to keep NewsBlur functioning under the heavy load &#8212; switching to new servers, adding a new mailing service (which then accidentally mailed Clay 250,000 error reports) and other moments of rapid, awkward growth.</p>
<p>It&#8217;s also worth noting that Clay credits the ability to scale to his premium subscription model, writing that, &#8220;the immediate benefits of revenue have been very clear over the past few days.&#8221;</p>
<p>As for the future, Clay says he plans to work on &#8220;scaling, scaling, scaling,&#8221; launching a visual refresh (which you can <a href="http://dev.newsblur.com/">preview at dev.newsblur.com</a>) and listening to feedback from the service&#8217;s host of new users.</p>
<p>If you&#8217;re looking for a Google Reader replacement, give NewsBlur a try. There&#8217;s a free version you can test out (the number of feeds is limited). A premium account runs $24/year and you can also host NewsBlur on your own server if you prefer.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/scaling-on-a-shoestring-lessons-from-newsblur/feed/</wfw:commentRss>
        <slash:comments>3</slash:comments>

        
    </item>
    
    <item>
        <title>Put Your Site on a Diet With Google&#8217;s Image-Shrinking &#8216;WebP&#8217; Format</title>
        <link>http://www.webmonkey.com/2013/03/put-your-site-on-a-diet-with-googles-image-shrinking-webp-format/</link>
        <comments>http://www.webmonkey.com/2013/03/put-your-site-on-a-diet-with-googles-image-shrinking-webp-format/#comments</comments>
        <pubDate>Wed, 13 Mar 2013 15:41:36 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61262</guid>
        		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[WebP]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/webpcomparison-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/webpcomparison.jpg" alt="Put Your Site on a Diet With Google&#8217;s Image-Shrinking &#8216;WebP&#8217; Format" /></div>An image may be worth a thousand words, but it sure takes a lot longer to download. Google's WebP image format may offer some help though, shrinking images more than popular formats like JPEG. Not every browser supports Google's nascent WebP image format, but it's pretty simple to serve up smaller images to those that do.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_61265" class="wp-caption aligncenter" style="width: 590px"><a href="https://developers.google.com/speed/webp/gallery1"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/webpcomparison.jpg" alt="" title="webpcomparison" width="580" height="218" class="size-full wp-image-61265" /></a><p class="wp-caption-text">WebP versus JPEG. Click the image to see the full size examples on Google&#8217;s WebP comparison page. <em>Image: Google</em></p></div>
<p>Webpages are constantly getting bigger.</p>
<p>Massive JavaScript libraries and endless sharing buttons aren&#8217;t helping, but the main culprit behind most of the bloat is the good old image. According to the HTTPArchive, images account for roughly <a href="http://httparchive.org/interesting.php#bytesperpage">60 percent of total page size</a>. That means the single biggest thing most sites can do to slim down is to shrink their images.</p>
<p>One way to do that is with alternate image formats like Google&#8217;s <a href="http://www.webmonkey.com/2010/10/meet-webp-googles-new-image-format-for-the-web/">WebP</a>, which can yield images between 25 and 34 percent smaller than more popular image formats. Despite the astounding space-saving potential of WebP it, like JPEG 2000 and other efforts before it, has not completely caught on with browsers.</p>
<p>So far only Google Chrome and Opera support WebP (both also automatically convert all images to WebP for their respective <a href="http://www.webmonkey.com/2013/03/mobile-browsers-help-users-avoid-bloated-webpages/">proxy browsing mobile services</a>). Mozilla <a href="http://muizelaar.blogspot.co.uk/2011/04/webp.html">objected to WebP</a> when it was first launched, but all of the issues raised in that post have been addressed as WebP has evolved. Firefox still does not support WebP. Nor does Internet Explorer.</p>
<p>However, as Opera&#8217;s Bruce Lawson <a href="http://www.brucelawson.co.uk/2013/save-bandwidth-webp-with-fallback/">recently pointed out</a>, using some cutting-edge CSS wizardry you can serve WebP images to Chrome and Opera, while still offering JPGs to the rest. Here&#8217;s what the code would look like:</p>
<pre class="brush: js">
.mybackgroundimage {
    background-image: url("image.jpg");
    background-image: image("image.webp" format('webp'), "image.jpg");
}
</pre>
<p>This code uses the new <a href="http://www.w3.org/TR/css4-images/#image-fallbacks">Image Fallbacks syntax</a>, which is part of the CSS Image Values and Replaced Content Module Level 4. The format qualifier is borrowed from <code>@font-face</code> and ensures that browsers won&#8217;t download the WebP image if they don&#8217;t support it.</p>
<p>Of course this only helps with CSS background images, which probably aren&#8217;t the majority of the images most sites serve up. For content images there&#8217;s currently no easy way to do the same thing, though there might be in the future if browsers begin to <a href="http://www.webmonkey.com/2012/11/preview-the-proposed-html-picture-element/">support the proposed <code>&lt;picture&gt;</code> element</a>. Because <code>&lt;picture&gt;</code>&#8216;s syntax is roughly analogous, you would be able to do something like this:</p>
<pre class="brush: js">
&lt;picture&gt;
    &lt;source src=image.webp type=image/webp &gt;
    &lt;source src=image.png type=image/png &gt;
    &lt;img src=image.png alt="alt text "&gt; &lt;!-- fallback content --&gt;
&lt;/picture&gt;
</pre>
<p>That would cover almost all the bases: browsers that support WebP and <code>&lt;picture&gt;</code>, browsers that support <code>&lt;picture&gt;</code> but not WebP and browsers that support neither. Unfortunately it&#8217;s going to be a while before this pseudocode becomes real. </p>
<p>WebP has other problems worth considering before you dive in. For example, when users save an image they may have trouble getting a WebP image to open in their favorite desktop app. </p>
<p>Still, while WebP may have a little ways to go, the potential to significantly reduce page size appears to be winning converts. If you&#8217;d like to learn more about WebP and how you can use it, check out the video below from Google&#8217;s Making the Web Fast series.</p>
<p><iframe width="580" height="326" src="http://www.youtube.com/embed/4tu2SJfSalA" frameborder="0" allowfullscreen></iframe></p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/put-your-site-on-a-diet-with-googles-image-shrinking-webp-format/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Google: Here&#8217;s What to Do if Your Website Is Hacked</title>
        <link>http://www.webmonkey.com/2013/03/google-heres-what-to-do-if-your-site-is-hacked/</link>
        <comments>http://www.webmonkey.com/2013/03/google-heres-what-to-do-if-your-site-is-hacked/#comments</comments>
        <pubDate>Wed, 13 Mar 2013 13:39:21 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61254</guid>
        		<category><![CDATA[Security]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[Google]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/malwaresite-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/malwaresite.jpg" alt="Google: Here&#8217;s What to Do if Your Website Is Hacked" /></div>Been hacked? Google has set up a new series of posts on how to get your site back under your control and off of Google's dreaded malware site list.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_61257" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/03/malwaresite.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/malwaresite.jpg" alt="" title="malwaresite" width="580" height="343" class="size-full wp-image-61257" /></a><p class="wp-caption-text">Chrome&#8217;s malware warning page. <em>Image: Google</em>.</p></div>Nothing drives away your visitors quite like a message from Google that &#8220;this site may harm your computer&#8221; or &#8220;this site may have been compromised.&#8221; </p>
<p>Hopefully you&#8217;ll never need it, but if your site does get hacked Google has set up a new site dedicated to <a href="http://googlewebmastercentral.blogspot.com/2013/03/new-first-stop-for-hacked-site-recovery.html">helping websites that have been hacked</a>.</p>
<p>The &#8220;<a href="http://www.google.com/webmasters/hacked/">Help for Hacked Sites</a>&#8221; section of Google&#8217;s Webmaster Tools offers up articles and videos to help you not only recover from compromising hacks, but take steps to make sure it doesn&#8217;t happen again.</p>
<p>Part of what makes hacked sites difficult to deal with is that oftentimes developers don&#8217;t even notice that they&#8217;ve been compromised. &#8220;Hacks are often invisible to users,&#8221; says Google in its new help section. &#8220;For example, unbeknownst to the site owner, the hacker may have infected their site with harmful code which in turn can record keystrokes on visitors&#8217; computers, stealing login credentials for online banking or financial transactions&#8221;</p>
<p>Google has an 8-step program for unhacking your site, which include basics like <a href="https://support.google.com/webmasters/bin/answer.py?hl=en&amp;answer=3013681">identifying the vulnerability</a> that was used to compromise your site, as well as how to <a href="https://support.google.com/webmasters/bin/answer.py?hl=en&amp;answer=2600725">request a review</a> so Google will remove the dreaded &#8220;this site has been compromised&#8221; message from its search results.</p>
<p>For more info and all the details on what to do if you&#8217;ve been hacked, check out the new <a href="http://www.google.com/webmasters/hacked/">Help for Hacked Sites</a> section of Google&#8217;s Webmaster Tools.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/google-heres-what-to-do-if-your-site-is-hacked/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Teachers Are the Key to Everyone Learning to Code</title>
        <link>http://www.webmonkey.com/2013/03/teachers-are-the-key-to-everyone-learning-to-code/</link>
        <comments>http://www.webmonkey.com/2013/03/teachers-are-the-key-to-everyone-learning-to-code/#comments</comments>
        <pubDate>Mon, 11 Mar 2013 15:35:32 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61226</guid>
        		<category><![CDATA[Web Basics]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/gates-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/gates.jpg" alt="Teachers Are the Key to Everyone Learning to Code" /></div>Efforts like the recently launched Code.org try to make programming more appealing to students -- an admirable goal -- but if we're serious about expanding computer science in schools we need to start talking to teachers.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><iframe width="580" height="326" src="http://www.youtube.com/embed/nKIu9yen5nc" frameborder="0" allowfullscreen></iframe></p>
<p>Code.org recently made a splash with its high-profile supporters &#8212; everyone from Bill Gates to Snoop Dogg have offered up their support for Code.org&#8217;s premise: that everyone should learn to code. </p>
<p>While Code.org&#8217;s goals are admirable, the movie above spends near zero time talking about what might be the most important part of the equation: computer science teachers. </p>
<p>The <a href="http://www.code.org/">Code.org</a> website has info for interested teachers, but the emphasis is still clearly on enticing students to want to learn to code. That&#8217;s great, but what about CS teachers? </p>
<p>To prepare for an upcoming talk at the annual Python conference, Pycon, Mozilla data architect and PostgreSQL contributor Selena Deckelmann recently <a href="http://www.chesnok.com/daily/2013/03/10/about-high-school-computer-science-teachers/">started talking with actual High School CS teachers</a> and has some surprising, if depressing, take aways about what we can do to help kids learn to code. Deckelmann&#8217;s survey is admittedly informal and rather small, but it&#8217;s a start.</p>
<p>Deckelmann reports that &#8220;reading comprehension is the biggest barrier to completion of AP Computer Science&#8221; and that &#8220;continued existence&#8221; is the biggest battle for a computer science teacher every year. </p>
<p>Deckelmann cites a <a href="https://www.cmu.edu/news/archive/2010/December/dec6_k12cseducationdeclining.shtml">2010 report</a> that found &#8220;the number of secondary schools offering introductory computer science courses dropped 17 percent from 2005 to 2009 and the number offering Advanced Placement (AP) computer science courses dropped 35 percent in that time period.&#8221;</p>
<p>More encouraging is that students at one high school learned three languages in three years (C++, Java and Python). </p>
<p>It&#8217;s also interesting to note that Deckelmann says &#8220;the CS teachers I&#8217;ve met want to share their lessons &#8212; with me and with other teachers,&#8221; and that &#8220;the CS teachers I&#8217;ve met don&#8217;t know other CS teachers.&#8221; That sounds like an opportunity for some kind of social site if anyone is interested &#8212; just be sure to talk to some actual teachers before you start building.</p>
<p>If you&#8217;re planning to be at Pycon this weekend be sure to check out Deckelmann&#8217;s talk &#8220;<a href="https://us.pycon.org/2013/schedule/presentation/42/">What teachers really need from us</a>.&#8221;</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/teachers-are-the-key-to-everyone-learning-to-code/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Mobile Browsers Help Users Avoid Bloated Webpages</title>
        <link>http://www.webmonkey.com/2013/03/mobile-browsers-help-users-avoid-bloated-webpages/</link>
        <comments>http://www.webmonkey.com/2013/03/mobile-browsers-help-users-avoid-bloated-webpages/#comments</comments>
        <pubDate>Fri, 08 Mar 2013 16:30:23 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=61206</guid>
        		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Responsive Design]]></category>
		<category><![CDATA[UI/UX]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[Opera Mobile]]></category>
		<category><![CDATA[performance]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/03/donuts-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/donuts.jpg" alt="Mobile Browsers Help Users Avoid Bloated Webpages" /></div>The internet sees your bloated webpages as damage and it's taking steps to route around them. Both Chrome and Opera have recently added an option for mobile users to connect to proxy servers, which slim down webpages before sending them over constrained mobile connections. The rise of proxy servers will likely mean that, in the future, developers will have even less control over how users access their sites.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled -->
<p><div id="attachment_61207" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/03/donuts.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/03/donuts.jpg" alt="" title="donuts" width="580" height="374" class="size-full wp-image-61207" /></a><p class="wp-caption-text">Stop feeding your website donuts. <em>Image: <a href="https://secure.flickr.com/photos/pinksherbet/1354739463/">D. Sharon Pruitt/Flickr</a></em>.</p></div>Websites are getting fatter, dramatically fatter, with the average page size of sites tracked by the HTTPArchive now <a href="http://httparchive.org/trends.php">nearly 1.3 MB</a>. If the current rate of page size increase continues, that number will <a href="http://www.webperformancetoday.com/2012/11/15/average-web-page-grows-20-percent/">reach 2MB sometime early next year</a>. </p>
<p>That&#8217;s bad for pretty much everyone, but doubly so for mobile users with constrained bandwidth.</p>
<p>Fortunately for mobile users, the network increasingly seems to see large page sizes as damage to route around. </p>
<p>Services like Instapaper, Pocket or Safari&#8217;s Reader have long offered an easy way to strip out extraneous content. Now mobile web browsers are increasingly taking it upon themselves to speed up the bloated web.</p>
<p>The recently unveiled <a href="http://www.webmonkey.com/2013/03/reborn-opera-mobile-sings-on-android/">WebKit-based Opera Mobile</a> borrows Opera Mini&#8217;s proxy-based Turbo Mode, or &#8220;Off Road&#8221; mode as it&#8217;s known now. Once only deemed necessary for feature phones (Opera Mini&#8217;s primary market) proxy-based browsing will soon be available in all Opera browsers.</p>
<p>Google&#8217;s Chrome for Android browser is getting ready to follow suit. </p>
<p>The beta channel release of Chrome for Android recently <a href="http://blog.chromium.org/2013/03/data-compression-in-chrome-beta-for.html">introduced an experimental data compression feature</a> which Google says will &#8220;yield substantial bandwidth savings.&#8221; Chrome&#8217;s compression is nowhere near the level of Opera&#8217;s, but it does roughly the same thing &#8212; puts a proxy server between the user and the bloated site in question and then applies various speed improvements like using the <a href="http://www.webmonkey.com/2009/11/say__hello_world__to_spdy__a_successor_to_http-2/">SPDY protocol</a> and compressing images with WebP.</p>
<p>To turn on the compression head to <code>chrome:flags</code> and look for the &#8220;enable experimental data compression&#8221; option. </p>
<p>Here&#8217;s Google&#8217;s description of the various optimizations:</p>
<blockquote>
<p>For an average web page, over 60% of the transferred bytes are images. The proxy optimizes and transcodes all images to the WebP format, which requires fewer bytes than other popular formats, such as JPEG and PNG. The proxy also performs intelligent compression and minification of HTML, JavaScript and CSS resources, which removes unnecessary whitespace, comments, and other metadata which are not essential to render the page. These optimizations, combined with mandatory gzip compression for all resources, can result in substantial bandwidth savings.</p>
</blockquote>
<p>In other words, Google and Opera are doing what web developers ought to be doing but aren&#8217;t. Just like <a href="http://www.webmonkey.com/2010/06/design-for-readability-first/">developers should have been making reader-friendly pages</a>, but weren&#8217;t, so &#8220;reader&#8221; modes were born.</p>
<p>It works too. In the video embedded below Google&#8217;s Pete Le Page shows how Chrome&#8217;s new proxy options take a page from The Verge and reduce it from a husky 1.9MB to a still fat, but somewhat better 1.2MB. </p>
<p><iframe width="580" height="326" src="http://www.youtube.com/embed/TAxy4q3RP_s" frameborder="0" allowfullscreen></iframe></p>
<p>Want to make sure the internet doesn&#8217;t see your site as damage it needs to route around? Check out developer Brad Frost&#8217;s article <em><a href="http://bradfrostweb.com/blog/post/prioritizing-performance-in-responsive-design/">Prioritizing Performance in Responsive Design</a></em>, which has a ton of great advice and links, including what I think is the most important thing developers can do: <em><a href="http://bradfrostweb.com/blog/post/performance-as-design/">Treat Performance As Design</a></em>. In other words, if your site isn&#8217;t svelte and fast, it&#8217;s not well designed no matter how pretty it might look.</p>
<p>[Note: <a href="http://www.zeldman.com/2011/11/18/it-is-not-ironic/">It is not ironic</a> to post about web page bloat on a page that is, arguably, pretty bloated.]</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/03/mobile-browsers-help-users-avoid-bloated-webpages/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Learn Typography Basics With &#8216;On Web Typography&#8217;</title>
        <link>http://www.webmonkey.com/2013/02/learn-typography-basics-with-on-web-typography/</link>
        <comments>http://www.webmonkey.com/2013/02/learn-typography-basics-with-on-web-typography/#comments</comments>
        <pubDate>Mon, 11 Feb 2013 19:32:19 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60895</guid>
        		<category><![CDATA[Visual Design]]></category>
		<category><![CDATA[Web Basics]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[video]]></category>
        <description><![CDATA[Web typography has come a long way from the days when the only way to get a custom typeface on a page was with images created in Photoshop. These days, thanks to widespread browser support for CSS @font-face and services like Typekit, a couple lines of code will add actual font files to your pages. [...]]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><iframe src="http://player.vimeo.com/video/59237572" width="580" height="326" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<p>Web typography has come a long way from the days when the only way to get a custom typeface on a page was with images created in Photoshop. These days, thanks to widespread browser support for CSS @font-face and services like Typekit, a couple lines of code will add actual font files to your pages.</p>
<p>Go back to 2001 with that information and you would blow many a designer&#8217;s mind.</p>
<p>Of course if you&#8217;re not a designer, today&#8217;s overwhelming variety of type possibilities can be overwhelming. For some help deciphering it all and navigating the sometimes complex world of web typography, check out <a href="http://vimeo.com/59237572#">the video</a> above of Typekit&#8217;s <a href="http://jasonsantamaria.com/">Jason Santa Maria</a>&#8216;s talk &#8220;On Web Typography.&#8221; The video comes from <a href="http://aneventapart.com/">An Event Apart</a> Boston in June of last year, but was only recently made available online (note that Santa Maria has since <a href="http://jasonsantamaria.com/articles/leaving-typekit">left Typekit</a>).</p>
<p>After a whirlwind tour of the history of online typography, Santa Maria explores typography from a newcomer&#8217;s perspective, looking at how typography affects how you read and how to choose and combine typefaces for a better looking, easier to read site. It&#8217;s about an hour long, but you&#8217;d be hard pressed to find a better intro to and overview of the art of typography.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/learn-typography-basics-with-on-web-typography/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Adobe Proposes New Standard for Better Web Typography</title>
        <link>http://www.webmonkey.com/2013/02/adobe-proposes-new-standard-for-better-web-typography/</link>
        <comments>http://www.webmonkey.com/2013/02/adobe-proposes-new-standard-for-better-web-typography/#comments</comments>
        <pubDate>Mon, 11 Feb 2013 16:06:19 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60869</guid>
        		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Basics]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/02/textbalancedemo-200x100.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/textbalancedemo.jpg" alt="Adobe Proposes New Standard for Better Web Typography" /></div>Adobe wants to help web developers create a more readable web with a new proposal to "balance" text. If accepted as a standard Adobe's text-balance rule would help eliminate typographic unsightliness -- like widows, orphans and ragged lines -- from the web, making text easier on the eyes.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_60871" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2013/02/textbalancedemolg.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/textbalancedemo.jpg" alt="" title="textbalancedemo" width="580" height="298" class="size-full wp-image-60871" /></a><p class="wp-caption-text">Adobe&#8217;s proposed text-balance rule (right) versus no balancing (left). <em>Image: Screenshot/Webmonkey</em>.</p></div></p>
<p>Adobe is continuing its effort to bring better typography to the web with a new proposal for what the company is calling &#8220;Automatic Text Balancing.&#8221; If browsers adopt text balancing it could mean the end of typographic unsightliness like <a href="https://en.wikipedia.org/wiki/Widows_and_orphans">widows, orphans</a> and ragged lines, and would go a long way to creating more readable text on the web.</p>
<p>Adobe&#8217;s proposal is based on Adobe InDesign&#8217;s &#8220;<a href="http://help.adobe.com/en_US/indesign/cs/using/WS3EE260F6-825E-4ee5-B33D-9A14C7F7534Ba.html#WSa285fff53dea4f8617383751001ea8cb3f-6dc8a">Balance Ragged Lines</a>&#8221; feature, and works a bit like justifying text except that instead of expanding text with ugly spaces between words, the algorithm would adjust line lengths to &#8220;balance&#8221; text for easier reading.</p>
<p>Adobe&#8217;s Randy Edmunds outlines <a href="https://blogs.adobe.com/webplatform/2013/01/30/balancing-text-for-better-readability/">the basic idea behind automatic text balancing</a> on the company&#8217;s Web Platform Blog. Essentially text balancing would mean eliminating widows (single words pushed to a new line), and also automatically presenting text so that it&#8217;s even wrapped instead of a long line followed by a shorter line.</p>
<p>Here&#8217;s how Edmunds and Adobe see text balance working:</p>
<blockquote><p>I propose we use a text rendering algorithm that would be applied by browser when asked by the designer to do so to automatically balance text across multiple lines, like so:</p>
<pre class="brush: js">
h1 {
  text-wrap: balance;
  }
</pre>
<p>This would make all h1 elements whenever they span more than one line to be automatically rendered such that they have balanced text. As you notice, I only propose an additional value to the existing text-wrap property of CSS.</p>
</blockquote>
<p>If accepted by the W3C, Adobe&#8217;s text balance proposal would add a new <code>balance</code> value to the proposed CSS <a href="http://dev.w3.org/csswg/css4-text/#wrapping"><code>text-wrap</code></a> rule. The text-wrap property was originally part of the CSS 3 spec, but has since been removed and remains in flux. </p>
<p>Adobe has already created a jQuery plugin polyfill that implements the <a href="http://adobe-webplatform.github.com/balance-text/proposal/index.html">proposed text balance algorithm</a>. You can <a href="https://github.com/adobe-webplatform/balance-text">grab the code from GitHub</a>. There&#8217;s also a sample page where you can <a href="http://adobe-webplatform.github.com/balance-text/demo/index.html">see the jQuery text balancing in action</a>. (Be sure to resize the window to see the reflow difference between balanced and unbalanced text.) There&#8217;s also an <a href="http://lists.w3.org/Archives/Public/www-style/2013Jan/0597.html">ongoing discussion on the CSS WG mailing list</a> if you&#8217;d like to dig into the details.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/adobe-proposes-new-standard-for-better-web-typography/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    
    <item>
        <title>Create Better, Sharper Web Graphics With SVG</title>
        <link>http://www.webmonkey.com/2013/02/create-better-sharper-web-graphics-with-svg/</link>
        <comments>http://www.webmonkey.com/2013/02/create-better-sharper-web-graphics-with-svg/#comments</comments>
        <pubDate>Tue, 05 Feb 2013 19:23:00 +0000</pubDate>

                <dc:creator>Scott Gilbertson</dc:creator>

        <guid isPermaLink="false">http://www.webmonkey.com/?p=60833</guid>
        		<category><![CDATA[Visual Design]]></category>
		<category><![CDATA[Web Basics]]></category>
            <enclosure url="http://www.webmonkey.com/wp-content/uploads/2013/02/screen_w.jpg" type="image/jpeg" length="48000" />
                    <description><![CDATA[<div class="rss_thumbnail"><img src="http://www.webmonkey.com/wp-content/uploads/2013/02/screen_w.jpg" alt="Create Better, Sharper Web Graphics With SVG" /></div>Today's high resolution screens make yesterday's graphics look blurry and pixelated. Fortunately there's a simple solution, one that's been around for years: Scalable Vector Graphics or SVG.]]></description>

            <content:encoded><![CDATA[<p><!-- wpautop enabled --><div id="attachment_57206" class="wp-caption aligncenter" style="width: 590px"><a href="http://www.webmonkey.com/wp-content/uploads/2012/06/120316-NEW-IPAD-002edit-1024x682.jpg"><img src="http://www.webmonkey.com/wp-content/uploads/2012/06/120316-NEW-IPAD-002edit-580.jpg" alt="" title="120316-NEW-IPAD-002edit-580" width="580" height="386" class="size-full wp-image-57206" /></a><p class="wp-caption-text">The iPad may have started it, but the high resolution screen will soon be the norm. <em>Photo: Ariel Zambelich/Wired.com</em> <a href='http://creativecommons.org/licenses/by-nc/3.0/' ><img style='float:right;padding:0;' src='http://www.wired.com/about/wp-content/gallery/global/creative-commons.gif' class='creative-commons'></a></p></div></p>
<p>The <a href="http://www.webmonkey.com/2012/06/make-sure-your-site-looks-good-on-the-new-retina-macbook-pro/">rise of high-resolution screens</a> means that web developers need resolution-independent graphics or images look blurry. For photographs <a href="http://www.webmonkey.com/2012/11/preview-the-proposed-html-picture-element/">responsive images</a> may be the solution, but for simpler graphics like logos and icons there&#8217;s an easy solution that&#8217;s been with us for some time &#8212; Scalable Vector Graphics or SVG.</p>
<p>A slightly blurry icon or logo on a retina display probably isn&#8217;t going to drive your visitors away, but if it&#8217;s easy to fix and can potentially save you some bandwidth as well, why not?</p>
<p>Historically, browser support for SVG has not been particularly good, but these days SVG images work just about everywhere, except older versions of IE. Thankfully it isn&#8217;t hard to serve up regular old PNG files to older versions of IE while keeping the resolution-independent goodness for everyone else.</p>
<p>Developer David Bushell recently tackled the topic of SVG graphics in a very thorough post titled <a href="http://dbushell.com/2013/02/04/a-primer-to-front-end-svg-hacking/">A Primer to Front-end SVG Hacking</a>. Bushell covers using SVG graphics in image tags, stylesheets, sprites and even the old-school <code>&lt;object&gt;</code> method. He&#8217;s also got a great list of external resources, including <a href="http://benhowdle.im/svgeezy/">SVGeezy</a> for IE fallback, the <a href="https://github.com/svg/svgo">SVG Optimizer</a> for saving on bandwidth and <a href="https://github.com/filamentgroup/grunticon">grunticon</a> which converts SVG files to PNG and data URIs for fallback images.</p>
<p>Head on over to <a href="http://dbushell.com/2013/02/04/a-primer-to-front-end-svg-hacking/">Bushell&#8217;s site</a> for more details and you can check out some of our <a href="http://www.webmonkey.com/2012/06/cure-the-high-resolution-blurs-with-svg-and-icon-fonts/">previous</a> <a href="http://www.webmonkey.com/2011/10/getting-started-with-scalable-vector-graphics-svg/">posts</a> on SVG for even more resources.</p>
<div id='linker_widget' class='contextly-widget'></div>]]></content:encoded>
            <wfw:commentRss>http://www.webmonkey.com/2013/02/create-better-sharper-web-graphics-with-svg/feed/</wfw:commentRss>
        <slash:comments>0</slash:comments>

        
    </item>
    </channel>
</rss>