<?xml version="1.0"?>
<News hasArchived="true" page="7669" pageCount="10784" pageSize="10" timestamp="Wed, 02 Sep 2026 00:59:33 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=7669&amp;range=2">
<NewsItem contentIssues="true" id="42972" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42972">
<Title>Earth Hour: Use your power to make change a reality.</Title>
<Tagline>On Saturday March 29th at 8:30pm, we'll turn off our lights</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <h2><span>Use your power to make change a reality.</span></h2>
    
    <span>On Saturday March 29th at 8:30pm, millions of people across the world
    are switching off lights for one hour - to celebrate their commitment to the
    planet.  <span><br></span></span><br>Earth Hour is a simple idea that turned into a global phenomenon, with 
    hundreds of millions of people coming together to display a commitment 
    to protect the one thing that unites us all - our planet.Earth Hour 
    starts with a simple flick of the lights at 8:30 pm on March 29, 2014 in
     a collective display of commitment to create a better future for the 
    planet. <br><br>But Earth Hour is more than just this hour. Uniting behind a 
    common purpose demonstrates that we can make a meaningful difference. 
    Earth Hour is our chance to make our commitment to protecting our planet
     not just for one hour a year, but every day.<br><br>It is not too late to be a 
    part of something big. Earth Hour is happening this year on March 29, 
    2014. <br><br><img src="http://cdn.thejournal.ie/media/2013/03/earthhourinfographic.jpg" height="4119" width="590" style="max-width: 100%; height: auto;"><br>
    </div>
]]>
</Body>
<Summary>Use your power to make change a reality.   On Saturday March 29th at 8:30pm, millions of people across the world are switching off lights for one hour - to celebrate their commitment to the...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42972/guest@my.umbc.edu/b4c332d2c322e69d60494b96dc1fb197/api/pixel</TrackingUrl>
<Group token="sustainability">Sustainability Matters at UMBC</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/sustainability</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xsmall.png?1586269437</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/original.png?1586269437</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xxlarge.png?1586269437</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xlarge.png?1586269437</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/large.png?1586269437</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/medium.png?1586269437</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/small.png?1586269437</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xsmall.png?1586269437</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/086/91091ac32f525d88daa6d6b721420ac1/xxsmall.png?1586269437</AvatarUrl>
<Sponsor>Sustainability Matters @UMBC</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/xxlarge.jpg?1396026520</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/xlarge.jpg?1396026520</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/large.jpg?1396026520</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/medium.jpg?1396026520</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/small.jpg?1396026520</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/xsmall.jpg?1396026520</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/972/6ab08e73ce25fd0431693a4c3998cdfc/xxsmall.jpg?1396026520</ThumbnailUrl>
<PawCount>27</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 28 Mar 2014 13:09:25 -0400</PostedAt>
<EditAt>Fri, 28 Mar 2014 13:11:22 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="42971" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42971">
<Title>Design Principles: Visual Perception And The Principles Of Gestalt</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>In 1910, psychologist <a href="http://www.leonardo.info/isast/articles/behrens.html" rel="nofollow external" class="bo">Max Wertheimer had an insight</a> when he observed a series of lights flashing on and off at a railroad crossing. It was similar to how the lights encircling a movie theater marquee flash on and off. </p>
    <p>To the observer, it appears as if a single light moves around the marquee, traveling from bulb to bulb, when in reality it’s a series of bulbs turning on and off and the lights don’t move it all.</p>
    <p>This observation led to a set of descriptive principles about how we visually perceive objects. These principles sit at the heart of nearly everything we do graphically as designers.</p>
    <p>This is the start of a series of posts about design principles. It begins with these <a href="http://www.vanseodesign.com/web-design/gestalt-principles-of-perception/" rel="nofollow external" class="bo">principles of gestalt</a>, because <strong>many of the design principles we follow arise out of gestalt theory</strong>. In this post, I’ll walk you through a little bit of theory and offer some basic definitions of gestalt principles.</p>
    <p>Future posts in this series will consider aspects of design like space, balance and visual hierarchy. In upcoming posts, I’ll point out which gestalt principles influence the aspects of design being discussed, and I’ll offer more practical uses and examples of how the gestalt principles are used in Web design.
    </p>
    <h3>The Key Ideas Behind Gestalt Theory</h3>
    <blockquote><p>“The whole is other than the sum of the parts.”<br>
    — Kurt Koffka</p></blockquote>
    <p>The quote above is gestalt in a nutshell. When human beings see a group of objects, we perceive their entirety before we see the individual objects. We see the whole as more than the sum of the parts, and even when the parts are entirely separate entities, we’ll look to group them as some whole.</p>
    <p>There are several <a href="http://cct370-w07.wikispaces.com/Gestalt+%28Properties+and+Laws%29" rel="nofollow external" class="bo">key ideas behind gestalt</a>:</p>
    <ul>
    <li>
    <strong>Emergence (the whole is identified before the parts)</strong><br>Emergence is the process of forming complex patterns from simple rules. When attempting to identify an object, we first seek to identify its outline. We then match this outline pattern against shapes and objects we already know to find a match. Only after the whole emerges through this outline pattern matching, do we start to identify the parts that make up the whole.<br><br>
    When designing, keep in mind that people will identify elements first by their general form. A simple well defined object will communicate more quickly than a detailed object with a hard to recognize contour.</li>
    <li>
    <strong>Reification (our mind fills in the gaps)</strong><br>Reification is an aspect of perception in which the object as perceived contains more spatial information than what is actually present. As we attempt to match what we see to the familiar patterns we have stored in memory, there isn’t always an exact match. Instead we find a near match and then fill in the gaps of what we think we should see.<br><br>
    Reification suggests that we don’t need to present the complete outline in order of viewers to see it. We can leave out parts of the outline as long as we provide enough of it to allow for a close enough pattern match. You can see examples of this a little further down under the principle of closure.</li>
    <li>
    <strong>Multi-stability (the mind seeks to avoid uncertainty)</strong><br>Multi-stability is the tendency of ambiguous perceptual experiences to move unstably back and forth between alternative interpretations. Some objects can be perceived in more than one way. An example from below in the section of figure/ground is one you’ve likely seen before. The image can be seen as either two faces in profile or as a vase.<br><br>
    You can’t see both at once. Instead you bounce back and forth quickly between the two stable alternatives. One will tend to be your dominant perception and the longer you go without begin able to see the other, the harder it will be to see that other perception.<br><br>
    From a design perspective if you want to change someone’s perception, don’t try to change it all at once. Find a way to get them to see an alternative. Then work to strengthen that alternative view, while weakening the original.</li>
    <li>
    <strong>Invariance (we’re good at recognizing similarities and differences)</strong><br>Invariance is a property of perception in which simple objects are recognized independent of their rotation, translation and scale. Since we often encounter objects from different perspectives, we’ve developed an ability to recognize them despite their different appearance.<br><br>
    Imagine if you could only recognize someone you knew if they stood directly in front of you and faced you, but you couldn’t recognize them once they turned in profile. Despite the different visual perspective we can still recognize people.</li>
    </ul>
    <p>You can see these ideas in play in the principles below. The main idea is that <a href="http://changingminds.org/explanations/perception/gestalt/gestalt.htm" rel="nofollow external" class="bo">gestalt principles are about perception</a> and what is visually communicated by objects. The principles speak to the core of the visual language within which we work.</p>
    <h3>Gestalt Principles</h3>
    <p>Most of the principles are relatively easy to understand. There’s a common theme running through many of them.</p>
    <blockquote><p>“All else being equal, elements that are related by X tend to be grouped perceptually into higher-order units.”<br>
    — Stephen Palmer</p></blockquote>
    <p>Many of the principles below will follow this pattern. The principles either define X or the higher order that’s perceived.</p>
    <h4>Law of Prägnanz (Good Figure, Law of Simplicity)</h4>
    <blockquote><p>“People will perceive and interpret ambiguous or complex images as the simplest form(s) possible.”</p></blockquote>
    <p>This is the fundamental principle of gestalt. We prefer things that are simple, clear and ordered. Instinctually these things are safer. They take less time for us to process and present less dangerous surprises.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/01-pragnanz.png" alt="Law of Prägnanz (Good Figure, Law of Simplicity)." width="500" height="201" style="max-width: 100%; height: auto;"><br><em>Law of Prägnanz (Good Figure, Law of Simplicity).</em></p>
    <p>When confronted with complex shapes, we tend to reorganize them into simpler components or into a simpler whole. You’re more likely to see the left image above composed of the simple circle, square and triangle like you see on the right than as the the complex and ambiguous shape the whole forms.</p>
    <p>In this case, seeing three distinct objects is simpler than seeing one complex object. In other cases, it’s simpler to see a single object, which brings us to…</p>
    <h4>Closure</h4>
    <blockquote><p>“When seeing a complex arrangement of elements, we tend to look for a single, recognizable pattern.”</p></blockquote>
    <p>As with Prägnanz, closure seeks simplicity. Closure is the opposite of what we saw in the Prägnanz image above where three objects were simpler than one. With closure, we instead combine parts to form a simpler whole. Our eye fills in the missing information to form the complete figure.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/02-closure.png" alt="Closure." width="500" height="250" style="max-width: 100%; height: auto;"><br><em>Closure.</em></p>
    <p>In the left image above, you should see a white triangle even though the image is actually comprised of three black Pac-Man-like shapes. On the right image, you see a panda even though the figure is several random shapes. Seeing the triangle and panda is simpler than trying to make sense of the individual parts.</p>
    <p>Closure can be thought of as the glue holding elements together. It’s about the human tendency to seek and find patterns.</p>
    <p>The key to closure is providing enough information so the eye can fill in the rest. If too much is missing, the elements will be seen as separate parts instead of a whole. If too much information is provided, there’s no need for closure to occur.</p>
    <h4>Symmetry and Order</h4>
    <blockquote><p>“People tend to perceive objects as symmetrical shapes that form around their center.”</p></blockquote>
    <p>Symmetry gives us a feeling of solidity and order, which we tend to seek. It’s our nature to impose order on chaos. This principle leads us to want balance in composition, though our compositions don’t need to be perfectly symmetrical to be in balance.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/03-symmetry.png" alt="Symmetry and Order." width="500" height="166" style="max-width: 100%; height: auto;"><br><em>Symmetry and Order.</em></p>
    <p>In the image above, you should see three pairs of opening and closing brackets. The principle of proximity, which we’ll get to later in this post, might suggest we should see something else. That suggests symmetry takes precedence over proximity.</p>
    <p>Since our eyes will quickly find symmetry and order, these principles can be used to effectively communicate information quickly.</p>
    <h4>Figure/Ground</h4>
    <blockquote><p>“Elements are perceived as either figure (the element in focus) or ground (the background on which the figure rests).”</p></blockquote>
    <p>Figure/ground refers to the relationship between positive elements and negative space. The idea is that the eye will separate whole figures from their background in order to understand what’s being seen. It’s one of the first things people will do when looking at any composition.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/04-figure-ground.png" alt="Figure/Ground." width="500" height="245" style="max-width: 100%; height: auto;"><br><em>Figure and Ground.</em></p>
    <p>The figure/ground relationship can be either stable or unstable depending on how easy it is to determine which is which. The classic example of where the relationship is unstable is the left image above. You either see a vase or two faces depending on whether you see the black color as figure and the white as ground, or vice versa. That you can easily bounce back and forth between the two perceptions demonstrates the unstable relationship.</p>
    <p>The more stable the relationship, the better we can lead our audience to focus on what we want them to see. Two related principles can help us:</p>
    <ul>
    <li>
    <strong>Area</strong><br>
    	The smaller of two overlapping objects is seen as figure. The larger is seen as ground. You can see this in the right image above.  The smaller shape is the figure regardless of color.</li>
    <li>
    <strong>Convexity</strong><br>
    	Convex rather than concave patterns tend to be perceived as figures.</li>
    </ul>
    <h4>Uniform Connectedness</h4>
    <blockquote><p>“Elements that are visually connected are perceived as more related than elements with no connection.”</p></blockquote>
    <p>In the image below, lines connect two pairs of elements. This connection leads us to perceive that the connected elements are related to each other in some way.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/05-uniform-connectedness.png" alt="Uniform Connectedness" width="500" height="382" style="max-width: 100%; height: auto;"><br><em>Uniform Connectedness.</em></p>
    <p>Of all the principles suggesting objects are related, uniform connectedness is the strongest. In the image above, even though we see two squares and two circles, we see the square–circle pairs as more strongly related because they are visually connected.</p>
    <p>Notice that the lines don’t need to touch the elements for the connection to be perceived.</p>
    <h4>Common Regions</h4>
    <blockquote><p>“Elements are perceived as part of a group if they are located within the same closed region.”</p></blockquote>
    <p>Another way to show a connection between elements is to enclose them in some way. Everything inside the enclosure is seen as related. Everything outside the encloser is seen as separate. The circles in the image below are all the same, yet we see two distinct groups, with the circles in each enclosure related in some way.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/06-common-regions.png" alt="Common Regions." width="500" height="215" style="max-width: 100%; height: auto;"><br><em>Common Regions.</em></p>
    <p>The typical way to show a common region is to draw a box around the related elements like I’ve done above. Placing the elements on a different background color than their immediate surroundings will also work.</p>
    <h4>Proximity</h4>
    <blockquote><p>“Objects that are closer together are perceived as more related than objects that are further apart.”</p></blockquote>
    <p>Proximity is similar to common regions but uses space as the enclosure. When elements are positioned close to one another, they are seen as part of a group rather than as individual elements. This is especially true when the elements in the group are closer to each other than they are to any elements outside the group.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/07-proximity.png" alt="Proximity." width="500" height="214" style="max-width: 100%; height: auto;"><br><em>Proximity.</em></p>
    <p>The objects don’t need to be similar in any other way beyond being grouped near each other in space in order to be seen as having a proximity relationship.</p>
    <h4>Continuation</h4>
    <blockquote><p>“Elements arranged on a line or curve are perceived as more related than elements not on the line or curve.”</p></blockquote>
    <p>It’s instinct to follow a river, a path or a fence line.  Once you look or move in a particular direction, you continue to look or move in that direction until you see something significant or you determine there’s nothing significant to see.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/08-continuation.png" alt="Continuation." width="500" height="256" style="max-width: 100%; height: auto;"><br><em>Continuation.</em></p>
    <p>Another interpretation of this principle is that we’ll continue our perception of shapes beyond their ending points. In the image above, we see a line and curve crossing instead of four distinct line and curve segments that meet at a single point.</p>
    <h4>Common Fate (Synchrony)</h4>
    <blockquote><p>“Elements that move in the same direction are perceived as more related than elements that are stationary or that move in different directions.”</p></blockquote>
    <p>Regardless of how far apart the elements are placed or how dissimilar they appear, if they are seen as moving or changing together, they’ll be perceived as being related.</p>
    <p>The elements don’t need to be moving for the principle of common fate to be present. It’s more that they are seen as having a common destination. For example, if four people are clustered together, but two are observed heading toward the right, they will be seen as having a common fate. Even if two are only <em>looking</em> in the same direction, they’ll be perceived as having a common fate.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/09-common-fate.png" alt="Common Fate (Synchrony)." width="500" height="213" style="max-width: 100%; height: auto;"><br><em>Common Fate (Synchrony).</em></p>
    <p>In the image above, the arrows are enough to indicate the elements share a common fate. While movement or change isn’t necessary, both are still a stronger indication of common fate than things like arrows or looking in the same direction which only imply movement.</p>
    <h4>Parallelism</h4>
    <blockquote><p>“Elements that are parallel to each other are seen as more related than elements not parallel to each other.”</p></blockquote>
    <p>This principle is similar to the common fate principle above. Lines are often interpreted as pointing or moving in some direction. Parallel lines are seen as either pointing or moving in the same direction and are thus related.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/10-parallelism.png" alt="Parallelism." width="500" height="349" style="max-width: 100%; height: auto;"><br><em>Parallelism.</em></p>
    <p>It should be noted that for parallelism to be perceived, the lines can also be curves or shapes, though with the latter the shapes should be somewhat line-like in order for them to appear parallel.</p>
    <h4>Similarity</h4>
    <blockquote><p>“Elements that share similar characteristics are perceived as more related than elements that don’t share those characteristics.”</p></blockquote>
    <p>Any number of characteristics can be similar: color, shape, size, texture, etc. When a viewer sees these similar characteristics, they perceive the elements as being related due to the shared characteristics.</p>
    <p>In the image below, red circles are seen as related to the other red circles and black circles to black circles due to the similarity in color. Red and black circles are seen as dissimilar to each other even though they’re all circles.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/11-similarity.png" alt="Similarity." width="500" height="221" style="max-width: 100%; height: auto;"><br><em>Similarity.</em></p>
    <p>An obvious place to find similarity online is in the color of links. Typically, links within content will be styled the same way, often blue and underlined. This lets the viewer know that the different pieces of text are related. Once one is discovered to be a link, it communicates the others are also links.</p>
    <h4>Focal Points</h4>
    <blockquote><p>“Elements with a point of interest, emphasis or difference will capture and hold the viewer’s attention.”</p></blockquote>
    <p>This principle suggests that our attention will be drawn toward contrast, toward the element that is unlike the others in some way. In the image below, your eye should be drawn to the square. It’s a different shape and color from the other elements. I’ve also given it a drop shadow to further emphasize it.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/12-focal-point.png" alt="Focal Points." width="500" height="281" style="max-width: 100%; height: auto;"><br><em>Focal Points.</em></p>
    <p>The principle of focal points likely arises out of our need to quickly identify the unknown to alert us to potential danger.</p>
    <p>The principles of similarity and focal points are connected, and focal points can’t be seen without the presence of similarity among other elements.</p>
    <h4>Past Experiences</h4>
    <blockquote><p>“Elements tend to be perceived according to an observer’s past experience.”</p></blockquote>
    <p>Past experience is perhaps the weakest gestalt principle. In conjunction with any of the other principles, the other principle will dominate over the past experience principle.</p>
    <p>Past experience is unique to the individual, so it’s difficult to make assumptions about how it will be perceived. However, there are common experiences we all share. For example, a lot of color meaning arises out of past experience.</p>
    <p><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/13-past-experience.png" alt="Past Experiences." width="500" height="284" style="max-width: 100%; height: auto;"><br><em>Past Experiences.</em></p>
    <p>Having seen traffic lights throughout our lives, we expect red to mean stop and green to mean go. You probably see the image above as a traffic light on its side, because of the three common colors. That’s past experience at work.</p>
    <p>Many of our common experiences also tend to be cultural. Color again provides examples. In some countries, white is seen as pure and innocent and black as evil and death. In other countries, these interpretations are reversed. Conventions can arise when the experience is commonly shared, though again it’s important to remember that we don’t all share the same experiences.</p>
    <h3>Summary</h3>
    <p>Gestalt principles are important to understand. They sit at the foundation of everything we do visually as designers. They describe how everyone visually perceives objects.</p>
    <p>The principles above should be relatively easy to understand. For most of them, the definition and the image are probably all you needed to understand the principle. At the same time, understanding the basic ideas of these principles isn’t the same as understanding how they influence design.</p>
    <p>In the coming weeks we’ll look more at how gestalt influences design. We’ll see how symmetry helps us balance a composition and  how combining focal points and similarity allows us to create a visual hierarchy in a design.</p>
    <p>Before we get to either, though, we’ll take a deeper look at the figure/ground relationship and consider the space in which we place elements. That’s where I’ll pick up the series.</p>
    <h4>Additional Resources</h4>
    <ul>
    <li><a href="http://webstyleguide.com/wsg3/7-page-design/4-visual-design-principles.html" rel="nofollow external" class="bo">Visual Design Principles</a></li>
    <li><a href="http://psy.ed.asu.edu/~classics/Wertheimer/Forms/forms.htm" rel="nofollow external" class="bo">Laws of Organization in Perceptual Forms (Max Wertheimer)</a></li>
    <li><a href="http://www.scholarpedia.org/article/Gestalt_principles" rel="nofollow external" class="bo">Gestalt principles</a></li>
    <li><a href="http://tepserver.ucsd.edu/~jlevin/gp/" rel="nofollow external" class="bo">Gestalt Principles &amp; Web Design</a></li>
    <li><a href="http://graphicdesign.spokanefalls.edu/tutorials/process/gestaltprinciples/gestaltprinc.htm" rel="nofollow external" class="bo">The Gestalt Principles</a></li>
    <li><a href="http://www.interaction-design.org/encyclopedia/gestalt_principles_of_form_perception.html" rel="nofollow external" class="bo">Gestalt principles of form perception</a></li>
    <li><a href="http://sixrevisions.com/web_design/gestalt-principles-applied-in-design/" rel="nofollow external" class="bo">Gestalt Principles Applied in Design</a></li>
    <li><a href="http://www.users.totalise.co.uk/~kbroom/Lectures/gestalt.htm" rel="nofollow external" class="bo">Gestalt Theory of Visual Perception</a></li>
    <li><a href="http://www.adorama.com/alc/article/13706" rel="nofollow external" class="bo">6 Principles of Gestalt Psychology That Can Improve Your Photography</a></li>
    <li><a href="http://daphne.palomar.edu/design/gestalt.html" rel="nofollow external" class="bo">Gestalt</a></li>
    <li><a href="http://painting-course.com/445/oil-painting/gestalt-principles-of-art-and-design/" rel="nofollow external" class="bo">Gestalt Principles of Art and Design</a></li>
    </ul>
    <p>I especially recommend this five-part series by Andy Rutledge.</p>
    <ul>
    <li><a href="http://www.andyrutledge.com/gestalt-principles-1-figure-ground-relationship.php" rel="nofollow external" class="bo">Gestalt Principles of Perception 1: Figure Ground Relationships</a></li>
    <li><a href="http://www.andyrutledge.com/gestalt-principles-2-similarity.php" rel="nofollow external" class="bo">Gestalt Principles of Perception 2: Similarity</a></li>
    <li><a href="http://www.andyrutledge.com/gestalt-principles-3.php" rel="nofollow external" class="bo">Gestalt Principles of Perception 3: Proximity, Uniform Connectedness, and Good Continuation</a></li>
    <li><a href="http://www.andyrutledge.com/common-fate.php" rel="nofollow external" class="bo">Gestalt Principles of Perception 4: Common Fate</a></li>
    <li><a href="http://www.andyrutledge.com/closure.php" rel="nofollow external" class="bo">Gestalt Principles of Perception 5: Closure</a></li>
    </ul>
    <p><em>(cp, ml, il)</em></p>
    <hr>
    <p><small>© Steven Bradley for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2014.</small></p>
    </div>
]]>
</Body>
<Summary>        In 1910, psychologist Max Wertheimer had an insight when he observed a series of lights flashing on and off at a railroad crossing. It was similar to how the lights encircling a movie...</Summary>
<Website>http://www.smashingmagazine.com/2014/03/28/design-principles-visual-perception-and-the-principles-of-gestalt/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42971/guest@my.umbc.edu/48e0cefe5a16cc2c850eb86a20b3f23e/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>design-principles</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>visual-design</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>Fri, 28 Mar 2014 12:51:09 -0400</PostedAt>
<EditAt>Fri, 28 Mar 2014 12:51:09 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="109768" important="false" status="posted" url="https://my3.my.umbc.edu/posts/109768">
<Title>UMBC Reaches 10,000 Applications</Title>
<Body>
<![CDATA[
    <div class="html-content">The Office of Undergraduate Admissions and Orientation has reached a major milestone: receiving over 10,000 applications for the Fall 2014 entering freshmen class! This represents a 50% increase in applications in the last five years, and is the first time we’ve hit the 10,000 applications mark. This milestone comes at a time when many institutions are experiencing declines in applications. Why the boost for UMBC? Yvette Mozie-Ross, associate provost for enrollment management, shares, “Very academically talented students increasingly identify UMBC as a top choice for a high quality, high value undergraduate education.” “This increase in applications reflects how our reputation …</div>
]]>
</Body>
<Summary>The Office of Undergraduate Admissions and Orientation has reached a major milestone: receiving over 10,000 applications for the Fall 2014 entering freshmen class! This represents a 50% increase...</Summary>
<Website>https://news.umbc.edu/umbc-reaches-10000-applications/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/109768/guest@my.umbc.edu/647ff57ea748da178af81efbb7d7562c/api/pixel</TrackingUrl>
<Tag>community</Tag>
<Group token="umbc-news">UMBC News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/original.png?1632921809</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/large.png?1632921809</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/medium.png?1632921809</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/small.png?1632921809</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxsmall.png?1632921809</AvatarUrl>
<Sponsor>UMBC News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 28 Mar 2014 12:46:12 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="42973" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42973">
<Title>Bits | State of the Art: The Tech Bubble&#8217;s Silver Lining: Cheap Services for Everyone</Title>
<Body>
<![CDATA[
    <div class="html-content">Box’s documents filed for its initial public offering show that the cloud-storage firm is losing a lot of money. There’s another way to say this: It’s giving customers lots of services for free. And it’s not alone.<br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fbits.blogs.nytimes.com%2F2014%2F03%2F28%2Fthe-tech-bubbles-silver-lining-cheap-services-for-everyone%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+%7C+State+of+the+Art%3A+The+Tech+Bubble%E2%80%99s+Silver+Lining%3A+Cheap+Services+for+Everyone" 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%2F2014%2F03%2F28%2Fthe-tech-bubbles-silver-lining-cheap-services-for-everyone%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+%7C+State+of+the+Art%3A+The+Tech+Bubble%E2%80%99s+Silver+Lining%3A+Cheap+Services+for+Everyone" 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%2F2014%2F03%2F28%2Fthe-tech-bubbles-silver-lining-cheap-services-for-everyone%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+%7C+State+of+the+Art%3A+The+Tech+Bubble%E2%80%99s+Silver+Lining%3A+Cheap+Services+for+Everyone" 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%2F2014%2F03%2F28%2Fthe-tech-bubbles-silver-lining-cheap-services-for-everyone%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+%7C+State+of+the+Art%3A+The+Tech+Bubble%E2%80%99s+Silver+Lining%3A+Cheap+Services+for+Everyone" 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%2F2014%2F03%2F28%2Fthe-tech-bubbles-silver-lining-cheap-services-for-everyone%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+%7C+State+of+the+Art%3A+The+Tech+Bubble%E2%80%99s+Silver+Lining%3A+Cheap+Services+for+Everyone" 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/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/193360687478/u/0/f/640387/c/34625/s/38bb7981/sc/4/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Box’s documents filed for its initial public offering show that the cloud-storage firm is losing a lot of money. There’s another way to say this: It’s giving customers lots of services for free....</Summary>
<Website>http://rss.nytimes.com/c/34625/f/640387/s/38bb7981/sc/4/l/0Lbits0Bblogs0Bnytimes0N0C20A140C0A30C280Cthe0Etech0Ebubbles0Esilver0Elining0Echeap0Eservices0Efor0Eeveryone0C0Dpartner0Frss0Gemc0Frss/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42973/guest@my.umbc.edu/e6e2c20c4bebace46d1b9e8deeb97792/api/pixel</TrackingUrl>
<Tag>amazon-com-inc</Tag>
<Tag>amazon-com-inc-amzn-nasdaq</Tag>
<Tag>box-inc</Tag>
<Tag>cloud-computing</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>data-storage</Tag>
<Tag>dropbox-inc</Tag>
<Tag>facebook-inc</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>google-inc</Tag>
<Tag>google-inc-goog-nasdaq</Tag>
<Tag>microsoft-corporation</Tag>
<Tag>microsoft-corporation-msft-nasdaq</Tag>
<Tag>new</Tag>
<Tag>san-francisco-bay-area-calif</Tag>
<Tag>san-francisco-calif</Tag>
<Tag>start-ups</Tag>
<Tag>state-of-the-art</Tag>
<Tag>technology</Tag>
<Tag>whatsapp-inc</Tag>
<Tag>yglesias-matthew</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>Fri, 28 Mar 2014 12:16:48 -0400</PostedAt>
<EditAt>Sat, 29 Mar 2014 10:46:52 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="42970" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42970">
<Title>Spring-cleaning Unused CSS</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Addy Osmani intros a Grunt task for removing unused CSS from your stylesheet before serving it. </p>
    <p>While this is certainly a worthy goal, I look at the quotes from people who reduced their stylesheets by 3/4 or more and I'm like holy crap what kinda shop are you running over there?! I know "test, don't guess", but I'd guess that pretty close to 0% of the styles I write are unused. I'm sure HTML changes over time make a orphaned rule here and there, but I'd guess that is largely insignificant.</p>
    <p>If you're going to do this, make sure you run it against lots (if not all) of your pages so you aren't removing selectors that are in use, just not on every page. I know I write minor styles all the time that make their way into the global stylesheet since that is cached and used anyway.</p>
    <p><a href="http://addyosmani.com/blog/removing-unused-css/" title="Direct link to featured article" rel="nofollow external" class="bo">Direct Link to Article</a> — <a href="http://css-tricks.com/spring-cleaning-unused-css/" rel="nofollow external" class="bo">Permalink</a></p>
    <hr>
    <p><small><a href="http://css-tricks.com/spring-cleaning-unused-css/" rel="nofollow external" class="bo">Spring-cleaning Unused CSS</a> is a post from <a href="http://css-tricks.com" rel="nofollow external" class="bo">CSS-Tricks</a></small></p>
    </div>
]]>
</Body>
<Summary>Addy Osmani intros a Grunt task for removing unused CSS from your stylesheet before serving it.    While this is certainly a worthy goal, I look at the quotes from people who reduced their...</Summary>
<Website>http://addyosmani.com/blog/removing-unused-css/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42970/guest@my.umbc.edu/2b69737632d5a6c1a7a51ab88254614d/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>link</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>tricks</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>Fri, 28 Mar 2014 12:11:53 -0400</PostedAt>
<EditAt>Fri, 28 Mar 2014 12:11:53 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="42969" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42969">
<Title>Adobe Creative Cloud Temporary Price Decrease</Title>
<Tagline>Purchase a 12-month subscription for just $199.99</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Through April 14 UMBC students, faculty, and staff may purchase <strong>a 12-month Adobe Creative Cloud subscription for just $199.99</strong>.  The regular non-academic price is $599.88. The everyday UMBC academic price is $359.88.</p>
    <p><a href="http://bookstore.umbc.edu/MerchList.aspx?ID=11608" rel="nofollow external" class="bo">Purchase in the store or online.</a></p>
    <p><strong>Adobe Creative Cloud</strong> software delivers 
    groundbreaking new creative tools and provides innovative ways to design
     for the latest devices. With exceptional power and precision, you can 
    create inspiring experiences that go anywhere.</p>
    <p><img src="http://umbcbookstore.files.wordpress.com/2014/03/creative_cloud_cc_posa_keycard.png?w=189&amp;h=300" alt="" height="300" width="189" style="max-width: 100%; height: auto;"></p>
    <p> </p>
    <p><strong>Creative Cloud</strong> comes with 20GB of cloud storage and includes the following programs:</p>
    <ul>
    <li>Photoshop CC</li>
    <li>Illustrator CC</li>
    <li>InDesign CC</li>
    <li>Bridge CC</li>
    <li>Extension Manager CC</li>
    <li>InCopy CC</li>
    <li>Acrobat XI Pro</li>
    <li>Dreamweaver CC</li>
    <li>Flash Professional CC</li>
    <li>Flash Builder Premium Edition</li>
    <li>Fireworks</li>
    <li>Premiere Pro CC</li>
    <li>After Effects CC</li>
    <li>Audition CC</li>
    <li>SpeedGrade CC</li>
    <li>Prelude CC</li>
    <li>Encore</li>
    <li>Media Encoder CC</li>
    <li>Photoshop Lightroom</li>
    <li>Muse CC</li>
    <li>Edge Animate CC</li>
    <li>Behance</li>
    </ul>
    <p>Current academic ID required. This is a download card for Windows or 
    Mac. No media is included. Requires internet connection to download and 
    to authenticate every 30-99 days.</p>
    </div>
]]>
</Body>
<Summary>Through April 14 UMBC students, faculty, and staff may purchase a 12-month Adobe Creative Cloud subscription for just $199.99.  The regular non-academic price is $599.88. The everyday UMBC...</Summary>
<Website>http://bookstore.umbc.edu/MerchList.aspx?ID=11608</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42969/guest@my.umbc.edu/d6a6ebee212418ea0fc0e2b22e64dfeb/api/pixel</TrackingUrl>
<Tag>adobe</Tag>
<Tag>art</Tag>
<Tag>bookstore</Tag>
<Tag>sale</Tag>
<Tag>software</Tag>
<Group token="bookstore">Bookstore</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/bookstore</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/xsmall.png?1282440796</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/original.png?1282440796</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/xxlarge.png?1282440796</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/xlarge.png?1282440796</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/large.png?1282440796</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/medium.png?1282440796</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/small.png?1282440796</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/xsmall.png?1282440796</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/032/4ae67a7dd7e491f8fb6f9ea0cf25dfdb/xxsmall.png?1282440796</AvatarUrl>
<Sponsor>Bookstore</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/xxlarge.jpg?1396021697</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/xlarge.jpg?1396021697</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/large.jpg?1396021697</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/medium.jpg?1396021697</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/small.jpg?1396021697</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/xsmall.jpg?1396021697</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/042/969/b6bbd11daf9d7d31ffa787379614cd4f/xxsmall.jpg?1396021697</ThumbnailUrl>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Fri, 28 Mar 2014 12:02:55 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="109769" important="false" status="posted" url="https://my3.my.umbc.edu/posts/109769">
<Title>Thomas Schaller, Political Science, in Sabato&#8217;s Crystal Ball</Title>
<Body>
<![CDATA[
    <div class="html-content">A new guest column in Sabato’s Crystal Ball by Political Science Professor Thomas Schaller argues that future ratification of constitutional amendments will become increasingly unlikely as state legislatures and the national government become more divided. Schaller writes as this year marks the centennial anniversary of the 17th Amendment, several former and current Republican members of Congress are moving to repeal the amendment, which mandates the popular election of U.S. Senators. “Although the movement to repeal the 17th Amendment is likely to fizzle, the fact is plans to amend the Constitution are mostly a waste of time because, other than a widely …</div>
]]>
</Body>
<Summary>A new guest column in Sabato’s Crystal Ball by Political Science Professor Thomas Schaller argues that future ratification of constitutional amendments will become increasingly unlikely as state...</Summary>
<Website>https://news.umbc.edu/thomas-schaller-political-science-in-sabatos-crystal-ball-2/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/109769/guest@my.umbc.edu/4b5b52280b3f5c24281e35d0d05f97d5/api/pixel</TrackingUrl>
<Tag>cahss</Tag>
<Tag>policy-and-society</Tag>
<Tag>politicalscience</Tag>
<Group token="umbc-news">UMBC News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/original.png?1632921809</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/large.png?1632921809</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/medium.png?1632921809</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/small.png?1632921809</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxsmall.png?1632921809</AvatarUrl>
<Sponsor>UMBC News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 28 Mar 2014 11:55:21 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="109770" important="false" status="posted" url="https://my3.my.umbc.edu/posts/109770">
<Title>Robert Provine, Psychology, in Slate</Title>
<Body>
<![CDATA[
    <div class="html-content">An article published March 25 in the online magazine Slate examines the factors that cause humans to laugh. The story cites the work and research of Psychology Professor Robert Provine that helps explain why humans laugh. “For his book, Laughter: A Scientific Investigation, Provine engaged in what he called ‘sidewalk neuroscience,’ tracking and observing real-world laughter,” the article states. The authors write that Provine’s research helps illustrate the reasons human laugh usually aren’t in response to something that is humorous. “Provine discovered that the laughter of our everyday lives isn’t for the most part in response to anything resembling jokes,” the authors …</div>
]]>
</Body>
<Summary>An article published March 25 in the online magazine Slate examines the factors that cause humans to laugh. The story cites the work and research of Psychology Professor Robert Provine that helps...</Summary>
<Website>https://news.umbc.edu/robert-provine-psychology-in-slate/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/109770/guest@my.umbc.edu/5b5cdbf99f0059f7b416b172a1d6b616/api/pixel</TrackingUrl>
<Tag>cahss</Tag>
<Tag>policy-and-society</Tag>
<Tag>psychology</Tag>
<Tag>research</Tag>
<Group token="umbc-news">UMBC News</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/umbc-news</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/original.png?1632921809</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xlarge.png?1632921809</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/large.png?1632921809</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/medium.png?1632921809</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/small.png?1632921809</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xsmall.png?1632921809</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/001/944/2c79aeea85b1abb37f8cf9fbcdc382b0/xxsmall.png?1632921809</AvatarUrl>
<Sponsor>UMBC News</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 28 Mar 2014 11:54:02 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="42965" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42965">
<Title>April is Sexual Assault Awareness Month</Title>
<Tagline>Come out &amp; learn how you can help keep our community safer!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <div>As April is quickly approaching, the Women's Center &amp; The Office of Health Education want to share the events they have planned for the month.<br><br>As some of you may know, April is Sexual Assault Awareness Month.  Attached you will find a copy of the Sexual Assault Awareness Month event flyer.  As sexual assault awareness and prevention is very important to our campus, we hope that you will be able to attend some of these events and encourage others to do so as well.  The main event for the month will be the 2nd annual Take Back the Night, held on Tues, April 15th. </div>
    <div><br></div>
    <div>Please see the attached event flyer for full details on all events.  </div>
    <div><br></div>
    <div><div>
    <span>If you have questions about any of the listed events or about </span><span>sexual</span><span> </span><span>assault</span> resources, please contact Jess Myers, Women's Center Director, at <a href="mailto:jess.myers@umbc.edu" rel="nofollow external" class="bo">jess.myers@umbc.edu</a>, <a rel="nofollow external" class="bo">410-455-2714</a> or Mickey Irizarry, Health Education Coordinator, at <a href="mailto:parora@umbc.edu" rel="nofollow external" class="bo">parora@umbc.edu</a>, <a rel="nofollow external" class="bo">410-455-3752</a>.</div></div>
    </div>
]]>
</Body>
<Summary>As April is quickly approaching, the Women's Center &amp; The Office of Health Education want to share the events they have planned for the month.  As some of you may know, April is Sexual Assault...</Summary>
<Website>http://my.umbc.edu/groups/womenscenter/events/23615</Website>
<AttachmentKind>Flyer</AttachmentKind>
<AttachmentUrl>https://assets4-my.umbc.edu/system/shared/attachments/e65f52f9902e38932bc54935cc30023c/6a97ad35/news/000/042/965/dc1f1e86d49bb24cdec5c39d3f59143b/SAAM 2014.pdf?1396018901</AttachmentUrl>
<Attachments>
<Attachment kind="Flyer" url="https://my3.my.umbc.edu/posts/42965/attachments/13002"></Attachment>
</Attachments>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42965/guest@my.umbc.edu/8d8c7817f0f029ba9a169120ea279d82/api/pixel</TrackingUrl>
<Tag>health</Tag>
<Tag>lgbt</Tag>
<Tag>men</Tag>
<Tag>prevention</Tag>
<Tag>safety</Tag>
<Tag>sexualassault</Tag>
<Tag>women</Tag>
<Group token="themosaic">The Mosaic: Center for Cultural Diversity </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/themosaic</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/xsmall.png?1755890395</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/original.png?1755890395</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/xxlarge.png?1755890395</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/xlarge.png?1755890395</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/large.png?1755890395</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/medium.png?1755890395</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/small.png?1755890395</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/xsmall.png?1755890395</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/079/8da8369525d899e6fa49decd5a80b73f/xxsmall.png?1755890395</AvatarUrl>
<Sponsor>UMBC Women's Center and University Health Services</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Fri, 28 Mar 2014 11:06:35 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="42967" important="false" status="posted" url="https://my3.my.umbc.edu/posts/42967">
<Title>Test Code Coverage: From Myth to Reality</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>There was a time when programmers were paid by the number of lines of code they wrote. They were treated as source code producing machines working in cubicles and in return they considered programming just a job that they do eight hours a day and then forget about it, for the rest of the day.</p>
    
    <p>But times have changed. Most cubicle workplaces disappeared and programmers started loving their craft. With the advent of Agile techniques and the Software Craftsmanship movement, many new tools emerged to help the programmer and the process. TDD is slowly becoming the de facto way of writing code and the secrets of SCRUM or Kanban were revealed even to the programmers in the darkest corners of the cubicle world.</p>
    
    <p>Automated testing and test driven development (TDD) are some of the essential techniques Agile provided to us programmers. And a tool that comes with those methodologies is used to produce test code coverage, which is the topic of this article.</p>
    
    <h2>Definition</h2>
    
    <p>"In computer science, code coverage is a measure used to describe the degree to which the source code of a program is tested by a particular test suite." ~ Wikipedia </p>
    
    <p>The definition above, taken from Wikipedia, is one of the simplest ways to describe what code coverage means. Basically, in your project you have a bunch of production code as well as a bunch of test code. The test code exercises the production code and the test coverage tells you how much of your production code was exercised by the tests.</p>
    
    <p>Information can be presented in various ways, from simple percentages to nice graphics or even real-time highlighting in your favorite IDE.</p>
    
    <h2>Let's Check It in Action</h2>
    
    <p>We will use PHP as the language to exemplify our code. Additionally, we will need PHPUnit and XDebug to test our code and gather coverage data.</p>
    
    <h3>The Source Code</h3>
    
    <p>Here is the source code we will use. You can also find it in the attached archive.</p>
    
    <pre>class WordWrap {&#x000A;    &#x000A;    	public function wrap($string = '', $cols) {&#x000A;    		$string = trim($string);&#x000A;    		if (strlen($string) &gt; $cols) {&#x000A;    			$lastSpaceIndex = strrpos(substr($string, 0, $cols), ' ');&#x000A;    			if ($lastSpaceIndex !== false &amp;&amp; substr($string, $cols, 1) != ' ') {&#x000A;    				return substr($string, 0, $lastSpaceIndex) . "\n" . $this-&gt;wrap(substr($string, $lastSpaceIndex), $cols);&#x000A;    			} else {&#x000A;    				return substr($string, 0, $cols) . "\n" . $this-&gt;wrap(substr($string, $cols), $cols);&#x000A;    			}&#x000A;    		}&#x000A;    &#x000A;    		return $string;&#x000A;    	}&#x000A;    }</pre>
    
    <p>The above code contains a simple function that wraps text to a specified number of characters, per line.</p>
    
    <h3>The Test Code</h3>
    
    <p>We wrote this code using <a href="http://code.tutsplus.com/tutorials/lets-tdd-a-simple-app-in-php--net-26186" rel="nofollow external" class="bo">Test Driven Development (TDD)</a> and we have 100% code coverage for it. This means that by running our test, we exercise each and every line of the source code.</p>
    
    <pre>require_once __DIR__ . '/../WordWrap.php';&#x000A;    &#x000A;    class WordWrapTest extends PHPUnit_Framework_TestCase {&#x000A;    &#x000A;    	function testItCanWrap() {&#x000A;    		$w = new WordWrap();&#x000A;    &#x000A;    		$this-&gt;assertEquals('', $w-&gt;wrap(null, 0));&#x000A;    		$this-&gt;assertEquals('', $w-&gt;wrap('', 0));&#x000A;    		$this-&gt;assertEquals('a', $w-&gt;wrap('a', 1));&#x000A;    		$this-&gt;assertEquals("a\nb", $w-&gt;wrap('a b', 1));&#x000A;    		$this-&gt;assertEquals("a b\nc", $w-&gt;wrap('a b c', 3));&#x000A;    		$this-&gt;assertEquals("a\nbc\nd", $w-&gt;wrap('a bc d', 3));&#x000A;    	}&#x000A;    }</pre>
    
    <h3>Running the Tests in CLI With Text Only Coverage</h3>
    
    <p>One way to obtain coverage data is to run our tests in the CLI (command line interface) and analyze the output. For this example, we will assume a UNIX like operating system (Linux, MacOS, FreeBSD, etc). Windows users will need to slightly adapt the paths and executable names, but it should be fairly similar.</p>
    
    <p>Let's open a console and change directories in to your <code>test</code> folder. Then run <code>phpunit</code> with an option to generate coverage data as plain text.</p>
    
    <pre>phpunit --coverage-text=./coverage.txt ./WordWrapTest.php</pre>
    
    <p>This should work out of the box on most systems if XDebug is installed, however in some cases, you may encounter an error related to time zones.</p>
    
    <pre>PHP Warning:  date(): It is not safe to rely on the system's timezone settings.&#x000A;    You are *required* to use the date.timezone setting or the date_default_timezone_set() function.&#x000A;    In case you used any of those methods and you are still getting this warning, you most likely&#x000A;    misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set&#x000A;    date.timezone to select your timezone. in <a href="phar:///usr/share/php/phpunit/phpunit.phar/">phar:///usr/share/php/phpunit/phpunit.phar/</a>&#x000A;    PHP_CodeCoverage-1.2.10/PHP/CodeCoverage/Report/Text.php on line 124&#x000A;    </pre>
    
    <p>This can be easily fixed by specifying the suggested setting in your <code>php.ini</code> file. You can find the way to specify your timezone in <a href="http://ro1.php.net/manual/en/timezones.php" rel="nofollow external" class="bo">this list</a>. I am from Romania, so I will use the following setting:</p>
    
    <pre>date.timezone = Europe/Bucharest</pre>
    
    <p>Now, if you run the <code>phpunit</code> command again, you should see no error messages. Instead, the test results will be shown.</p>
    
    <pre>PHPUnit 3.7.20 by Sebastian Bergmann.&#x000A;    ..&#x000A;    Time: 0 seconds, Memory: 5.00Mb&#x000A;    OK (2 tests, 7 assertions)&#x000A;    </pre>
    
    <p>And the coverage data will be in the specified text file.</p>
    
    <pre>$ cat ./coverage.txt&#x000A;    &#x000A;    Code Coverage Report&#x000A;      2014-03-02 13:48:11&#x000A;    &#x000A;     Summary:&#x000A;      Classes: 100.00% (1/1)&#x000A;      Methods: 100.00% (1/1)&#x000A;      Lines:   2.68% (14/522)&#x000A;    &#x000A;    WordWrap&#x000A;      Methods: 100.00% ( 1/ 1)   Lines: 100.00% (  7/  7)&#x000A;    </pre>
    
    <p>Let's analyze this a little bit.</p>
    
    <ul>
    	<li>
    <em>Classes</em>: refers to how many classes were tested and how many of them were covered. <code>WordWrap</code> is our only class.</li>
    	<li>
    <em>Methods</em>: same as with classes. We have only our <code>wrap()</code> method, nothing else.</li>
    	<li>
    <em>Lines</em>: same as above, but for lines of code. Here we have a lot of lines because the summary contains all the lines from PHPUnit itself.</li>
    	<li>Then we have a section for each class. In our case, that is only <code>WordWrap</code>. Each section has its own methods and line details. </li>
    </ul>
    
    <p>Based on these observations, we can conclude that our code is 100% covered by tests. Exactly as we expected before analyzing the coverage data.</p>
    
    <h3>Generating HTML Coverage Output</h3>
    
    <p>By just changing a simple parameter for PHPUnit, we can generate nice HTML output.</p>
    
    <pre>$ mkdir ./coverage&#x000A;    $ phpunit --coverage-html ./coverage ./WordWrapTest.php </pre>
    
    <p>If you check your <code>./coverage</code> directory, you will find a lot of files there. I won't paste the list here because it is quite extensive. Instead, I will show you how it looks in a web browser.</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20442/image/HTMLCoverageSummary.png" style="max-width: 100%; height: auto;"><p>This is the equivalent of the summary section from the text version above. We can zoom in by following the proposed links and see more details.</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20442/image/HTMLCoverageClassWithCode.png" style="max-width: 100%; height: auto;"><h3>Coverage Inside Our IDE</h3>
    
    <p>The previous examples were interesting and they are quite useful, <em>if</em> your code is built on some remote server to which you have only SHH or web access to. But wouldn't it be nice to have all this info, live in your IDE?</p>
    
    <p>If you use PHPStorm, everything is within the distance of a single click! Select to run your tests with coverage and all the info will just simply show up, magically.</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20442/image/RunTestWithCoverage.png" style="max-width: 100%; height: auto;"><p>The coverage information will be present in your IDE, in several ways and in several places:</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20442/image/CoverageInIDE.png" style="max-width: 100%; height: auto;">
    
    <ol>
    	<li>Test coverage percentage will be shown near each directory and file.</li>
    	<li>In the editor, while editing code, on the left of the line numbers, a green or red rectangle will mark each line. Green represents tested lines, red represents untested ones. Lines without actual code (empty lines, only braces or parentheses, class or method declarations) will not have any marks.</li>
    	<li>On the right side there will be file browsers where you can quickly browse and sort files by coverage.</li>
    	<li>In the test output, you will see a line of text announcing to you that code coverage was generated.</li>
    </ol>
    
    <h2>The Myths About Code Coverage</h2>
    
    <p>With such a powerful tool in the developer's hands and under the management's nose, it was inevitable for some myths to surface. After programmers refused to be payed by the number of lines of code they write, or managers realized how easy it is to game the system, some of them started paying programmers by the percentage of code coverage. Higher code coverage means the programmer was more careful, right? It's a myth. Code coverage is not a measure of how well you write code.</p>
    
    <p>Sometimes programmers tend to think that code with 100% coverage has no bugs. Another myth. Code coverage merely tells you that you have tested each line of code. It is a measure of the number of lines exercised. It is not a measure of the number of lines correctly implemented. For example, half written algorithms with only half defined tests will still have 100% coverage. This does not mean the algorithm is finished or that it works correctly.</p>
    
    <p>Finally, gaming the system is very easy. Of course, if you use TDD, you are naturally having a high coverage value. On whole projects, 100% is impossible. But on small modules or classes, obtaining 100% coverage is very easy. Take for example our source code and imagine you have no tests at all. What would be the simplest test to exercise all the code?</p>
    
    <pre>function testItCanWrap() {&#x000A;    	$w = new WordWrap();&#x000A;    	$this-&gt;assertEquals("a b\nc", $w-&gt;wrap('a b c', 3));&#x000A;    	$this-&gt;assertEquals("a\nbc\nd", $w-&gt;wrap('a bc d', 3));&#x000A;    }</pre>
    
    <p>That's it. Two assertions and full coverage. This is not what we want. This test is so far from descriptive and complete, that it is ridiculous.</p>
    
    <h2>The Reality About Code Coverage</h2>
    
    <p>Code coverage is a status indicator, not a unit to measure performance or correctness.</p>
    
    <p>Code coverage is for programmers, not for managers. It is a way to spot problems in our code. A way to find old, untested classes. A way to find paths not exercised by the tests that could lead to problems.</p>
    
    <p>On real projects, code coverage will always be under 100%. Achieving perfect coverage is not possible, or if it is, it's rarely a must. However, to have 98% of coverage you must target 100%. Having anything else as your target is non-sense.</p>
    
    <p>Here is the code coverage on Syneto's StorageOS configuration application.</p>
    <img alt="" src="https://s3.amazonaws.com/cms-assets.tutsplus.com/uploads/users/45/posts/20442/image/SynetoCoverage.png" style="max-width: 100%; height: auto;"><p>The total is only about 35%, but the results need interpretation. Most of the modules are in the green, with more than 70% coverage. However there is a single folder, <code>Vmware</code>, which pulls down the average. It is a module with a lot of classes containing only definitions for the communication API. There is no reason to test those classes. They were automatically generated by trusted code. The programmers will know this and they will know how to interpret the results. A manager may insist on testing it because it is a red bar and it looks suspicious for someone not knowing the internal details of the project. Would it make any sense to test it? Not at all! It would be a useless test, that would take up precious tens of seconds of build time without any advantage.<br></p>
    
    <h2>Final Thoughts</h2>
    
    <p>So here is where we are with code coverage: it's a great tool for programmers, a source of information to highlight possible problems, a misunderstood reality for most managers, and another tool to force and measure programmers' activities. As with any other tool, it is one that can be correctly used and misused easily. </p>
    </div>
]]>
</Body>
<Summary>There was a time when programmers were paid by the number of lines of code they wrote. They were treated as source code producing machines working in cubicles and in return they considered...</Summary>
<Website>http://code.tutsplus.com/articles/test-code-coverage-from-myth-to-reality--cms-20442</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/42967/guest@my.umbc.edu/98d3db02a2a316896b39211f3ffa1fbf/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</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>Fri, 28 Mar 2014 11:00:12 -0400</PostedAt>
<EditAt>Fri, 28 Mar 2014 11:00:12 -0400</EditAt>
</NewsItem>

</News>
