<?xml version="1.0"?>
<News hasArchived="true" page="8428" pageCount="10727" pageSize="10" timestamp="Fri, 17 Jul 2026 19:11:37 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8428">
<NewsItem contentIssues="true" id="33925" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33925">
<Title>3 Simple Design Tests to Improve Your Aesthetics</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Developers often use test driven development to write simple and reliable code. Sometimes too much testing can slow down the development of a product, but in general, it’s a smart idea. The web design community doesn’t have a perfect analog to written software tests, but a few simple aesthetic exercises or “design tests” can serve a similar function. In order to perform these tests, you’ll need to open a screenshot of your website in an image editing program like Photoshop, although a simple photo editing app will do fine as well.</p>
    <p>Below is a screenshot of a portfolio website that will be used as project material in a soon-to-be-announced Treehouse course.</p>
    <p><img alt="Normal screenshot of a portfolio website." src="http://blog.teamtreehouse.com/wp-content/uploads/2013/08/normal.jpg" width="2428" height="1597" style="max-width: 100%; height: auto;"></p>
    <p>This screenshot of the project is the portfolio page which is intended to showcase design work. Take a few moments to examine the aesthetics of this layout before moving on.</p>
    <h2>The Desaturation Test</h2>
    <p><img alt="Black and white screenshot of a portfolio website." src="http://blog.teamtreehouse.com/wp-content/uploads/2013/08/bw.jpg" width="2428" height="1597" style="max-width: 100%; height: auto;"></p>
    <p>With your screenshot loaded into your image editing application, desaturate the colors completely. The purpose of this test is to find areas of the image that might have a lot of contrast in <em>color</em> but not enough contrast in <em>value</em> (the difference between light and dark). For example, take a look at the portfolio piece in the top center. The number 2 has some well defined yellow edges in the color version, but as soon as it’s black and white, the lines become a bit fuzzy. This particular instance isn’t too bad, but if you run this test and find page elements that appear to blend together (<em>especially</em> text) then you should reconsider the colors and values.</p>
    <p>Contrast in value is desirable for many reasons. First, humans are much more sensitive to changes in value than changes in color, so if you’re trying to highlight some page elements or make text legible, contrast is paramount. Secondly, there are millions of people that have some form of color blindness or related vision impairment. If you’re able to differentiate between two page elements using both color and value, then you’ll make your site accessible to more people.</p>
    <p>If you only do one of these three tests, make sure it’s this one. In most cases, you’ll uncover at least one area of poor contrast that should be fixed.</p>
    <h2>The Blur Test</h2>
    <p><img alt="Blurry screenshot of a portfolio website." src="http://blog.teamtreehouse.com/wp-content/uploads/2013/08/blur.jpg" width="2428" height="1597" style="max-width: 100%; height: auto;"></p>
    <p>In this test, you’re looking at several things. Contrast in values comes to mind, but this is also a great way to look at the mix of color saturation across the screen. For example, if you’re going for a more subdued look, you probably don’t want bright complimentary colors sitting next to each other.</p>
    <p>It’s also a helpful technique for examining your composition. For example, in this layout, the “heavy” and dark portfolio pieces are evenly distributed in a checkerboard pattern with the “light” and colorful pieces. This adds a bit more variety and makes each piece stand on its own just a little bit more than if all the lights and darks were clumped together. I should note that this can be slightly situational. In the case of this portfolio site, we wouldn’t want an extremely graphic and colorful header to overpower the image gallery. Rather, the header should be subtle and allow the gallery to shine.</p>
    <p>Accessibility also comes to mind once more in this test. By starting out with a small amount of blur and slowly ramping it up, you can visualize which pieces of text on your page are the most legible to people with varying degrees of vision impairment. Adjusting the amount of blur can also highlight the “scannability” of your design and show which elements people might pick up on first.</p>
    <h2>The Upside-Down Test</h2>
    <p><img alt="Rotated screenshot of a portfolio website." src="http://blog.teamtreehouse.com/wp-content/uploads/2013/08/comp.jpg" width="2428" height="1597" style="max-width: 100%; height: auto;"></p>
    <p>Last but not least is the upside-down test. By flipping your design 180 degrees, you can isolate the composition and balance. You may even want to take this a step further and draw a line straight down the middle of the page. This will help you to identify issues with the composition where one side might feel too heavy versus the other side. Fortunately, this layout is fairly symmetrical, so there’s not much to worry about. If, however, all the dark imagery was in a single column down one side of the page with only light text to balance it on the other side, a balance problem might be much more apparent. More simply, if you’re in need of a fresh perspective (literally and figuratively) on the aesthetics of your website, this test might help.</p>
    <p>The post <a href="http://blog.teamtreehouse.com/3-simple-design-tests-to-improve-your-aesthetics" rel="nofollow external" class="bo">3 Simple Design Tests to Improve Your Aesthetics</a> appeared first on <a href="http://blog.teamtreehouse.com" rel="nofollow external" class="bo">Treehouse Blog</a>.</p>
    </div>
]]>
</Body>
<Summary>Developers often use test driven development to write simple and reliable code. Sometimes too much testing can slow down the development of a product, but in general, it’s a smart idea. The web...</Summary>
<Website>http://feedproxy.google.com/~r/teamtreehouse/~3/W7H7piuOBgo/3-simple-design-tests-to-improve-your-aesthetics</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33925/guest@my.umbc.edu/0c74a6a57ac7857a44159a9be56c4b17/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>make-a-website</Tag>
<Tag>responsive</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>Mon, 12 Aug 2013 09:33:30 -0400</PostedAt>
<EditAt>Mon, 12 Aug 2013 09:33:30 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33923" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33923">
<Title>DealBook: Still Trailing Rivals, BlackBerry Seeks a Way Out</Title>
<Body>
<![CDATA[
    <div class="html-content">The company said that it was exploring a joint venture or a potential sale of itself, as the faded smartphone maker continues to cast about for a solution to its woes.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fdealbook.nytimes.com%2F2013%2F08%2F12%2Fblackberry-to-explore-strategic-alternatives-including-a-sale-again%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Still+Trailing+Rivals%2C+BlackBerry+Seeks+a+Way+Out" 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%2Fdealbook.nytimes.com%2F2013%2F08%2F12%2Fblackberry-to-explore-strategic-alternatives-including-a-sale-again%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Still+Trailing+Rivals%2C+BlackBerry+Seeks+a+Way+Out" 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%2Fdealbook.nytimes.com%2F2013%2F08%2F12%2Fblackberry-to-explore-strategic-alternatives-including-a-sale-again%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Still+Trailing+Rivals%2C+BlackBerry+Seeks+a+Way+Out" 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%2Fdealbook.nytimes.com%2F2013%2F08%2F12%2Fblackberry-to-explore-strategic-alternatives-including-a-sale-again%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Still+Trailing+Rivals%2C+BlackBerry+Seeks+a+Way+Out" 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%2Fdealbook.nytimes.com%2F2013%2F08%2F12%2Fblackberry-to-explore-strategic-alternatives-including-a-sale-again%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=DealBook%3A+Still+Trailing+Rivals%2C+BlackBerry+Seeks+a+Way+Out" 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/173607811543/u/0/f/640387/c/34625/s/2fdb0221/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607811543/u/0/f/640387/c/34625/s/2fdb0221/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The company said that it was exploring a joint venture or a potential sale of itself, as the faded smartphone maker continues to cast about for a solution to its woes.      </Summary>
<Website>http://dealbook.nytimes.com/2013/08/12/blackberry-to-explore-strategic-alternatives-including-a-sale-again/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33923/guest@my.umbc.edu/941eb6f04c64185d9cdc755ad7813bc1/api/pixel</TrackingUrl>
<Tag>blackberry</Tag>
<Tag>blackberry-bbry-nasdaq</Tag>
<Tag>blackberry-handheld-device</Tag>
<Tag>mergers-and-acquisitions</Tag>
<Tag>new</Tag>
<Tag>smartphones</Tag>
<Tag>technology</Tag>
<Tag>top-headline-1</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, 12 Aug 2013 08:45:09 -0400</PostedAt>
<EditAt>Tue, 13 Aug 2013 13:57:28 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33937" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33937">
<Title>The 5 traits of killer apps</Title>
<Body>
<![CDATA[
    <div class="html-content">With over one million in-store apps, competition is fierce. Erin Newkirk shares her top five secrets to creating a chart-topping app<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Ffeatures%2F5-traits-killer-apps&amp;t=The+5+traits+of+killer+apps" 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%2F5-traits-killer-apps&amp;t=The+5+traits+of+killer+apps" 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%2F5-traits-killer-apps&amp;t=The+5+traits+of+killer+apps" 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%2F5-traits-killer-apps&amp;t=The+5+traits+of+killer+apps" 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%2F5-traits-killer-apps&amp;t=The+5+traits+of+killer+apps" 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/173607736674/u/49/f/502346/c/32632/s/2fdc1ee0/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607736674/u/49/f/502346/c/32632/s/2fdc1ee0/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>With over one million in-store apps, competition is fierce. Erin Newkirk shares her top five secrets to creating a chart-topping app      </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/eVxbQtvsoL0/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33937/guest@my.umbc.edu/ac2ad98fdf28b320b02130d7ba5f73fd/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>Mon, 12 Aug 2013 07:57:07 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33921" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33921">
<Title>Wearables are going mainstream</Title>
<Body>
<![CDATA[
    <div class="html-content">Abbie Walsh, group director at service design consultancy Fjord, discusses why Motorola Mobility’s plan to hire a wearables director means that this technology should be on every designer’s radar<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Fopinions%2Fwearables-are-going-mainstream&amp;t=Wearables+are+going+mainstream" 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%2Fopinions%2Fwearables-are-going-mainstream&amp;t=Wearables+are+going+mainstream" 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%2Fopinions%2Fwearables-are-going-mainstream&amp;t=Wearables+are+going+mainstream" 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%2Fopinions%2Fwearables-are-going-mainstream&amp;t=Wearables+are+going+mainstream" 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%2Fopinions%2Fwearables-are-going-mainstream&amp;t=Wearables+are+going+mainstream" 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/173607809806/u/49/f/502346/c/32632/s/2fda57c3/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607809806/u/49/f/502346/c/32632/s/2fda57c3/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Abbie Walsh, group director at service design consultancy Fjord, discusses why Motorola Mobility’s plan to hire a wearables director means that this technology should be on every designer’s radar...</Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/Aw8g_dkXNAQ/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33921/guest@my.umbc.edu/89b9a6800a6f4c9def1193b908aaa943/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>Mon, 12 Aug 2013 07:11:04 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33918" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33918">
<Title>How to use HTML5&#8242;s drag and drop</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/06/thumbnail25.jpg" width="200" height="160" style="max-width: 100%; height: auto;">For a long time JavaScript functions have existed that allow us to create drag and drop interfaces, but none of these implementations were native to the browser.</p> <p>In HTML5, we have a native method of creating drag and drop interfaces (with a little help from JavaScript).</p> <p>I’m going to let you in on how to achieve this…</p> <h1>Browser support</h1> <p>I’d like to get this out of the way before we progress: currently HTML5 drag and drop is supported by all major desktop browsers (including IE (even IE 5.5 has partial support)) but it’s not currently supported by any of the popular mobile browsers.</p> <p> </p> <h1>Drag and drop events</h1> <p>At every stage of the drag and drop operation a different event is fired so that the browser knows what JavaScript code to execute; the events are:</p> <ul> <li><span>dragStart : fires when the user starts dragging the element.</span></li> <li>dragEnter : fires when the draggable element is first dragged over the target element.</li> <li>dragOver: fires when the mouse is moved over an element when the drag is occurring.</li> <li>dragLeave: fired if the user’s cursor leaves an element when dragging.</li> <li>drag: fires every time we move the mouse during the dragging of our element.</li> <li>drop: fired when the actual drop is performed.</li> <li>dragEnd: fires when the user releases the mouse while dragging the object.</li> </ul> <p>With all of these event listeners you have a lot of control over how your interface works and precisely how it performs in different circumstances.</p> <p> </p> <h1>The dataTransfer object</h1> <p>This is where all the drag and drop magic happens; this object holds the data that was sent by the drag operation. The data can be set and retrieved in various ways, the most important ones are:</p> <ul> <li>dataTransfer.effectAllowed=value: this returns the types of action permitted, possible values are none, copy, copyLink, copyMove, link, linkMove, move, all and uninitialized.</li> <li>dataTransfer.setData(format, data): adds the specified data and its format.</li> <li>dataTransfer.clearData( format ): clears all the data for a specific format.</li> <li>dataTransfer.setDragImage(element, x, y): sets the image you wish to drag, the x and y values specify where the mouse cursor should be (0, 0 will place it top left).</li> <li>data = dataTransfer.getData(format) : As the name says it returns the data available for a specific format.</li> </ul> <p> </p> <h1>Creating a drag and drop example</h1> <p>Now we will start creating our <a href="http://codepen.io/SaraVieira/full/DCHAz" rel="nofollow external" class="bo">simple drag and drop example,</a> you can see that we have two small divs and a larger one, we can drag and drop the small ones inside the big one and we can even move them back.</p> <h2>Dragging the object</h2> <p>The first thing we need to do is create our HTML. We make the divs draggable with the draggable attribute, like so:</p> <pre>&lt;div id="boxA" <strong>draggable="true"</strong>&gt;&lt;/div&gt;</pre> <p>When this is done we need to define the javascript function that will run when we start to drag this element:</p> <pre>function dragStart(ev) {<br>   ev.dataTransfer.effectAllowed='move';<br>   ev.dataTransfer.setData("Text", ev.target.getAttribute('id'));   ev.dataTransfer.setDragImage(ev.target,100,100);<br>   return true;<br>}</pre> <p>In this code we first declare what type of effect we allow in the operation and we set that to <em>move,</em> in the second line we set the data for the operation and in this case the type is <em>Text</em> and the value is the ID of the element we are dragging. After this we use the <em>setDragImage</em> method to set what we will be dragging and then where the cursor will be while dragging, and since the cubes are 200 by 200px I placed that at the very center. Finally we return <em>true.</em></p> <h2>Dropping the object</h2> <p>In order for an element to accept a drop it needs to listen to 3 different events: <em>dragEnter, dragOver</em> and also the <em>drop</em> event so let’s add this to our html in the div with the ID of big:</p> <pre>&lt;div id="big" ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" ondragover="return dragOver(event)"&gt;&lt;/div&gt;</pre> <p>Now that we added event listeners we need to create these functions we will start by the dragenter and dragover events:</p> <pre>function dragEnter(ev) { ev.preventDefault(); return true; } function dragOver(ev) { ev.preventDefault(); } </pre> <p>In the first function we define what we want to happen when the element we are dragging reaches the element it’s supposed to be dropped in, in this case we only prevent the default behavior of the browser but you can do any number of things like change the background or add some text to indicate that the user is dragging to the correct area and using the dragleave event you can revert the changes you made. Next in the <em>dragOver</em> function we simply prevent the default to allow for the drop.</p> <p>The next part is where we define the function for when we actually drop the element on the desired target:</p> <pre>function dragDrop(ev) { var data = ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); ev.stopPropagation(); return false; } </pre> <p>In this last part we first set a variable called data in which we get all the data that is available for the text format and then we append that data (which will be the element that we are dragging) to the div where we wish to drop the element. Finally some final touches like stopping propagation and also returning false.</p> <h2>Making the section a drop target</h2> <p>Checking <a href="http://codepen.io/SaraVieira/full/DCHAz" rel="nofollow external" class="bo">the demo</a>, you can see we also made sure that the two divs could be dragged back to their original location. Happily, adding another drop target may be simpler than you think; because the functions are already in place, all we have to do is add the event listeners, like so:</p> <pre>&lt;section id="section" ondragenter="return dragEnter(event)" ondrop="return dragDrop(event)" ondragover="return dragOver(event)"&gt;</pre> <p>And that is all we need to in order to allow dragging of the divs to the original place.</p> <p> </p> <h1>Conclusion</h1> <p>There are plenty of drag and drop applications built using JavaScript libraries, and it is often simpler to use those libraries. But I hope that, in this HTML5 &amp; JavaScript technique, you see the future potential of the native solution.</p> <p> </p> <p><em><strong>Have you built a drag and drop interface? How does native HTML5 compare to pure JavaScript solutions? Let us know in the comments.</strong></em></p> <p><em>Featured image/thumbnail, <a href="http://www.flickr.com/photos/photophilde/" rel="nofollow external" class="bo">drop image via photophilde.</a></em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/mass-watermark.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Batch Photo Processing and Watermarking App (Win) – only $15</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="How to use HTML5s drag and drop" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/08/how-to-use-html5s-drag-and-drop/" 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%2Fhow-to-use-html5s-drag-and-drop%2F&amp;t=How+to+use+HTML5%E2%80%B2s+drag+and+drop" 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%2Fhow-to-use-html5s-drag-and-drop%2F&amp;t=How+to+use+HTML5%E2%80%B2s+drag+and+drop" 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%2Fhow-to-use-html5s-drag-and-drop%2F&amp;t=How+to+use+HTML5%E2%80%B2s+drag+and+drop" 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%2Fhow-to-use-html5s-drag-and-drop%2F&amp;t=How+to+use+HTML5%E2%80%B2s+drag+and+drop" 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%2Fhow-to-use-html5s-drag-and-drop%2F&amp;t=How+to+use+HTML5%E2%80%B2s+drag+and+drop" 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/173607803898/u/49/f/661066/c/35285/s/2fd88da8/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/173607803898/u/49/f/661066/c/35285/s/2fd88da8/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>For a long time JavaScript functions have existed that allow us to create drag and drop interfaces, but none of these implementations were native to the browser.   In HTML5, we have a native...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/2fd88da8/sc/4/l/0L0Swebdesignerdepot0N0C20A130C0A80Chow0Eto0Euse0Ehtml5s0Edrag0Eand0Edrop0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33918/guest@my.umbc.edu/1d6dc93a47d927f529a1dca62864922e/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</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, 12 Aug 2013 05:15:37 -0400</PostedAt>
<EditAt>Mon, 12 Aug 2013 05:15:37 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="33917" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33917">
<Title>Creating High-Performance Mobile Websites</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>People start to lose interest in a website if they don’t get a <a href="http://51degrees.mobi/ressinfographic" rel="nofollow external" class="bo">response within three seconds</a>. Fulfilling this expectation for mobile phone users requires a different approach to usage analysis, design and testing.</p>
    <p>This article expands on the techniques that Johan Johansson explains in his article “<a href="http://mobile.smashingmagazine.com/2013/04/03/build-fast-loading-mobile-website/" rel="nofollow external" class="bo">How to Make Your Websites Faster on Mobile Devices</a>,” published in April 2013.</p>
    <p>We’ll demonstrate methods to identify how people interact with a website differently on mobile devices, and the design decisions that can be made based on this understanding. Our objective is not only to improve Web performance but to increase the client’s return on investment.</p>
    <p>The techniques we’ll demonstrate center on the two unique characteristics of mobile phones, which are not going to change any time soon: small batteries and small screens.</p>
    <h4>Small Batteries</h4>
    <p>Mobile phones use radios for all communication, and they have little batteries that need to be carefully managed in order to avoid running out of power. As a result, radios are shut down very quickly when not in use, increasing the perceived time that a Web page takes to appear. 2G and 3G radios could require up to two seconds to establish an operational HTTP connection. If we accept that users start to lose interest after three seconds, then a website has <strong>only one second</strong> to respond. Think of this as the “golden second.”</p>
    <p><a href="http://51degrees.mobi/ressinfographic" rel="nofollow external" class="bo"><img alt="Golden Second." src="http://media.smashingmagazine.com/wp-content/uploads/2013/08/goldensecond_mini.png" width="500" style="max-width: 100%; height: auto;"></a><br>
    <em>Maximizing the <a href="http://51degrees.mobi/ressinfographic" rel="nofollow external" class="bo">“golden second”</a>.</em></p>
    <h4>Small Screens</h4>
    <p>In the physical world, content is produced for billboards and magazines and customized to account for the size and viewing distance of the medium. In the digital world, a typical mid-range smartphone has a screen with around six square inches of real estate. An iMac Pro with a 15-inch display will have over 100 square inches. Thus, not only can we optimize website performance by reducing the amount of content sent to phones, but we can optimize business processes to improve the return on investment for website owners.</p>
    <p>The code examples in this article are provided in .NET. Where equivalents are possible in PHP, Java, C or Python, I’ve made them available in a <a href="http://51degrees.mobi/Blogs/tabid/212/EntryId/147/Understanding-Devices-That-Browse-Your-Website.aspx" rel="nofollow external" class="bo">companion article</a>. I’ll explain why I’ve used .NET at the <a href="#whydotnet" rel="nofollow external" class="bo">end of this article</a>.</p>
    <h3>Maximizing The “Golden Second”</h3>
    <p>Website designers and developers with high-bandwidth Wi-Fi and fixed-line connections often used to take bandwidth for granted. Responsive Web design (RWD) limits the creative process by forcing the same content, navigation and business processes to be presented on every device, irrespective of its physical capabilities.</p>
    <p>Solutions to ensure that we can easily measure performance, monitor user behavior based on the characteristics of the device and optimize Web pages for low-bandwidth devices are required to maximize the golden second.</p>
    <h4>Simulating the Real World</h4>
    <p>Essential for mobile Web performance testing is a method to simulate real-world mobile bandwidth conditions. Many wireless routers that cost less than $100 support bandwidth limiting. This simply involves limiting the uplink and downlink bandwidth for LAN-side clients. If the router doesn’t support this capability out of the box, then <a href="http://www.dd-wrt.com/site/index" rel="nofollow external" class="bo">DD-WRT</a>, an open-source firmware upgrade, may be used to replace the default operating system on many popular routers to limit bandwidth.</p>
    <p>I use a Linksys E3000 router modified with DD-WRT. The procedure to upgrade the router is pretty simple, and full instructions are available on the DD-WRT website.</p>
    <p>Once DD-WRT is installed, go to the “QoS” (quality of service) menu, and enable bandwidth limiting. Then, set values for the uplink and downlink. I prefer 256 kbps for the downlink and 28 kbps for the uplink to simulate an average mobile bandwidth connection.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/08/Qos_mini.png" rel="nofollow external" class="bo"><img alt="Bandwidth Monitoring." src="http://media.smashingmagazine.com/wp-content/uploads/2013/08/Qos_mini.png" width="500" style="max-width: 100%; height: auto;"></a><br>
    <em>Limiting bandwidth in the “Quality of Service” options.</em></p>
    <p>Now the bandwidth of any Wi-Fi or ethernet-cabled devices that are connected to the router will be artificially reduced. The actual bandwidth being used over time can also be monitored.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/08/bandwidthMonitoring_mini.png" rel="nofollow external" class="bo"><img alt="Bandwidth Monitoring." src="http://media.smashingmagazine.com/wp-content/uploads/2013/08/bandwidthMonitoring_mini.png" width="500" style="max-width: 100%; height: auto;"></a><br>
    <em>Monitoring bandwidth using DD-WRT.</em></p>
    <p>While this approach doesn’t introduce random drop-outs, variable bandwidth conditions or the delays associated with radio wake-up, it is better than performing all of your testing on a fast low-latency broadband connection. When introduced at the beginning of the website development cycle, it’s an easy way to informally test performance during the development process and ensure that you don’t get any nasty surprises during formal testing.</p>
    <h4>You Can’t Manage What You Can’t Measure</h4>
    <p><a href="http://en.wikipedia.org/wiki/Peter_Drucker" rel="nofollow external" class="bo">Peter Drucker</a>, a management consultant, once famously said, “If you can’t measure something, you can’t manage it.”</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/08/manage-measure_mini.png" rel="nofollow external" class="bo"><img alt="You can't manage what you can't measure." src="http://media.smashingmagazine.com/wp-content/uploads/2013/08/manage-measure_mini.png" width="500" style="max-width: 100%; height: auto;"></a><br>
    <em>Average screen size growth over time.</em></p>
    <p>Continually monitoring the content that users view according to device characteristics (such as supported radios or physical screen size) will help you to identify the content and services that are more or less popular on mobile phones. Perhaps you will see no difference, but unless you measure it, there’s no way to know for sure.</p>
    <h4>Feed Me Now: An Example</h4>
    <p>A global fast-food franchise wanted to create a mobile-optimized version of its big-screen website. Before creating the first iteration of the mobile-optimized website, it performed analysis to determine which options on the big-screen website were being accessed by users on small-screen devices. The main menu, special offers and the store finder were the most popular, and so a mobile-optimized website was created that focused on these areas.</p>
    <p>Work didn’t stop there. Continued analysis revealed that the store finder was the most popular option. The mobile home page was altered again to focus on the store finder. Continued monitoring will show how many visitors choose other options, and the website will be continually refined to ensure that the most popular outcomes are catered to in the simplest possible way.</p>
    <h4>Better Logging</h4>
    <p>Google Analytics provides some information about device model, but it lacks the detail we need to make informed decisions based on screen size and input method. Fortunately, a comprehensive device-detection repository (DDR) can be used to add this information to existing log files. The following code snippet can be added to a .NET website, referencing 51Degrees.mobi (available via <a href="http://nuget.org/packages?q=51degrees" rel="nofollow external" class="bo">NuGet</a>) to obtain the screen’s physical dimensions in inches and write the output to a simple CSV file.</p>
    <pre><code>&#x000A;    // Write a log file containing the current time, and the screen&#x000A;    // size of the requesting device in inches.&#x000A;    File.AppendAllText(&#x000A;        Path.Combine(&#x000A;            AppDomain.CurrentDomain.BaseDirectory, String.Format(&#x000A;                "App_Data\\Simple_Log_{0:yyyyMMdd}.csv",&#x000A;                DateTime.UtcNow)),&#x000A;        String.Format("{0:s},{1},{2},{3}\r\n",&#x000A;            DateTime.UtcNow,&#x000A;            Request.Path,&#x000A;            Request.Browser["ScreenInchesWidth"],&#x000A;            Request.Browser["ScreenInchesHeight"]));&#x000A;    </code></pre>
    <p>The first column is the date and time that the request was processed. The second is the page being requested. The final two columns are the width and height in inches. Once sufficient data has been captured, the average screen size in square inches can be calculated and plotted on a chart, similar to the following:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/08/size-month_mini.png" rel="nofollow external" class="bo"><img alt="Screen sizes per month." src="http://media.smashingmagazine.com/wp-content/uploads/2013/08/size-month_mini.png" width="500" style="max-width: 100%; height: auto;"></a><br>
    <em>Comparison of the average sizes of device screens over 20 months.</em></p>
    <p>The analysis could be narrowed down to individual pages. Other characteristics about device, operating system and browser may be added as columns.</p>
    <p>Similar code could be used with PHP, Java, Python and other environments.</p>
    <h4>Existing Log Files</h4>
    <p>Sometimes, existing Web pages can’t be altered in the way shown. In these situations, a DDR may be used to perform offline analysis of log files containing user agents. The following .NET code is a functional command-line program that will parse a space-separated log file and calculate the average screen size in square inches for the requests it represents. The first argument is the log file’s location, the second is the index of the <code>UserAgent</code> column within the log file.</p>
    <pre><code>&#x000A;    using System;&#x000A;    using FiftyOne.Foundation.Mobile.Detection.Binary;&#x000A;    using System.IO;&#x000A;    &#x000A;    namespace ConsoleApplication&#x000A;    {&#x000A;        class Program&#x000A;        {&#x000A;            static void Main(string[] args)&#x000A;            {&#x000A;                // The number of devices read from the log file.&#x000A;                int count = 0;&#x000A;    &#x000A;                // The column in the input file the user agent is held in.&#x000A;                int column = int.Parse(args[1]);&#x000A;    &#x000A;                // Screen dimension variables.&#x000A;                double total = 0, width, height, squareInches;&#x000A;    &#x000A;                // Create a provider to determine the device capabilities.&#x000A;                var provider = Reader.Create("51Degrees.mobi.dat");&#x000A;    &#x000A;                // Read each line of the log file provided in argument  0.&#x000A;                // Assume the value at column 8 is the UserAgent string.&#x000A;                using (var reader = File.OpenText(args[0]))&#x000A;                {&#x000A;                    while(reader.EndOfStream == false)&#x000A;                    {&#x000A;                        var values = reader.ReadLine().Split(new[] { ' ' });&#x000A;                        if (values.Length &gt;= column)&#x000A;                        {&#x000A;                            // Get the device information based on the UserAgent.&#x000A;                            var device = provider.GetDeviceInfo(&#x000A;                                values[column - 1].Replace("+", " "));&#x000A;                            if (device != null)&#x000A;                            {&#x000A;                                // Determine the screen dimensions in inches.&#x000A;                                double.TryParse(&#x000A;                                    device.GetFirstPropertyValue("ScreenInchesWidth"),&#x000A;                                    out width);&#x000A;                                double.TryParse(&#x000A;                                    device.GetFirstPropertyValue("ScreenInchesHeight"),&#x000A;                                    out height);&#x000A;                                squareInches = width * height;&#x000A;                                // If valid values are available (not a desktop/laptop)&#x000A;                                // then add the values to the results.&#x000A;                                if (squareInches &gt; 0)&#x000A;                                {&#x000A;                                    total += squareInches;&#x000A;                                    count++;&#x000A;                                }&#x000A;                            }&#x000A;                        }&#x000A;                    }&#x000A;                }&#x000A;    &#x000A;                Console.WriteLine(&#x000A;                    "Average screen size '{0:#.00}' square inches from '{1}' devices", &#x000A;                    total / count,&#x000A;                    count);&#x000A;                Console.ReadKey();&#x000A;            }&#x000A;        }&#x000A;    }&#x000A;    </code></pre>
    <p>Analyzing log files is less accurate because HTTP headers other than <code>User-Agent</code> affect the detection’s results. This is especially true with Opera Mini and Opera Mobile browsers, in which a second HTTP header, named <a href="http://my.opera.com/ODIN/blog/2012/10/08/introducing-device-stock-ua" rel="nofollow external" class="bo"><code>Device-Stock-UA</code></a> is used to provide information about physical hardware not available in the standard <code>User-Agent</code>.</p>
    <h4>Why Monitor?</h4>
    <p>Monitoring enables us to remove unpopular content from major landing pages, thus improving the performance of content that is more important or relevant. The removed content should still be available via second-level pages — just not placed on landing pages, where they would eat up valuable bandwidth and slow down performance.</p>
    <p>So, how do we create a separate mobile website optimized for performance?</p>
    <h4>Divide and Conquer</h4>
    <p>I understand why RWD makes a lot of sense from the perspective of user interface design. It’s great in situations in which content, navigation and business-process requirements are identical between 6-square-inch screens and 100-square-inch screens and only the layout needs to be altered.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/08/divide-conquer_mini.png" rel="nofollow external" class="bo"><img alt="Device screen sizes." src="http://media.smashingmagazine.com/wp-content/uploads/2013/08/divide-conquer_mini.png" width="500" style="max-width: 100%; height: auto;"></a><br>
    <em>Average device screen size.</em></p>
    <p>However, <strong>having a separate mobile website</strong> makes a lot of sense when the conditions above aren’t true or when performance is critical.</p>
    <p>Separate mobile websites are often implemented in a way that delivers a poor user experience. <a href="http://googlewebmastercentral.blogspot.co.uk/2013/06/changes-in-rankings-of-smartphone_11.html" rel="nofollow external" class="bo">Google is now shining a light</a> on these common issues by penalizing websites with lower search engine rankings. Mistakes include sending every desktop page to a single mobile home page, redirecting to application download pages, preventing the user from accessing the big screen website, and treating all devices with a particular operating system in the same manner.</p>
    <p>These poor implementations have given the concept a bad reputation. Here’s how to do it simply and properly.</p>
    <p>The following .NET <code>web.config</code> section will redirect the first request from a smartphone to an equivalent page on the “Smartphone” section of the website. Importantly, the query string and page name are retained across the redirection.</p>
    <pre><code>&#x000A;    &lt;redirect firstRequestOnly="true" &#x000A;    	mobileHomePageUrl="~/Mobile/Default.aspx"&#x000A;    	timeout="20"&#x000A;    	devicesFile="~/App_Data/Devices.dat"&#x000A;    	mobilePagesRegex="/(Mobile|Smartphone)/" &gt;&#x000A;    	&lt;locations&gt;&#x000A;    		&lt;!--Send smartphones to an equivalent version of the original page, preserving the page name and query string.--&gt;&#x000A;    		&lt;location name="smartphone" url="~/Smartphone/{0}" matchExpression="(?&lt;=^\<a href="w+://.+/).+%22&amp;gt">w+://.+/).+"&amp;gt</a>;&#x000A;    			&lt;add property="IsSmartphone" matchExpression="true"/&gt;&#x000A;    		&lt;/location&gt;&#x000A;    	&lt;/locations&gt;&#x000A;    &lt;/redirect&gt;&#x000A;    </code></pre>
    <p>In most situations, when redirected to alternative pages, <strong>users should be able to return to the original page if they wish</strong>; perhaps they’re more familiar with the big-screen version of the website. The <code>firstRequestOnly</code> attribute ensures that only the first request from the device is redirected. The <code>devicesFile</code> attribute is used to track devices on which cookies aren’t supported. The <code>timeout</code> attribute controls how long the device is remembered (for the purpose of redirection).</p>
    <p>The redirection system also has to know which pages are designed for which type of device. The <code>mobilePagesRegex</code> attribute is applied to requested URLs. If there is a match, then the page won’t be eligible for redirection. This prevents cases of infinite redirections.</p>
    <p>The <code>locations</code> element allows for different locations and associated rules to be configured. The example inserts the folder <code>Smartphone</code> into the original URL. The query string and other URL information are retained across the redirection. All information that affects the context of the request must be transferred in order for the user to receive the content they are expecting.</p>
    <p>This simple approach enables a search engine-friendly, Google-compliant, mobile phone-optimized website to be delivered, with a good user experience and superior performance. Essential to the process is a DDR that provides information about the device quickly, consistently and accurately. Users who change their mobile phone’s browser settings to surf in desktop mode will be respected, and the redirection will not occur.</p>
    <h4>Beware of Clouds</h4>
    <p>Cloud services are a popular way to easily add features to a website. But they bring a performance penalty by calling out over the Internet. Ignoring processing time, we’ve observed an <a href="http://51degrees.mobi/Blogs/tabid/212/EntryId/99/Is-Cloud-Mobile-Detection-Compromising-Your-Mobile-Web-Experience.aspx" rel="nofollow external" class="bo">average 200-millisecond delay</a> with data transmission from Amazon Web Service-hosted cloud services.</p>
    <p>200 milliseconds is 20% of the golden second. Therefore, consider carefully where you use cloud services, ensuring they’re called asynchronously to enable other processing to continue while waiting for the response. They should be avoided for critical path activity, such as determining information about the requesting device.</p>
    <h3>Squeezing Content</h3>
    <p>After video, images, CSS and HTML make up the bulk of Web traffic. We need methods of optimizing them all. Video is an article on its own and will have to wait for another day.</p>
    <h4>Images</h4>
    <p>A popular solution is to provide three versions of the same image, and select the one that is best for the requesting device using JavaScript or CSS3 when the browser renders the page. This is a great start, but managing different versions of the same image is a pain; the image is never ideally optimized, and the method puts the burden of resizing onto the mobile device’s limited CPU and battery.</p>
    <p>There is a better way, using an image optimizer. 51Degrees.mobi’s image optimizer can be added to an ASP.NET website via the Visual Studio IDE. The following configuration will be added automatically to the <code>web.config</code>.</p>
    <pre><code>&#x000A;    &lt;handlers&gt;&#x000A;    	&lt;add name="Image" verb="GET" path="P.axd" type="FiftyOne.Framework.Image.ImageHandler, FiftyOne.Framework" /&gt;&#x000A;    &lt;/handlers&gt;&#x000A;    </code></pre>
    <p>The handler tells Internet information services (IIS) that the image handler should process any <code>GET</code> requests for the resource <code>P.axd</code>.</p>
    <p>Once enabled in <code>web.config</code>, the following ASP.NET code will use the image optimizer to define an image element with three possible sources — being 240, 480 and 640 pixels wide, respectively.</p>
    <pre><code>&#x000A;    &lt;mob:Image runat="server" ID="ImageBanner" CalculateSizeMode="ClientWidth" Style="clear: both; width: 100%"&gt;&#x000A;    	&lt;mob:AltImage ImageUrl="~/Images/Landscape240.png" /&gt;&#x000A;    	&lt;mob:AltImage ImageUrl="~/Images/Landscape480.png" /&gt;&#x000A;    	&lt;mob:AltImage ImageUrl="~/Images/Landscape640.png" /&gt;&#x000A;    &lt;/mob:Image&gt;&#x000A;    </code></pre>
    <p>When the image is initially displayed, the server will send a white 1 × 1-pixel GIF to appear in place of the image. This is the resulting HTML:</p>
    <pre><code>&#x000A;    &lt;img id="B" src="P.axd?i=E.gif&amp;i=1"/&gt;&#x000A;    </code></pre>
    <p>Once the page has loaded, JavaScript is used to work out the exact dimensions required by the image and request a precisely sized image from the server. After JavaScript processing, the HTML above will be transformed to this:</p>
    <pre><code>&#x000A;    &lt;img id="B" src="P.axd?i=1&amp;w=500"/&gt;&#x000A;    </code></pre>
    <p>The image handler referenced in <code>web.config</code> correlates the <code>I</code> query string parameter with the sources of the image, so that the best image can be used as the starting point for resizing on the server. The <code>w</code> query string parameter specifies the width of the image required. Multiple images don’t need to be provided; a single image will work almost as well.</p>
    <p>This approach is easy to implement, and the result is a precisely sized image, which reduces bandwidth consumption, mobile phone CPU cycles and power consumption.</p>
    <h4>HTML</h4>
    <p>The full Oxford English Dictionary contains 171,476 words. If a computer were to represent each word as a unique binary number, rather than letters in an alphabet, then 18 bits (or 3 bytes, if rounded up) would be required. This technique is why compression algorithms are so effective.</p>
    <p>However, HTML is not very efficient because it’s full of words for elements, IDs, classes, styles and JavaScript, without even considering the human-readable words. Compression reduces this, but it remains an overhead. This is why popular libraries have minified versions that appear almost unreadable to humans.</p>
    <p>Some of these markup-related words can also be minimized before being sent to the browser by the server, without losing any of their meaning. Taking the image example shown earlier, the standard HTML ID attribute of the image element in ASP.NET would be <code>ImageBanner</code>.</p>
    <pre><code>&#x000A;    &lt;mob:Image runat="server" ID="ImageBanner" CalculateSizeMode="ClientWidth" Style="clear: both; width: 100%"&gt;&#x000A;    </code></pre>
    <p>However, the code sent to the browser would use just <code>B</code>. For a single element, the performance improvement is negligible, but on a complex page with hundreds of elements, the page will transfer more quickly and the browser will be able to process everything that much faster.</p>
    <h4>Includes</h4>
    <p>Something else is slightly peculiar about the resulting HTML from the image example.</p>
    <pre><code>&#x000A;    &lt;img id="B" src="P.axd?i=1&amp;w=500"/&gt;&#x000A;    </code></pre>
    <p>The ASP.NET code includes a style attribute that is missing, and there isn’t a class attribute for the <code>img</code> element. So, how is the style being applied?</p>
    <p>The server-side-minimizing process will identify style information and create a CSS include for the page, thus reducing the HTML. If the HTML changes, then the style information will already have been cached in the browser and will not need to be downloaded again. The CSS snippet looks like this:</p>
    <pre><code>&#x000A;    #B{clear:both;width:100%;}&#x000A;    </code></pre>
    <p>If many elements share the same styling, then their IDs will be added to the CSS and they’ll share the same information.</p>
    <p>Style information can also be shared across elements and pages using a server-side style element. The following code extends the previous image example to demonstrate a shared style element.</p>
    <pre><code>&#x000A;    &lt;mob:Style runat="server" ID="StyleBanner"&gt;&#x000A;    	&lt;mob:Filter Style="clear: both; width: 100%"/&gt;&#x000A;    &lt;/mob:Style&gt;&#x000A;    &#x000A;    &lt;mob:Image runat="server" ID="ImageBanner" CalculateSizeMode="ClientWidth" StyleID="StyleBanner"&gt;&#x000A;    </code></pre>
    <p>The elements can be further extended to apply different styling based on the capabilities of the device and to optimize style sheets across multiple pages.</p>
    <p>This technique will always ensure that only the required CSS is transferred, thus improving performance over subsequent requests to the same page, particularly where there are only minor differences in HTML content.</p>
    <h4>Why .NET?</h4>
    <p>The techniques and code examples shown for image optimization and dynamic minification of HTML and CSS content rely on content being altered after the page has been rendered but before transmission to the browser by the server. Such preprocessing techniques are relatively easy to implement in architectures such as ASP.NET Web forms.</p>
    <p>However, they are a lot more complex to implement in script-based architectures such as PHP. For this reason, the examples in this article are provided in .NET for consistency. Where I’ve been able to apply the techniques to other languages, the example code is available in a <a href="http://51degrees.mobi/Blogs/tabid/212/EntryId/147/Understanding-Devices-That-Browse-Your-Website.aspx" rel="nofollow external" class="bo">companion blog</a>.</p>
    <h3>Examples</h3>
    <p>Public Health Foundation Enterprises <a href="http://51degrees.mobi/Products/CaseStudies/PHFEWIC.aspx" rel="nofollow external" class="bo">implemented the techniques</a> shown in this article and experienced a 23% increase in successful outcomes during the first week.</p>
    <p>Other performance-aware websites — including <a href="http://51degrees.mobi/Products/CaseStudies/24com.aspx" rel="nofollow external" class="bo">24.com</a> (media), <a href="http://51degrees.mobi/Products/CaseStudies/ServiceTick.aspx" rel="nofollow external" class="bo">ServiceTick</a> (analysis), <a href="http://51degrees.mobi/Products/CaseStudies/Lettingweb.aspx" rel="nofollow external" class="bo">LettingWeb</a> (property), <a href="http://51degrees.mobi/Products/CaseStudies/AdSupply.aspx" rel="nofollow external" class="bo">AdSupply</a> (advertising) and <a href="http://51degrees.mobi/Products/CaseStudies/KITSAP.aspx" rel="nofollow external" class="bo">Kitsap Credit Union</a> (finance) — are all optimizing for mobile using some or all of techniques covered in this article.</p>
    <h3>Summary</h3>
    <p>We need to consider the return on investment for a website’s owner in order to truly optimize performance. Monitoring differences in the characteristics of devices is the essential starting point.</p>
    <p>We can then deploy solutions such as using separate mobile websites to split up or change the focus of content. And we can squeeze maximum performance out of mobile phones by minifying images and HTML, removing jQuery, questioning when to use RWD alone, and other techniques. Of course, established techniques are critical, too, such as configuring caching directives and compressing content.</p>
    <p>Tweaking our development environment to simulate real-world conditions will also yield a greater understanding of performance throughout the development process.</p>
    <h4>Optimize Now</h4>
    <p>To get you thinking even more about performance, I’ve set up a <a href="http://51degrees.mobi/Competitions/HeaviestWebSite2013.aspx" rel="nofollow external" class="bo">competition to find the world’s heaviest website</a>. Find a Web page that performs poorly on a mobile phone and submit it to the competition. We’ll work out the page’s weight, and if it’s the heaviest, you’ll win $1000. Meanwhile, implement the techniques covered in this and other great Smashing Magazine articles to ensure that your website doesn’t top the list when we weigh in on performance!</p>
    <p>There’s never been a better time to improve your website’s performance.</p>
    <p><em>(al) (ea)</em></p>
    <hr>
    <p><small>© Joe Davine for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        People start to lose interest in a website if they don’t get a response within three seconds. Fulfilling this expectation for mobile phone users requires a different approach to usage...</Summary>
<Website>http://www.smashingmagazine.com/2013/08/12/creating-high-performance-mobile-websites/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33917/guest@my.umbc.edu/8edcd6becd787a9bf6cd02fa53e9604f/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>Mon, 12 Aug 2013 05:09:07 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="33940" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33940">
<Title>Stern Announces Women's Basketball's 2013-14 Non-Conference Opponents</Title>
<Body>
<![CDATA[
    <div class="html-content">The UMBC women's basketball program and head coach Phil Stern have announced the team's 2013-14 non-conference schedule, which is highlighted by a pair of holiday tournaments.</div>
]]>
</Body>
<Summary>The UMBC women's basketball program and head coach Phil Stern have announced the team's 2013-14 non-conference schedule, which is highlighted by a pair of holiday tournaments.</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8070</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33940/guest@my.umbc.edu/0e3951157d704efa14aee19786a1a54f/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>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 12 Aug 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="33955" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33955">
<Title>UMBC Grad Set to Lead VCU Women's Lacrosse Program</Title>
<Body>
<![CDATA[
    <div class="html-content">Former UMBC women's lacrosse player Jen Kasper O'Brien (Eldersburg, Md./South Carroll) has been named the head coach of the new VCU women's lacrosse program, set to start intercollegiate competition in 2015-16. O'Brien will begin recruiting and will coach the Rams' club lacrosse team in 2013-14 and 2014-15.</div>
]]>
</Body>
<Summary>Former UMBC women's lacrosse player Jen Kasper O'Brien (Eldersburg, Md./South Carroll) has been named the head coach of the new VCU women's lacrosse program, set to start intercollegiate...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8071</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33955/guest@my.umbc.edu/e693c2fb8b030751539fb107af474b22/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>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Mon, 12 Aug 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33929" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33929">
<Title>The Media Equation: Magazine Writing on the Web, for Film</Title>
<Body>
<![CDATA[
    <div class="html-content">Two top magazine writers, both of whom have optioned their nonfiction articles for movies, are starting a platform to enable other writers to do so as well.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F12%2Fbusiness%2Fmedia%2Fmagazine-writing-on-the-web-for-film.html%3Fpartner%3Drss%26emc%3Drss&amp;t=The+Media+Equation%3A+Magazine+Writing+on+the+Web%2C+for+Film" 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%2F12%2Fbusiness%2Fmedia%2Fmagazine-writing-on-the-web-for-film.html%3Fpartner%3Drss%26emc%3Drss&amp;t=The+Media+Equation%3A+Magazine+Writing+on+the+Web%2C+for+Film" 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%2F12%2Fbusiness%2Fmedia%2Fmagazine-writing-on-the-web-for-film.html%3Fpartner%3Drss%26emc%3Drss&amp;t=The+Media+Equation%3A+Magazine+Writing+on+the+Web%2C+for+Film" 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%2F12%2Fbusiness%2Fmedia%2Fmagazine-writing-on-the-web-for-film.html%3Fpartner%3Drss%26emc%3Drss&amp;t=The+Media+Equation%3A+Magazine+Writing+on+the+Web%2C+for+Film" 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%2F12%2Fbusiness%2Fmedia%2Fmagazine-writing-on-the-web-for-film.html%3Fpartner%3Drss%26emc%3Drss&amp;t=The+Media+Equation%3A+Magazine+Writing+on+the+Web%2C+for+Film" 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>Two top magazine writers, both of whom have optioned their nonfiction articles for movies, are starting a platform to enable other writers to do so as well.      </Summary>
<Website>http://www.nytimes.com/2013/08/12/business/media/magazine-writing-on-the-web-for-film.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33929/guest@my.umbc.edu/6cefdf2cbb69a599150b2dc5888372a0/api/pixel</TrackingUrl>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>bearman-joshuah</Tag>
<Tag>davis-joshua-1974</Tag>
<Tag>epic</Tag>
<Tag>magazines</Tag>
<Tag>medium</Tag>
<Tag>movies</Tag>
<Tag>new</Tag>
<Tag>technology</Tag>
<Tag>writing-and-writers</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>Sun, 11 Aug 2013 20:05:16 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="33911" important="false" status="posted" url="https://my3.my.umbc.edu/posts/33911">
<Title>Technology Industry Extends a Hand to Struggling Print Media</Title>
<Body>
<![CDATA[
    <div class="html-content">Whether from a sense of obligation, responsibility or guilt, the technology elite has taken up the cause of helping print journalism adapt to change.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.nytimes.com%2F2013%2F08%2F12%2Fbusiness%2Fmedia%2Ftechnology-industry-extends-a-hand-to-struggling-print-media.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Technology+Industry+Extends+a+Hand+to+Struggling+Print+Media" 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%2F12%2Fbusiness%2Fmedia%2Ftechnology-industry-extends-a-hand-to-struggling-print-media.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Technology+Industry+Extends+a+Hand+to+Struggling+Print+Media" 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%2F12%2Fbusiness%2Fmedia%2Ftechnology-industry-extends-a-hand-to-struggling-print-media.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Technology+Industry+Extends+a+Hand+to+Struggling+Print+Media" 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%2F12%2Fbusiness%2Fmedia%2Ftechnology-industry-extends-a-hand-to-struggling-print-media.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Technology+Industry+Extends+a+Hand+to+Struggling+Print+Media" 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%2F12%2Fbusiness%2Fmedia%2Ftechnology-industry-extends-a-hand-to-struggling-print-media.html%3Fpartner%3Drss%26emc%3Drss&amp;t=Technology+Industry+Extends+a+Hand+to+Struggling+Print+Media" 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>Whether from a sense of obligation, responsibility or guilt, the technology elite has taken up the cause of helping print journalism adapt to change.      </Summary>
<Website>http://www.nytimes.com/2013/08/12/business/media/technology-industry-extends-a-hand-to-struggling-print-media.html?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/33911/guest@my.umbc.edu/290c5d0ab120113a9c26965f2a359783/api/pixel</TrackingUrl>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>apple-inc-aapl-nasdaq</Tag>
<Tag>bezos-jeffrey-p</Tag>
<Tag>ebay-inc-ebay-nasdaq</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>new</Tag>
<Tag>newmark-craig</Tag>
<Tag>news-and-news-media</Tag>
<Tag>newspapers</Tag>
<Tag>technology</Tag>
<Tag>washington-post</Tag>
<Tag>yahoo-inc-yhoo-nasdaq</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>Sun, 11 Aug 2013 20:00:06 -0400</PostedAt>
</NewsItem>

</News>
