<?xml version="1.0"?>
<News hasArchived="true" page="8680" pageCount="10720" pageSize="10" timestamp="Fri, 10 Jul 2026 07:42:15 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8680">
<NewsItem contentIssues="true" id="30493" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30493">
<Title>The State Of Responsive Web Design</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <table width="650">
    <tbody>
    <tr>
    <td>
    <div>
    <img src="http://statisches.auslieferung.commindo-media-ressourcen.de/advertisement.gif" alt="" style="max-width: 100%; height: auto;"><br><a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=1" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=1" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=2" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=2" alt="" style="max-width: 100%; height: auto;"></a> <a href="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=target&amp;collection=smashing-rss&amp;position=3" rel="nofollow external" class="bo"><img src="http://auslieferung.commindo-media-ressourcen.de/random.php?mode=image&amp;collection=smashing-rss&amp;position=3" alt="" style="max-width: 100%; height: auto;"></a>
    </div>
    </td>
    </tr>
    </tbody>
    </table>
    <p>Responsive Web design has been around for some years now, and it was a hot topic in 2012. Many well-known people such as Brad Frost and Luke Wroblewski have a lot of experience with it and have helped us make huge improvements in the field. But <strong>there’s still a whole lot to do</strong>.</p>
    <p>In this article, we will look at what is currently possible, what will be possible in the future using what are not yet standardized properties (such as CSS Level 4 and HTML5 APIS), and what still needs to be improved. This article is not exhaustive, and we won’t go deep into each technique, but you’ll have enough links and knowledge to explore further by yourself.</p>
    <h3>The State Of Images In Responsive Web Design</h3>
    <p>What better aspect of responsive Web design to start off with than images? This has been a major topic for a little while now. It got more and more important with the arrival of all of the high-density screens. By high density, I mean screens with a pixel ratio higher than 2; Apple calls these Retina devices, and Google calls them XHDPI. In responsive Web design, images come with two big related challenges: size and performance.</p>
    <p>Most designers like pixel perfection, but “normal”-sized images on high-density devices look pixelated and blurry. Simply serving double-sized images to high-density devices might be tempting, right? But that would create a performance problem. Double-sized images would take more time to load. Users of high-density devices might not have the bandwidth necessary to download those images. Also, depending on which country the user lives in, bandwidth can be pretty costly.</p>
    <p>The second problem affects smaller devices: why should a mobile device have to download a 750-pixel image when it only needs a 300-pixel one? And do we have a way to crop images so that small-device users can focus on what is important in them?</p>
    <h4>Two Markup Solutions: The &lt;picture&gt; Element and The srcset Attribute</h4>
    <p>A first step in solving the challenge of responsive images is to change the markup of embedded images on an HTML page.</p>
    <p>The <a href="http://responsiveimages.org/" rel="nofollow external" class="bo">Responsive Images Community Group</a> supports a proposal for a new, more flexible element, the <a href="http://picture.responsiveimages.org/" rel="nofollow external" class="bo">&lt;picture&gt;</a> element. The concept is to use the now well-known media queries to <strong>serve different images to different devices</strong>. Thus, smaller devices would get smaller images. It works a bit like the markup for video, but with different images being referred to in the source element.</p>
    <p>The code in the proposed specification looks like this :</p>
    <pre><code>&#x000A;    &lt;picture width="500"  height="500"&gt;     &#x000A;      &lt;source  media="(min-width: 45em)" src="large.jpg"&gt;&#x000A;      &lt;source  media="(min-width: 18em)" src="med.jpg"&gt;&#x000A;      &lt;source  src="small.jpg"&gt;&#x000A;      &lt;img  src="small.jpg" alt=""&gt;&#x000A;      &lt;p&gt;Accessible  text&lt;/p&gt;&#x000A;    &lt;/picture&gt;&#x000A;    </code></pre>
    <p>If providing different sources is possible, then we could also imagine providing <strong>different crops</strong> of an image to focus on what’s important for smaller devices. The W3C’s “<a href="http://usecases.responsiveimages.org/#art-direction" rel="nofollow external" class="bo">Art Direction</a>” use case shows a nice example of what could be done.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/pictureelement_mini.jpg" rel="nofollow external" class="bo"><img alt="Picture element used for artistic direction" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/pictureelement_mini.jpg" width="500" height="548" style="max-width: 100%; height: auto;"></a><br>
    <em>(Image: <a href="http://www.flickr.com/photos/egorick/3754608666/" rel="nofollow external" class="bo">Egor Pasko</a></em>)</p>
    <p>The solution is currently being discussed by the <a href="http://www.w3.org/community/respimg/" rel="nofollow external" class="bo">W3C Responsive Images Community Group</a> but is not usable in any browser at the moment as far as we know. A polyfill named <a href="https://github.com/scottjehl/picturefill" rel="nofollow external" class="bo">Picturefill</a> is available, which does pretty much the same thing. It uses a div and data-attribute syntax for safety’s sake.</p>
    <p>A second proposal for responsive images markup was made to the W3C by Apple and is called “<a href="http://www.w3.org/html/wg/drafts/srcset/w3c-srcset/" rel="nofollow external" class="bo">The srcset Attribute</a>”; its CSS Level 4 equivalent is <a href="http://dev.w3.org/csswg/css4-images/#image-set-notation" rel="nofollow external" class="bo">image-set()</a>. The purpose of this attribute is to force user agents to select an appropriate resource from a set, rather than fetch the entire set. The HTML syntax for this proposal is based on the <code>&lt;img&gt;</code> tag itself, and the example in the specification looks like this:</p>
    <pre><code>&#x000A;    &lt;img  alt="The Breakfast Combo" &#x000A;      src="banner.jpeg"&#x000A;      srcset="banner-HD.jpeg  2x, banner-phone.jpeg 100w, banner-phone-HD.jpeg 100w 2x"&gt;&#x000A;    </code></pre>
    <p>As you can see, <strong>the syntax is not intuitive at all</strong>. The values of the tag consist of comma-separated strings. The values of the attribute are the names or URLs of the various images, the pixel density of the device and the maximum viewport size each is intended for.</p>
    <p>In plain English, this is what the snippet above says:</p>
    <ul>
    <li>The default image is <code>banner.jpeg</code>.</li>
    <li>Devices that have a pixel ratio higher than 2 should use <code>banner-HD.jpeg</code>.</li>
    <li>Devices with a maximum viewport size of <code>100w</code> should use <code>banner-phone.jpeg</code>.</li>
    <li>Devices with a maximum viewport size of <code>100w</code> <em>and</em> a pixel ratio higher than 2 should use <code>banner-phone-HD.jpeg</code>.</li>
    </ul>
    <p>The first source is the default image if the <code>srcset</code> attribute is not supported. The <code>2x</code> suffix for <code>banner-HD.jpeg</code> means that this particular image should be used for devices with a pixel ratio higher than 2. The <code>100w</code> for <code>banner-phone.jpeg</code> represents the minimum viewport size that this image should be used for. <strong>Due to its technical complexity</strong>, this syntax has not yet been implemented in any browser.</p>
    <p>The syntax of the <code>image-set()</code> CSS property works pretty much the same way and enables you to load a particular background image based on the screen’s resolution:</p>
    <pre><code>&#x000A;    background-image: image-set(  "foo.png" 1x,&#x000A;      "foo-2x.png"  2x,&#x000A;      "foo-print.png"  600dpi );&#x000A;    </code></pre>
    <p>This proposal is still a W3C Editor’s Draft. For now, it works in Safari 6+ and Chrome 21+.</p>
    <h4>Image Format, Compression, SVG: Changing How We Work With Images on the Web</h4>
    <p>As you can see, these attempts to find a new markup format for images are still highly experimental. This raises the issue of image formats themselves. Can we devise a responsive solution by changing the way we handle the images themselves?</p>
    <p>The first step would be to look at alternative image formats that have a better compression rate. Google, for example, has developed a <strong>new image format</strong> named <a href="https://developers.google.com/speed/webp/" rel="nofollow external" class="bo">WebP</a>, which is 26% smaller than PNG and 25 to 34% smaller than JPEG. The format is supported in Google Chrome, Opera, Yandex, Android and Safari and can be activated in Internet Explorer using the <a href="http://www.google.com/chromeframe?quickenable=true" rel="nofollow external" class="bo">Google Chrome Frame</a> plugin. The main problem with this format is that Firefox does not plan to implement it. Knowing this, widespread use is unlikely for now.</p>
    <p>Another idea that is gaining popularity is <strong>progressive JPEG images</strong>. Progressive JPEG images are, as the name suggests, progressively rendered. The first rendering is blurry, and then the image gets progressively sharper as it renders. Non-progressive JPEG images are rendered from top to bottom. In her article “<a href="http://calendar.perfplanet.com/2012/progressive-jpegs-a-new-best-practice/" rel="nofollow external" class="bo">Progressive JPEGs: A New Best Practice</a>,” Ann Robson argues that progressive JPEGs give the impression of greater speed than baseline JPEGs. A progressive JPEG gives the user a quick general impression of the image before it has fully loaded. This does not solve the technical problems of performance and image size, though, but it does improve the user experience.</p>
    <p>Another solution to the problems of performance and image size is to <strong>change the compression rate</strong> of images. For a long time, we thought that enlarging the compression rate of an image would damage the overall quality of the image. But Daan Jobsis has done extensive research on the subject and has written an article about it, “<a href="http://blog.netvlies.nl/design-interactie/retina-revolution/" rel="nofollow external" class="bo">Retina Revolution</a>.” In his experiments, he tried different image sizes and compression rates and came up with a pretty interesting solution. If you keep the image dimensions twice the displayed ones but also use a higher compression rate, then the image will have a smaller file size than the original, but will still be sharp on both normal and high-density screens. With this technique, Jobsis cut the weight of the image by 75%.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/imagecompression_mini1.jpg" rel="nofollow external" class="bo"><img alt="Image compression example" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/imagecompression_mini.jpg" width="500" height="254" style="max-width: 100%; height: auto;"></a><br>
    <em>Daan Jobsis’ demonstration of image compression.</em></p>
    <p>Given the headaches of responsive images, the idea of gaining pixel independence from images wherever possible is seducing more and more designers and developers. The SVG format, for example, can be used to create all of the UI elements of a website and will <a href="http://coding.smashingmagazine.com/2012/01/16/resolution-independence-with-svg/" rel="nofollow external" class="bo">be resolution-independent</a>. The elements will scale well for small devices and won’t be pixellated on high-density devices. <a href="http://css-tricks.com/using-fonts-for-icons/" rel="nofollow external" class="bo">Font icons</a> are another growing trend.     They involve asigning icon glyphs to certains characters of the font (like the Unicode Private Area ones), giving you the flexibility of fonts. Unfortunately, the solution doesn’t work with pictures, so a viable markup or image format is eagerly expected.</p>
    <h3>Responsive Layout Challenge: Rearrange And Work With Content Without Touching the HTML?</h3>
    <p>Let’s face it, the fluid grids made of floats and inline blocks that we use today are a poor patch waiting for a better solution. Working with layout and completely rearranging blocks on the page for mobile without resorting to JavaScript is a nightmare right now. It’s also pretty inflexible. This is particularly significant on websites created with a CMS; the designer can’t change the HTML of every page and every version of the website. So, how can this be improved?</p>
    <h4>Four CSS3 Layout Solutions That Address the Flexible Layout Problem</h4>
    <p>The most obvious possible solution is the <a href="http://www.w3.org/TR/css3-flexbox/" rel="nofollow external" class="bo">CSS3 flexible box layout model</a> (or <strong>“flexbox”</strong>). Its current status is candidate recommendation, and it is supported in <a href="http://caniuse.com/#feat=flexbox" rel="nofollow external" class="bo">most major mobile browsers and desktop browsers</a> (in IE starting from version 10). The model enables you to easily reorder elements on the screen, independent of the HTML. You can also change the box orientation and box flow and distribute space and align according to the context. Below is an example of a layout that could be rearranged for mobile. The syntax would look like this:</p>
    <pre><code>&#x000A;    .parent {&#x000A;      display: flex;&#x000A;      flex-flow: column; /* display items in columns */&#x000A;    }&#x000A;    &#x000A;    .children {&#x000A;      order: 1; /* change order of elements */&#x000A;    }&#x000A;    </code></pre>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/flexbox_mini1.jpg" rel="nofollow external" class="bo"><img alt="Flexbox as an example" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/flexbox_mini.jpg" width="500" height="311" style="max-width: 100%; height: auto;"></a></p>
    <p>The article “<a href="http://coding.smashingmagazine.com/2011/09/19/css3-flexible-box-layout-explained/" rel="nofollow external" class="bo">CSS3 Flexible Box Layout Explained</a>” will give you a deeper understanding of how flexbox works.</p>
    <p>Another solution quite close to the flexbox concept of reordering blocks on the page, but with JavaScript, is <a href="https://github.com/edenspiekermann/minwidth-relocate" rel="nofollow external" class="bo">Relocate</a>.</p>
    <p>A second type of layout that is quite usable for responsive design today is the <strong>CSS3 multiple-column layout</strong>. The module is at the stage of candidate recommendation, and it <a href="http://www.w3.org/TR/css3-multicol/" rel="nofollow external" class="bo">works pretty well in most browsers</a>, expect for IE 9 and below. The main benefit of this model is that content can flow from one column to another, providing a huge gain in flexibility. In terms of responsiveness, the number of columns can be changed according to the viewport’s size.</p>
    <p>Setting the size of the columns and letting the browser calculate the number of columns according to the available space is possible. Also possible is setting the number of columns, with the gaps and rules between them, and letting the browser calculate the width of each column.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsicecolumns_mini1.jpg" rel="nofollow external" class="bo"><img alt="CSS3 Multiple Column layout" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsicecolumns_mini.jpg" width="500" height="311" style="max-width: 100%; height: auto;"></a></p>
    <p>The syntax looks like this:</p>
    <pre><code>&#x000A;    .container {&#x000A;      column-width: 10em ; /* Browser will create 10em columns. Number of columns would depend on available space. */&#x000A;    }&#x000A;    &#x000A;    .container {&#x000A;      columns: 5; /* Browser will create 5 columns. Column size depends on available space. */&#x000A;      column-gap: 2em;&#x000A;    }&#x000A;    </code></pre>
    <p>To learn more, read David Walsh’s article “<a href="http://davidwalsh.name/css-columns" rel="nofollow external" class="bo">CSS Columns</a>.”</p>
    <p>A third CSS3 property that could gain more attention in future is the <a href="http://dev.w3.org/csswg/css3-grid-layout/" rel="nofollow external" class="bo">CSS3 grid layout</a>. This gives designers and developers <strong>a flexible grid</strong> they can work with to create different layouts. It allows content elements to be displayed in columns and rows without a defined structure. First, you would declare a grid on the container, and then place all child elements in this virtual grid. You could then define a different grid for small devices or change the position of elements in the grid. This allows for enormous flexibility when used with media queries, changes in orientation and so on.</p>
    <p>The syntax looks like this (from the 2 April 2013 working draft):</p>
    <pre><code>&#x000A;     .parent {&#x000A;       display: grid; /* declare a grid */&#x000A;       grid-definition-columns: 1stgridsize  2ndgridsize …;&#x000A;       grid-definition-rows: 1strowsize  2ndrowsize …;&#x000A;    }&#x000A;    &#x000A;    .element {&#x000A;       grid-column: 1; &#x000A;       grid-row: 1&#x000A;    }&#x000A;    &#x000A;    .element2 {&#x000A;       grid-column: 1; &#x000A;       grid-row: 3;&#x000A;    }&#x000A;    </code></pre>
    <p>To set the sizes of columns and rows, you can use various units, as <a href="http://www.w3.org/TR/css3-grid-layout/#grid-definition-columns" rel="nofollow external" class="bo">detailed in the specification</a>. To position the various elements, the specification says this: “Each part of the game is positioned between grid lines by referencing the starting grid line and then specifying, if more than one, the number of rows or columns spanned to determine the ending grid line, which establishes bounds for the part.”</p>
    <p>The main problem with this property is that it is currently <a href="http://caniuse.com/#feat=css-grid" rel="nofollow external" class="bo">supported only in IE 10</a>. To learn more about this layout, read Rachel Andrew’s “<a href="http://24ways.org/2012/css3-grid-layout/" rel="nofollow external" class="bo">Giving Content Priority With CSS3 Grid Layout</a>.” Also, note that the specification and syntax for grid layouts changed on 2 April 2013. Rachel wrote an update on the syntax, titled “<a href="http://www.rachelandrew.co.uk/archives/2013/04/10/css-grid-layout---what-has-changed/" rel="nofollow external" class="bo">CSS Grid Layout: What Has Changed?</a>”</p>
    <p>The last layout that might become useful in future if implemented in browsers is the <a href="http://www.w3.org/TR/2009/WD-css3-layout-20090402/" rel="nofollow external" class="bo">CSS3 template layout</a>. This CSS3 module works by associating an element with a layout “name” and then ordering the elements on an invisible grid. The grid may be fixed or flexible and can be changed according to the viewport’s size.</p>
    <p>The syntax looks like this:</p>
    <pre><code>&#x000A;    .parent {&#x000A;       display: "ab"&#x000A;                "cd" /* creating the invisible  grid */&#x000A;    }&#x000A;    &#x000A;    .child1 {&#x000A;       position: a;&#x000A;    }&#x000A;    &#x000A;    .child2 {&#x000A;       position: b;&#x000A;    }&#x000A;    &#x000A;    .child3 {&#x000A;       position: c;&#x000A;    }&#x000A;    &#x000A;    .child4 {&#x000A;       position: d;&#x000A;    } &#x000A;    </code></pre>
    <p>This renders as follows:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/templatelayout_mini1.jpg" rel="nofollow external" class="bo"><img alt="CSS3 template layout" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/templatelayout_mini.jpg" width="500" height="311" style="max-width: 100%; height: auto;"></a></p>
    <p>Unfortunately, browser support for this CSS3 module is currently null. Maybe someday, if designers and developers show enough interest in this specification, some browser vendors might implement it. For the moment, you can test it out <a href="http://code.google.com/p/css-template-layout/" rel="nofollow external" class="bo">with a polyfill</a>.</p>
    <h4>Viewport-Relative Units and the End of Pixel-Based Layout</h4>
    <p><a href="http://www.w3.org/TR/css3-values/#viewport-relative-lengths" rel="nofollow external" class="bo">Viewport-based percentage lengths</a> — vw, vh, vm, vmin and vmax — are units measured relative to the dimensions of the viewport itself.</p>
    <p>One vw unit is equal to 1% of the width of the initial containing block. If the viewport’s width is 320, then 1 vw is 1 × 320/100 = 3.2 pixels.</p>
    <p>The vh unit works the same way but is relative to the height of the viewport. So, 50 vh would equal 50% of the height of the document. At this point, you might wonder what the difference is with the percentage unit. While percentage units are relative to the size of the parent element, the vh and vw units will always be relative to the size of the viewport, regardless of the size of their parents.</p>
    <p>This gets pretty interesting when you want to, for example, create a content box and make sure that it never extends below the viewport’s height so that the user doesn’t have to scroll to find it. This also enables us to create true 100%-height boxes without having to hack all of the elements’ parents.</p>
    <p>The vmin unit is equal to the smaller of vm or vh, and vmax is equal to the larger of vm or vh; so, those units respond perfectly to changes in device orientation, too. Unfortunately, for the moment, <a href="http://caniuse.com/#feat=viewport-units" rel="nofollow external" class="bo">those units are not supported in Android’s browser</a>, so you might have to wait a bit before using them in a layout.</p>
    <h4>A Word on Adaptive Typography</h4>
    <p>The layout of a website will depend heavily on the content. I cannot conclude a section about the possibilities of responsive layout without addressing typography. CSS3 introduces a font unit that can be pretty handy for responsive typography: the <a href="http://www.w3.org/TR/css3-values/#font-relative-lengths" rel="nofollow external" class="bo">rem unit</a>. While fonts measured in em units have a length relative to their parent, font measured in rem units are relative to the font size of the root element. For a responsive website, you could write some CSS like the following and then change all font sizes simply by changing the font size specified for the <code>html</code> element:</p>
    <pre><code>&#x000A;    html {&#x000A;       font-size: 14px;&#x000A;    }&#x000A;    &#x000A;    p {&#x000A;       font-size: 1rem /* this has 14px */&#x000A;    }&#x000A;    &#x000A;    @media screen and (max-width:380px) {&#x000A;       html {&#x000A;          font-size: 12px; /* make the font smaller for mobile devices */&#x000A;       }&#x000A;    &#x000A;       p {&#x000A;          font-size: 1rem /* this now equals 12px */&#x000A;       }&#x000A;    }&#x000A;    </code></pre>
    <p>Except for IE 8 and Opera mini, <a href="http://caniuse.com/#search=rem" rel="nofollow external" class="bo">support for rem</a> is pretty good. To learn more about rem units, read Matthew Lettini’s article “<a href="http://techtime.getharvest.com/blog/in-defense-of-rem-units" rel="nofollow external" class="bo">In Defense of Rem Units</a>.”</p>
    <h3>A Better Way To Work Responsively With Other Complex Content</h3>
    <p>We are slowly getting better at dealing with images and text in responsive layouts, but we still need to find solutions for other, more complex types of content.</p>
    <h4>Dealing With Forms on a Responsive Website</h4>
    <p>Generally speaking, dealing with forms, especially long ones, in responsive Web design is quite a challenge! The longer the form, the more complicated it is to adapt to small devices. The physical adaptation is not that hard; most designers will simply put the form’s elements into a single column and stretch the inputs to the full width of the screen. But making forms visually appealing isn’t enough; we have to make them easy to use on mobile, too.</p>
    <p>For starters, <a href="http://uxdesign.smashingmagazine.com/2010/03/11/forms-on-mobile-devices-modern-solutions/" rel="nofollow external" class="bo">Luke Wroblewski advises</a> to avoid textual input and instead to <strong>rely on checkboxes, radio buttons and select drop-down menus</strong> wherever possible. This way, the user has to enter as little information as possible. Another tip is not to make the user press the “Send” button before getting feedback about the content of their submission. On-the-fly error-checking is especially important on mobile, where most forms are longer than the height of the screen. If the user has mistyped in a field and has to send the form to realize it, then chances are they won’t even see where they mistyped.</p>
    <p>In the future, the new HTML5 form inputs and attributes will be a great help to us in building better forms, without the need for (much) JavaScript. For instance, you could use the <a href="http://www.w3.org/wiki/HTML5_form_additions#required" rel="nofollow external" class="bo"><code>required</code> attribute</a> to give feedback about a particular field on the fly. Unfortunately, <a href="http://caniuse.com/#search=required" rel="nofollow external" class="bo">support for this on mobile</a> devices is poor right now. The <a href="http://www.w3.org/TR/2011/WD-html5-20110525/common-input-element-attributes.html#the-autocomplete-attribute" rel="nofollow external" class="bo"><code>autocomplete</code> attribute</a> could also help to make forms more responsive.</p>
    <p>A mobile phone is a personal possession, so we can assume that data such as name and postal address will remain consistent. Using the <code>autocomplete</code> HTML5 attribute, <strong>we could prefill such fields</strong> so that the user doesn’t have to type all of that information over and over. There is also a <a href="http://www.w3.org/wiki/HTML5_form_additions#New_form_controls" rel="nofollow external" class="bo">whole list of new HTML5 inputs</a> that can be used in the near future to make forms more responsive.</p>
    <p>Dates in form elements are a good example of what can be improved with HTML5. We used to rely on JavaScripts to create date-pickers. Those pickers are quite usable on big desktop screens but very hard to use on touch devices. Selecting the right date with a finger is difficult when the touch zones are so small.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/datepicker-jquery_mini2.jpg" rel="nofollow external" class="bo"><img alt="Different picker examples" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/datepicker-jquery_mini.jpg" width="500" height="259" style="max-width: 100%; height: auto;"></a><br>
    <em>How am I supposed to select a date when my finger is touching three dates at the same time?</em></p>
    <p>A promising solution lies in the new HTML5 <a href="http://www.w3.org/TR/html-markup/input.date.html#input.date" rel="nofollow external" class="bo"><code>input type="date"</code></a>, which sets a string in the format of a date. The HTML5 <a href="http://www.w3.org/TR/html-markup/input.datetime.html#input.datetime" rel="nofollow external" class="bo"><code>input type="datetime"</code></a> sets a string in the format of a date and time. The big advantage of this method is that we let the browser decide which UI to use. This way, the UI is automatically optimized for mobile phones. Here is what an <code>input type="date"</code> looks like on the desktop, on an Android phone and tablet (with the Chrome browser), and on the iPhone and iPad.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/mobile-input-type-date_mini1.jpg" rel="nofollow external" class="bo"><img alt="Mobile input type=date rendering" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/mobile-input-type-date_mini.jpg" width="500" height="595" style="max-width: 100%; height: auto;"></a><br>
    <em>Renderings of <code>input type="date"</code> on different mobile devices.</em></p>
    <p>Note that the screenshots were taken in my browser and on the Android phone, so the language automatically adapted to the system language (French). By using native components, you no longer have to adapt the language into different versions of the website.</p>
    <p>For now, <a href="http://caniuse.com/input-datetime" rel="nofollow external" class="bo">support for <code>input type="date"</code></a> on the desktop is absent except in Opera and Chrome. Native Android browsers don’t support it at all, but Chrome for Android does, and so does Safari on iOS. A lot still has to get done in order for us to be able to use this solution on responsive websites. Meanwhile, you could use a polyfill such as <a href="http://demo.mobiscroll.com/calendar/calendartime" rel="nofollow external" class="bo">Mobiscroll</a> for mobile browsers that don’t support it natively.</p>
    <p>Apart from these HTML5 input solutions, attempts have been made to improve other design patterns, such as <a href="http://www.lukew.com/ff/entry.asp?1653" rel="nofollow external" class="bo">passwords on mobile</a> and <a href="http://www.lukew.com/ff/entry.asp?756" rel="nofollow external" class="bo">complex input formatting using masks</a>. As you will notice, these are experimental. The perfect responsive form does not exist at the moment; a lot still has to be done in this field.</p>
    <h4>Dealing With Tables on a Responsive Website</h4>
    <p>Another content type that gets pretty messy on mobile and responsive websites is tables. Most table are oriented horizontally and present a lot of data at once, so you can see how getting it right on a small screen is pretty hard. HTML tables are fairly flexible — you can use percentages to change the width of the columns — but then the content can quickly become unreadable.</p>
    <p>No one has yet found the perfect way to present tables, but some suggestions have been made.</p>
    <p>One approach is to <strong>hide what could be considered “less important” columns</strong>, and provide checkboxes for the user to choose which columns to see. On the desktop, all columns would be shown, while on mobile, the number of columns shown would depend on the screen’s size. The Filament Group <a href="http://filamentgroup.com/lab/responsive_design_approach_for_complex_multicolumn_data_tables/" rel="nofollow external" class="bo">explains this approach</a> and <a href="http://filamentgroup.com/examples/rwd-table-patterns/" rel="nofollow external" class="bo">demonstrates it</a> in one of its articles. The solution is also used in the <a href="http://jquerymobile.com/branches/tables/docs/tables/table-column-toggle.html" rel="nofollow external" class="bo">table column toggle on jQuery Mobile</a>.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsivedatable01_mini1.jpg" rel="nofollow external" class="bo"><img alt="Responsive table examples" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsivedatable01_mini.jpg" width="500" height="447" style="max-width: 100%; height: auto;"></a><br>
    <em>Some examples of responsive tables.</em></p>
    <p>A second approach plays with the idea of a <strong>scrollable table</strong>. You would “pin” a single fixed-size column on the left and then leave a scroll bar on a smaller part of the table to the right. <a href="http://dbushell.com/2012/01/05/responsive-tables-2/" rel="nofollow external" class="bo">David Bushell implements this idea</a> in an article, using CSS to display all of the content in the <code>&lt;thead&gt;</code> on the left side of the table, leaving the user to scroll through the content on the right. <strong>Zurb</strong> uses the same idea but in a different way for <a href="http://www.zurb.com/playground/responsive-tables" rel="nofollow external" class="bo">its plugin</a>. In this case, the headers stay at the top of the table, and the table is duplicated with JavaScript so that only the first column is shown on the left, and all other columns are shown on the right with a scroll bar.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsivetable02_mini1.jpg" rel="nofollow external" class="bo"><img alt="Responsive table overflow example" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsivetable02_mini.jpg" width="500" height="477" style="max-width: 100%; height: auto;"></a><br>
    <em>Two examples of scrollable responsive tables</em></p>
    <p>The big issue with scroll bars and CSS properties such as <code>overflow: auto</code> is that many mobile devices and tablets simply won’t display a visible scroll bar. The right area of the table will be scrollable, but the user will have no visual clue that that’s possible. We have to find some way to indicate that more content lies to the right.</p>
    <p>A third approach is to <strong>reflow a large table and split up the columns</strong> into what essentially looks like list items with headings. This technique is used in the <a href="http://jquerymobile.com/branches/tables/docs/tables/table-reflow.html" rel="nofollow external" class="bo">“reflow mode”</a> on jQuery Mobile and was explained by Chris Coyier in his article “<a href="http://css-tricks.com/responsive-data-tables/" rel="nofollow external" class="bo">Responsive Data Tables</a>.”</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsivetable03_mini1.jpg" rel="nofollow external" class="bo"><img alt="Responsive table reflow example" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/responsivetable03_mini.jpg" width="500" height="457" style="max-width: 100%; height: auto;"></a><br>
    <em>Reflowing a table responsively</em></p>
    <p><a href="http://css-tricks.com/responsive-data-table-roundup/" rel="nofollow external" class="bo">Many other techniques</a> exist. Which to use depends heavily on your project. No two projects are the same, so I can only show you how other people have dealt with it. If you come up with a nice solution of your own, please share it with the world in the comments below, on Twitter or elsewhere. We are in this boat together, and tables suck on mobile, really, so let’s improve them together!</p>
    <h3>Embedding Third-Party Content: The Responsive Iframe Problem</h3>
    <p>Many websites consist of embedded third-party content: YouTube or Vimeo videos, SlideShare presentations, Facebook applications, Twitter feeds, Google Maps and so on. A lot of those third parties make you use iframes to embed their content. But let’s face it: iframes are a pain to deal with in responsive design. The big problem is that iframes force a fixed width and height directly in your HTML code. Forcing a 100% width on the iframe would work, but then you would lose the ratio of the embedded content. To embed a video or slideshow and preserve the original ratio, you would have to find a workaround.</p>
    <h4>An HTML and CSS Workaround</h4>
    <p><a href="http://www.tjkdesign.com/" rel="nofollow external" class="bo">Thierry Koblentz</a> has written a good article titled “<a href="http://alistapart.com/article/creating-intrinsic-ratios-for-video" rel="nofollow external" class="bo">Creating Intrinsic Ratios for Video</a>,” in which he proposes a way to embed responsive videos using a 16:9 ratio. This solution can be extended to other sorts of iframe content, such as SlideShare presentations and Google Maps. Koblentz wraps the iframe in a container with a class that we can target in CSS. The container makes it possible for the iframe to resize fluidly, even if the iframe has fixed pixel values in the HTML. The <a href="http://amobil.se/2011/11/responsive-embeds/" rel="nofollow external" class="bo">code, adapted by Anders M. Andersen,</a> looks like this:</p>
    <pre><code>&#x000A;     .embed-container  {&#x000A;       position: relative;&#x000A;       padding-bottom: 56.25%; /* 16:9 ratio */&#x000A;       padding-top: 30px; /* IE 6 workaround*/&#x000A;       height: 0;&#x000A;       overflow: hidden;&#x000A;    }&#x000A;    &#x000A;    .embed-container iframe,&#x000A;    .embed-container object,&#x000A;    .embed-container embed {&#x000A;       position: absolute;&#x000A;       top: 0;&#x000A;       left: 0;&#x000A;       width: 100%;&#x000A;       height: 100%;&#x000A;    }&#x000A;    </code></pre>
    <p>This will work for all iframes. The only potential problem is that you will have to wrap all of the iframes on your website in a <code>&lt;div class="embed-container"&gt;</code> element. While this would work for developers who have total control over their code or for clients who are reasonably comfortable with HTML, it wouldn’t work for clients who have no technical skill. You could, of course, use some JavaScript to detect iframe elements and automatically embed them in the class. But as you can see, it’s still a major workaround and not a perfect solution.</p>
    <h3>Dealing With Responsive Video In Future</h3>
    <p>HTML5 opens a world of possibilities for video — particularly with the <a href="http://www.w3.org/wiki/HTML/Elements/video" rel="nofollow external" class="bo">video element</a>. The great news is that <a href="http://caniuse.com/#feat=video" rel="nofollow external" class="bo">support for this element is amazingly good for mobile devices</a>! Except for Opera Mini, most major browsers support it. The video element is also pretty flexible. Presenting a responsive video is as simple as this:</p>
    <pre><code>&#x000A;    video {&#x000A;       max-width: 100%;&#x000A;       height: auto;&#x000A;    }&#x000A;    </code></pre>
    <p>You’re probably asking, “What’s the problem, then?”</p>
    <p>The problem is that, even though YouTube or Vimeo may support the video element, you still have to embed videos using the ugly iframe method. And that, my friend, sucks. Until YouTube and Vimeo provide a way to embed videos on websites using the HTML5 video tag, <strong>we have to find workarounds</strong> to make video embedding work on responsive websites. Chris Coyier created such a workaround as a jQuery plugin called <a href="http://fitvidsjs.com/" rel="nofollow external" class="bo">FitVids.js</a>. It uses the first technique mentioned above: creating a wrapper around the iframe to preserve the ratio.</p>
    <h4>Embedding Google Maps</h4>
    <p>If you embed a Google Map on your website, the technique described above with the container and CSS will work. But, again, it’s a dirty little hack. Moreover, the map will resize in proportion and might get so tiny that the map loses the focus area that you wanted to show to the user. The <a href="https://developers.google.com/maps/mobile-apps" rel="nofollow external" class="bo">Google Maps’ page for mobile</a> says that you can use the <a href="https://developers.google.com/maps/documentation/staticmaps/" rel="nofollow external" class="bo">static maps API</a> for mobile embedding. Using a static map would indeed make the iframe problems go away. Brad Frost wrote a nice article about, and created a demo of, <a href="http://bradfrostweb.com/blog/post/adaptive-maps/" rel="nofollow external" class="bo">adaptive maps</a>, which uses this same technique. A JavaScript detects the screen’s size, and then the iframe is replaced by the static map for mobile phones. As you can tell, we again have to resort to a trick to deal with the iframe problem, in the absence of a “native” solution (i.e. from Google).</p>
    <h4>We Need Better APIs</h4>
    <p>And now the big question: Is there a better way? The biggest problem with using iframes to embed third-party content responsively is the lack of control over the generated code. <strong>Developers and designers are severely dependent</strong> on the third party and, by extension, its generated HTML. The number of websites that provide content to other websites is growing quickly. We’ll need much better solutions than iframes to embed this content.</p>
    <p>Let’s face it: embedding Facebook’s iframe is a real pain. The lack of control over the CSS can make our work look very sloppy and can even sometimes ruin the design. The Web is a very open place, so perhaps now would be a good time to start thinking about more open APIs! In the future, we will need APIs that are better and simpler to use, so that anyone can embed content flexibly, without relying on unresponsive fixed iframes. Until all of those very big third parties decide to create those APIs, we are stuck with sloppy iframes and will have to resort to tricks to make them workable.</p>
    <h3>Responsive Navigation: An Overview Of Current Solutions</h3>
    <p>Another big challenge is what to do with navigation. The more complex and deep the architecture of the website, the more inventive we have to be.</p>
    <p>An early attempt to deal with this in a simple way was to <a href="http://css-tricks.com/convert-menu-to-dropdown/" rel="nofollow external" class="bo">convert the navigation into a dropdown menu</a> for small screens. Unfortunately, this was not ideal. First, this solution gets terribly complicated with multiple-level navigation. It can also cause some problems with accessibility. I recommend “<a href="http://uxmovement.com/forms/stop-misusing-select-menus/" rel="nofollow external" class="bo">Stop Misusing Select Menus</a>” to learn about all of the problems such a technique can create.</p>
    <p>Some people, <a href="http://bradfrostweb.com/blog/web/responsive-nav-patterns/" rel="nofollow external" class="bo">including Brad Frost</a> and Luke Wroblewski, have attempted to solving this problem. Brad Frost compiled some of his techniques on the website <a href="http://bradfrost.github.com/this-is-responsive/patterns.html#navigation" rel="nofollow external" class="bo">This Is Responsive</a>, under the navigation section.</p>
    <p>Toggle navigation involves hiding the menu for small devices, displaying only a “menu” link. When the user clicks on it, all of the other links appear as block-level elements below it, pushing the main content below the navigation.</p>
    <p>A variant of this, inspired by some native application patterns, is <a href="http://coding.smashingmagazine.com/2013/01/15/off-canvas-navigation-for-responsive-website/" rel="nofollow external" class="bo">off-canvas</a> navigation. The navigation is hidden beneath a “menu” link or icon. When the user clicks the link, the navigation slides out as a panel from the left or right, pushing the main content over.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/navigations-mobile_mini1.jpg" rel="nofollow external" class="bo"><img alt="Toggle navigation example" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/navigations-mobile_mini.jpg" width="500" height="234" style="max-width: 100%; height: auto;"></a><br>
    <em>Some examples of toggle navigation</em></p>
    <p>The problem with these techniques is that the navigation remains at the top of the screen. In his article “<a href="http://www.lukew.com/ff/entry.asp?1649" rel="nofollow external" class="bo">Responsive Navigation: Optimizing for Touch Across Devices</a>,” Luke Wroblewski illustrates <strong>which zones are easily accessible for different device types</strong>. The top left is the hardest to get to on a mobile device.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/touchaccess_mini.jpg" rel="nofollow external" class="bo"><img alt="Easy touch access for mobile and tablet" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/touchaccess_mini.jpg" width="500" height="372" style="max-width: 100%; height: auto;"></a><br>
    <em>Easily accessible screen areas on mobile phones and tablets, <a href="http://www.lukew.com/ff/entry.asp?1649" rel="nofollow external" class="bo">according to Luke Wroblewski</a>.</em></p>
    <p>Based on this, Jason Weaver created <a href="http://jasonweaver.name/lab/touchnav/v2/" rel="nofollow external" class="bo">some demos</a> with navigation at the bottom. One solution is a <a href="http://codepen.io/bradfrost/full/mlyvu" rel="nofollow external" class="bo">footer anchor</a>, with navigation put at the bottom of the page for small devices, and a “menu” link that sends users there. It uses the HTML anchor link system.</p>
    <p><a href="http://codepen.io/bradfrost/full/orJwL" rel="nofollow external" class="bo">Many</a> other <a href="http://codepen.io/bradfrost/full/vcuem" rel="nofollow external" class="bo">attempts</a> have <a href="http://codepen.io/bradfrost/full/qwJvF" rel="nofollow external" class="bo">been made</a> to solve the navigation problem in responsive Web design. As you can see, there is not yet a perfect solution; it really depends on the project and the depth of the navigation. Fortunately for us, some of the people who have tried to crack this nut have shared their experiences with the community.</p>
    <p><strong>Another unsolved issue is what icon to use</strong> to tell the user, “Hey! There’s a menu hidden under me. Click me!” Some websites have a plus symbol (+), some have a grid of squares, other have what looks like an unordered list, and some have three lines (aka the burger icon).</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/navigationicons_mini.jpg" rel="nofollow external" class="bo"><img alt="Some responsive icons example" src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/navigationicons_mini.jpg" width="500" height="144" style="max-width: 100%; height: auto;"></a><br>
    <em>To see these icons used on real websites, have a look at “<a href="http://stuffandnonsense.co.uk/blog/about/we_need_a_standard_show_navigation_icon_for_responsive_web_design" rel="nofollow external" class="bo">We Need a Standard ‘Show Navigation’ Icon for Responsive Web Design</a>.”</em></p>
    <p>The main problem is figuring out which of these icons would be the most recognizable to the average user. If we all agreed to use one of them, users would be trained to recognize it. The problem is which to choose? I really would like to know which icon you use, so don’t hesitate to share it in the comments below.</p>
    <h3>Mobile Specificities: “Is The User On A Mobile Device? If So, What Can It Do?”</h3>
    <p>Mobile and tablet devices are a whole new world, far removed from desktop computers, with their own rules, behaviors and capabilities. We might want to adapt our designs to this new range of capabilities.</p>
    <h4>Detecting Touch Capabilities With Native JavaScript</h4>
    <p>Apart from screen size, I bet if you asked what is the main difference between desktop and mobile (including tablets), most people would say touch capability. There is no mouse on a mobile phone (no kidding!), and except for some rare hybrid devices into which you can plug a mouse, you can’t do much with mouse events on a tablet. This means that, depending on the browser, the <code>:hover</code> CSS pseudo-class might not work. Some browsers are clever enough to provide a native fallback for the hover event by translating it into a touch event. Unfortunately, not all browsers are so flexible. Creating a design that doesn’t depend on hidden elements being revealed on <code>:hover</code> events would be wise.</p>
    <p><strong>Catching touch events</strong> could also be another solution. A W3C working group has started working on a <a href="http://www.w3.org/TR/touch-events/" rel="nofollow external" class="bo">touch event specification</a>. In the future, we will be able to catch events such as <code>touchstart</code>, <code>touchmove</code> and <code>toucheend</code>. We will be able to deal with these events directly in JavaScript without requiring a third-party framework such as <a href="http://eightmedia.github.com/hammer.js/" rel="nofollow external" class="bo">Hammer.js</a> or <a href="http://jgestures.codeplex.com/" rel="nofollow external" class="bo">jGestures</a>. But JavaScript is one thing — what about CSS?</p>
    <h4>CSS Level 4 “Pointer” Media Query</h4>
    <p>CSS Level 4 specifies a <a href="http://dev.w3.org/csswg/mediaqueries4/#pointer" rel="nofollow external" class="bo">new media query called “pointer”</a>, which can be used to query the presence and accuracy of a pointing device, such as a mouse. The media query takes one of three values:</p>
    <ul>
    <li>
    <code>none</code><br>
    The device does not have any pointing device at all.</li>
    <li>
    <code>coarse</code><br>
    The device has a pointing device with limited accuracy; for example, a mobile phone or tablet with touch capabilities, where the “pointer” would be a finger.</li>
    <li>
    <code>fine</code><br>
    The device has an accurate pointing device, such as a mouse, trackpad or stylus.</li>
    </ul>
    <p>Using this media query, we can enlarge buttons and links for touch devices:</p>
    <pre><code>&#x000A;    @media  (pointer:coarse) {&#x000A;       input[type="submit"],&#x000A;           a.button {&#x000A;           min-width: 30px;&#x000A;           min-height: 40px;&#x000A;           background: transparent;&#x000A;       }&#x000A;     }&#x000A;    </code></pre>
    <p>The pointer media query is not yet supported and is merely being proposed. Nevertheless, the potential is huge because it would enable us to <strong>detect touch devices via CSS</strong>, without the need for a third-party library, such as <a href="http://modernizr.com/docs/#touch" rel="nofollow external" class="bo">Modernizr</a>.</p>
    <h4>CSS Level 4 “Hover” Media Query</h4>
    <p>The CSS Level 4 specification proposes a new <a href="http://dev.w3.org/csswg/mediaqueries4/#hover" rel="nofollow external" class="bo">hover media query</a>, which detects whether a device’s primary pointing system can hover. It returns a <code>Boolean: 1</code> if the device supports hover, <code>0</code> if not. Note that it has nothing to do with the <code>:hover</code> pseudo-class.</p>
    <p>Using the hover media query, we can enhance an interface to hide certain features for devices that do support hovering. The code would look something like this:</p>
    <pre><code>&#x000A;     @media  (hover) {&#x000A;       .hovercontent { display: none; } /* Hide content only for devices with hover capabilities. */&#x000A;    &#x000A;       .hovercontent:hover { display: block; }    &#x000A;     }&#x000A;    </code></pre>
    <p>It can also be used to create dropdown menus on hover; and the fallback for mobile devices is in native CSS, without the need for a feature-detection framework.</p>
    <h4>CSS Level 4 Luminosity Media Query</h4>
    <p>Another capability of mobile devices is the luminosity sensor. The CSS Level 4 specification has a <a href="http://dev.w3.org/csswg/mediaqueries4/#luminosity" rel="nofollow external" class="bo">media query for luminosity</a>, which gives us access to a device’s light sensors directly in the CSS. Here is how the specification describes it:</p>
    <blockquote><p>“The “luminosity” media feature is used to query about the ambient luminosity in which the device is used, to allow the author to adjust style of the document in response.”</p></blockquote>
    <p>In the future, we will be able to create <strong>websites that respond to ambient luminosity</strong>. This will greatly improve user experiences. We will be able to detect, for example, exceptionally bright environments using the <code>washed</code> value, adapting the website’s contrast accordingly. The <code>dim</code> value is used for dim environments, such as at nighttime. The <code>normal</code> value is used when the luminosity level does not need any adjustment.</p>
    <p>The code would look something like this:</p>
    <pre><code>&#x000A;     @media  (luminosity: washed) {&#x000A;       p { background: white; color: black; font-size: 2em; }&#x000A;     }&#x000A;    </code></pre>
    <p>As you can see, CSS Level 4 promises a lot of fun new stuff. If you are curious to see what’s in store, not only mobile-related, then have a look at “<a href="http://coding.smashingmagazine.com/2013/01/21/sneak-peek-future-selectors-level-4/" rel="nofollow external" class="bo">Sneak Peek Into the Future: Selectors, Level 4</a>.”</p>
    <h4>More Mobile Capabilities to Detect Using APIs and JavaScript</h4>
    <p>Many other things could be detected to make the user experience amazing on a responsive website. For example, we could gain access to the native gyroscope, compass and accelerometer to detect the device’s orientation using the HTML5 <a href="http://dev.w3.org/geo/api/spec-source-orientation.html#deviceorientation" rel="nofollow external" class="bo"><code>DeviceOrientationEvent</code></a>. <a href="http://caniuse.com/#feat=deviceorientation" rel="nofollow external" class="bo">Support for DeviceOrientationEvent</a> in Android and iOS browsers is getting better, but the specification is still a draft. Nevertheless, the API look promising. Imagine playing full HTML5 games directly in the browser.</p>
    <p>Another API that would be particularly useful for some mobile users is <a href="http://dev.w3.org/geo/api/spec-source.html" rel="nofollow external" class="bo">geolocation</a>. The good news is that it’s already <a href="http://caniuse.com/#search=geolocation" rel="nofollow external" class="bo">well supported</a>. This API <strong>enables us to geolocate the user using GPS</strong> and to infer their location from network signals such as IP address, RFID, Wi-Fi and Bluetooth MAC addresses. This can be used on some responsive websites to provide users with contextual information. A big restaurant chain could enhance its mobile experience by showing the user the locations of restaurants in their area. The possibilities are endless.</p>
    <p>The W3C also proposed a draft for a <a href="http://dev.w3.org/2009/dap/vibration/" rel="nofollow external" class="bo">vibration API</a>. With it, the browser can provide tactile feedback to the user in the form of vibration. This, however, is creeping into the more specific field of Web applications and mobile games in the browser.</p>
    <p>Another API that has been highly discussed is the <a href="http://www.w3.org/TR/netinfo-api/" rel="nofollow external" class="bo">network information API</a>. The possibility of measuring a user’s bandwidth and optimizing accordingly has seduced many developers. We would be able to serve high-quality images to users with high bandwidth and low-quality images to users with low bandwidth. With the <code>bandwidth</code> attribute of the network API, it would be possible to estimate the downloading bandwidth of a user in megabytes per second. The second attribute, <code>metered</code>, is a Boolean that tells us whether the user has a metered connection (such as from a prepaid card). These two attributes are currently accessible only via JavaScript.</p>
    <p>Unfortunately, <strong>measuring a user’s connection is technically difficult</strong>, and a connection could change abruptly. A user could go into a tunnel and lose their connection, or their speed could suddenly drop. So, a magical media query that measures bandwidth looks hypothetical at the moment. Yoav Weiss has written a good article about the problems that such a media query would create and about bandwidth measurement, “<a href="http://mobile.smashingmagazine.com/2013/01/09/bandwidth-media-queries-we-dont-need-em/%22" rel="nofollow external" class="bo">Bandwidth Media Queries? We Don’t Need ’Em!</a>”</p>
    <p>Many other APIs deal with mobile capabilities. If you are interested in learning more, Mozilla has a <a href="https://wiki.mozilla.org/WebAPI" rel="nofollow external" class="bo">very detailed list</a>. Most are not yet fully available or standardized, and most are intended more for Web applications than for responsive websites. Nevertheless, it’s a great overview of how large and complex mobile websites could get in future.</p>
    <h3>Rethinking The Way We And The User Deal With Content</h3>
    <p>From a technical perspective, there are still a lot of challenges in dealing with content at a global scale. The mobile-first method has been part of the development and design process for a little while now. We could, for example, serve to mobile devices the minimum data that is necessary, and then use JavaScript and AJAX to conditionally load more content and images for desktops and tablets. But to do this, we would also have to <strong>rethink how we deal with content</strong> and be able to prioritize in order to generate content that is flexible enough and adaptive. A good example of this is the responsive map solution described above: we load an image for mobile, and enhance the experience with a real map for desktops. The more responsive the website, the more complex dealing with content gets. Flexible code can help us to format adaptive content.</p>
    <p>One way suggested by some people in the industry is to create responsive sentences by marking up sentences with a lot of spans that have classes, and then displaying certain ones according to screen size. Trimming parts of sentences for small devices is possible with media queries. You can see this technique in action on 37signals’ <a href="http://37signals.com/svn/" rel="nofollow external" class="bo">Signal vs. Noise</a> blog and in Frankie Roberto’s article “<a href="http://www.frankieroberto.com/responsive_text" rel="nofollow external" class="bo">Responsive Text</a>.” Even if such technique could be used to enhance small parts of a website, such as the footer slogan, applying it to all of the text on a website is hard to imagine.</p>
    <p>This raises an issue in responsive Web design that will become more and more important in future: the importance of meta data and the semantic structure of content. As mentioned, the content on our websites does not only come from in-house writers. If we want to be able to automatically reuse content from other websites, then it has to be well structured and prepared for it. New HTML5 tags such as <code>article</code> and <code>section</code> are a good start to gaining some semantic meaning. The point is to think about and structure content so that a single item (say, a blog post) can be reused and displayed on different devices in different formats.</p>
    <p>The big challenge will be to <strong>make meta data easily understandable</strong> to all of the people who are part of the content creation chain of the website. We’ll have to explain to them how the meta data can be used to prioritize content and be used to programmatically assemble content, while being platform-independent. A huge challenge will be to help them start thinking in terms of reusable blocks, rather than a big chunk of text that they copy and paste from Microsoft Word to their WYSIWYG content management system. We will have to help them understand that content and structure are two separate and independent things, just as when designers had to understand that content (HTML) and presentation (CSS) are best kept separate.</p>
    <p><strong>We can’t afford to write content that is oriented towards one only platform anymore.</strong> Who knows on which devices our content will be published in six months, or one year? We need to <a href="http://mobile.smashingmagazine.com/2013/01/14/preparing-websites-for-the-unexpected/" rel="nofollow external" class="bo">prepare our websites for the unexpected</a>. But to do so, we need better publishing tools, too. Karen McGrane gave a talk on “<a href="http://karenmcgrane.com/2012/09/04/adapting-ourselves-to-adaptive-content-video-slides-and-transcript-oh-my/" rel="nofollow external" class="bo">Adapting Ourselves to Adaptive Content</a>,” with some real example from the publishing industry. She speaks about the process of creating reusable content and introduces the idea of COPE: create once and publish everywhere. We need to build better CMSes, ones that can use and generate meta data to prioritize content. We need to explain to people how the system works and to think in terms of modular reusable content objects, instead of WYSIWYG pages. As McGrane says:</p>
    <blockquote><p>“You might be writing three different versions of that headline; you might be writing two different short summaries and you are attaching a couple of different images to it, different cut sizes, and then you may not be the person who is in charge of deciding what image or what headline gets displayed on that particular platform. That decision will be made by the metadata. It will be made by the business rules. […] <strong>Metadata is the new art direction</strong>.”</p></blockquote>
    <p>Truncating content for small devices is not a future-proof content strategy. We need CMSes that provide the structure needed to create such reusable content. We need better publishing workflows in CMSes, too. Clunky interfaces scare users, and most people who create content are not particularly comfortable with complicated tools. We will have to provide them with tools that are easy to understand and that help them publish clean, semantic content that is independent of presentation.</p>
    <h3>Conclusion</h3>
    <p>As long as this article is, <strong>it only scratches the surface</strong>. By now, most of Smashing Magazine’s readers understand that responsive Web design is much more than about throwing a bunch of media queries on the page, choosing the right breakpoints and doubling the size of images for those cool new high-density phones. As you can see, the path is long, and we are not there yet. There are still many unsolved issues, and the perfect responsive solution does not exist yet.</p>
    <p>Some technical solutions might be discovered in future using some of the new technologies presented here and with the help of the <a href="http://www.w3.org/" rel="nofollow external" class="bo">W3C</a>, the <a href="http://www.whatwg.org/" rel="nofollow external" class="bo">WHATWG</a> and organizations such as the <a href="http://filamentgroup.com/" rel="nofollow external" class="bo">Filament Group</a>.</p>
    <p>More importantly, we Web designers and developers can help to find even better solutions. People such as <a href="http://www.lukew.com" rel="nofollow external" class="bo">Luke Wroblewski</a> and <a href="http://bradfrostweb.com/" rel="nofollow external" class="bo">Brad Frost</a> and all of the amazing women and men mentioned in this article are experimenting with a lot of different techniques and solutions. Whether any succeeds or fails, <strong>the most important thing is to share</strong> what we — as designers, developers, content strategists and members of the Web design community — are doing to try to solve some of the challenges of responsive Web design. After all, we are all in the same boat, trying to make the Web a better place, aren’t we?</p>
    <p><em>(al) (ea)</em></p>
    <hr>
    <p><small>© Stéphanie Walter for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        Responsive Web design has been around for some years now, and it was a hot topic in 2012. Many well-known people such as Brad Frost and Luke Wroblewski have a lot of experience with it and...</Summary>
<Website>http://www.smashingmagazine.com/2013/05/29/state-responsive-web-design/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30493/guest@my.umbc.edu/a2aa92aa70e40f55a66c2d08cc39d6b3/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mobile</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 07:42:50 -0400</PostedAt>
<EditAt>Wed, 29 May 2013 07:42:50 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30578" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30578">
<Title>Web industry urged to embrace colour accessibility</Title>
<Body>
<![CDATA[
    <div class="html-content">Websites too often exclude people who cannot see a full colour range<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fweb-industry-urged-embrace-colour-accessibility-132779&amp;t=Web+industry+urged+to+embrace+colour+accessibility" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fweb-industry-urged-embrace-colour-accessibility-132779&amp;t=Web+industry+urged+to+embrace+colour+accessibility" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fweb-industry-urged-embrace-colour-accessibility-132779&amp;t=Web+industry+urged+to+embrace+colour+accessibility" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fweb-industry-urged-embrace-colour-accessibility-132779&amp;t=Web+industry+urged+to+embrace+colour+accessibility" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.netmagazine.com%2Fnews%2Fweb-industry-urged-embrace-colour-accessibility-132779&amp;t=Web+industry+urged+to+embrace+colour+accessibility" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    </div>
]]>
</Body>
<Summary>Websites too often exclude people who cannot see a full colour range     </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/3VL1guWfLek/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30578/guest@my.umbc.edu/2fc142d51181adbc1980bc443b661938/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>net</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 06:23:41 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30494" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30494">
<Title>Turning research into insight and action</Title>
<Body>
<![CDATA[
    <div class="html-content">People have bad experiences when using services such as banks and buses. They are not designed as well as products we love to use, such as iPads and BMWs. 'Service Design: From Insight to Implementation' is a book about designing services that are a joy to use, and here we present an excerpt on conducting user research<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2Fturning-research-insight-and-action&amp;t=Turning+research+into+insight+and+action" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2Fturning-research-insight-and-action&amp;t=Turning+research+into+insight+and+action" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2Fturning-research-insight-and-action&amp;t=Turning+research+into+insight+and+action" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2Fturning-research-insight-and-action&amp;t=Turning+research+into+insight+and+action" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2Fturning-research-insight-and-action&amp;t=Turning+research+into+insight+and+action" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165665520930/u/49/f/502346/c/32632/s/2c8eb9a1/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665520930/u/49/f/502346/c/32632/s/2c8eb9a1/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>People have bad experiences when using services such as banks and buses. They are not designed as well as products we love to use, such as iPads and BMWs. 'Service Design: From Insight to...</Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/m54unarueHE/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30494/guest@my.umbc.edu/c507bd1c973e30cc6f8a8a4b7affaf6c/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>net</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 06:18:39 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30563" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30563">
<Title>Improving UX with Customer Journey Maps</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1259902&amp;k=6989dd4b5220d0b14530453de7387991&amp;a=6848&amp;c=2061242960" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1259902&amp;k=6989dd4b5220d0b14530453de7387991&amp;a=6848&amp;c=2061242960" alt="" style="max-width: 100%; height: auto;"></a><p><a href="http://buysellads.com/buy/sitedetails/pubkey/6989dd4b5220d0b14530453de7387991/zone/1259902" rel="nofollow external" class="bo">Advertise here with BSA</a></p>
    <br><p><a href="http://sixrevisions.com/user-experience-ux/customer-journey-maps/" rel="nofollow external" class="bo"><img src="http://cdn.sixrevisions.com/0340-01_customer_journey_maps_thumbnail.jpg" width="550" height="200" alt="Improving UX with Customer Journey Maps" style="max-width: 100%; height: auto;"></a></p>
    <p>The necessity of providing user satisfaction on every key touchpoint in your business is critical to your success.</p>
    <p>The issue, however, is identifying those crucial touchpoints.</p>
    <p>Customer journey maps could be an incredibly helpful solution in this area.</p>
    <p></p>
    <h3>Borrowing from Service Design</h3>
    <p><a href="http://en.wikipedia.org/wiki/Service_design" rel="nofollow external" class="bo">Service design</a> is an activity performed in the marketing and management departments of businesses.</p>
    <p>In the context of website production, the closest analogy would be <a href="http://sixrevisions.com/web_design/overview-user-experience-webdesigners/" title="Quick Overview of User Experience for Web Designers" rel="nofollow external" class="bo">user experience design (UX).</a></p>
    <p>In a nutshell, service design involves providing or creating positive feelings for customers while they are using the designed service (product), with the focus on the interactions that take place in a variety of channels (which encompasses both the online and offline world).</p>
    <p>A well-designed website is not enough when the customer’s visit to your brick-and-mortar physical store is an unpleasant experience, or when her tech support call was not satisfactory. Thus, service design is a holistic business approach.</p>
    <p>However, in this article, we’re going to talk about how to apply some service design concepts specifically towards <a href="http://sixrevisions.com/web-development/a-6-step-general-process-for-producing-a-website/" title="A 6-Step General Process for Producing a Website" rel="nofollow external" class="bo">website production</a> and design.</p>
    <h3>What are Touchpoints?</h3>
    <p>Creating positive feelings for your customers all boils down to ensuring that their experience is great on all the places they see and interact with.</p>
    <p>Places where the business and the customer are interacting with each other are often referred to as <a href="http://en.wikipedia.org/wiki/Touchpoint" rel="nofollow external" class="bo">touchpoints.</a></p>
    <p>For example, when we consider the touchpoints of a computer technology corporation, some of their touchpoints might be:</p>
    <ul>
    <li>call center</li>
    <li>showroom</li>
    <li>website</li>
    <li>newspaper</li>
    <li>TV</li>
    <li>radio</li>
    </ul>
    <p>In a website, these touchpoints might be:</p>
    <ul>
    <li>email</li>
    <li>contact web form</li>
    <li>help desk/support</li>
    <li>phone</li>
    <li>live chat</li>
    <li>comments section of blog posts</li>
    </ul>
    <h3>The Problem to Solve</h3>
    <p>The question is this: How do we identify critical touchpoints in our websites?</p>
    <p>The answer is to take advantage of one of the most important tools used in the service design field: <strong>customer journey maps.</strong></p>
    <h3>What is a Customer Journey Map?</h3>
    <p>Customer journey maps describe a schema of the path traveled by a typical customer moving through our touchpoints.</p>
    <p>At each touchpoint, we illustrate how the customer’s attitudes and feelings might change towards our company.</p>
    <p><img src="http://cdn.sixrevisions.com/0340-06_example_customer_journey_map.jpg" width="550" height="618" style="max-width: 100%; height: auto;"><span>A hypothetical customer journey map.</span></p>
    <h3>Benefits of a Customer Journey Map</h3>
    <ul>
    <li>We can identify crucial touchpoints that have the biggest impact on customer satisfaction</li>
    <li>It helps us focus our website towards the user (user-centered design)</li>
    <li>We are better able to identify the user’s potential needs and wants</li>
    <li>It can provide us with a clear presentation of the whole process carried out by the user (which can help with client presentations and pitches, similar to <a href="http://johnnyholland.org/2011/10/storyboarding-ux-part-1-an-introduction/" title="Storyboarding &amp; UX" rel="nofollow external" class="bo">storyboarding</a>)</li>
    <li>It can summarize the information that we already have about users and their behavior</li>
    <li>It helps us locate additional UX improvement opportunities, as well as the areas where there’s a risk of dissatisfying the user</li>
    </ul>
    <h3>Creating Customer Journey Maps</h3>
    <p>What follows are the general steps you’ll need to take in order to create customer journey maps.</p>
    <h4>Step 1: Gather and Assess Your Existing Knowledge about Your Users</h4>
    <p>The most important thing in this step is to gather and use the information you have already obtained through past user research and studies. This will help eliminate the subjective approach to the problem; it helps us avoid drawing conclusions based on hunches and loose deduction.</p>
    <p>If your user data is lacking, or if you simply don’t have any, there are <a href="http://sixrevisions.com/elsewhere-on-the-web/usability-testing-tips-tools/" rel="nofollow external" class="bo">plenty of usability tools</a> that will help you gather the appropriate user data.</p>
    <p><strong>Results and Deliverables:</strong></p>
    <ul>
    <li>A collection of preliminary insights gained from user research and studies</li>
    <li>A list of touchpoints</li>
    <li>A list of activities that a user performs during the journey (e.g., researching about the product, buying the product through your online store, getting help/support for the product they bought, etc.)</li>
    </ul>
    <p><strong>Tips:</strong></p>
    <ul>
    <li>
    <strong>Don’t draw conclusions based on hunches</strong> that are not supported by reliable, solid data.</li>
    <li>
    <strong>Include employees/staff members that have regular contact with your customers in the data collection process</strong> (e.g., help desk staff, client relationship manager, social media manager, etc.).They often have the most valuable information about your users’ needs and their actual level of satisfaction.</li>
    <li>
    <strong>Include decision-makers in the process.</strong> The customer journey map, and its results, could have a very strong impact on the overall product and brand strategy of the company, so it’s important to include decision-makers at the early stage.</li>
    </ul>
    <h4>Step 2: Fill Your Knowledge Gaps</h4>
    <p>Find out what you don’t know and also identify things you’re unsure about. For these things, you can gather, test, and verify them with additional user studies.</p>
    <p><strong>Results and Deliverables:</strong></p>
    <ul>
    <li>Reports on the results of the additional studies containing answers to questions we have.</li>
    </ul>
    <p><strong>Tips:</strong></p>
    <ul>
    <li>
    <strong>Don’t focus excessively on demographic/statistical data.</strong> Instead, focus on ethnography and the users’ voice.</li>
    <li>
    <strong>Analyze the collected data</strong> and test your assumptions.</li>
    </ul>
    <h4>Step 3: Create User Personas</h4>
    <p>At this point, you should have enough data points to create an accurate <a href="http://en.wikipedia.org/wiki/Persona_(user_experience)" rel="nofollow external" class="bo">user persona.</a></p>
    <p>A user persona is a fictional character that represents the goals and behaviors of your average user.</p>
    <p><img src="http://cdn.sixrevisions.com/0340-02_user_persona.jpg" width="550" height="331" alt="User Personas" style="max-width: 100%; height: auto;"><span>Source: <a href="http://boagworld.com/usability/an-experience-with-site-personas/" rel="nofollow external" class="bo">boagworld.com</a></span></p>
    <p>Creating user personas is beyond the topic of this article, but here are some detailed tutorials, guides, tools, and books that will help you create user personas:</p>
    <ul>
    <li>
    <a href="http://www.usability.gov/methods/analyze_current/personas.html" rel="nofollow external" class="bo">Develop Personas</a> (usability.gov)</li>
    <li>
    <a href="http://uxmag.com/articles/personas-the-foundation-of-a-great-user-experience" rel="nofollow external" class="bo">Personas: The Foundation of a Great User Experience</a> (uxmag.com)</li>
    <li>
    <a href="http://boagworld.com/usability/an-experience-with-site-personas/" rel="nofollow external" class="bo">An Experience with User Personas</a> (boagworld.com)</li>
    <li>
    <a href="http://boxesandarrows.com/making-personas-more-powerful-details-to-drive-strategic-and-tactical-design/" rel="nofollow external" class="bo">Making Personas More Powerful: Details to Drive Strategic and Tactical Design</a> (boxesandarrows.com)</li>
    <li>
    <a href="http://www.jnd.org/dn.mss/personas_empath.html" rel="nofollow external" class="bo">Ad-Hoc Personas &amp; Empathetic Focus</a> (jnd.org)</li>
    <li>
    <a href="https://sites.google.com/site/usablepersonas/" rel="nofollow external" class="bo">Usable Personas</a> is a database of pre-built personas you can use (sites.google.com)</li>
    <li>
    <a href="https://sites.google.com/site/superuserfriendly/templates/persona-template" rel="nofollow external" class="bo">Persona Template</a> is an MS Word template for helping you develop user profiles in projects (sites.google.com)</li>
    <li>
    <a href="http://www.amazon.com/gp/product/0321434536/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0321434536&amp;linkCode=as2&amp;tag=sixrevi-20" rel="nofollow external" class="bo">The User Is Always Right: A Practical Guide to Creating and Using Personas for the Web</a> (amazon.com)</li>
    </ul>
    <p><strong>Results and Deliverables:</strong></p>
    <ul>
    <li>Gain insights related to the expectations and concerns of the users</li>
    <li>Visualization of the representatives of the target group as a set of personas</li>
    </ul>
    <p><strong>Tips:</strong></p>
    <ul>
    <li>
    <strong>Don’t automatically reject data that aren’t <a href="http://en.wikipedia.org/wiki/Statistical_significance" rel="nofollow external" class="bo">statistically significant</a>.</strong> It can often be the basis for the creation of additional hypotheses that should be tested further in additional user research studies.</li>
    </ul>
    <h4>Step 4: Draw Your Customer Journey Map</h4>
    <p>Map out the highlights of the results you have gathered during the previous steps.</p>
    <p>Start by defining the principles governing the purchase process.</p>
    <p>For example, if you’re selling a technical book on JavaScript or PHP, one defining principle in your service design is the fact that a purchase will probably not be impulsive since these books are for professionals already intent on learning.</p>
    <p><img src="http://cdn.sixrevisions.com/0340-03_javascript_for_programmers.jpg" width="550" height="696" style="max-width: 100%; height: auto;"><span>Source: <a href="http://www.amazon.com/gp/product/1118026691/ref=as_li_qf_sp_asin_il_tl?ie=UTF8&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1118026691&amp;linkCode=as2&amp;tag=sixrevi-20" rel="nofollow external" class="bo">Amazon.com</a></span></p>
    <p>Compare that to items that are typical impulse-purchase items like shoes, junk food or items marked on sale, and the principles governing the process drastically changes.</p>
    <p><img src="http://cdn.sixrevisions.com/0340-04_customer_journey_map_shoes.jpg" width="550" height="413" style="max-width: 100%; height: auto;"></p>
    <p><strong>Results and Deliverables:</strong></p>
    <ul>
    <li>A customer journey map illustrating the processes, needs and user experience during the contact with the product.</li>
    </ul>
    <p><strong>Tips:</strong></p>
    <ul>
    <li>
    <strong>Spend your time wisely by focusing on important content.</strong> Focus on the content, not on the details and the aesthetic of the map.</li>
    <li>
    <strong>Use more than one map if you have more than one user persona. </strong>Customer journeys can differ between different user personas.</li>
    <li>
    <strong>Don’t neglect the graphic layout of the customer journey map.</strong> Though the content is more important, the layout is also critical. The map should be printed and placed in a publicly accessible and conspicuous place so that every employee can become acquainted with it.</li>
    </ul>
    <h3>Components of a Customer Journey Map</h3>
    <p>For inspiration, here’s what the contents of our customer journey maps include:</p>
    <p><img src="http://cdn.sixrevisions.com/0340-05_symetria_customer_journey_map_contents.jpg" width="550" height="389" style="max-width: 100%; height: auto;"></p>
    <p>Here are other examples of customer journey maps:</p>
    <p><img src="http://cdn.sixrevisions.com/0340-07_customer_journey_map_example.jpg" width="550" height="356" style="max-width: 100%; height: auto;"><span>Source: <a href="http://www.uxmatters.com/mt/archives/2011/09/the-value-of-customer-journey-maps-a-ux-designers-personal-journey.php" rel="nofollow external" class="bo">uxmatters.com</a></span></p>
    <p><img src="http://cdn.sixrevisions.com/0340-08_customer_journey_map02.jpg" width="550" height="413" style="max-width: 100%; height: auto;"><span>Source: <a href="http://adaptivepath.com/uploads/images/RailEurope_CXMap_FINAL%20copy_001.png" rel="nofollow external" class="bo">adaptivepath.com</a></span></p>
    <p><img src="http://cdn.sixrevisions.com/0340-09_customer_journey_maps_example03.jpg" width="550" height="352" style="max-width: 100%; height: auto;"><span>Source: <a href="http://www.heartofthecustomer.com/customer-experience-journey-map-the-top-10-requirements/" rel="nofollow external" class="bo">heartofthecustomer.com</a></span></p>
    <h3>What’s Next?</h3>
    <p>Obviously, the creation of your customer journey map is not the end goal; the key is to draw appropriate conclusions from it in order to improve the user’s experience.</p>
    <p>The first step is to identify the areas that need immediate improvement, mostly because they reduce the overall level of user satisfaction.</p>
    <p>Once you’ve patched the holes, you should be able to tighten the screws and start looking for points where the level of satisfaction can be further improved.</p>
    <p>Finally, keep in mind that the use of the customer journey map is an ongoing process. It’s a tool that should be used for periodic monitoring of the current level of satisfaction of your users, and for quickly identifying opportunities for development.</p>
    <h3>Related Content</h3>
    <ul>
    <li><a href="http://sixrevisions.com/web_design/overview-user-experience-webdesigners/" rel="nofollow external" class="bo">Quick Overview of User Experience for Web Designers</a></li>
    <li><a href="http://sixrevisions.com/usabilityaccessibility/creating-a-timeless-user-experience/" rel="nofollow external" class="bo">Creating a Timeless User Experience</a></li>
    <li><a href="http://sixrevisions.com/user-interface/ux-design-mistakes/" rel="nofollow external" class="bo">Lessons We Learned from Our Biggest UX and Design Mistakes</a></li>
    <li>
    <em>Related categories</em>: <a href="http://sixrevisions.com/category/user-experience-ux/" rel="nofollow external" class="bo">User Experience</a> and <a href="http://sixrevisions.com/category/usabilityaccessibility/" rel="nofollow external" class="bo">Usability</a>
    </li>
    </ul>
    <h3>About the Author</h3>
    <p><img src="http://cdn.sixrevisions.com/authors/jacek_samsel_small.jpg" alt="" width="80" height="80" style="max-width: 100%; height: auto;"><span><strong>Jacek Samsel</strong> is the UX Senior Specialist at <a href="http://www.symetria.pl/en" rel="nofollow external" class="bo">Symetria</a>. He’s a graduate of the Poznan University of Economics with degrees in Trade and Marketing. He has worked in the area of web design since 2005. He specializes in designing web portals, desktop software, and mobile app interfaces.</span></p>
    </div>
]]>
</Body>
<Summary>Advertise here with BSA      The necessity of providing user satisfaction on every key touchpoint in your business is critical to your success.   The issue, however, is identifying those crucial...</Summary>
<Website>http://feedproxy.google.com/~r/SixRevisions/~3/nglU124lM5U/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30563/guest@my.umbc.edu/cbd4ec19a5a5870e2fed7c34a7a61fe5/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>database</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>sql</Tag>
<Tag>user-experience-ux</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 06:00:36 -0400</PostedAt>
<EditAt>Wed, 29 May 2013 06:00:36 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30492" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30492">
<Title>A taste of CoffeeScript (part 2)</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail23.jpg" width="200" height="160" style="max-width: 100%; height: auto;">In <a href="http://www.webdesignerdepot.com/2013/05/a-taste-of-coffeescript-part-1/" rel="nofollow external" class="bo">the first part</a> of this article about CoffeeScript, you saw its basic capabilities; but let’s be honest, most of the time we use the jQuery library to help us write our JavaScript and what I showed you in the first part was just vanilla JavaScript.</p>
    <p>In this part we will join CoffeeScript, LocalStorage and jQuery to create a simple contact manager where we can save someone’s number, name and also check if that person is a friend, and with the help of LocalStorage this contact manager will save your contacts when you refresh your page.</p>
    <p>You can see the demo of what we will be creating in this <a href="http://codepen.io/SaraVieira/pen/euDyB" rel="nofollow external" class="bo">demo I built.</a></p>
    <h1>The HTML</h1>
    <p>As you saw in the demo, our HTML will be the form and a simple empty &lt;ul&gt; that we will fill later with the names and numbers:</p>
    
    <pre>&lt;form action="#" method="POST"&gt;<br> &lt;label for="name"&gt;Name:&lt;/label&gt;<br> &lt;input type="text" name="name" id="name" required autofocus /&gt;<br> &lt;label for="number"&gt;Number&lt;/label&gt; <br> &lt;input tpe="tel" name="number" id="number" required /&gt;<br> &lt;label for="friend"&gt;Is he a friend?&lt;/label&gt; <br> &lt;input type="checkbox" name="friend" id="friend"&gt;<br> &lt;input type="submit" id="submit" value="Add" /&gt;<br> &lt;/form&gt;<br> &lt;ul id="numbers"&gt;&lt;/ul&gt;</pre>
    
    <p>Even though this form has a method and action we will later block the default action with JavaScript to stop it actually reloading the page and jumping when it is submitted. Instead we’ll just fill the numbers unordered list with what is in the form’s inputs.</p>
    <p> </p>
    <h1>The CoffeeScript</h1>
    <p>Now we will get into the best part of this article: talking about CoffeeScript and jQuery together, two tools that were made to make our JavaScript development simpler and more productive.</p>
    <p>Let’s think about what we want this app to do in bullet points before the coding:</p>
    <ul>
    <li>Add the class <em>checked</em> if the checkbox is checked and remove it if not;</li>
    <li>check for a click event on the submit button;</li>
    <li>get the values of the number and name;</li>
    <li>place these values on our page;</li>
    <li>add all the names and numbers to LocalStorage;</li>
    <li>delete everything we have typed into the form;</li>
    <li>prevent the form submitting;</li>
    <li>read and display any data held in LocalStorage.</li>
    </ul>
    <p>Now we’ve got all of this straight we can start from the top. To add the <em>checked</em> class we need to check for a click and then toggle the class on every single class, we have already seen how to construct functions in CoffeeScript in part 1, so:</p>
    <pre>$('#friend').click -&gt; $(this).toggleClass 'checked'</pre>
    <p>The next thing we need to is check for a click on the submit button and store some variables that we will be needing further down the road: </p>
    <pre>$('#submit').click -&gt;&#x000A;       ul = $('#numbers')&#x000A;       number = $('#number').val()&#x000A;       name = $('#name').val()</pre>
    <p>In this step we have defined our function and the variables we need later, the ul variable holds the unordered list that will contain all the names and numbers and the next two will store whatever we type on the inputs.</p>
    <p>This is the part where we grab all the values we have and prepend a list item for each number we have. Remember we want to style things a little bit differently if the contact is a friend, so we will check the class of the checkbox and add different classes to our list items accordingly. For that we will use a simple <em>if</em> statement as described in part 1: </p>
    <pre>if $('#friend').hasClass 'checked'<br> $(ul).prepend '&lt;li class="friend"&gt;&lt;span&gt;Name: ' + name + '&lt;br/&gt; Number: ' + number + '&lt;/span&gt;&lt;/li&gt;' <br>else<br> $(ul).prepend '&lt;li&gt;&lt;span&gt;Name: ' + name + ' &lt;br/&gt;Number: ' + number + '&lt;/span&gt;&lt;/li&gt;'</pre>
    <p>The base of our app is ready but if you reload the page you will see that all the numbers are gone, so we need to add the contents of the numbers to LocalStorage and we will call it contacts:</p>
    <pre>localStorage.setItem 'contacts', $(ul).html()&#x000A;    </pre>
    <p>What we are doing is naming what we want to save first, and then after the comma we declare the value to be saved. in this case we will save the contents of the unordered list. </p>
    <p>With this line done, we have all the numbers and names in LocalStorage so let’s add the final touches to the function by resetting the form and then returning <em>false</em> to ensure the page doesn’t reload:</p>
    <pre>$("form")[0].reset()&#x000A;    return false </pre>
    <p>The function is now complete and all we need to do now is check if we have something in LocalStorage with the name of <em>contacts</em> and if we do we just need to place that on the page:</p>
    <pre>if localStorage.getItem 'contacts'&#x000A;       $('#numbers').html localStorage.getItem 'contacts'</pre>
    <p>All we are doing is checking and then placing the contents of that item on the page. With this last touch our little contact manager is done and the full CoffeeScript code used was:</p>
    <pre>$('#friend').click -&gt; $(this).toggleClass 'checked'<br><br>$('#submit').click -&gt;<br>ul = $('#numbers')<br> number = $('#number').val()<br> name = $('#name').val()<br> if $('#friend').hasClass 'checked'<br> $(ul).prepend '&lt;li class="friend"&gt;&lt;span&gt;Name: ' + name + '&lt;br/&gt; Number: ' + number + '&lt;/span&gt;&lt;/li&gt;' <br> else<br> $(ul).prepend '&lt;li&gt;&lt;span&gt;Name: ' + name + ' &lt;br/&gt;Number: ' + number + '&lt;/span&gt;&lt;/li&gt;' <br> localStorage.setItem 'contacts', $(ul).html() <br> $("form")[0].reset();<br> return false<br><br>if localStorage.getItem 'contacts'<br> $('#numbers').html localStorage.getItem 'contacts'</pre>
    <p>And if we run this code through the compiler we end up with the following JavaScript:</p>
    <pre>$('#friend').click(function() {<br> return $(this).toggleClass('checked');<br>});<br><br>$('#submit').click(function() {<br> var name, number, ul;<br> ul = $('#numbers');<br> number = $('#number').val();<br> name = $('#name').val();<br> if ($('#friend').hasClass('checked')) {<br> $(ul).prepend('&lt;li class="friend"&gt;&lt;span&gt;Name: ' + name + '&lt;br/&gt; Number: ' + number + '&lt;/span&gt;&lt;/li&gt;');<br> } else {<br> $(ul).prepend('&lt;li&gt;&lt;span&gt;Name: ' + name + ' &lt;br/&gt;Number: ' + number + '&lt;/span&gt;&lt;/li&gt;');<br> }<br> localStorage.setItem('contacts', $(ul).html());<br> $("form")[0].reset();<br> return false;<br>});<br><br>if (localStorage.getItem('contacts')) {<br> $('#numbers').html(localStorage.getItem('contacts'));<br>}</pre>
    <p>Compare both we can see that the CoffeeScript has 587 words and 14 lines while the Javascript one has 662 words and 21 lines, and if we compare legibility we can see that the CoffeeScript is substantially more legible than the JavaScript equivalent. If in this type of simple application CoffeeScript can save you 7 lines of code imagine how much it would save in full blown application!</p>
    <p> </p>
    <h1>Conclusion</h1>
    <p>I hope this article has given you a better idea of CoffeeScript and how it can improve your day-to-day JavaScript coding. The code written in this article isn’t meant to be cleanest or easiest JavaScript, rather it was intended to illustrate using CoffeeScript. I hope now that you can see how powerful it is with jQuery and you consider using this great little language in your daily coding because it will most definitely save you hours of typing.</p>
    <p> </p>
    <p><em><strong>Do you use CoffeeScript? How useful do you find it day-to-day? Let us know in the comments.</strong></em></p>
    <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-99316658/stock-photo-fresh-coffee-beans-on-wood-and-linen-bag-ready-to-brew-delicious-coffee.html" rel="nofollow external" class="bo">coffee image</a> via Shutterstock.</em></p>
    <p><br><br>
    </p>
    <table width="100%">
    <tbody>
    <tr>
    <td>
          <a href="http://www.mightydeals.com/deal/motocms-html-website.html?ref=inwidget" rel="nofollow external" class="bo"><strong>MotoCMS: Professional Website Builder – 66% off!  </strong></a>
        </td>
    <td>
          <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br>
            <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="A taste of CoffeeScript (part 2)" style="max-width: 100%; height: auto;"><br>
          </a>
        </td>
    </tr>
    </tbody>
    </table>
    <p><br> </p>
    <a href="http://www.webdesignerdepot.com/2013/05/a-taste-of-coffeescript-part-2/" rel="nofollow external" class="bo">Source</a>
    </div>
]]>
</Body>
<Summary>In the first part of this article about CoffeeScript, you saw its basic capabilities; but let’s be honest, most of the time we use the jQuery library to help us write our JavaScript and what I...</Summary>
<Website>http://www.webdesignerdepot.com/2013/05/a-taste-of-coffeescript-part-2/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30492/guest@my.umbc.edu/d849d06d503ba3fbc51bf46ea587e540/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>building-a-coffeescript-application</Tag>
<Tag>coffeescript</Tag>
<Tag>coffeescript-and-javascript</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>jquery</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>using-coffeescript-with-jquery</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 05:15:47 -0400</PostedAt>
<EditAt>Wed, 29 May 2013 05:15:47 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="30514" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30514">
<Title>Retriever Lacrosse Notes: Murphy Earns USILA Scholar All-America Honors; Poe Headlines UMBC's NCAA Statistical Leaders</Title>
<Body>
<![CDATA[
    <div class="html-content">BALTIMORE- UMBC senior defender Ethan Murphy (West Seneca, N.Y./West Seneca East) was named to the 2013 United States Intercollegiate Lacrosse Scholar All-America Team, becoming the third Retriever to earn the honor. In other news, rising senior Phil Poe leads several Retrievers ranked nationally and on several of UMBC's all-time lists.</div>
]]>
</Body>
<Summary>BALTIMORE- UMBC senior defender Ethan Murphy (West Seneca, N.Y./West Seneca East) was named to the 2013 United States Intercollegiate Lacrosse Scholar All-America Team, becoming the third...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8032</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30514/guest@my.umbc.edu/7a14ee3c8f683d082bdd71d27b954302/api/pixel</TrackingUrl>
<Group token="athletics">UMBC Athletics</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/athletics</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/original.jpg?1709304849</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xlarge.png?1709304849</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/large.png?1709304849</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/medium.png?1709304849</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/small.png?1709304849</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xsmall.png?1709304849</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/009/69595c9b99f609d75fbb8232d9bd73d3/xxsmall.png?1709304849</AvatarUrl>
<Sponsor>UMBC Athletics</Sponsor>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30478" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30478">
<Title>Wanted for the Internet of Things: Ant-Sized Computers</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>A computer two millimeters square is the start of an effort to make chips that can put computer power just about anywhere for the vaunted “Internet of Things.”</p>
    <p>If the Internet is to reach everywhere—from the pills you swallow to the shoes on your feet—then computers will need to get a whole lot smaller. A new microchip that is two millimeters square and contains almost all the components of a tiny functioning computer is a promising start.</p>
    </div>
]]>
</Body>
<Summary>A computer two millimeters square is the start of an effort to make chips that can put computer power just about anywhere for the vaunted “Internet of Things.”  If the Internet is to reach...</Summary>
<Website>http://www.technologyreview.com/news/514101/wanted-for-the-internet-of-things-ant-sized-computers/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30478/guest@my.umbc.edu/2f83f56173a2a9690d551da44f260541/api/pixel</TrackingUrl>
<Tag>development</Tag>
<Tag>internet</Tag>
<Tag>mit</Tag>
<Tag>technology</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 29 May 2013 00:00:00 -0400</PostedAt>
<EditAt>Wed, 29 May 2013 00:00:00 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30475" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30475">
<Title>Bits Blog: Has Apple Lost Its Cool? Its Chief Says No</Title>
<Body>
<![CDATA[
    <div class="html-content">At an industry conference, Tim Cook, Apple’s chief executive, struck back against claims that Apple’s innovation streak had run out.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F05%2F28%2Fd-all-things-d-has-apple-lost-its-cool%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Has+Apple+Lost+Its+Cool%3F+Its+Chief+Says+No" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F05%2F28%2Fd-all-things-d-has-apple-lost-its-cool%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Has+Apple+Lost+Its+Cool%3F+Its+Chief+Says+No" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F05%2F28%2Fd-all-things-d-has-apple-lost-its-cool%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Has+Apple+Lost+Its+Cool%3F+Its+Chief+Says+No" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F05%2F28%2Fd-all-things-d-has-apple-lost-its-cool%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Has+Apple+Lost+Its+Cool%3F+Its+Chief+Says+No" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F05%2F28%2Fd-all-things-d-has-apple-lost-its-cool%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Has+Apple+Lost+Its+Cool%3F+Its+Chief+Says+No" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    <br><br><a href="http://da.feedsportal.com/r/165665506475/u/0/f/640387/c/34625/s/2c8a3f57/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165665506475/u/0/f/640387/c/34625/s/2c8a3f57/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>At an industry conference, Tim Cook, Apple’s chief executive, struck back against claims that Apple’s innovation streak had run out.     </Summary>
<Website>http://bits.blogs.nytimes.com/2013/05/28/d-all-things-d-has-apple-lost-its-cool/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30475/guest@my.umbc.edu/f2fef1762415a2224cfd1068c28c8f04/api/pixel</TrackingUrl>
<Tag>apple-inc</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>cook-timothy-d</Tag>
<Tag>corporate-taxes</Tag>
<Tag>data</Tag>
<Tag>devices</Tag>
<Tag>new</Tag>
<Tag>new-models-design-and-products</Tag>
<Tag>technology</Tag>
<Tag>wearable-computing</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 28 May 2013 23:21:29 -0400</PostedAt>
<EditAt>Wed, 29 May 2013 12:48:45 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30472" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30472">
<Title>Advertising: FEMA Promotes Its Wireless Emergency Alert System</Title>
<Body>
<![CDATA[
    <div class="html-content">The agency is releasing radio, television and digital ads to educate the public about the system, which began two years ago.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F29%2Fbusiness%2Fmedia%2Ffema-promotes-its-wireless-emergency-alert-system.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Advertising%3A+FEMA+Promotes+Its+Wireless+Emergency+Alert+System" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/twitter.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/facebook/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F29%2Fbusiness%2Fmedia%2Ffema-promotes-its-wireless-emergency-alert-system.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Advertising%3A+FEMA+Promotes+Its+Wireless+Emergency+Alert+System" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/facebook.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/linkedin/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F29%2Fbusiness%2Fmedia%2Ffema-promotes-its-wireless-emergency-alert-system.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Advertising%3A+FEMA+Promotes+Its+Wireless+Emergency+Alert+System" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/linkedin.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/gplus/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F29%2Fbusiness%2Fmedia%2Ffema-promotes-its-wireless-emergency-alert-system.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Advertising%3A+FEMA+Promotes+Its+Wireless+Emergency+Alert+System" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/googleplus.png" style="max-width: 100%; height: auto;"></a> <a href="http://share.feedsportal.com/share/email/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F05%2F29%2Fbusiness%2Fmedia%2Ffema-promotes-its-wireless-emergency-alert-system.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Advertising%3A+FEMA+Promotes+Its+Wireless+Emergency+Alert+System" rel="nofollow external" class="bo"><img src="http://res3.feedsportal.com/social/email.png" style="max-width: 100%; height: auto;"></a>
    </td></tr></tbody></table></div>
    </div>
]]>
</Body>
<Summary>The agency is releasing radio, television and digital ads to educate the public about the system, which began two years ago.     </Summary>
<Website>http://www.nytimes.com/2013/05/29/business/media/fema-promotes-its-wireless-emergency-alert-system.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30472/guest@my.umbc.edu/e2f03b5011b89e5fcd4189d87e53d861/api/pixel</TrackingUrl>
<Tag>advertising-and-marketing</Tag>
<Tag>advertising-council</Tag>
<Tag>disasters-and-emergencies</Tag>
<Tag>federal-emergency-management-agency</Tag>
<Tag>new</Tag>
<Tag>online-advertising</Tag>
<Tag>technology</Tag>
<Tag>wireless-communications</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 28 May 2013 22:39:41 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30469" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30469">
<Title>Mozilla Firefox 22 is Ready for Testing</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Firefox 22 has big news, WebRTC or asm.js, which is big news depends on your perspective.</p></div>
]]>
</Body>
<Summary>Firefox 22 has big news, WebRTC or asm.js, which is big news depends on your perspective.</Summary>
<Website>http://www.htmlgoodies.com/daily_news/mozilla-firefox-22-is-ready-for-testing.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30469/guest@my.umbc.edu/6958c6e17132772163e719c2fa8a0145/api/pixel</TrackingUrl>
<Tag>html</Tag>
<Tag>htmlgoodies</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 28 May 2013 21:54:00 -0400</PostedAt>
</NewsItem>

</News>
