<?xml version="1.0"?>
<News hasArchived="true" page="8444" pageCount="10726" pageSize="10" timestamp="Fri, 17 Jul 2026 09:42:31 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8444">
<NewsItem contentIssues="true" id="33705" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33705">
<Title>Bits Blog: With No New iPad, Tablet Market Takes a Dip</Title>
<Body>
<![CDATA[
    <div class="html-content">Apple didn’t release a new iPad in the first half of the year, as it usually does, and guess what happened? Sales of tablets worldwide took a dip.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2013%2F08%2F05%2Fwith-no-new-ipad-tablet-market-takes-a-dip%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+With+No+New+iPad%2C+Tablet+Market+Takes+a+Dip" 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%2F08%2F05%2Fwith-no-new-ipad-tablet-market-takes-a-dip%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+With+No+New+iPad%2C+Tablet+Market+Takes+a+Dip" 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%2F08%2F05%2Fwith-no-new-ipad-tablet-market-takes-a-dip%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+With+No+New+iPad%2C+Tablet+Market+Takes+a+Dip" 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%2F08%2F05%2Fwith-no-new-ipad-tablet-market-takes-a-dip%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+With+No+New+iPad%2C+Tablet+Market+Takes+a+Dip" 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%2F08%2F05%2Fwith-no-new-ipad-tablet-market-takes-a-dip%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+With+No+New+iPad%2C+Tablet+Market+Takes+a+Dip" 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>Apple didn’t release a new iPad in the first half of the year, as it usually does, and guess what happened? Sales of tablets worldwide took a dip.     </Summary>
<Website>http://bits.blogs.nytimes.com/2013/08/05/with-no-new-ipad-tablet-market-takes-a-dip/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33705/guest@my.umbc.edu/bd2a6f457af4ad58a05acb2d4c4ab071/api/pixel</TrackingUrl>
<Tag>apple-inc</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>asus</Tag>
<Tag>international-data-corp</Tag>
<Tag>ipad</Tag>
<Tag>mobile</Tag>
<Tag>new</Tag>
<Tag>samsung-electronics-co</Tag>
<Tag>tablet-computers</Tag>
<Tag>technology</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>Mon, 05 Aug 2013 20:30:50 -0400</PostedAt>
<EditAt>Tue, 06 Aug 2013 14:48:40 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33697" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33697">
<Title>Web Assets &#8211; Tips for Better Organization and Performance</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <a href="http://rss.buysellads.com/click.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=33950&amp;c=265556723" rel="nofollow external" class="bo"><img src="http://rss.buysellads.com/img.php?z=1260013&amp;k=d754f1e9ba63a736ba8ff5ece958f7dd&amp;a=33950&amp;c=265556723" alt="" style="max-width: 100%; height: auto;"></a><p>Remember back to when we had to spend a lot of time optimizing our project’s assets (images, CSS, etc..)? Well today, users have a much faster Internet connection and it appears that we can afford to use bigger images or bigger flash files with a lot of video and pictures inside. However, with the rise of mobile development, we are again back in that same situation. It is extremely important to create well optimized sites, so that we have faster applications, which download less content and respond immediately.</p>
    <p></p>
    <hr>
    <h2>Images</h2>
    <h3>Serve the Proper Size</h3>
    <p>Often times we use the same images for different parts of our websites. For example, in an online shop, all the products have an overview picture. Let’s say that we have three pages where we have to show those images – one page for listing the products, another page for the product’s details, and a third page which shows only the picture in its original size.</p>
    <p>So, we need three different image sizes and if we use the same file for all three different places, then the browser will download the full size image even for the listing page, where we actually may only need a 200×200 picture. If the original file is around 1MB and we have ten products per page, then the user would download 10MB. That’s not a very good idea. If you can, try to generate different images for the different parts of your site, this will save a lot of KBs for your users. It is a good idea to have in mind the current screen resolution. For example, if somebody opens your site on their iPhone, there is no need to serve the giant header image, which you normally use. By using <a href="http://css-tricks.com/snippets/css/media-queries-for-standard-devices/" rel="nofollow external" class="bo">CSS media queries</a> you are able to send an image with a smaller size:</p>
    <pre>@media only screen &#x000A;    and (min-device-width : 320px) &#x000A;    and (max-device-width : 480px) {&#x000A;        .header {&#x000A;            background-image: url(../images/background_400x200.jpg);&#x000A;        }&#x000A;    }&#x000A;    </pre>
    <h3>Compression</h3>
    <p>Sending an image with just the proper dimensions is not always enough. Some file formats can be compressed a lot without losing their quality. There are many programs which can help you out. For example, Photoshop provides a nice feature called <code>Save for Web and Devices</code>:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/saveforweb.jpg" alt="saveforweb" width="600" height="350" style="max-width: 100%; height: auto;"><br> <p>There are loads of options in this dialog, but one of the most important ones is <code>Quality</code>. Setting it to something like 80% could decrease the file size considerably.</p>
    <p>Of course, you can use code to compress the files, but I personally prefer Photoshop and I’m using it whenever possible. Here is a simple example written in PHP:</p>
    <pre>function compressImage($source, $destination, $quality) {&#x000A;        $info = getimagesize($source);&#x000A;        switch($info['mime']) {&#x000A;            case "image/jpeg":&#x000A;                $image = imagecreatefromjpeg($source);&#x000A;                imagejpeg($image, $destination, $quality);&#x000A;            break;&#x000A;            case "image/gif":&#x000A;                $image = imagecreatefromgif($source);&#x000A;                imagegif($image, $destination, $quality);&#x000A;            break;&#x000A;            case "image/png":&#x000A;                $image = imagecreatefrompng($source);&#x000A;                imagepng($image, $destination, $quality);&#x000A;            break;&#x000A;        }&#x000A;    }&#x000A;    compressImage('source.png', 'destination.png', 85);&#x000A;    </pre>
    <h3>Sprites</h3>
    <p>One of the things that you can do to increase the performance of your application is to reduce the number of requests to the server. So, every new image means a new request. It’s a good idea to combine your images into one. The resulting image is called a <code>sprite</code> and with changing the <code>background-position</code> CSS style, you are able to show only the portion of the image that you need. For example, <a href="http://twitter.github.com/bootstrap/" rel="nofollow external" class="bo">Twitter Bootstrap</a> uses sprites for its internal icons:</p>  <img src="http://cdn.tutsplus.com/net.tutsplus.com/uploads/2013/08/twittericons.jpg" alt="twittericons" width="600" height="200" style="max-width: 100%; height: auto;"><br> <p>Then in the CSS, you can do something like this, to show whichever portion of the sprite you’d like:</p>
    <pre>.icon-edit {&#x000A;        background-image: url("../img/glyphicons-halflings-white.png");&#x000A;        background-position: -96px -72px;&#x000A;    }&#x000A;    </pre>
    <h3>Caching</h3>
    <p>The browser’s caching mechanism is your friend. Yes, sometimes during development it could lead to some very <code>funny</code> situations, but it really helps to improve your site’s performance. Every browser caches content like images, JavaScript or CSS. There are several ways to control the caching and I suggest that you check out this great <a href="http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/" rel="nofollow external" class="bo">article</a> for a detailed review. In general, you can control the process by setting headers, like so:</p>
    <pre>$expire = 60 * 60 * 24 * 1;// seconds, minutes, hours, days&#x000A;    header('Cache-Control: maxage='.$expire);&#x000A;    header('Expires: '.gmdate('D, d M Y H:i:s', time() + $expire).' GMT');&#x000A;    header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');&#x000A;    </pre>
    <h3>Prefetching</h3>
    <p>HTML5 is moving forward every day. There is a nice feature called <a href="http://www.whatwg.org/specs/web-apps/current-work/#link-type-prefetch" rel="nofollow external" class="bo"><code>prefetching</code></a> which tells the browser that you will need some resource in the near future and it should be downloaded now, in advance. For example:</p>
    <pre>&lt;link rel="prefetch" href="/images/background.jpg"&gt;&#x000A;    </pre>
    <h3>Data URI Scheme / Inline Images</h3>
    <p>A couple of years ago I had to develop a simple <a href="http://krasimirtsonev.com/blog/article/how-to-import-images-directly-into-the-html-code-base64" rel="nofollow external" class="bo">web page</a>, which was supposed to be just one HTML file. Of course there were several images, which I had to include. <a href="http://en.wikipedia.org/wiki/Data_URI_scheme" rel="nofollow external" class="bo">Data URI schemes</a> helped me to solve the problem. The idea is to convert your images into a base64 encoded string and place it in the <code>src</code> attribute of the <code>img</code> tag. For example:</p>
    <pre>&lt;img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot"&gt;&#x000A;    </pre>
    <p>By using this approach, your image is actually in the HTML and you save one HTTP request. Of course, if you have a big image the string will be really long. Here is a simple PHP script which converts images to base64 strings:</p>
    <pre>$picture = fread($fp,filesize($file));&#x000A;    fclose($fp);&#x000A;    // base64 encode the binary data, then break it&#x000A;    // into chunks according to RFC 2045 semantics&#x000A;    $base64 = base64_encode($picture);&#x000A;    $tag = '&lt;img src="data:image/jpg;base64,'.$base64.'" alt="" /&gt;';&#x000A;    $css = 'url(data:image/jpg;base64,'.str_replace("\n", "", $base64).'); ';&#x000A;    </pre>
    <p>You may find this useful in some cases, but keep in mind that it doesn’t work very well in IE.</p>
    <hr>
    <h2>CSS</h2>
    <p>I like to think that writing CSS is like writing code. You still have to organize your styles, to define different blocks and the relationship between them. That’s why I think CSS management is really important. Every part of the application should have its own styles and they should be nicely separated. Keeping everything in different files provides good organization, but also comes with its own problems.</p>
    <p>We all know that the usage of the <code>@import</code> statement is not a very good idea. That’s because every new <code>@import</code> means a new request to the server. And if you have, for example, 20 different <code>.css</code> files it means that the browser will make 20 requests. And the browser doesn’t render/show the page before downloading all the styles. If some of your <code>.css</code> files are missing or are very large, you will get a big delay before seeing something on the screen.</p>
    <h3>Use CSS Preprocessors</h3>
    <p>CSS preprocessors solve all the problems above. You still divide your styles into different files, but at the end, the preprocessor compiles everything into a single <code>.css</code> file. They actually offer a bunch of cool features like variables, nested blocks, mixins and inheritance. The code still looks like CSS, but it is well formatted/structured. There are few popular preprocessors that are worth checking – <a href="http://sass-lang.com/" rel="nofollow external" class="bo">Sass</a>, <a href="http://lesscss.org/" rel="nofollow external" class="bo">LESS</a>, and <a href="http://learnboost.github.com/stylus/" rel="nofollow external" class="bo">Stylus</a>. Here is a simple example written in LESS:</p>
    <pre>.position(@top: 0, @left: 0) {&#x000A;        position: absolute;&#x000A;        top: @top;&#x000A;        left: @left;&#x000A;        text-align: left;&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    .header {&#x000A;        .position(20px, 30px);&#x000A;        .tips {&#x000A;            .position(10px, -20px);&#x000A;        }&#x000A;        .logo {&#x000A;            .position(10px, 20px);  &#x000A;        }&#x000A;    }&#x000A;    </pre>
    <p>will produce</p>
    <pre>.header {&#x000A;        position: absolute;&#x000A;        top: 20px;&#x000A;        left: 30px;&#x000A;        text-align: left;&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    .header .tips {&#x000A;        position: absolute;&#x000A;        top: 10px;&#x000A;        left: -20px;&#x000A;        text-align: left;&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    .header .logo {&#x000A;        position: absolute;&#x000A;        top: 10px;&#x000A;        left: 20px;&#x000A;        text-align: left;&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    </pre>
    <p>Or, for example if you have styling for a button and want to produce just the same button but with another color for the text, you could do this:</p>
    <pre>.button {&#x000A;        border: solid 1px #000;&#x000A;        padding: 10px;&#x000A;        background: #9f0;&#x000A;        color: #0029FF;&#x000A;    }&#x000A;    .active-button {&#x000A;        .button();&#x000A;        color: #FFF;&#x000A;    }&#x000A;    </pre>
    <h3>Efficient CSS</h3>
    <p>Normally, most developers don’t think about efficient CSS. The efficiency of the CSS reflects on the page’s rendering and if your styles are inefficient your application will be rendered slowly by browsers. An interesting fact is that browsers parse the CSS selectors from right to left. Which means that the following code:</p>
    <pre>body ul li a {&#x000A;        color: #F000;&#x000A;        text-decoration: none;&#x000A;    }&#x000A;    </pre>
    <p>… is not efficient at all. That’s because the engine will get all the <code>&lt;a&gt;</code> tags and will have to evaluate each of the parent elements to finally collect the needed style. You should also know that in terms of efficiency, the selectors are kind of ranked in the following order: ID, class, tag, and universal. This means that an element with an <code>id</code> set will be rendered faster than an element with just a tag selector. Of course, there is no sense to add ids on all the elements in the DOM tree, but you should definitely check your code and improve it where possible. For example, if you have something like this:</p>
    <pre>ul #navigation li {&#x000A;        background: #ff0232;&#x000A;    }&#x000A;    </pre>
    <p>You should remove the <code>ul</code> part, because you have only one <code>#navigation</code> element on the page. Or in the following selector:</p>
    <pre>body .content p {&#x000A;        font-size: 20px;&#x000A;    }&#x000A;    </pre>
    <p>It is clear that the <code>.content</code> element is a child of the <code>body</code> tag. All the elements are actually children of this element.</p>
    <p>Here are two helpful links on the this topic: <a href="https://developers.google.com/speed/docs/best-practices/rendering" rel="nofollow external" class="bo">developers.google.com</a> and <a href="http://css-tricks.com/efficiently-rendering-css/" rel="nofollow external" class="bo">css-tricks.com</a></p>
    <h3>File Size</h3>
    <p>As we mentioned above, it is good to have as little code as possible, because the browser doesn’t render the page before downloading the CSS. Here are few tips to reduce the file size.</p>
    <p>Combine similar styles:</p>
    <pre>.header {&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    .content {&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    </pre>
    <p>… transforms to:</p>
    <pre>.header, .content {&#x000A;        font-size: 24px;&#x000A;    }&#x000A;    </pre>
    <p>Use shorthands. Instead of:</p>
    <pre>.header {&#x000A;        background-color: #999999;&#x000A;        background-image: url(../images/header.jpg);&#x000A;        background-position: top right;&#x000A;    }&#x000A;    </pre>
    <p>Write it in this fashion:</p>
    <pre>.header {&#x000A;        background: #999 url(../images/header.jpg) top right;&#x000A;    }&#x000A;    </pre>
    <p>Minify your CSS code. You can do this by using a tool which generally removes all the spaces and new lines. For example <a href="http://www.cssoptimiser.com/" rel="nofollow external" class="bo">CSSOptimiser</a> or <a href="http://www.minifycss.com/css-compressor/" rel="nofollow external" class="bo">Minifycss</a>. It’s a common practice to use such instruments on the server side of the application, i.e. something written in the language of the back-end. Normally these components minify your code and serve it to the user.</p>
    <h3>Put Your CSS Files in the <code>&lt;head&gt;</code> Tag</h3>
    <p>It is good practice to include your <code>.css</code> files in the <code>head</code> tag, that way the browser will download it first.</p>
    <hr>
    <h2>JavaScript</h2>
    <h3>Reduce the Number of HTTP Requests</h3>
    <p>Same as with your CSS - it's good to reduce the number of requests being to sent to the server. In most cases, the loading of the JavaScript files will not stop the rendering of the page, but it will make some portions of the page nonfunctional.</p>
    <h3>Minify Your Code</h3>
    <p>There are a bunch of libraries that do JavaScript minification. It's something that will reduce the files' size, but keep in mind that in a development environment it is good to keep your code clean. Most of these tools change the name of your variables and converts everything into a one-line string, which makes the debugging process almost impossible.</p>
    <h3>
    <a href="http://www.commonjs.org/" rel="nofollow external" class="bo">CommonJS</a>, <a href="http://requirejs.org/docs/whyamd.html" rel="nofollow external" class="bo">AMD</a>, <a href="http://requirejs.org/" rel="nofollow external" class="bo">RequireJS</a> - Give It a Try</h3>
    <p>JavaScript natively doesn't have a mechanism for managing modules. So, all those things are invented to solve this problem. They provide an API which you can use to define and use modules. For example, here is an example taken from <a href="http://requirejs.org/" rel="nofollow external" class="bo">http://requirejs.org/</a>:</p>
    <pre>&lt;!DOCTYPE html&gt;&#x000A;    &lt;html&gt;&#x000A;        &lt;head&gt;&#x000A;            &lt;title&gt;My Sample Project&lt;/title&gt;&#x000A;            &lt;!-- data-main attribute tells require.js to load&#x000A;                 scripts/main.js after require.js loads. --&gt;&#x000A;            &lt;script data-main="scripts/main" src="scripts/require.js"&gt;&lt;/script&gt;&#x000A;        &lt;/head&gt;&#x000A;        &lt;body&gt;&#x000A;            &lt;h1&gt;My Sample Project&lt;/h1&gt;&#x000A;        &lt;/body&gt;&#x000A;    &lt;/html&gt;&#x000A;    </pre>
    <p>Inside of <code>main.js</code>, you can use <code>require()</code> to load any other scripts you need:</p>
    <pre>require(["helper/util"], function(util) {&#x000A;        //This function is called when scripts/helper/util.js is loaded.&#x000A;        //If util.js calls define(), then this function is not fired until&#x000A;        //util's dependencies have loaded, and the util argument will hold&#x000A;        //the module value for "helper/util".&#x000A;    });&#x000A;    </pre>
    <h3>Use Namespaces</h3>
    <p>If we're talking about code organization then we can't skip the part about namespaces. Natively, there is no such feature in JavaScript, but you can still achieve the same thing with a little code. For example, if you want to build your own <a href="http://addyosmani.com/resources/essentialjsdesignpatterns/book/#detailmvc" rel="nofollow external" class="bo">MVC</a> framework, you will probably have the following classes:</p>
    <pre>var model = function() { ... };&#x000A;    var view = function() { ... };&#x000A;    var controller = function() { ... };&#x000A;    </pre>
    <p>If you leave things as they are in the above code, then they become public and there is a greater chance of producing conflicts with other libraries in your project. So, grouping them in an independent object (namespace) makes the framework protected:</p>
    <pre>var MyAwesomeFramework = {&#x000A;        model: function() { ... },&#x000A;        view: function() { ... },&#x000A;        controller: function() { ... }&#x000A;    }&#x000A;    </pre>
    <h3>Follow Design Patterns</h3>
    <p>There is no need to re-invent the wheel. JavasScript became really popular and there are a lot of good practices out there. Design patterns are reusable solutions for common problems in programming. Following some of them will help you to build a good application. However, if I try to cover them all here, I'd have to write a book, so here are just a few of them:</p>
    <h4>Constructor Pattern</h4>
    <p>Use this pattern to create an instance of a specific object type. Here's an example:</p>
    <pre>var Class = function(param1, param2) {&#x000A;        this.var1 = param1;&#x000A;        this.var2 = param2;&#x000A;    }&#x000A;    Class.prototype = {&#x000A;        method:function() {&#x000A;            alert(this.var1 + "/" + this.var2);&#x000A;        }&#x000A;    };&#x000A;    </pre>
    <p>Or you may try this:</p>
    <pre>function Class(param1, param2) {&#x000A;        this.var1 = param1;&#x000A;        this.var2 = param2;&#x000A;        this.method = function() {&#x000A;            alert(param1 + "/" + param2);&#x000A;        };&#x000A;    };&#x000A;    &#x000A;    var instance = new Class("value1", "value2");&#x000A;    </pre>
    <h4>Module Pattern</h4>
    <p>The module pattern gives us the ability to create private and public methods. For example, in the code below, the variable <code>_index</code> and the method <code>privateMethod</code> are private. <code>increment</code> and <code>getIndex</code> are public.</p>
    <pre>var Module = (function() {&#x000A;        var _index = 0;&#x000A;        var privateMethod = function() {&#x000A;            return _index * 10;&#x000A;        }&#x000A;        return {&#x000A;            increment: function() {&#x000A;                _index += 1;&#x000A;            },&#x000A;            getIndex: function() {&#x000A;                return _index;&#x000A;            }&#x000A;        };      &#x000A;    })();&#x000A;    </pre>
    <h4>Observer Pattern</h4>
    <p>Wherever you see subscription or dispatching of events, you'll likely see this pattern. There are observers which are interested in something related to a specific object. Once the action occurs, the object notifies the observers. The <a href="http://jsfiddle.net/krasimir/sHNKD/3/" rel="nofollow external" class="bo">example</a> below shows how we can add an observer to the <code>Users</code> object:</p>
    <pre>var Users = {&#x000A;        list: [],&#x000A;        listeners: {},&#x000A;        add: function(name) {&#x000A;            this.list.push({name: name});&#x000A;            this.dispatch("user-added");&#x000A;        },&#x000A;        on: function(eventName, listener) {&#x000A;            if(!this.listeners[eventName]) this.listeners[eventName] = [];&#x000A;            this.listeners[eventName].push(listener);&#x000A;        },&#x000A;        dispatch: function(eventName) {&#x000A;            if(this.listeners[eventName]) {&#x000A;                for(var i=0; i&amp;lt;this.listeners[eventName].length; i++) {&#x000A;                    this.listeners[eventName][i](this);&#x000A;                }&#x000A;            }&#x000A;        },&#x000A;        numOfAddedUsers: function() {&#x000A;            return this.list.length;&#x000A;        }&#x000A;    }&#x000A;    &#x000A;    Users.on("user-added", function() {&#x000A;        alert(Users.numOfAddedUsers());&#x000A;    });&#x000A;    &#x000A;    Users.add("Krasimir");&#x000A;    Users.add("Tsonev");&#x000A;    </pre>
    <h4>Function Chaining Pattern</h4>
    <p>This pattern is a nice way to organize the public interface of your module. It saves time and improves readability:</p>
    <pre>var User = {&#x000A;        profile: {},&#x000A;        name: function(value) {&#x000A;            this.profile.name = value;&#x000A;            return this;&#x000A;        },&#x000A;        job: function(value) {&#x000A;            this.profile.job = value;&#x000A;            return this;&#x000A;        },&#x000A;        getProfile: function() {&#x000A;            return this.profile;&#x000A;        }&#x000A;    };&#x000A;    &#x000A;    var profile = User.name("Krasimir Tsonev").job("web developer").getProfile();&#x000A;    console.log(profile);&#x000A;    </pre>
    <p>I strongly recommend checking out this <a href="http://addyosmani.com/resources/essentialjsdesignpatterns/book/" rel="nofollow external" class="bo">book</a> by <a href="http://addyosmani.com" rel="nofollow external" class="bo">Addy Osmani</a>. It's one of the best resources that you could find about design patterns in JavaScript.</p>
    <hr>
    <h2>Assets-Pack</h2>
    <p>Now that we're nearing the end of this article, I want to share a few thoughts on CSS and JavaScript code management on the server. It's a very common technique to add merging, minification, and compiling into the logic of the application. Often there is some kind of caching mechanism, but all things are happening during runtime. So you probably have some code logic, which handles the request for <code>.js</code> or <code>.css</code> files and serves the proper content. Behind this process is the compilation, minification or whatever you are using to pack your assets.</p>
    <p>In my latest projects I used a tool called <a href="https://github.com/krasimir/assets-pack" rel="nofollow external" class="bo"><code>assets-pack</code></a>. It's really helpful and I'll explain in detail what exactly it does, but the more interesting part is how I used it. This library is meant to be used only in development mode, it's not something that stays in your codebase and it's not something that you should deploy on your production server.</p>
    <p>The idea is to use the packer only while you are working on the assets (CSS, JS). It actually watches for changes in specific directories and compiles/packs the code into a single file. By using this approach you don't need to think about the minification or compilation. All you have to do is just send the compiled static file to the user. This increases the performance of your application, because it only serves static files and of course makes things simpler. You don't need to set anything on your server or implement unnecessary logic.</p>
    <p>Here is how you can setup and use <a href="https://github.com/krasimir/assets-pack" rel="nofollow external" class="bo"><code>assets-pack</code></a>.</p>
    <h3>Installation</h3>
    <p>This tool is a Nodejs module, so you should have Node already installed. If you don't, just go to <a href="http://nodejs.org/download/" rel="nofollow external" class="bo">nodejs.org/download</a> and grab the package for your operating system. After that:</p>
    <pre>npm install -g assetspack&#x000A;    </pre>
    <h3>Usage</h3>
    <p>The module works with JSON configuration. When it is used via the command line, you should place your settings in a <code>.json</code> file.</p>
    <h4>Via the Command Line</h4>
    <p>Create an <code>assets.json</code> file and execute the following command in the same directory:</p>
    <pre>assetspack&#x000A;    </pre>
    <p>If your configuration file uses another name or is in another directory, use:</p>
    <pre>assetspack --config [path to json file]&#x000A;    </pre>
    <h4>In Code</h4>
    <pre>var AssetsPack = require("assetspack");&#x000A;    var config = [&#x000A;        {&#x000A;            type: "css",&#x000A;            watch: ["css/src"],&#x000A;            output: "tests/packed/styles.css",&#x000A;            minify: true,&#x000A;            exclude: ["custom.css"]&#x000A;        }&#x000A;    ];&#x000A;    var pack = new AssetsPack(config, function() {&#x000A;        console.log("AssetsPack is watching");&#x000A;    });&#x000A;    pack.onPack(function() {&#x000A;        console.log("AssetsPack did the job"); &#x000A;    });&#x000A;    </pre>
    <h3>Configuration</h3>
    <p>The configuration should be a valid JSON file/object. It's just an array of objects:</p>
    <pre>[&#x000A;        (asset object),&#x000A;        (asset object),&#x000A;        (asset object),&#x000A;        ...&#x000A;    ]&#x000A;    </pre>
    <h4>Asset Object</h4>
    <p>The basic structure of the asset object is like so:</p>
    <pre>{&#x000A;        type: (file type /string, could be css, js or less for example),&#x000A;        watch: (directory or directories for watching /string or array of strings/),&#x000A;        pack: (directory or directories for packing /string or array of strings/. ),&#x000A;        output: (path to output file /string/),&#x000A;        minify: /boolean/,&#x000A;        exclude: (array of file names)&#x000A;    }&#x000A;    </pre>
    <p>The <code>pack</code> property is not mandatory. If you miss it, then its value is equal to <code>watch</code>. <code>minify</code> by default is false.</p>
    <p>Here are a few examples:</p>
    <h4>Packing CSS</h4>
    <pre>{&#x000A;        type: "css",&#x000A;        watch: ["tests/data/css", "tests/data/css2"],&#x000A;        pack: ["tests/data/css", "tests/data/css2"],&#x000A;        output: "tests/packed/styles.css",&#x000A;        minify: true,&#x000A;        exclude: ["header.css"]&#x000A;    }&#x000A;    </pre>
    <h4>Packing JavaScript</h4>
    <pre>{&#x000A;        type: "js",&#x000A;        watch: "tests/data/js",&#x000A;        pack: ["tests/data/js"],&#x000A;        output: "tests/packed/scripts.js",&#x000A;        minify: true,&#x000A;        exclude: ["A.js"]&#x000A;    }&#x000A;    </pre>
    <h4>Packing <code>.less</code> Files</h4>
    <p>The packing of <code>.less</code> files is a little bit different. The <code>pack</code> property is mandatory and it is basically your entry point. You should import all the other <code>.less</code> files there. The <code>exclude</code> property is not available here.</p>
    <pre>{&#x000A;        type: "less",&#x000A;        watch: ["tests/data/less"],&#x000A;        pack: "tests/data/less/index.less",&#x000A;        output: "tests/packed/styles-less.css",&#x000A;        minify: true&#x000A;    }&#x000A;    </pre>
    <p>If you find any problems, please check the <code>tests/packing-less.spec.js</code> of the repository in GitHub.</p>
    <h4>Packing Other File Formats</h4>
    <p><code>assets-pack</code> works with any file format. For example, we can combine HTML templates into a single file by doing something like this:</p>
    <pre>{&#x000A;        type: "html",&#x000A;        watch: ["tests/data/tpl"],&#x000A;        output: "tests/packed/template.html",&#x000A;        exclude: ["admin.html"]&#x000A;    }&#x000A;    </pre>
    <p>The only one thing that you should know here is that there is no minification.</p>
    <hr>
    <h2>Conclusion</h2>
    <p>As front-end web developers, we should try to deliver the best performance possible for our users. The tips above aren't supposed to cover all aspects of asset organization and performance, but they are the ones I have dealt with personally during my daily work. Please feel free to share some of your tips below, in the comments.</p>
    </div>
]]>
</Body>
<Summary>Remember back to when we had to spend a lot of time optimizing our project’s assets (images, CSS, etc..)? Well today, users have a much faster Internet connection and it appears that we can afford...</Summary>
<Website>http://feedproxy.google.com/~r/nettuts/~3/BQgqhX_s11I/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33697/guest@my.umbc.edu/8a5c069ebc4498ebff3901de1a10046c/api/pixel</TrackingUrl>
<Tag>articles</Tag>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tools-and-tips</Tag>
<Tag>tutorials</Tag>
<Tag>web-asset-tips</Tag>
<Tag>wed</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>Mon, 05 Aug 2013 20:18:46 -0400</PostedAt>
<EditAt>Mon, 05 Aug 2013 20:18:46 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="33702" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33702">
<Title>A 5 Minute Overview of 'Uploadcare'</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>Uploadcare is a new service that helps media creators, businesses and developers to easily store, process and deliver visual content to their clients and other team members.</p></div>
]]>
</Body>
<Summary>Uploadcare is a new service that helps media creators, businesses and developers to easily store, process and deliver visual content to their clients and other team members.</Summary>
<Website>http://www.htmlgoodies.com/beyond/reference/a-5-minute-overview-uploadcare.html</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33702/guest@my.umbc.edu/7ae8c39be0dc0565287fba428dd70375/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>Mon, 05 Aug 2013 19:46:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33695" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33695">
<Title>Amazon&#8217;s Founder to Buy The Washington Post</Title>
<Body>
<![CDATA[
    <div class="html-content">Jeffrey P. Bezos will pay $250 million for the newspaper and some other businesses of The Washington Post Company.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F06%2Fbusiness%2Fmedia%2Famazoncom-founder-to-buy-the-washington-post.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Amazon%E2%80%99s+Founder+to+Buy+The+Washington+Post" 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%2F08%2F06%2Fbusiness%2Fmedia%2Famazoncom-founder-to-buy-the-washington-post.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Amazon%E2%80%99s+Founder+to+Buy+The+Washington+Post" 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%2F08%2F06%2Fbusiness%2Fmedia%2Famazoncom-founder-to-buy-the-washington-post.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Amazon%E2%80%99s+Founder+to+Buy+The+Washington+Post" 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%2F08%2F06%2Fbusiness%2Fmedia%2Famazoncom-founder-to-buy-the-washington-post.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Amazon%E2%80%99s+Founder+to+Buy+The+Washington+Post" 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%2F08%2F06%2Fbusiness%2Fmedia%2Famazoncom-founder-to-buy-the-washington-post.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Amazon%E2%80%99s+Founder+to+Buy+The+Washington+Post" 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/172487788641/u/0/f/640387/c/34625/s/2f982a9e/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487788641/u/0/f/640387/c/34625/s/2f982a9e/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Jeffrey P. Bezos will pay $250 million for the newspaper and some other businesses of The Washington Post Company.     </Summary>
<Website>http://www.nytimes.com/2013/08/06/business/media/amazoncom-founder-to-buy-the-washington-post.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33695/guest@my.umbc.edu/434afc4d52e6a2ee57c56bfeb019b3eb/api/pixel</TrackingUrl>
<Tag>new</Tag>
<Tag>technology</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>Mon, 05 Aug 2013 18:23:02 -0400</PostedAt>
<EditAt>Mon, 05 Aug 2013 21:01:02 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="123159" important="false" status="posted" url="https://my3.my.umbc.edu/posts/123159">
<Title>Robert Deluty, Graduate School, Publishes His 42nd Book</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Robert Deluty, associate dean of the graduate school, has published a new book of poetry, “Saluting from the Shore.”</p>
    <p>In his review, Ronald Pies writes, “Once again, Robert Deluty presents us with a splendid collection of short poems, inspired by Cheryl Strayed’s observation that we will never know the lives we have not chosen – the ‘ghost ship that didn’t carry us…’ We wonder, for example, what other ship might have carried the dean who confides that ‘…feigning interest all day/ is wearing him out.’ We wonder how the life not chosen might have spared ‘the dying soldier/ recalling his grandfather/ saying Be a man.’ In a sense, these poems are a salute to paths not taken, lives not chosen, which—through Deluty’s illuminating explorations—are given voice and dignity.”</p>
    <p>Copies of “Saluting from the Shore,” as well as of Deluty’s other books, are on sale at the UMBC Bookstore.</p>
    </div>
]]>
</Body>
<Summary>Robert Deluty, associate dean of the graduate school, has published a new book of poetry, “Saluting from the Shore.”   In his review, Ronald Pies writes, “Once again, Robert Deluty presents us...</Summary>
<Website>https://umbc.edu/stories/robert-deluty-graduate-school-publishes-his-42nd-book/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/123159/guest@my.umbc.edu/f8d2d53bf7ff660639a27584d4466647/api/pixel</TrackingUrl>
<Tag>admin</Tag>
<Tag>arts-and-culture</Tag>
<Tag>cahss</Tag>
<Tag>cnms</Tag>
<Tag>coeit</Tag>
<Group token="umbc-news-magazine">UMBC News &amp;amp; Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news-magazine</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/original.png?1748556657</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/large.png?1748556657</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/medium.png?1748556657</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/small.png?1748556657</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxsmall.png?1748556657</AvatarUrl>
<Sponsor>UMBC News &amp; Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 05 Aug 2013 17:27:02 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="123160" important="false" status="posted" url="https://my3.my.umbc.edu/posts/123160">
<Title>Four UMBC Alumni Invited to U.S. National Team Tryouts</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Four UMBC alumni are among the 98 invitees for the 2014 Federation of International Lacrosse (FIL) World Championships, where the U.S. men seek to defend their title in Denver, Colorado on July 10-19, 2014. Attackmen Brendan Mundorf ’07, and Drew Westervelt ’07, will attempt to earn their second consecutive team selection. They were both members of the 2010 squad that won gold with a 12-10 victory over Canada in Manchester, England. Midfielders Terry Kimener ’08, and Peet Poillon ’10, are embarking on their first journeys to the championships.</p>
    <p>Tryouts will be held Aug. 30 – Sept.1 at Goucher College in Baltimore, Md. after which the roster will be cut to 40. That group will then begin preparing for the Federation of International Lacrosse (FIL) World Championships, where the U.S. Men seek to defend their title on July 10-19, 2014.</p>
    </div>
]]>
</Body>
<Summary>Four UMBC alumni are among the 98 invitees for the 2014 Federation of International Lacrosse (FIL) World Championships, where the U.S. men seek to defend their title in Denver, Colorado on July...</Summary>
<Website>https://umbc.edu/stories/four-umbc-alumni-invited-to-u-s-national-team-tryouts/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/123160/guest@my.umbc.edu/424ddbe20b5c3a2d533e2ecab8adb618/api/pixel</TrackingUrl>
<Tag>athletics</Tag>
<Tag>community</Tag>
<Group token="umbc-news-magazine">UMBC News &amp;amp; Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news-magazine</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/original.png?1748556657</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xlarge.png?1748556657</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/large.png?1748556657</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/medium.png?1748556657</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/small.png?1748556657</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xsmall.png?1748556657</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/943/24435aa6207c452e7bc15cc74b42c7bb/xxsmall.png?1748556657</AvatarUrl>
<Sponsor>UMBC News &amp; Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Mon, 05 Aug 2013 17:16:36 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33694" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33694">
<Title>Free download: 25 free retro patterns</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/08/thumbnail8.jpg" width="200" height="160" style="max-width: 100%; height: auto;">Patterns have graced our designs for thousands of years. The texture, color and life added by patterns have enhanced design the world over.</p> <p>The love of pattern reached new heights with the advert of the web and our ability to easily tile graphics. And adding pattern to your site is easy thanks to these 25 free patterns from our friends at <a href="http://www.vecteezy.com/" rel="nofollow external" class="bo">Vecteezy.</a></p> <p>Featuring a 50s style retro color palette, the shapes cover a range of styles from 60s op-art to 70s pill shapes and even contemporary illustrative patterns.</p> <p>Whether you use them to create an engaging background or to lift the texture of your foreground, these great patterns will really set your site apart.  Download after the preview…</p> <p><a href="http://netdna.webdesignerdepot.com/uploads/2013/08/WDD_PatternsPreview.jpg" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2013/08/WDD_PatternsPreview.jpg" width="650" alt="Free download: 25 free retro patterns" style="max-width: 100%; height: auto;"></a></p> <p> </p> <p><em><strong>Have you used these patterns in a project? How do you use pattern in your designs? Let us know in the comments.</strong></em></p> <div>
    <div> <a href="/widget/pay-tweet.php?refID=wdd_retropatterns&amp;code=cbb6c86bb21d3b4c9061715dcf1ee975&amp;post_id=57171&amp;msg=Free+download%3A+25+free+retro+patterns+http%3A%2F%2Fbit.ly%2F19IXgxI" rel="nofollow external" class="bo">Pay with a Tweet</a> </div> <div> <a rel="nofollow external" class="bo">Download now</a> </div> <div> <p>Please enter your email address below and click the download button. The download link will be sent to you by email, or if you have already subscribed, the download will begin immediately.</p>       <div>I agree to receive exclusive deals from <a href="http://www.MightyDeals.com" rel="nofollow external" class="bo"><span>MightyDeals.com</span></a> and monthly/weekly newsletters from <a href="http://www.WebdesignerDepot.com" rel="nofollow external" class="bo"><span>WebdesignerDepot.com</span></a>. Unsubscribe at any time. Your email will not be sold/rented.</div>   <div>         </div>  <div><img src="http://forms.aweber.com/form/displays.htm?id=jJwczBwMnIwMrA==" alt="" style="max-width: 100%; height: auto;"></div>  </div>   </div> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/heavenly-ui.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Heavenly UI Kit for E-Commerce Sites – only $9</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="Free download: 25 free retro patterns" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/08/free-download-25-free-retro-patterns/" rel="nofollow external" class="bo">Source</a> <br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F08%2Ffree-download-25-free-retro-patterns%2F&amp;t=Free+download%3A+25+free+retro+patterns" 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.webdesignerdepot.com%2F2013%2F08%2Ffree-download-25-free-retro-patterns%2F&amp;t=Free+download%3A+25+free+retro+patterns" 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.webdesignerdepot.com%2F2013%2F08%2Ffree-download-25-free-retro-patterns%2F&amp;t=Free+download%3A+25+free+retro+patterns" 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.webdesignerdepot.com%2F2013%2F08%2Ffree-download-25-free-retro-patterns%2F&amp;t=Free+download%3A+25+free+retro+patterns" 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.webdesignerdepot.com%2F2013%2F08%2Ffree-download-25-free-retro-patterns%2F&amp;t=Free+download%3A+25+free+retro+patterns" 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/172487766693/u/49/f/661066/c/35285/s/2f979b90/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/172487766693/u/49/f/661066/c/35285/s/2f979b90/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Patterns have graced our designs for thousands of years. The texture, color and life added by patterns have enhanced design the world over.   The love of pattern reached new heights with the...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2f979b90/sc/4/l/0L0Swebdesignerdepot0N0C20A130C0A80Cfree0Edownload0E250Efree0Eretro0Epatterns0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33694/guest@my.umbc.edu/69937ae06776890e5ff5f2c3705e3950/api/pixel</TrackingUrl>
<Tag>50s-style-patterns</Tag>
<Tag>60s-style-patterns</Tag>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>download-free-patterns</Tag>
<Tag>free-patterns</Tag>
<Tag>freebies</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>photoshop-patterns</Tag>
<Tag>php</Tag>
<Tag>retro-patterns</Tag>
<Tag>sql</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>Mon, 05 Aug 2013 16:45:14 -0400</PostedAt>
<EditAt>Mon, 05 Aug 2013 16:45:14 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33699" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33699">
<Title>Seeing Narcissists Everywhere</Title>
<Body>
<![CDATA[
    <div class="html-content">A psychology professor has tapped into a rich vein of popular concern, concluding that people in recent decades have grown more self-centered and entitled. But is it true?<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F06%2Fscience%2Fseeing-narcissists-everywhere.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeing+Narcissists+Everywhere" 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%2F08%2F06%2Fscience%2Fseeing-narcissists-everywhere.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeing+Narcissists+Everywhere" 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%2F08%2F06%2Fscience%2Fseeing-narcissists-everywhere.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeing+Narcissists+Everywhere" 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%2F08%2F06%2Fscience%2Fseeing-narcissists-everywhere.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeing+Narcissists+Everywhere" 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%2F08%2F06%2Fscience%2Fseeing-narcissists-everywhere.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Seeing+Narcissists+Everywhere" 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>A psychology professor has tapped into a rich vein of popular concern, concluding that people in recent decades have grown more self-centered and entitled. But is it true?     </Summary>
<Website>http://www.nytimes.com/2013/08/06/science/seeing-narcissists-everywhere.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33699/guest@my.umbc.edu/d66b90568919ce4203b8b10816d4e199/api/pixel</TrackingUrl>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>narcissism</Tag>
<Tag>new</Tag>
<Tag>psychology-and-psychologists</Tag>
<Tag>social-media</Tag>
<Tag>technology</Tag>
<Tag>twenge-jean-m</Tag>
<Tag>york</Tag>
<Tag>youth</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>Mon, 05 Aug 2013 16:45:04 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="33693" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33693">
<Title>Resources from Blackboard</Title>
<Body>
<![CDATA[
    <div class="html-content"><div>    <p>
            Page
                <strong>edited</strong> by
                        <a href="https://wiki.umbc.edu/display/~fritz%0A" rel="nofollow external" class="bo">John Fritz</a>
                </p>
            <div>
            <div><div>
    <div><div>
    <p><a href="http://ondemand.blackboard.com/" rel="nofollow external" class="bo">Blackboard's On Demand Learning Center</a> for faculty and students includes the following:</p>
    <div><table><tbody>
    <tr>
    <th><p> </p></th>
    <th><p>Description</p></th>
    <th><p>Videos</p></th>
    <th><p>PDF</p></th>
    </tr>
    <tr>
    <td><p><a href="http://ondemand.blackboard.com/r91/movies/bb91_grade_center_anonymous_grading.htm" rel="nofollow external" class="bo">Anonymous Grading</a> </p></td>
    <td><p>OnDemand Video</p></td>
    <td><p><span><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/check.png" alt="(tick)" style="max-width: 100%; height: auto;"></span></p></td>
    <td><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/error.png" alt="(error)" style="max-width: 100%; height: auto;"></td>
    </tr>
    <tr>
    <td><p><a href="http://ondemand.blackboard.com/r91/movies/bb91_tests_auto_regrading.htm" rel="nofollow external" class="bo">Automatic Regrading</a></p></td>
    <td><p>OnDemand Video</p></td>
    <td><p><span><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/check.png" alt="(tick)" style="max-width: 100%; height: auto;"></span></p></td>
    <td><p><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/error.png" alt="(error)" style="max-width: 100%; height: auto;"></p></td>
    </tr>
    <tr>
    <td colspan="1"><a href="http://ondemand.blackboard.com/r91/movies/bb91_groups_creating_single_group.htm" rel="nofollow external" class="bo">Create a Group</a></td>
    <td colspan="1">OnDemand Video</td>
    <td colspan="1"><span><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/check.png" alt="(tick)" style="max-width: 100%; height: auto;"></span></td>
    <td colspan="1"><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/error.png" alt="(error)" style="max-width: 100%; height: auto;"></td>
    </tr>
    <tr>
    <td colspan="1"><a href="http://ondemand.blackboard.com/r91/movies/bb91_groups_creating_group_sets.htm" rel="nofollow external" class="bo">Create Group Sets</a></td>
    <td colspan="1">OnDemand Video</td>
    <td colspan="1"><span><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/check.png" alt="(tick)" style="max-width: 100%; height: auto;"></span></td>
    <td colspan="1"><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/error.png" alt="(error)" style="max-width: 100%; height: auto;"></td>
    </tr>
    <tr>
    <td colspan="1"><a href="http://ondemand.blackboard.com/r91/movies/bb91_tools_using_text_editor.htm" rel="nofollow external" class="bo">Use the Text Editor</a></td>
    <td colspan="1">OnDemand Video</td>
    <td colspan="1"><span><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/check.png" alt="(tick)" style="max-width: 100%; height: auto;"></span></td>
    <td colspan="1"><img src="https://wiki.umbc.edu/s/en_GB-1988229788/4249/84a11b3502ae79dd6028856f37ff89838963c1cc.32/_/images/icons/emoticons/error.png" alt="(error)" style="max-width: 100%; height: auto;"></td>
    </tr>
    </tbody></table></div>
    </div></div>
    <div><div>
    <h4>Popular Articles</h4>
    <p><span></span></p>
    <ol>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=36766723" rel="nofollow external" class="bo">When will my Blackboard course shell be created?</a>
                        
                                    (1115)
                                </li>
                            <li>
                    
                                                        <a href="/display/faq/Blackboard" rel="nofollow external" class="bo">Blackboard</a>
                        
                                    (711)
                                </li>
                            <li>
                    
                                                        <a href="/display/faq/Blackboard+Help" rel="nofollow external" class="bo">Blackboard Help</a>
                        
                                    (456)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=2851116" rel="nofollow external" class="bo">Why can't I see my Blackboard course?</a>
                        
                                    (437)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=1867962" rel="nofollow external" class="bo">What characters are NOT allowed in file names when files are uploaded to Blackboard?</a>
                        
                                    (261)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=17171412" rel="nofollow external" class="bo">How do I remove an old Blackboard course from my list?</a>
                        
                                    (248)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=35423174" rel="nofollow external" class="bo">How do I share a Blackboard Collaborate session with other courses after the initial set-up?</a>
                        
                                    (246)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=22708244" rel="nofollow external" class="bo">How do I export or archive my old Blackboard course?</a>
                        
                                    (235)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=5245059" rel="nofollow external" class="bo">When I check my grades, what does a green exclamation point or a red question mark mean?</a>
                        
                                    (190)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=22708253" rel="nofollow external" class="bo">How do I import content into my Blackboard course shell?</a>
                        
                                    (183)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=22708259" rel="nofollow external" class="bo">How do I enable email notifications of Blackboard discussion board postings?</a>
                        
                                    (136)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=26281388" rel="nofollow external" class="bo">How do I join a Blackboard Collaborate session?</a>
                        
                                    (124)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=1867862" rel="nofollow external" class="bo">How do I make a course available or unavailable to students in Blackboard?</a>
                        
                                    (114)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=22709425" rel="nofollow external" class="bo">How do I view the list of students enrolled in my Blackboard course?</a>
                        
                                    (92)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=22708658" rel="nofollow external" class="bo">How do I add a Blackboard tool link menu button?</a>
                        
                                    (86)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=26281415" rel="nofollow external" class="bo">How do I create a Blackboard Collaborate session for my course?</a>
                        
                                    (83)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=5244742" rel="nofollow external" class="bo">What browser works best with UMBC's Blackboard system?</a>
                        
                                    (78)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=22708665" rel="nofollow external" class="bo">How do I add a teaching assistant or a second instructor in my Blackboard course?</a>
                        
                                    (68)
                                </li>
                            <li>
                    
                                                        <a href="/display/faq/Getting+Started+in+Blackboard" rel="nofollow external" class="bo">Getting Started in Blackboard</a>
                        
                                    (61)
                                </li>
                            <li>
                    
                                                        <a href="/pages/viewpage.action?pageId=38371492" rel="nofollow external" class="bo">I am getting a red "not found" banner when I click a link in my Blackboard course. What do I do?</a>
                        
                                    (61)
                                </li>
                        </ol>
        </div></div>
    </div></div>
        </div>
            <div>
           <a href="https://wiki.umbc.edu/display/faq/Resources+from+Blackboard" rel="nofollow external" class="bo">View Online</a>
                  ·
           <a href="https://wiki.umbc.edu/pages/diffpagesbyversion.action?pageId=22709361&amp;revisedVersion=16&amp;originalVersion=15" rel="nofollow external" class="bo">View Changes Online</a>       
                      </div>
    </div></div>
]]>
</Body>
<Summary>Page             edited by                     John Fritz                                      Blackboard's On Demand Learning Center for faculty and students includes the following:    ...</Summary>
<Website>https://wiki.umbc.edu/display/faq/Resources+from+Blackboard</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33693/guest@my.umbc.edu/91bfb2dfe774bf2fc6573dd5f5760cf8/api/pixel</TrackingUrl>
<Tag>faq</Tag>
<Group token="retired-428">UMBC FAQ</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-428</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/images/avatars/group/1/xsmall.png?1784205622</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/images/avatars/group/1/original.png?1784205622</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/images/avatars/group/1/xxlarge.png?1784205622</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/images/avatars/group/1/xlarge.png?1784205622</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/images/avatars/group/1/large.png?1784205622</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/images/avatars/group/1/medium.png?1784205622</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/images/avatars/group/1/small.png?1784205622</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/images/avatars/group/1/xsmall.png?1784205622</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/images/avatars/group/1/xxsmall.png?1784205622</AvatarUrl>
<Sponsor>UMBC FAQ</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 05 Aug 2013 16:16:14 -0400</PostedAt>
<EditAt>Mon, 05 Aug 2013 16:16:14 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33692" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33692">
<Title>Making The Web Faster With SPDY</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>SPDY (pronounced “<em>SPeeDY</em>”) is a new technology that aims to decrease page load times by fixing a number of flaws present in HTTP 1.1. It’s not a replacement for HTTP but instead adds a number of features that help to make web transactions faster.</p>
    <p>SPDY was initially developed at Google and is used on almost all Google products. It is also being used by other tech companies such as Facebook, Twitter and WordPress.com.</p>
    <p>In this article you are going to learn the basics of how SPDY works and how it helps to speed up web performance.</p>
    <hr>
    <p><strong>Note</strong>: The HTTP 2.0 Working Group has chosen to use SPDY as a starting point for the new HTTP 2.0 specification, but SPDY itself was not designed to be a direct replacement.</p>
    <hr>
    <h2>How SPDY Fits Into The Existing Architecture</h2>
    <p>SPDY works by adding an additional layer to the request stack that augments the existing functionality of HTTP.</p>
    <div>
    <a href="http://blog.teamtreehouse.com/wp-content/uploads/2013/08/SPDY_Stack.png" rel="nofollow external" class="bo"><img alt="How SPDY fits into the web stack" src="http://blog.teamtreehouse.com/wp-content/uploads/2013/08/SPDY_Stack.png" width="400" height="250" style="max-width: 100%; height: auto;"></a><p>How SPDY fits into the web stack</p>
    </div>
    <p>Before we look at the features that SPDY introduces, lets first take a look at the problems that SPDY aims to solve.</p>
    <h2>Problems Introduced in HTTP 1.1</h2>
    <p>HTTP 1.1 has a number of flaws that affect the efficiency of requests between a client and server. These flaws impose limitations on the performance of your websites.</p>
    <p>The aim of SPDY is to provide functionality that helps to solve the following problems.</p>
    <h3>Limited Number of Connections</h3>
    <p>Due to the way that HTTP is designed, each resource requires a separate HTTP request to a server. Modern browsers currently support up to 6 simultaneous connections to a server. This means that if your website requires more than 6 resources from the same server the browser will have to wait until one of the resources has been downloaded before it can open up another request. This can have a significant impact on the overall page load time.</p>
    <p>Developers have used a strategy called <a href="http://en.wikipedia.org/wiki/HTTP_pipelining" rel="nofollow external" class="bo">HTTP pipelining</a> to get around this problem, however this still suffers from the <a href="https://en.wikipedia.org/wiki/FIFO" rel="nofollow external" class="bo">First-In, First-Out</a> (FIFO) problem.</p>
    <hr>
    <p><strong>Note</strong>: Research carried out by <a href="http://httparchive.org/trends.php" rel="nofollow external" class="bo">HTTPArchive</a> found that the average web page consists of 84 requests from 30 different domains.</p>
    <hr>
    <h3>HTTP Headers</h3>
    <p>Another issue that is present in HTTP is the use of uncompressed or unnecessary headers. <a href="https://en.wikipedia.org/wiki/List_of_HTTP_header_fields" rel="nofollow external" class="bo">HTTP headers</a> are fundamental to the way that web transactions work but all this data still needs to be sent over the wire and so the more headers you have, the longer your request will take.</p>
    <p>While there are technologies in use today that compress headers they are usually optional. There is the potential for a significant saving by compressing request headers or emitting headers that are not needed.</p>
    <h3>Developer Workarounds</h3>
    <p>Web developers have adopted a number of strategies in order to decrease the load times of their web pages. These include things like:</p>
    <ul>
    <li>
    <strong>Image Spriting</strong> – Combining a number of smaller images into one image ‘sprite’ and then using some clever CSS to display the correct section of the sprite image on the page.</li>
    <li>
    <strong>Concatenation and Minification</strong> – Combining multiple CSS or JS files in order to reduce the number of HTTP requests in a page. Minification refers to the practice of removing whitespace and other supplementary content from files in order to reduce their size.</li>
    <li>
    <strong>Domain Sharding</strong> – Placing resources under different sub-domains so that the browser can open more parallel connections.</li>
    <li>
    <strong>Inline Resources</strong> – Using Data URIs to embed images into the HTML code, again reducing the number of HTTP requests.</li>
    </ul>
    <p>While all of these strategies are effective at speeding up page load times they can be a pain to implement. Fixing some of the issues in HTTP 1.1 would eliminate the need for developers to worry about adopting these workarounds.</p>
    <h2>Solving These Problems with SPDY</h2>
    <p>Now that you understand some of the problems that SPDY aims to fix, lets take a look at some of the key features that make up SPDY.</p>
    <h3>Multiplexed Streams</h3>
    <p>With SPDY, requests are mapped to <strong>streams</strong>. SPDY allows for multiple concurrent streams to use a single connection between the client and browser. This massively reduces the amount of time that is taken to establish connections.</p>
    <p>These connections are <em>bidirectional</em> and therefore streams can be initiated from both the client and server. More on this later.</p>
    <h3>Prioritized Streams</h3>
    <p>SPDY streams include prioritization. The client can instruct a server that certain resources are more important than others and therefore should be sent as soon as the bandwidth is available.</p>
    <p>This helps to solve the ‘first-in, first-out’ problem I mentioned earlier.</p>
    <h3>Header Compression</h3>
    <p>SPDY compresses request and response headers in order to minimize the amount of data being sent over the wire. <a href="http://www.chromium.org/spdy/spdy-whitepaper" rel="nofollow external" class="bo">Experiments</a> carried out by Google observed an ~88% reduction in the size of request headers and an ~85% reduction in the size of response headers after enabling compression. This amounted to a saving of between 45 and 1142 ms in the overall page load time.</p>
    <p>The SPDY team is also experimenting with ways of eliminating headers that are unnecessary. For example, after the user-agent header has been sent to the server we should be able to safely assume that it will not change for the rest of the session. We can therefore omit this from future requests, reducing the size of the header data.</p>
    <h3>Server Push</h3>
    <p>Another great feature of SPDY is the ability to create server-initiated streams. These allow the server to push resources down to the client before the client has requested them.</p>
    <p>For example, a server could parse an HTML file and see that it contains a <code>&lt;link&gt;</code> element that references a CSS stylesheet. Traditionally the server would have to wait until the client issued a request for the stylesheet before it could send it down. However as we know that the client will need this file why don’t we just send it automatically. We would then eliminate the time it takes for the client’s request to reach the server (also know as <a href="http://en.wikipedia.org/wiki/Latency_(engineering)" rel="nofollow external" class="bo"><em>latency</em></a>).</p>
    <p>The priciniple here is essentially equivalent to using <a href="http://css-tricks.com/data-uris/" rel="nofollow external" class="bo">Data URIs</a> to embed images within the HTML markup of a page. We know that the resource will be required so it makes sense to eliminate the need for the extra request.</p>
    <h2>Using SPDY Today</h2>
    <p>Now that you’ve seen what SPDY has to offer, I’m sure that you are wondering how you can put it to use. The good news is that SPDY is ready for primetime. As I mentioned earlier many companies including Google, Facebook and Twitter have it running on production systems today.</p>
    <p>For Apache users there is a module available called <a href="https://developers.google.com/speed/spdy/mod_spdy/" rel="nofollow external" class="bo">mod_spdy</a>.<br>
    Nginx users should check out the <a href="http://nginx.org/en/docs/http/ngx_http_spdy_module.html" rel="nofollow external" class="bo">ngx_http_spdy_module</a>.</p>
    <hr>
    <p><strong>Note</strong>: You don’t need to modify any of your site content in order to start using SPDY.</p>
    <hr>
    <p>One thing to keep in mind is that SPDY requires SSL. This does introduce a small latency penalty but ensures a secure connection between the client and server.</p>
    <p>Browsers with support for SPDY currently include Chrome, Firefox and Opera. Microsoft also recently confirmed that SPDY will be supported in IE11.</p>
    <h2>Final Thoughts</h2>
    <p>Hopefully you should now have a basic understanding of what SPDY is and how it fits in with the rest of the web stack.</p>
    <p>SPDY promises to make our lives as developers a lot easier by eliminating the need to implement workarounds for the bottlenecks found in HTTP 1.1. The days of creating image sprites and implementing domain sharding may well be coming to an end.</p>
    <h2>Useful Links</h2>
    <ul>
    <li>
    <a href="http://chimera.labs.oreilly.com/books/1230000000545" rel="nofollow external" class="bo">High Performance Browser Networking</a> by Ilya Grigorik</li>
    <li><a href="https://developers.google.com/speed/spdy/mod_spdy/" rel="nofollow external" class="bo">Apache Module: mod_spdy</a></li>
    <li><a href="http://nginx.org/en/docs/http/ngx_http_spdy_module.html" rel="nofollow external" class="bo">Nginx Module: ngx_http_spdy_module</a></li>
    <li><a href="http://www.chromium.org/spdy/spdy-whitepaper" rel="nofollow external" class="bo">SPDY: An experimental protocol for a faster web</a></li>
    <li><a href="http://caniuse.com/spdy" rel="nofollow external" class="bo">Can I use SPDY?</a></li>
    <li><a href="http://spdycheck.org/" rel="nofollow external" class="bo">SPDY Website Checker</a></li>
    </ul>
    <p>The post <a href="http://blog.teamtreehouse.com/making-the-web-faster-with-spdy" rel="nofollow external" class="bo">Making The Web Faster With SPDY</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>SPDY (pronounced “SPeeDY”) is a new technology that aims to decrease page load times by fixing a number of flaws present in HTTP 1.1. It’s not a replacement for HTTP but instead adds a number of...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/KbVFqV7sS0s/making-the-web-faster-with-spdy</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33692/guest@my.umbc.edu/a40549f716783cf668047e8fa6106e81/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>code</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>http</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>networking</Tag>
<Tag>responsive</Tag>
<Tag>spdy</Tag>
<Tag>tcp</Tag>
<Tag>web</Tag>
<Tag>web-apps</Tag>
<Tag>web-performance</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>Mon, 05 Aug 2013 15:45:12 -0400</PostedAt>
</NewsItem>

</News>
