<?xml version="1.0"?>
<News hasArchived="true" page="8694" pageCount="10720" pageSize="10" timestamp="Thu, 09 Jul 2026 05:35:42 -0400" url="https://my3.my.umbc.edu/posts.xml?page=8694">
<NewsItem contentIssues="true" id="30222" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30222">
<Title>Write an app in AngularJS</Title>
<Body>
<![CDATA[
    <div class="html-content">The AngularJS framework greatly simplifies frontend development, making it easy and fun to write complex web apps. Brian Ford explains how to use it to build a contact manager<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.netmagazine.com%2Ftutorials%2Fwrite-app-angularjs&amp;t=Write+an+app+in+AngularJS" 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%2Ftutorials%2Fwrite-app-angularjs&amp;t=Write+an+app+in+AngularJS" 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%2Ftutorials%2Fwrite-app-angularjs&amp;t=Write+an+app+in+AngularJS" 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%2Ftutorials%2Fwrite-app-angularjs&amp;t=Write+an+app+in+AngularJS" 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%2Ftutorials%2Fwrite-app-angularjs&amp;t=Write+an+app+in+AngularJS" 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/165664257309/u/49/f/502346/c/32632/s/2c4d923d/kg/342-363/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664257309/u/49/f/502346/c/32632/s/2c4d923d/kg/342-363/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The AngularJS framework greatly simplifies frontend development, making it easy and fun to write complex web apps. Brian Ford explains how to use it to build a contact manager     </Summary>
<Website>http://feedproxy.google.com/~r/net/topstories/~3/Vu-s9i4liTU/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30222/guest@my.umbc.edu/8c7dd36dfb6c43854c07bc25078a8c5b/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>Thu, 23 May 2013 06:43:31 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30220" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30220">
<Title>Building The New Financial Times Web App (A Case Study)</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>When the mockups for the <a href="http://apps.ft.com/ftwebapp/postlaunch.html" rel="nofollow external" class="bo">new Financial Times application</a> hit our desks in mid-2012, we knew we had a real challenge on our hands. Many of us on the team (including me) swore that parts of interface would not be possible in HTML5. Given the product team’s passion for the new UI, we rolled up our sleeves and gave it our best shot.</p>
    <p>We were tasked with implementing a far more challenging product, without compromising the reliable, performant experience that made the first app so successful.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/promo-compr.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/promo-500-compr.png" alt="promo-500-compr" width="500" height="315" style="max-width: 100%; height: auto;"></a></p>
    <p>We didn’t just want to build a product that fulfilled its current requirements; we wanted to build a foundation that we could innovate on in the future. This meant <strong>building with a maintenance-first mentality</strong>, writing clean, well-commented code and, at the same time, ensuring that our code could accommodate the demands of an ever-changing feature set.</p>
    <p>In this article, I’ll discuss some of the changes we made in the latest release and the decision-making behind them. I hope you will come away with some ideas and learn from our solutions as well as our mistakes.</p>
    <h3>Supported Devices</h3>
    <p>The first Financial Times Web app ran on iPad and iPhone in the browser, and it shipped in a native (<a title="PhoneGap" href="http://phonegap.com/" rel="nofollow external" class="bo">PhoneGap</a>-esque) application wrapper for Android and Windows 8 Metro devices. The latest Web app is currently being served to iPad devices only; but as support is built in and tested, it will be rolled out to all existing supported platforms. HTML5 gives developers the advantage of occupying almost any mobile platform. With 2013 promising the launch of several new Web application marketplaces (eg. <a title="The Chrome Web Store" href="https://chrome.google.com/webstore" rel="nofollow external" class="bo">Chrome Web Store</a> and <a title="The Mozilla Marketplace" href="https://marketplace.firefox.com/" rel="nofollow external" class="bo">Mozilla Marketplace</a>), we are excited by the possibilities that lie ahead for the mobile Web.</p>
    <h3>Fixed-Height Layouts</h3>
    <p>The first shock that came from the new mockups was that they were all fixed height. By “fixed height,” I mean that, unlike a conventional website, the height of the page is restricted to the height of the device’s viewport. If there is more content than there is screen space, overflow must be dealt with at a component level, as opposed to the page level. We wanted to use JavaScript only as a last resort, so the first tool that sprang to mind was flexbox. Flexbox gives developers the ability to declare flexible elements that can fill the available horizontal or vertical space, something that has been very tricky to do with CSS. Chris Coyier has a <a title="Old Flexbox and new Flexbox" href="http://css-tricks.com/old-flexbox-and-new-flexbox/" rel="nofollow external" class="bo">great introduction to flexbox</a>.</p>
    <h4>Using Flexbox in Production</h4>
    <p>Flexbox has been around since 2009 and has <a title="Flexbox has great support on mobile" href="http://caniuse.com/flexbox" rel="nofollow external" class="bo">great support</a> on all the popular smartphones and tablets. We jumped at the chance to use flexbox when we found out how easily it could solve some of our complex layouts, and we started throwing it at every layout problem we faced. As the app began to grow, we found performance was getting worse and worse.</p>
    <p>We spent a good few hours in Chrome Developers Tools’ timeline and found the culprit: Shock, horror! — it was our new best friend, flexbox. The timeline showed that some layouts were taking close to 100 milliseconds; reworking our layouts without flexbox reduced this to 10 milliseconds! This may not seem like a lot, but when swiping between sections, <strong>90 milliseconds of unresponsiveness is very noticeable</strong>.</p>
    <h4>Back to the Old School</h4>
    <p>We had no other choice but to tear out flexbox wherever we could. We used 100% height, floats, negative margins, border-box sizing and padding to achieve the same layouts with much greater performance (albeit with more complex CSS). Flexbox is still used in some parts of the app. We found that its impact on performance was less expensive when used for small UI components.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/layout-time-with-flexbox_mini.jpg" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/layout-time-with-flexbox-500_comp.png" alt="layout-time-with-flexbox-500_comp" width="500" height="297" style="max-width: 100%; height: auto;"></a><br><em>Page layout time with flexbox</em></p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/layout-time-without-flexbox_mini.jpg" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/layout-time-without-flexbox-500_comp.png" alt="layout-time-without-flexbox-500_comp" width="500" height="297" style="max-width: 100%; height: auto;"></a><br><em>Page layout time without flexbox</em></p>
    <h3>Truncation</h3>
    <p>The content of a fixed-height layout will rarely fit its container; eventually it has to overflow. Traditionally in print, designers have used ellipses (three dots) to solve this problem; however, on the Web, this isn’t the simplest technique to implement.</p>
    <h4>Ellipsis</h4>
    <p>You might be familiar with the <code>text-overflow: ellipsis</code> declaration in CSS. It works great, has <a title="text-overflow browser support" href="http://caniuse.com/text-overflow" rel="nofollow external" class="bo">awesome browser support</a>, but has one shortfall: it can’t be used for text that spans multiple lines. We needed a solution that would insert an ellipsis at the point where the paragraph overflows its container. JavaScript had to step in.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/ellipsis_mini.jpg" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/ellipsis-500_mini.jpg" alt="ellipsis-500_mini" width="500" height="656" style="max-width: 100%; height: auto;"></a><br><em>Ellipsis truncation is used throughout.</em></p>
    <p>After an in-depth research and exploration of several different approaches, we created our <a title="FTEllipsis" href="http://github.com/ftlabs/ftellipsis" rel="nofollow external" class="bo">FTEllipsis</a> library. In essence, it measures the available height of the container, then measures the height of each child element. When it finds the child element that overflows the container, it caps its height to a sensible number of lines. For WebKit-based browsers, we use the little-known <a title="webkit-line-clamp" href="http://dropshado.ws/post/1015351370/webkit-line-clamp" rel="nofollow external" class="bo"><code>-webkit-line-clamp</code></a> property to truncate an element’s text by a set number of lines. For non-WebKit browsers, the library allows the developer to style the overflowing container however they wish using regular CSS.</p>
    <h3>Modularization</h3>
    <p>Having tackled some of the low-level visual challenges, we needed to step back and decide on the best way to manage our application’s views. We wanted to be able to reuse small parts of our views in different contexts and find a way to <strong>architect rock-solid styling that wouldn’t leak</strong> between components.</p>
    <p>One of the best decisions we made in implementing the new application was to modularize the views. This started when we were first looking over the designs. We scribbled over printouts, breaking the page down into chunks (or modules). Our plan was to identify all of the possible layouts and modules, and define each view (or page) as a combination of modules sitting inside the slots of a single layout.</p>
    <p>Each module needed to be named, but we found it very hard to describe a module, especially when some modules could have multiple appearances depending on screen size or context. As a result, we abandoned semantic naming and decided to name each component after a type of fruit — no more time wasted thinking up sensible, unambiguous names!</p>
    <p><strong>An example of a module’s markup:</strong></p>
    <pre><code>&#x000A;    &lt;div class="apple"&gt;&#x000A;      &lt;h2 class="apple_headline"&gt;{{headline}}&lt;/h2&gt;&#x000A;      &lt;h3 class="apple_sub-head"&gt;{{subhead}}&lt;/h3&gt;&#x000A;      &lt;div class="apple_body"&gt;{{body}}&lt;/div&gt;&#x000A;    &lt;/div&gt;&#x000A;    </code></pre>
    <p><strong>An example of a module’s styling:</strong></p>
    <pre><code>&#x000A;    .apple {}&#x000A;    &#x000A;    .apple_headline {&#x000A;      font-size: 40px;&#x000A;    }&#x000A;    &#x000A;    .apple_sub-head {&#x000A;      font-size: 20px;&#x000A;    }&#x000A;    &#x000A;    .apple_body {&#x000A;      font-size: 14px;&#x000A;      column-count: 2;&#x000A;      color: #333;&#x000A;    }&#x000A;    </code></pre>
    <p>Notice how each class is prefixed with the module’s name. This ensures that the styling for one component will never affect another; every module’s styling is encapsulated. Also, notice how we use just one class in our CSS selectors; this makes our component transportable. Ridding selectors of any ancestral context means that modules may be dropped anywhere in our application and will look the same. This is all imperative if we want to be able to reuse components throughout the application (and even across applications).</p>
    <h4>What If a Module Needs Interactions?</h4>
    <p>Each module (or fruit) has its own markup and style, which we wrote in such a way that it can be reused. But what if we need a module to respond to interactions or events? We need a way to bring the component to life, but still ensure that it is unbound from context so that it can be reused in different places. This is a little trickier that just writing smart markup and styling. To solve this problem, we wrote FruitMachine.</p>
    <h3>Reusable Components</h3>
    <p><a title="FruitMachine layout engine" href="http://github.com/ftlabs/fruitmachine" rel="nofollow external" class="bo">FruitMachine</a> is a lightweight library that assembles our layout’s components and enables us to declare interactions on a per-module basis. It was inspired by the simplicity of <a title="Backbone: Application framework" href="http://backbonejs.org/" rel="nofollow external" class="bo">Backbone</a> views, but with a little more structure to keep “boilerplate” code to a minimum. FruitMachine gives our team a consistent way to work with views, while at the same time remaining relatively unopinionated so that it can be used in almost any view.</p>
    <h4>The Component Mentality</h4>
    <p>Thinking about your application as a collection of standalone components changes the way you approach problems. Components need to be dumb; they can’t know anything of their context or of the consequences of any interactions that may occur within them. They can have a public API and should emit events when they are interacted with. An <strong>application-specific controller</strong> assembles each layout and is <strong>the brain behind everything</strong>. Its job is to create, control and listen to each component in the view.</p>
    <p>For example, to show a popover when a component named “button” is clicked, we would not hardcode this logic into the button component. Instead “button” would emit a <code>buttonclicked</code> event on itself every time its button is clicked; the view controller would listen for this event and then show the popover. By working like this, we can create a large collection of components that can be reused in many different contexts. A view component may not have any application-specific dependencies if it is to be used across projects.</p>
    <p>Working like this has simplified our architecture considerably. Breaking down our views into components and decoupling them from our application focuses our decision-making and moves us away from baking complex, heavily dependent modules into our application.</p>
    <h4>The Future of FruitMachine</h4>
    <p>FruitMachine was our solution to achieve fully transportable view components. It enables us to quickly define and assemble views with minimal effort. We are currently using FruitMachine only on the client, but server-side (NodeJS) usage has been considered throughout development. In the coming months, we hope to move towards producing server-side-rendered websites that progressively enhance into a rich app experience.</p>
    <p>You can find out more about FruitMachine and check out some more examples in the <a title="FruitMachine layout engine" href="http://github.com/ftlabs/fruitmachine" rel="nofollow external" class="bo">public GitHub repository</a>.</p>
    <h3>Retina Support</h3>
    <p>The Financial Times’ first Web app was released before the age of “Retina” screens. We retrofitted some high-resolution solutions, but never went the whole hog. For our designers, 100% Retina support was a must-have in the new application. We developers were <strong>sick of maintaining multiple sizes and resolutions of each tiny image</strong> within the UI, so a single vector-based solution seemed like the best approach. We ended up choosing <a title="Why icon fonts are awesome" href="http://css-tricks.com/examples/IconFont/" rel="nofollow external" class="bo">icon fonts</a> to replace our old PNGs, and because they are implemented just like any other custom font, they are really well supported. SVG graphics were considered, but after finding a <a title="Android SVG support" href="http://caniuse.com/svg" rel="nofollow external" class="bo">lack of support</a> in Android 2.3 and below, this option was ruled out. Plus, there is something nice about having all of your icons bundled up in a single file, whilst not sacrificing the individuality of each graphic (like sprites).</p>
    <p>Our first move was to replace the Financial Times’ logo image with a single glyph in our own custom icon font. A font glyph may be any color and size, and it always looks super-sharp and is usually lighter in weight than the original image. Once we had proved it could work, we began replacing every UI image and icon with an icon font alternative. Now, the only pixel-based image in our CSS is the full-color logo on the splash screen. We used the powerful but rather archaic-looking <a href="http://fontforge.org/" rel="nofollow external" class="bo">FontForge</a> to achieve this.</p>
    <p>Once past the installation phase, you can open any font file in FontForge and individually change the vector shape of any character. We imported SVG vector shapes (created in Adobe Illustrator) into suitable character slots of our font and exported as WOFF and TTF font types. A combination of <strong>WOFF and TTF file formats are required to support iOS</strong>, Android and Windows devices, although we hope to rely only on WOFFs once Android gains support (plus, WOFFs are around 25% smaller in file size than TTFs).</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/icon-font-large-compr.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/icon-font-500-compr.png" alt="icon-font-500-compr" width="500" height="463" style="max-width: 100%; height: auto;"></a><br><em>The Financial Times’ icon font in Font Forge</em></p>
    <h4>Images</h4>
    <p>Article images are crucial for user engagement. Our images are delivered as double-resolution JPEGs so that they look sharp on Retina screens. Our image service (running <a title="ImageMagick" href="http://www.imagemagick.org/" rel="nofollow external" class="bo">ImageMagick</a>) outputs JPEGs at the lowest possible quality level without causing noticeable degradation (we use 35 for Retina devices and 70 for non-Retina). Scaling down retina size images in the browser enables us to reduce JPEG quality to a lower level than would otherwise be possible without compression artifacts becoming noticeable. <a href="http://filamentgroup.com/lab/rwd_img_compression/" rel="nofollow external" class="bo">This article</a> explains this technique in more detail.</p>
    <p>It’s worth noting that this technique does require the browser to work a little harder. In old browsers, the work of scaling down many large images could have a noticeable impact on performance, but we haven’t encountered any serious problems.</p>
    <h3>Native-Like Scrolling</h3>
    <p>Like almost any application, we require full-page and subcomponent scrolling in order to manage all of the content we want to show our users. On desktop, we can make use of the well-established <code>overflow</code> CSS property. When dealing with the mobile Web, this isn’t so straightforward. We require a single solution that provides a “momentum” scrolling experience across all of the devices we support.</p>
    <h4>overflow: scroll</h4>
    <p>The <code>overflow: scroll</code> declaration is becoming usable on the mobile Web. Android and iOS now support it, but only since Android 3.0 and iOS 5. IOS 5 came with the exciting new <code>-webkit-overflow-scrolling: touch</code> property, which allows for native momentum-like scrolling in the browser. Both of these options have their limitations.</p>
    <p>Standard <code>overflow: scroll</code> and <code>overflow: auto</code> don’t display scroll bars as users might expect, and they don’t have the momentum touch-scrolling feel that users have become accustomed to from their native apps. The <code>-webkit-overflow-scrolling: touch</code> declaration does add momentum scrolling and scroll bars, but it doesn’t allow developers to style the scroll bars in any way, and has limited support (iOS 5+ and Chrome on Android).</p>
    <h4>A Consistent Experience</h4>
    <p>Fragmented support and an inconsistent feel forced us to turn to JavaScript. Our first implementation used the <a title="TouchScroll JavaScript scrolling library" href="https://github.com/davidaurelio/TouchScroll" rel="nofollow external" class="bo">TouchScroll</a> library. This solution met our needs, but as our list of supported devices grew and as more complex scrolling interactions were required, working with it became trickier. TouchScroll lacks IE 10 support, and its API interface is difficult to work with. We also tried <a href="https://github.com/joehewitt/scrollability" rel="nofollow external" class="bo">Scrollability</a> and <a href="https://github.com/zynga/scroller" rel="nofollow external" class="bo">Zynga Scroller</a>, neither of which have the features, performance or cross-browser capability we were looking for. Out of this problem, FTScroller was developed: a high-performance, momentum-scrolling library with support for iOS, Android, Playbook and IE 10.</p>
    <h4>FTScroller</h4>
    <p><a href="https://github.com/ftlabs/ftscroller" rel="nofollow external" class="bo">FTScroller</a>’s scrolling implementation is similar to TouchScroll’s, with a flexible API much like Zynga Scroller. We added some enhancements, such as CSS bezier curves for bouncing, <code>requestAnimationFrame</code> for smoother frame rates, and support for IE 10. The advantage of writing our own solution is that we could develop a product that exactly meets our requirements. When you know the code base inside out, fixing bugs and adding features is a lot simpler.</p>
    <p>FTScroller is dead simple to use. Just pass in the element that will wrap the overflowing content, and FTScroller will implement horizontal or vertical scrolling as and when needed. Many other <a href="https://github.com/ftlabs/ftscroller#options" rel="nofollow external" class="bo">options</a> may be declared in an object as the second argument, for more custom requirements. We use FTScroller throughout the Financial Times’ Web app for a consistent cross-platform scrolling experience.</p>
    <p><strong>A simple example:</strong></p>
    <pre><code>&#x000A;    var container = document.getElementById('scrollcontainer');&#x000A;    var scroller = new FTScroller(container);&#x000A;    </code></pre>
    <h4>The Gallery</h4>
    <p>The part of our application that holds and animates the page views is known as the “gallery.” It consists of three divisions: <code>left</code>, <code>center</code> and <code>right</code>. The page that is currently in view is located in the center pane. The previous page is positioned off screen in the left-hand pane, and the next page is positioned off screen in the right-hand pane. When the user swipes to the next page, we use CSS transitions to animate the three panes to the left, revealing the hidden right pane. When the transition has finished, the right pane becomes the center pane, and the far-left pane skips over to become the right pane. By using only three page containers, we keep the DOM light, while still creating the illusion of infinite pages.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2013/05/the-gallery_mini.jpg" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2013/05/the-gallery-500_mini.jpg" alt="Web" width="500" height="559" style="max-width: 100%; height: auto;"></a><br><em>Infinite scrolling made possible with a three-pane gallery</em></p>
    <h3>Making It All Work Offline</h3>
    <p>Not many Web apps currently offer an offline experience, and there’s a good reason for that: implementing it is a bloody pain! The application cache (AppCache) at first glance appears to be the answer to all offline problems, but dig a little deeper and stuff gets nasty. Talks by <a title="Offline rules: Bleeding edge web standards at the Financial Times" href="http://bdconf.com/ft" rel="nofollow external" class="bo">Andrew Betts</a> and <a title="Appcache Douchebag" href="http://www.youtube.com/watch?v=cR-TP6jOSQM" rel="nofollow external" class="bo">Jake Archibald</a> explain really well the problems you will encounter. Unfortunately, AppCache is currently the only way to achieve offline support, so we have to work around its many deficiencies.</p>
    <p>Our approach to offline is to <strong>store as little in the AppCache as possible</strong>. We use it for fonts, the favicon and one or two UI images — things that we know will rarely or never need updating. Our JavaScript, CSS and templates live in <a title="localStorage" href="https://developer.mozilla.org/en-US/docs/DOM/Storage#localstorage" rel="nofollow external" class="bo">LocalStorage</a>. This approach gives us complete control over serving and updating the most crucial parts of our application. When the application starts, the bare minimum required to get the app up and running is sent down the wire, embedded in a single HTML page; we call this the preload.</p>
    <p>We show a splash screen, and behind the scenes we make a request for the application’s full resources. This request returns a big JSON object containing our JavaScript, CSS and <a href="http://mustache.github.io/" rel="nofollow external" class="bo">Mustache</a> templates. We <a href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/eval" rel="nofollow external" class="bo"><code>eval</code></a> the JavaScript and inject the CSS into the DOM, and then the application launches. This “bootstrap” JSON is then stored in LocalStorage, ready to be used when the app is next started up.</p>
    <p>On subsequent startups, we always use the JSON from LocalStorage and then check for resource updates in the background. If an update is found, we download the latest JSON object and replace the existing one in LocalStorage. Then, the next time the app starts, it launches with the new assets. If the app is launched offline, the startup process is the same, except that we cannot make the request for resource updates.</p>
    <h4>Images</h4>
    <p>Managing offline images is currently not as easy as it should be. Our image requests are run through a custom image loader and cached in the local database (<a title="IndexedDB" href="https://developer.mozilla.org/en-US/docs/IndexedDB" rel="nofollow external" class="bo">IndexedDB</a> or <a href="http://www.html5rocks.com/en/tutorials/webdatabase/websql-indexeddb/" rel="nofollow external" class="bo">WebSQL</a>) so that the images can be loaded when a network connection is not present. We never load images in the conventional way, otherwise they would break when users are offline.</p>
    <p><strong>Our image-loading process:</strong></p>
    <ol>
    <li>The loader scans the page for image placeholders declared by a particular class.</li>
    <li>It takes the <code>src</code> attribute of each image placeholder found and requests the source from our JavaScript image-loader library.</li>
    <li>The local database is checked for each image. Failing that, a single HTTP request is made listing all missing images.</li>
    <li>A JSON array of Base64-encoded images is returned from the HTTP response and stored separately in the local database.</li>
    <li>A callback is fired for each image request, passing the Base64 string as an argument.</li>
    <li>An <code>&lt;img&gt;</code> element is created, and its <code>src</code> attribute is set to the Base64 data-URI string.</li>
    <li>The image is faded in.</li>
    </ol>
    <p>I should also mention that we compress our Base64-encoded image strings in order to fit as many images in the database as possible. My colleague <a href="http://labs.ft.com/2012/06/text-re-encoding-for-optimising-storage-capacity-in-the-browser/" rel="nofollow external" class="bo">Andrew Betts goes into detail</a> on how this can be achieved.</p>
    <p>In some cases, we use this cool trick to handle images that fail to load:</p>
    <pre><code>&#x000A;    &lt;img src="image.jpg" onerror="this.style.display='none';" /&gt;&#x000A;    </code></pre>
    <h3>Ever-Evolving Applications</h3>
    <p>In order to stay competitive, <strong>a digital product needs to evolve, and as developers, we need to be prepared for this</strong>. When the request for a redesign landed at the Financial Times, we already had a fast, popular, feature-rich application, but it wasn’t built for change. At the time, we were able to implement small changes to features, but implementing anything big became a slow process and often introduced a lot of unrelated regressions.</p>
    <p>Our application was drastically reworked to make the new requirements possible, and this took a lot of time. Having made this investment, we hope the new application not only meets (and even exceeds) the standard of the first product, but gives us a platform on which we can develop faster and more flexibly in the future.</p>
    <p><em>(al)</em></p>
    <hr>
    <p><small>© Wilson Page for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2013.</small></p>
    </div>
]]>
</Body>
<Summary>        When the mockups for the new Financial Times application hit our desks in mid-2012, we knew we had a real challenge on our hands. Many of us on the team (including me) swore that parts of...</Summary>
<Website>http://www.smashingmagazine.com/2013/05/23/building-the-new-financial-times-web-app-a-case-study/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30220/guest@my.umbc.edu/0119deaa20c444b32980de57722e304f/api/pixel</TrackingUrl>
<Tag>coding</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</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>Thu, 23 May 2013 05:52:48 -0400</PostedAt>
<EditAt>Thu, 23 May 2013 05:52:48 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="30219" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30219">
<Title>Where exactly do I go on myUMBC to review my mailing address and make updates if necessary?</Title>
<Body>
<![CDATA[
    <div class="html-content"><div>    <p>
            Page
                <strong>edited</strong> by
                        <a href="https://wiki.umbc.edu/display/~amocko1%0A" rel="nofollow external" class="bo">Andrea Mocko</a>
                </p>
            <div>
            <h2>Tell me</h2>    <div>
                                
                    <div>
                                <span>These instructions are for full myUMBC accounts only.</span>
                        </div>
        </div>
    <ol>
    <li><p>Log into myUMBC <a href="https://my.umbc.edu" rel="nofollow external" class="bo">https://my.umbc.edu</a></p></li>
    <li>Click on your name</li>
    <li>Click: <strong>Profile</strong>
    </li>
    <li>Scroll to the bottom of the page to a section called <em>Student Contact Information</em>
    </li>
    <li>Click: <strong>Edit</strong> to review and make changes to your Mailing Address.</li>
    </ol>
    <h2>Rate this Article</h2>
    <p>
    
    
    
    
    <strong>Was this helpful?</strong>
    <a href="https://apps-my.umbc.edu/apps/rt-track/script.php?u=http://wiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D24478668&amp;q=0&amp;v=1&amp;s=faq&amp;l=myumbc" rel="nofollow external" class="bo">Yes</a>
     | <a href="https://docs.google.com/a/umbc.edu/spreadsheet/viewform?formkey=dEpyOEZxa29QY05BaVpBVzZSYmRMM0E6MA&amp;entry_15=http%3A%2F%2Fwiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D24478668" rel="nofollow external" class="bo">No</a>
     | <a href="https://docs.google.com/a/umbc.edu/spreadsheet/viewform?formkey=dEpyOEZxa29QY05BaVpBVzZSYmRMM0E6MA&amp;entry_15=http%3A%2F%2Fwiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D24478668" rel="nofollow external" class="bo">Correct or Suggest an Article</a>
     | <a href="https://apps-my.umbc.edu/apps/rt-track/script.php?u=http://wiki.umbc.edu%2Fpages%2Fviewpage.action%3FpageId%3D24478668&amp;q=0&amp;v=0&amp;s=faq&amp;l=myumbc" rel="nofollow external" class="bo">Request Help</a></p>
        </div>
            <div>
           <a href="https://wiki.umbc.edu/pages/viewpage.action?pageId=24478668" rel="nofollow external" class="bo">View Online</a>
                  ·
           <a href="https://wiki.umbc.edu/pages/diffpagesbyversion.action?pageId=24478668&amp;revisedVersion=8&amp;originalVersion=7" rel="nofollow external" class="bo">View Changes Online</a>       
                      </div>
    </div></div>
]]>
</Body>
<Summary>Page             edited by                     Andrea Mocko                                  Tell me                                                                                  These...</Summary>
<Website>https://wiki.umbc.edu/pages/viewpage.action?pageId=24478668</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30219/guest@my.umbc.edu/34d85dce9b6628562ea43b52bb5d1a95/api/pixel</TrackingUrl>
<Tag>faq</Tag>
<Tag>myumbc</Tag>
<Group token="retired-428">UMBC FAQ</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-428</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/images/avatars/group/1/xsmall.png?1783534816</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/images/avatars/group/1/original.png?1783534816</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/images/avatars/group/1/xxlarge.png?1783534816</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/images/avatars/group/1/xlarge.png?1783534816</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/images/avatars/group/1/large.png?1783534816</AvatarUrl>
<AvatarUrl size="medium">https://assets4-my.umbc.edu/images/avatars/group/1/medium.png?1783534816</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/images/avatars/group/1/small.png?1783534816</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/images/avatars/group/1/xsmall.png?1783534816</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/images/avatars/group/1/xxsmall.png?1783534816</AvatarUrl>
<Sponsor>UMBC FAQ</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 23 May 2013 05:50:36 -0400</PostedAt>
<EditAt>Mon, 05 Aug 2013 12:30:22 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30218" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30218">
<Title>Gadgetwise Blog: Tip of the Week: Touring the Library of Congress Digital Collections</Title>
<Body>
<![CDATA[
    <div class="html-content">The Web site of the Library of Congress offers a huge collection of digitized American history, all free to browse.<div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fgadgetwise.blogs.nytimes.com%2F2013%2F05%2F23%2Ftip-of-the-week-touring-the-library-of-congress-digital-collections%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Tip+of+the+Week%3A+Touring+the+Library+of+Congress+Digital+Collections" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F05%2F23%2Ftip-of-the-week-touring-the-library-of-congress-digital-collections%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Tip+of+the+Week%3A+Touring+the+Library+of+Congress+Digital+Collections" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F05%2F23%2Ftip-of-the-week-touring-the-library-of-congress-digital-collections%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Tip+of+the+Week%3A+Touring+the+Library+of+Congress+Digital+Collections" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F05%2F23%2Ftip-of-the-week-touring-the-library-of-congress-digital-collections%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Tip+of+the+Week%3A+Touring+the+Library+of+Congress+Digital+Collections" 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%2Fgadgetwise.blogs.nytimes.com%2F2013%2F05%2F23%2Ftip-of-the-week-touring-the-library-of-congress-digital-collections%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Gadgetwise+Blog%3A+Tip+of+the+Week%3A+Touring+the+Library+of+Congress+Digital+Collections" 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/165664770216/u/0/f/640387/c/34625/s/2c4c5071/kg/342/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664770216/u/0/f/640387/c/34625/s/2c4c5071/kg/342/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>The Web site of the Library of Congress offers a huge collection of digitized American history, all free to browse.     </Summary>
<Website>http://gadgetwise.blogs.nytimes.com/2013/05/23/tip-of-the-week-touring-the-library-of-congress-digital-collections/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30218/guest@my.umbc.edu/671739f09db65d192f6ffb7fe5785628/api/pixel</TrackingUrl>
<Tag>libraries-and-librarians</Tag>
<Tag>library-of-congress</Tag>
<Tag>new</Tag>
<Tag>technology</Tag>
<Tag>tips-and-how-tos</Tag>
<Tag>veterans</Tag>
<Tag>works-progress-administration</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>Thu, 23 May 2013 05:24:44 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="30217" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30217">
<Title>Design = emotions + usability</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail21.jpg" width="200" height="160" style="max-width: 100%; height: auto;">While fine art is a subjective field, graphic design is more formulaic in its fundamentals. An effective design should make people <strong>feel a certain way</strong> and <strong>take a certain action</strong>. In this article I’d like to share Gravity Switch’s <a href="http://www.gravityswitch.com/blog/web-design-principles" rel="nofollow external" class="bo">web design principles</a> and our thinking behind them.</p>
    <p>Those rules are: define goals first; focus on users second; design for emotion; follow the rules of visual design; build a clear, visual hierarchy; be consistent; break the rules (when necessary); don’t overuse gimmicks; and finally test, measure &amp; improve.</p>
    <h1>1. Define goals first</h1>
    <p>I bet you thought I was going to say “focus on users first”, that’s what <a href="https://www.msu.edu/~glazered/tc801/jakob.html" rel="nofollow external" class="bo">most</a> <a href="http://www.webdesignerdepot.com/2013/03/how-to-improve-site-navigation/" rel="nofollow external" class="bo">people</a> <a href="https://www.gov.uk/designprinciples" rel="nofollow external" class="bo">say.</a> Forget that, let’s start with your goals. Begin every website design project with a brainstorming session that outlines clear, realistic website goals that reinforce to your <strong>business objec</strong><strong>tives.</strong></p>
    <p>To better illustrate this let’s look to Amazon. Their objective is to maximize product sales. Through “upselling” and “cross-selling” they can maximize the purchasing power of each user, but to be successful in this they <em>slow down</em> the buying process. Unlike many of their competitors, Amazon does not have a “buy now” button in their search results. Users must visit one more page (with potential upsells) before making a purchase. This is a perfect example of how a site design can meet clear business goals.</p>
    <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/buy-now-example.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"></p>
    <p><em>Most modern ecommerce sites have removed the “buy now” button from their search results, although some brick and mortar outlets still have it. </em></p>
    <p> </p>
    <h1>2. Focus on users second</h1>
    <p>With your clear goals top of mind, you’ll then need to <strong>define and prioritize users</strong>. Be as specific as possible. Some examples of questions to ask are:</p>
    <ul>
    <li>Male vs. female breakdown?</li>
    <li>Education level?</li>
    <li>Locations in country?</li>
    <li>Related hobbies?</li>
    <li>Income bracket?</li>
    <li>Who’s driving kids’ product purchases? Kids? Parents? Grandparents?</li>
    </ul>
    <p>The key point is that designers should be aware of users so they can ensure their designs don’t block key usage paths.</p>
    <p> </p>
    <h1>3. Design for emotions</h1>
    <p>Be sure you understand <strong>what emotions your brand should con</strong><strong>vey.</strong> Brainstorm. Ask questions. Get agreement. And possibly most importantly, focus on these emotions when presenting back to your clients. Never ask if your client “likes” a design. When you deliver designs you should instead ask questions such as “Which of these makes you feel most professional?” or “When you compare these two designs you’ll see that this one is more modern, while this one is more dynamic. Those were both emotions that were important to you, now that you’re seeing them visually which do you think is the most important emotion for you to present to your target audience?”</p>
    <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/emotions.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p>
    <p><em>Which of these organizations are fun? Relaxing? Innovative? Busy? Real? (Designs by @JessicaShiner and Christine Mark)</em></p>
    <p> </p>
    <h1>4. Follow the rules of visual design</h1>
    <p>There are many small elements that website users consciously and subconsciously use to decide if they’re going to trust a website. The most important ones are:</p>
    <ul>
    <li>
    <strong>Cropping:</strong> selecting photos is only half the battle, cropping photos is what makes or breaks a page layout.</li>
    <li>
    <strong>Negative space:</strong> paying careful attention to margins, padding, and line height is the difference between looking like the New York Times vs. a high school newsletter.</li>
    <li>
    <strong>Fonts:</strong> everyone loves choosing fonts, but a great designer can spot a professional font quickly and has the restraint to keep the number of fonts on the website to 1-2 (not counting the logo which is often its own font).</li>
    <li>
    <strong>Colors:</strong> colors are one of the hardest things for designers to use effectively. There are so many rules to picking a good color palette, and while it’s tempting to use online <a href="http://www.webdesignerdepot.com/2013/04/essential-tools-for-every-web-designer/" rel="nofollow external" class="bo">color palette generators</a>, spend time designing your own color palette.</li>
    <li>
    <strong>Layout:</strong> create good visual page “flow” so that the user’s eyes go where you want them to go on the page without other elements visually clouding your objectives.</li>
    </ul>
    <p> </p>
    <h1>5. Build a clear, visual hierarchy</h1>
    <p>Website visitors skim. They don’t read. Grab their attention and get them to the most important information with a clearly defined, <strong>well thought out visual hierarchy</strong>. A well thought out design — site &gt; page &gt; section — leads the user through the page the way you want. Users should be able to glance at your page and understand it in a split second.</p>
    <p>Look at the following example of an article and notice how it’s hard for your eye to tell what the page is about or where the article starts!</p>
    <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/bad-visual-hierarchy.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p>
    <p>Below is a mockup I made by changing about a dozen lines of CSS to create a clearer visual hierarchy on this page in the following ways:</p>
    <ol>
    <li>The article title should be the most prominent element on the page. It’s currently a smaller font size than the heading further down the page! So I increased the size of the article title, and decreased the size of the headings. </li>
    <li>The heading further down the page was also disconnected from the content it was a heading for visually, so I also tightened up the spacing below the heading while leaving the space above the heading to let users know that it is a heading for the paragraph below it.</li>
    <li>I also moved the little image to the right of the title instead of the left so that when a user scans down the left-hand side of the page to orient themselves the article title is in their vision.</li>
    <li>I removed the border and background classes on the blue blurb so it no longer competes with the heading and removed the top margin. There was already a class in place to make it grey, which works fine in this instance.</li>
    <li>I also removed the distracting text and image which highlights that this is a reprint article as well as some empty paragraphs and &lt;hr&gt; tags.</li>
    </ol>
    <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/good-visual-hierarchy.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p>
    <p><em>I intentionally left all advertisements as they were originally coded, assuming that’s a critical part of this page.</em></p>
    <p> </p>
    <h1>6. Be consistent</h1>
    <p>Don’t confuse your users. Links should be consistent and distinct. Should you choose to use icons, photos and illustrations throughout make sure they look and feel like they belong as a cohesive set. <strong>Inconsistencies will distract the your user</strong> and obscure your message. Don’t use more than 3 fonts — it’s best if they’re all in the same family. Limit yourself to 5-6 colors (Note: the <a href="http://www.webdesignerdepot.com/2013/03/4-essential-rules-of-effective-logo-design/" rel="nofollow external" class="bo">logo</a> can be a different font, and often <em>should</em> be).</p>
    <p> </p>
    <h1>7. Break the rules (when necessary)</h1>
    <p>If there is something particularly <strong>unique or important </strong>that you need to highlight, you may need to “break the rules.” You can use one or two contrasting colors to help the element stand out. For example the UK website below emphasizes the tax rate by making this a larger element with a pop of color.</p>
    <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/vat-rates.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p>
    <p><em>When people visit the info page about the <a href="https://www.gov.uk/vat-rates" rel="nofollow external" class="bo">VAT tax,</a> the designers of GOV.UK made sure that the information most people need is front and center.</em></p>
    <p> </p>
    <h1>8. Don’t overuse gimmicks</h1>
    <p>Make your design fun, but <strong>make sure those elements support</strong> what you’re trying to accomplish on the site. For example the <a href="http://inze.it/" rel="nofollow external" class="bo">Inze</a> site is beautiful to look at and wonderful on mobile but when I visited it on my desktop computer I was lost. It turns out the navigation is hidden until you start scrolling which unfortunately took my eye to the the bottom of the page. As a result I didn’t even notice the subtle navigation appearing at the top. I scrolled most of the way to the bottom before even realizing that there was (finally) a navigation on the top. The “hidden” navigation is a neat effect, but the “design” prevented me from taking the desired action. In the end, it conveys a confusing, sloppy brand image.</p>
    <p>Compare Inze to what happens right in this article here on <a href="http://www.webdesignerdepot.com/" rel="nofollow external" class="bo">Web Designer Depot</a> when you roll over a link on your desktop computer. We have a neat effect but it doesn’t create a “barrier” for users for the sake of a gimmick. It also degrades gracefully so it won’t break on mobile or older browsers.</p>
    <p> </p>
    <h1>9. Test. Measure. Improve</h1>
    <p>Websites evolve. Design for flexibility and adaptability. Collecting and analyzing ongoing test data will drive constant improvement. Remember, it’s all about creating a design that meets your goals.</p>
    <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/tci-example.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"></p>
    <p><em>By carefully measuring the results of a series of minor design changes to the original landing page (left) we came up with a new design (right) that increased the percent of signups by 60%!</em></p>
    <p> </p>
    <h1>Remember</h1>
    <p>Effective graphic design needs to emotionally connect the user with the brand while at the same time getting them to do what you want. It <em>can</em> be done.</p>
    <p> </p>
    <p><em><strong>Do you agree with these rules for design? Would you add any more? Let us know your views in the comments.</strong></em></p>
    <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-104731811/stock-photo-businessman-hold-plates-with-smilies-on-black-background.html" rel="nofollow external" class="bo">emotion image</a> via Shutterstock.</em></p>
    <p><br><br>
    </p>
    <table width="100%">
    <tbody>
    <tr>
    <td>
          <a href="http://www.mightydeals.com/deal/cartonika.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Cartonika: Vector Cartoon Characters – only $37! </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="Design = emotions + usability" style="max-width: 100%; height: auto;"><br>
          </a>
        </td>
    </tr>
    </tbody>
    </table>
    <p><br> </p>
    <a href="http://www.webdesignerdepot.com/2013/05/design-emotions-usability/" rel="nofollow external" class="bo">Source</a>
    </div>
]]>
</Body>
<Summary>While fine art is a subjective field, graphic design is more formulaic in its fundamentals. An effective design should make people feel a certain way and take a certain action. In this article I’d...</Summary>
<Website>http://www.webdesignerdepot.com/2013/05/design-emotions-usability/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30217/guest@my.umbc.edu/4b7d11453494c50c6e3c67f24bcacec4/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>break-the-rules</Tag>
<Tag>css</Tag>
<Tag>define-website-goals</Tag>
<Tag>design</Tag>
<Tag>design-for-emotions</Tag>
<Tag>development</Tag>
<Tag>gravity-switch</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>rules-of-visual-design</Tag>
<Tag>sql</Tag>
<Tag>testing-design-decisions</Tag>
<Tag>usability</Tag>
<Tag>visual-hierarchy</Tag>
<Tag>web-design</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>Thu, 23 May 2013 05:15:07 -0400</PostedAt>
<EditAt>Thu, 23 May 2013 05:15:07 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="30251" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30251">
<Title>Design = emotions + usability</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2013/05/thumbnail21.jpg" width="200" height="160" style="max-width: 100%; height: auto;">While fine art is a subjective field, graphic design is more formulaic in its fundamentals. An effective design should make people <strong>feel a certain way</strong> and <strong>take a certain action</strong>. In this article I’d like to share Gravity Switch’s <a href="http://www.gravityswitch.com/blog/web-design-principles" rel="nofollow external" class="bo">web design principles</a> and our thinking behind them.</p> <p>Those rules are: define goals first; focus on users second; design for emotion; follow the rules of visual design; build a clear, visual hierarchy; be consistent; break the rules (when necessary); don’t overuse gimmicks; and finally test, measure &amp; improve.</p> <h1>1. Define goals first</h1> <p>I bet you thought I was going to say “focus on users first”, that’s what <a href="https://www.msu.edu/~glazered/tc801/jakob.html" rel="nofollow external" class="bo">most</a> <a href="http://www.webdesignerdepot.com/2013/03/how-to-improve-site-navigation/" rel="nofollow external" class="bo">people</a> <a href="https://www.gov.uk/designprinciples" rel="nofollow external" class="bo">say.</a> Forget that, let’s start with your goals. Begin every website design project with a brainstorming session that outlines clear, realistic website goals that reinforce to your <strong>business objec</strong><strong>tives.</strong></p> <p>To better illustrate this let’s look to Amazon. Their objective is to maximize product sales. Through “upselling” and “cross-selling” they can maximize the purchasing power of each user, but to be successful in this they <em>slow down</em> the buying process. Unlike many of their competitors, Amazon does not have a “buy now” button in their search results. Users must visit one more page (with potential upsells) before making a purchase. This is a perfect example of how a site design can meet clear business goals.</p> <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/buy-now-example.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"></p> <p><em>Most modern ecommerce sites have removed the “buy now” button from their search results, although some brick and mortar outlets still have it. </em></p> <p> </p> <h1>2. Focus on users second</h1> <p>With your clear goals top of mind, you’ll then need to <strong>define and prioritize users</strong>. Be as specific as possible. Some examples of questions to ask are:</p> <ul> <li>Male vs. female breakdown?</li> <li>Education level?</li> <li>Locations in country?</li> <li>Related hobbies?</li> <li>Income bracket?</li> <li>Who’s driving kids’ product purchases? Kids? Parents? Grandparents?</li> </ul> <p>The key point is that designers should be aware of users so they can ensure their designs don’t block key usage paths.</p> <p> </p> <h1>3. Design for emotions</h1> <p>Be sure you understand <strong>what emotions your brand should con</strong><strong>vey.</strong> Brainstorm. Ask questions. Get agreement. And possibly most importantly, focus on these emotions when presenting back to your clients. Never ask if your client “likes” a design. When you deliver designs you should instead ask questions such as “Which of these makes you feel most professional?” or “When you compare these two designs you’ll see that this one is more modern, while this one is more dynamic. Those were both emotions that were important to you, now that you’re seeing them visually which do you think is the most important emotion for you to present to your target audience?”</p> <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/emotions.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p> <p><em>Which of these organizations are fun? Relaxing? Innovative? Busy? Real? (Designs by @JessicaShiner and Christine Mark)</em></p> <p> </p> <h1>4. Follow the rules of visual design</h1> <p>There are many small elements that website users consciously and subconsciously use to decide if they’re going to trust a website. The most important ones are:</p> <ul> <li>
    <strong>Cropping:</strong> selecting photos is only half the battle, cropping photos is what makes or breaks a page layout.</li> <li>
    <strong>Negative space:</strong> paying careful attention to margins, padding, and line height is the difference between looking like the New York Times vs. a high school newsletter.</li> <li>
    <strong>Fonts:</strong> everyone loves choosing fonts, but a great designer can spot a professional font quickly and has the restraint to keep the number of fonts on the website to 1-2 (not counting the logo which is often its own font).</li> <li>
    <strong>Colors:</strong> colors are one of the hardest things for designers to use effectively. There are so many rules to picking a good color palette, and while it’s tempting to use online <a href="http://www.webdesignerdepot.com/2013/04/essential-tools-for-every-web-designer/" rel="nofollow external" class="bo">color palette generators</a>, spend time designing your own color palette.</li> <li>
    <strong>Layout:</strong> create good visual page “flow” so that the user’s eyes go where you want them to go on the page without other elements visually clouding your objectives.</li> </ul> <p> </p> <h1>5. Build a clear, visual hierarchy</h1> <p>Website visitors skim. They don’t read. Grab their attention and get them to the most important information with a clearly defined, <strong>well thought out visual hierarchy</strong>. A well thought out design — site &gt; page &gt; section — leads the user through the page the way you want. Users should be able to glance at your page and understand it in a split second.</p> <p>Look at the following example of an article and notice how it’s hard for your eye to tell what the page is about or where the article starts!</p> <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/bad-visual-hierarchy.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p> <p>Below is a mockup I made by changing about a dozen lines of CSS to create a clearer visual hierarchy on this page in the following ways:</p> <ol> <li>The article title should be the most prominent element on the page. It’s currently a smaller font size than the heading further down the page! So I increased the size of the article title, and decreased the size of the headings. </li> <li>The heading further down the page was also disconnected from the content it was a heading for visually, so I also tightened up the spacing below the heading while leaving the space above the heading to let users know that it is a heading for the paragraph below it.</li> <li>I also moved the little image to the right of the title instead of the left so that when a user scans down the left-hand side of the page to orient themselves the article title is in their vision.</li> <li>I removed the border and background classes on the blue blurb so it no longer competes with the heading and removed the top margin. There was already a class in place to make it grey, which works fine in this instance.</li> <li>I also removed the distracting text and image which highlights that this is a reprint article as well as some empty paragraphs and &lt;hr&gt; tags.</li> </ol> <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/good-visual-hierarchy.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p> <p><em>I intentionally left all advertisements as they were originally coded, assuming that’s a critical part of this page.</em></p> <p> </p> <h1>6. Be consistent</h1> <p>Don’t confuse your users. Links should be consistent and distinct. Should you choose to use icons, photos and illustrations throughout make sure they look and feel like they belong as a cohesive set. <strong>Inconsistencies will distract the your user</strong> and obscure your message. Don’t use more than 3 fonts — it’s best if they’re all in the same family. Limit yourself to 5-6 colors (Note: the <a href="http://www.webdesignerdepot.com/2013/03/4-essential-rules-of-effective-logo-design/" rel="nofollow external" class="bo">logo</a> can be a different font, and often <em>should</em> be).</p> <p> </p> <h1>7. Break the rules (when necessary)</h1> <p>If there is something particularly <strong>unique or important </strong>that you need to highlight, you may need to “break the rules.” You can use one or two contrasting colors to help the element stand out. For example the UK website below emphasizes the tax rate by making this a larger element with a pop of color.</p> <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/vat-rates.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"> </p> <p><em>When people visit the info page about the <a href="https://www.gov.uk/vat-rates" rel="nofollow external" class="bo">VAT tax,</a> the designers of GOV.UK made sure that the information most people need is front and center.</em></p> <p> </p> <h1>8. Don’t overuse gimmicks</h1> <p>Make your design fun, but <strong>make sure those elements support</strong> what you’re trying to accomplish on the site. For example the <a href="http://inze.it/" rel="nofollow external" class="bo">Inze</a> site is beautiful to look at and wonderful on mobile but when I visited it on my desktop computer I was lost. It turns out the navigation is hidden until you start scrolling which unfortunately took my eye to the the bottom of the page. As a result I didn’t even notice the subtle navigation appearing at the top. I scrolled most of the way to the bottom before even realizing that there was (finally) a navigation on the top. The “hidden” navigation is a neat effect, but the “design” prevented me from taking the desired action. In the end, it conveys a confusing, sloppy brand image.</p> <p>Compare Inze to what happens right in this article here on <a href="http://www.webdesignerdepot.com/" rel="nofollow external" class="bo">Web Designer Depot</a> when you roll over a link on your desktop computer. We have a neat effect but it doesn’t create a “barrier” for users for the sake of a gimmick. It also degrades gracefully so it won’t break on mobile or older browsers.</p> <p> </p> <h1>9. Test. Measure. Improve</h1> <p>Websites evolve. Design for flexibility and adaptability. Collecting and analyzing ongoing test data will drive constant improvement. Remember, it’s all about creating a design that meets your goals.</p> <p><img src="http://netdna.webdesignerdepot.com/uploads/2013/05/tci-example.jpg" width="650" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"></p> <p><em>By carefully measuring the results of a series of minor design changes to the original landing page (left) we came up with a new design (right) that increased the percent of signups by 60%!</em></p> <p> </p> <h1>Remember</h1> <p>Effective graphic design needs to emotionally connect the user with the brand while at the same time getting them to do what you want. It <em>can</em> be done.</p> <p> </p> <p><em><strong>Do you agree with these rules for design? Would you add any more? Let us know your views in the comments.</strong></em></p> <p><em>Featured image/thumbnail, <a href="http://www.shutterstock.com/pic-104731811/stock-photo-businessman-hold-plates-with-smilies-on-black-background.html" rel="nofollow external" class="bo">emotion image</a> via Shutterstock.</em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/magnolia.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Magnolia: 150+ Professional Infographic Elements – only $9!</strong></a> </td> <td> <a href="http://www.mightydeals.com/?ref=inwidget" rel="nofollow external" class="bo"><br> <img src="http://mightydeals.com/web/images/widget-logo.png" height="40" width="90" alt="Design = emotions + usability" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2013/05/design-emotions-usability/" rel="nofollow external" class="bo">Source</a> <div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2013%2F05%2Fdesign-emotions-usability%2F&amp;t=Design+%3D+emotions+%2B+usability" 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%2F05%2Fdesign-emotions-usability%2F&amp;t=Design+%3D+emotions+%2B+usability" 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%2F05%2Fdesign-emotions-usability%2F&amp;t=Design+%3D+emotions+%2B+usability" 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%2F05%2Fdesign-emotions-usability%2F&amp;t=Design+%3D+emotions+%2B+usability" 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%2F05%2Fdesign-emotions-usability%2F&amp;t=Design+%3D+emotions+%2B+usability" 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/165664769347/u/49/f/657673/c/35285/s/2c4c48e3/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/165664769347/u/49/f/657673/c/35285/s/2c4c48e3/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>While fine art is a subjective field, graphic design is more formulaic in its fundamentals. An effective design should make people feel a certain way and take a certain action. In this article I’d...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/657673/s/2c4c48e3/l/0L0Swebdesignerdepot0N0C20A130C0A50Cdesign0Eemotions0Eusability0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30251/guest@my.umbc.edu/df75aaceae5c3df5df9bd707a70601cc/api/pixel</TrackingUrl>
<Tag>art</Tag>
<Tag>break-the-rules</Tag>
<Tag>css</Tag>
<Tag>define-website-goals</Tag>
<Tag>design</Tag>
<Tag>design-for-emotions</Tag>
<Tag>development</Tag>
<Tag>gravity-switch</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>rules-of-visual-design</Tag>
<Tag>sql</Tag>
<Tag>testing-design-decisions</Tag>
<Tag>usability</Tag>
<Tag>visual-hierarchy</Tag>
<Tag>web-design</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>Thu, 23 May 2013 05:15:07 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30296" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30296">
<Title>PHP 5.5.0RC2 is available</Title>
<Body>
<![CDATA[
    <div class="html-content">The PHP development team announces the availability of the second release candidate of PHP 5.5.
         This release fixes some bugs against RC1 and improves overall stability.
         
        THIS IS A DEVELOPMENT PREVIEW - DO NOT USE IT IN PRODUCTION!
        
        You can find an incomplete changelog of PHP 5.5.0RC2 here :
        
        
         Fixed a bug related to segfault on memory exhaustion within function definition.
         Fixed bug in mbstring PHPTs which would crash on Windows x64.
         Fixed a bug where Custom Exceptions could crash when internal properties overridden.
       
        
        To get the full changelog, please, check the NEWS file attached to the archive.
        For source downloads of PHP 5.5.0RC2 please visit the download page,
        Windows binaries can be found on windows.php.net/qa/.
        
        
         Please help us to identify bugs in order to ensure that the release is solid and all things behave as expected.
         Please test this release candidate against your code base and report any problems that you encounter to the
         QA mailing list and/or the PHP bug tracker.
        
        
         Thanks to all people helping on the PHP project.</div>
]]>
</Body>
<Summary>The PHP development team announces the availability of the second release candidate of PHP 5.5.      This release fixes some bugs against RC1 and improves overall stability.           THIS IS A...</Summary>
<Website>http://php.net/index.php#id2013-05-23-1</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30296/guest@my.umbc.edu/be9ce2b4379ca2312c5d4ce21220d558/api/pixel</TrackingUrl>
<Tag>design</Tag>
<Tag>develop</Tag>
<Tag>frontpage</Tag>
<Tag>learn</Tag>
<Tag>mysql</Tag>
<Tag>news</Tag>
<Tag>php</Tag>
<Tag>releases</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>Thu, 23 May 2013 04:16:02 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="32770" important="false" status="posted" url="https://my3.my.umbc.edu/posts/32770">
<Title>Addressing Psychological Impacts of Genetic Testing on Patients, Families</Title>
<Body>
<![CDATA[
    <div class="html-content">Six questions for psychologist Andrea Farkas Patenaude, PhD</div>
]]>
</Body>
<Summary>Six questions for psychologist Andrea Farkas Patenaude, PhD</Summary>
<Website>http://www.apa.org/news/press/releases/2013/05/genetic-testing.aspx</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/32770/guest@my.umbc.edu/9236c8082dc7ac19aaf6f9b5ce741192/api/pixel</TrackingUrl>
<Group token="retired-230">Psychology Student Association @ USG</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-230</GroupUrl>
<AvatarUrl>https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xsmall.png?1359246046</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/original.jpg?1359246046</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xxlarge.png?1359246046</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xlarge.png?1359246046</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/large.png?1359246046</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/medium.png?1359246046</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/small.png?1359246046</AvatarUrl>
<AvatarUrl size="xsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xsmall.png?1359246046</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/230/b64bd4b2d025a7635eabf84b086f65fe/xxsmall.png?1359246046</AvatarUrl>
<Sponsor>Psychology Student Association @ USG</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 23 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30232" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30232">
<Title>Clark Earns First Win Throwing Knuckleball as Bowie Defeats Akron, 7-5</Title>
<Body>
<![CDATA[
    <div class="html-content">AKRON, Ohio � UMBC alum Zach Clark (Newark, Del.) earned his first win while throwing predominantly a knuckleball as the Bowie Baysox defeated the Akron Aeros, 7-5, Wednesday night at Canal Park.</div>
]]>
</Body>
<Summary>AKRON, Ohio � UMBC alum Zach Clark (Newark, Del.) earned his first win while throwing predominantly a knuckleball as the Bowie Baysox defeated the Akron Aeros, 7-5, Wednesday night at Canal Park.</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8024</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30232/guest@my.umbc.edu/0d79ef7b79e658366dfba5430ddd7b8f/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>Thu, 23 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="30233" important="false" status="posted" url="https://my3.my.umbc.edu/posts/30233">
<Title>Ethan Murphy Selected to Play in USILA/LAXWORLD North-South Division I/II Contest</Title>
<Body>
<![CDATA[
    <div class="html-content">Perry, N.Y.- UMBC senior defender Ethan Murphy (West Seneca, N.Y./West Seneca East) has been selected to compete in the USILA/LAXWORLD North-South Division I/II game, it was announced by the United States Intercollegiate Lacrosse Association on May 22. 
    The contest will be held at Edith Robb Dixon Field on the campus of Cabrini College in Radnor, Pa., on Friday, May 24, 2013 at 5:30 p.m.</div>
]]>
</Body>
<Summary>Perry, N.Y.- UMBC senior defender Ethan Murphy (West Seneca, N.Y./West Seneca East) has been selected to compete in the USILA/LAXWORLD North-South Division I/II game, it was announced by the...</Summary>
<Website>http://www.umbcretrievers.com/release.asp?RELEASE_ID=8025</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/30233/guest@my.umbc.edu/3b2e1b1c3949a4f35bbeaf6fd33709f6/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>Thu, 23 May 2013 01:00:00 -0400</PostedAt>
</NewsItem>

</News>
