<?xml version="1.0"?>
<News hasArchived="true" page="7849" pageCount="10794" pageSize="10" timestamp="Tue, 08 Sep 2026 01:38:58 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=7849&amp;range=2">
<NewsItem contentIssues="false" id="106876" important="false" status="posted" url="https://my3.my.umbc.edu/posts/106876">
<Title>Meet the Staff: Jessie Orsburn</Title>
<Body>
<![CDATA[
    <div class="html-content">At Alumni Relations, we spend a lot of time focusing on and communicating with our wonderfully supportive alums. However, we’ve …</div>
]]>
</Body>
<Summary>At Alumni Relations, we spend a lot of time focusing on and communicating with our wonderfully supportive alums. However, we’ve …</Summary>
<Website>https://magazine.umbc.edu/meet-the-staff-jessie-orsburn/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/106876/guest@my.umbc.edu/35e0f80381c3ab13e872dc0a3be50773/api/pixel</TrackingUrl>
<Tag>africa</Tag>
<Tag>alumni</Tag>
<Tag>superman</Tag>
<Tag>umbc</Tag>
<Tag>umbc-staff</Tag>
<Tag>university-of-maryland-baltimore-county</Tag>
<Group token="retired-1945">UMBC Magazine</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-1945</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/images/avatars/group/8/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/images/avatars/group/8/original.png?1787842820</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/images/avatars/group/8/xxlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/images/avatars/group/8/xlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/images/avatars/group/8/large.png?1787842820</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/images/avatars/group/8/medium.png?1787842820</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/images/avatars/group/8/small.png?1787842820</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/images/avatars/group/8/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/images/avatars/group/8/xxsmall.png?1787842820</AvatarUrl>
<Sponsor>UMBC Magazine</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 09:35:56 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="41234" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41234">
<Title>Officers Meeting</Title>
<Tagline>To get things rolling</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Hey there! <div>Thanks for joining the UMBC TED club. We are so happy to see all the positive responses from students. Especially because we created this club about two weeks ago!</div>
    <div>There are three potential officers that are going to be meeting next week to discuss a first full club meeting. I will keep everyone updated with the progress of our official club application and first meeting dates. </div>
    <div><br></div>
    <div>Thank you!</div>
    </div>
]]>
</Body>
<Summary>Hey there!  Thanks for joining the UMBC TED club. We are so happy to see all the positive responses from students. Especially because we created this club about two weeks ago!  There are three...</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41234/guest@my.umbc.edu/4e3e9136c8db22cdf65bbb7d9dcfe7bc/api/pixel</TrackingUrl>
<Group token="retired-824">UMBC TED Club </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-824</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/xsmall.png?1392045914</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/original.jpg?1392045914</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/xxlarge.png?1392045914</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/xlarge.png?1392045914</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/large.png?1392045914</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/medium.png?1392045914</AvatarUrl>
<AvatarUrl size="small">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/small.png?1392045914</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/xsmall.png?1392045914</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/824/f43b42179344b1dc12e03a961d7a61a6/xxsmall.png?1392045914</AvatarUrl>
<Sponsor>UMBC TED Club (Unofficial)</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 09:25:04 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="41233" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41233">
<Title>Using CreateJS - EaselJS</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>In this tutorial we will be exploring the <a href="http://createjs.com" rel="nofollow external" class="bo">CreateJS</a> suite of libraries. CreateJS is suite of JavaScript libraries and tools for building rich, interactive experiences with HTML5. The CreateJS suite is divided into four libraries.</p>
    <p></p>
    <ul>
    <li>EaselJS   - Makes working with HTML5 canvas easy.</li>
    <li>TweenJS   - For tweening HTML5 and JavaScript properties</li>
    <li>SoundJS  - Lets you easily work with HTML5 audio</li>
    <li>PreloadJS - Lets you manage and coordinate loading of assets</li>
    </ul>
    <p>The first library we will look at is EaselJs. Lets get started!</p>
    <hr>
    <h2>EaselJS Explained</h2>
    <p>EaselJS is a library for working with the HTML5 canvas.  It consists of a full, hierarchical display list, a core interaction model, and helper classes to make working with Canvas much easier. Getting up and running with EaselJS could not be easier. You'll need to define a canvas element in your HTML and reference it in your JavaScript. EaselJS uses the notion of a <a href="http://createjs.com/Docs/EaselJS/classes/Stage.html" rel="nofollow external" class="bo">Stage</a> which is the top level Container for the display list ( the stage will be your canvas element). Below is an HTML fragment and the corresponding JavaScript needed to setup EaselJS.</p>
    <pre>&lt;canvas id="testCanvas" width="600" height="300"&gt;&lt;/canvas&gt;</pre>
    <p>To reference the above canvas you would use the following.</p>
    <pre> var canvas = document.getElementById("testCanvas");&#x000A;     var stage = new createjs.Stage(canvas);</pre>
    <hr>
    <h2>Drawing With the Graphics and Shape Classes</h2>
    <p>EaselJS comes with a <a href="http://createjs.com/Docs/EaselJS/classes/Graphics.html" rel="nofollow external" class="bo">Graphics</a> class that exposes an easy to use API for generating vector drawing instructions and drawing them to a specified context. The commands are very similar to the normal HTML5 Canvas, while EaselJs adds some of its own new commands as well. If you are not familiar with HTML 5 canvas and the drawing commands, you may want to watch the <a href="https://tutsplus.com/course/canvas-essentials/" rel="nofollow external" class="bo">Canvas Essentials</a> course that was recently released. You will normally not use the Graphics class by itself, but rather access it by the <a href="http://createjs.com/Docs/EaselJS/classes/Shape.html" rel="nofollow external" class="bo">Shape</a> class. Below is a JSFiddle that uses that Shape class to do some drawing.</p>
    <p></p>
    <p>As you can see in the above code the commands are chainable <code>ShapeObject.graphics.setStrokeStyle(1).beginStroke("rgba(0,0,0,1)</code> etc.. You may also have noticed a call to <code>stage.addChild()</code> within the functions. Anytime you want to put something onto the canvas, you must call <code>stage.addChild()</code>. Within the <code>drawShapes()</code> function, there is a call to <code>stage.update()</code>. To be able to see your changes, you must call <code>stage.update()</code> after each change to the canvas. There is a way to not have to repeatedly call <code>stage.update()</code> and that is by using the <a href="http://createjs.com/Docs/EaselJS/classes/Ticker.html" rel="nofollow external" class="bo">Ticker</a> Class. The Ticker provides a centralized tick or heartbeat broadcast at a set interval. Listeners can subscribe to the tick event to be notified when a set time interval has elapsed. Below is how you would use the Ticker class to automatically update the stage.</p>
    <pre> createjs.Ticker.addEventListener("tick", handleTick);&#x000A;     function handleTick(event) {&#x000A;       stage.update()&#x000A;     }</pre>
    <p>The Shape class comes with a whole slew of properties you can adjust such as <code>x,y</code> positions, <code>alpha</code>, <code>scaleX,scaleY</code> and quite a few others. Below is a demo showing some of these properties.</p>
    <p></p>
    <p>Within the <code>drawTheShapes()</code> we generate 15 circles with a line drawn through them, being able to chain the drawing commands makes this dead simple. Then we randomize the shapes position, scale, rotation, and alpha.</p>
    <p>You can attach events to the shapes such as <code>click</code>, <code>mousedown/over/out</code>, etc, by using the <code>on()</code> method. In this demo when you click on one of the shapes an alert is thrown up, and on mouseout we log a message to the console. To allow for mouse events on the stage <code>mousedown/over/out</code> etc, you must call <code>stage.enableMouseOver(frequency)</code> where frequency is the number of times per second to broadcast the mouse events. This operation is expensive, so it is disabled by default. </p>
    <hr>
    <h2>The Text Class</h2>
    <p>EaselJS ships with a <a href="http://createjs.com/Docs/EaselJS/classes/Text.html" rel="nofollow external" class="bo">Text</a> class that makes it very easy to create text, and to change properties on that text. You call the constructor passing in the text, a font, and a color i.e. <code>new createjs.Text("Hello World", "20px Arial", "#ff7700")</code> Like the Shape class, it comes with a variety of properties and methods. Below is a demo utilizing the Text class.</p>
    <p></p>
    <p>Similar to the last demo, we create 25 TextFields, and apply some random values to their properties.</p>
    <hr>
    <h2>Demo Project - Hangman</h2>
    <p>The following demo is a hangman game created using the Shape and Text Class we have discussed so far in this tutorial.</p>
    <p></p>
    <p>To draw the hangman we use a combination on <code>lineTo()</code>, <code>moveTo()</code>, and for the head we use the <code>arc()</code> method. Within the <code>drawCanvas()</code> function, we call the <code>clear()</code> method on the <code>hangmanShape.graphics</code> which clears out any previous drawings we have done into this shape. We change the TextFields color depending on whether player has won or lost their game.</p>
    <hr>
    <h2>Bitmaps</h2>
    <p>You can use images by utilizing the <a href="http://createjs.com/Docs/EaselJS/classes/Bitmap.html" rel="nofollow external" class="bo">Bitmap</a> class. A Bitmap represents an Image, Canvas, or Video in the display list, it can be instantiated using an existing HTML element, or a string (Base64). For example <code>new createjs.Bitmap("imagePath.jpg")</code>.</p>
    <p>&lt;</p>
    <p>Very similar to previous demos we create three bitmaps here, and give some random properties to them.</p>
    <p>We are using the <a href="http://createjs.com/Docs/EaselJS/classes/Shadow.html" rel="nofollow external" class="bo">Shadow</a> class to create some shadows. The shadow class takes as parameters, the color, offsetX, offsetY, and size of the blur effect etc. <code>myImage.shadow = new createjs.Shadow("#000000", 5, 5, 10)</code>. You can apply shadows to any Display Object so this would work for text as well.</p>
    <hr>
    <h2>Sprite and SpriteSheets</h2>
    <p>A <a href="http://createjs.com/Docs/EaselJS/classes/Sprite.html" rel="nofollow external" class="bo">Sprite</a> displays a frame or sequence of frames (like an animation) from a <a href="http://createjs.com/Docs/EaselJS/classes/SpriteSheet.html" rel="nofollow external" class="bo">SpriteSheet</a> instance. A sprite sheet is a series of images (usually animation frames) combined into a single image. For example, an animation consisting of eight 100x100 images could be combined into a 400x200 sprite sheet (four frames across by two high). You can display individual frames, play frames as an animation, and even sequence animations together. To initialize a Sprite instance you pass in a SpriteSheet and optional frame number or animation to play, for example, <code>new createjs.Sprite(spriteSheet,"run")</code>. The data passed to the SpriteSheet constructor defines three critical pieces of information:</p>
    <ul>
    <li>The image or images to use.</li>
    <li>The positions of individual image frames. This data can be represented in one of two ways: As a regular grid of sequential, equal-sized frames, or as individually defined, variable sized frames arranged in an irregular (non-sequential) fashion.</li>
    <li> Likewise, animations can be represented in two ways: As a series of sequential frames, defined by a start and end frame [0,3], or as a list of frames [0,1,2,3].</li>
    </ul>
    <p>Below is some sample code that would initialize a "character" sprite.</p>
    <pre>var data = new createjs.SpriteSheet({&#x000A;    "images": ["path/to/image.png"],&#x000A;    "frames": {"regX": 0, "height": 96, "count": 10, "regY": 0, "width": 75},&#x000A;    "animations": {"walk": [0, 9]}&#x000A;    });&#x000A;    character = new createjs.Sprite(data, "walk");&#x000A;    character.play();</pre>
    <p>Here is a demo using the Sprite and SpriteSheet Class. You need to click on the stage, and then you can use "A" to move left, and "D" to move right. One thing to note about this demo is that I have Base64 encoded the images and they are included by the "imagestrings.js" external resource. Because we are using a SpriteSheet and interacting with the mouse the canvas gets tainted from cross domain images policy (CORS). By using Base64 strings we can overcome this. If this were hosted on your own domain you would use the Bitmap class as usual by passing a element, or path.</p>
    <p></p>
    <p>Within the <code>setup()</code> function we are creating the <code>spritesheet</code>. For the "images" key I am passing in <code>characterImage</code> which is a Base64 encoded string. For the "frames" key the character images are 96 pixels high, 75 pixels wide, and there are ten frames(separate images). Below is the image we are using for the <code>spritesheet</code> so you can visualize what it looks like.</p>
    
    <img src="https://cdn.tutsplus.com/net/uploads/2014/01/character2.png" alt="Character" width="600" height="75" style="max-width: 100%; height: auto;"><br>
    
    <p> For the "animation" key we define a "run" animation that is from "frame" zero to nine. Lastly, we create the <code>character</code> from the <code>spritesheet</code>.</p>
    <p>When you move the character left or right we call <code>character.play()</code>. and when you stop moving the character we call<code>character.gotoAndStop(0)</code>. Since we only have one "animation" we can just call <code>play()</code> and <code>gotoAndStop()</code> if you had a number of animations you would use a combination of these two plus <code>gotoAndPlay()</code>.</p>
    <hr>
    <h2>Container</h2>
    <p>The <a href="http://createjs.com/Docs/EaselJS/classes/Container.html" rel="nofollow external" class="bo">Container</a> Class is a nestable display list that allows you to work with compound display elements. For example you could group arm, leg, torso and head Bitmap instances together into a Person Container, and transform them as a group, while still being able to move the individual parts relative to each other. Children of containers have their transform and alpha properties concatenated with their parent Container. Below is a demo utilizing the Container Class. Click on the stage to move the container by 20 pixels.</p>
    <p></p>
    <p>Here we are creating three bitmaps and adding them to the <code>container</code>, we are then able to move them all in one go by moving the <code>container</code>, and even though they are in a container you could still move them each individually.</p>
    <hr>
    <h2>Cache()</h2>
    <p>The <a href="http://createjs.com/Docs/EaselJS/classes/DisplayObject.html#method_cache" rel="nofollow external" class="bo">cache()</a> method of the display object draws the display object into a new canvas, which is then used for subsequent draws. For complex content that does not change frequently (ex. a Container with many children that do not move, or a complex vector Shape), this can provide for much faster rendering because the content does not need to be re-rendered each tick.</p>
    <p> The cached display object can be moved, rotated, faded, etc freely, however if its content changes, you must manually update the cache by calling <code>updateCache()</code> or <code>cache()</code> again. You must specify the cache area via the x, y, w, and h parameters. This defines the rectangle that will be rendered and cached using this display object's coordinates. Caching should not normally be used on the <code>Bitmap</code> class as it can degrade performance, however if you want to use a filter on a <code>Bitmap</code> then it must be cached.</p>
    <p> Due to size restraints on the JSFiddle embeds I will not be providing a demo for this method, but will link you to a <a href="http://createjs.com/Demos/EaselJS/Cache.html" rel="nofollow external" class="bo">demo</a> on the CreateJs website.</p>
    <hr>
    <h2>Filters</h2>
    <p>The <a href="http://createjs.com/Docs/EaselJS/classes/Filter.html" rel="nofollow external" class="bo">Filter</a> class is the base class that all filters should inherit from. Filters need to be applied to objects that have been cached using the cache method. If an object changes, you will need to cache it again, or use <code>updateCache()</code>. Note that the filters must be applied <em>before</em> caching. EaselJS comes with a number of pre-built filters. Note that individual filters are not compiled into the minified version of EaselJS. To use them, you must include them manually in the HTML.</p>
    <ul>
    <li>AlphaMapFilter : Map a greyscale image to the alpha channel of a display object</li>
    <li>AlphaMaskFilter: Map an image's alpha channel to the alpha channel of a display object</li>
    <li>BlurFilter: Apply vertical and horizontal blur to a display object</li>
    <li>ColorFilter: Color transform a display object</li>
    <li>ColorMatrixFilter: Transform an image using a ColorMatrix</li>
    </ul>
    <p>The demo below uses the <a href="http://createjs.com/Docs/EaselJS/classes/ColorFilter.html" rel="nofollow external" class="bo">Color Filter</a>, when you click on the stage it removes the green channel from the image. The <code>Color Filter</code> has the following parameters.</p>
    <pre>ColorFilter( [redMultiplier=1] [greenMultiplier=1] [blueMultiplier=1] [alphaMultiplier=1] [redOffset=0] [greenOffset=0] [blueOffset=0] [alphaOffset=0])</pre>
    <p>The red,green,blue, and alpha Multipliers are expected to be a number from zero to one, and the red, green, blue, and alpha Offset are expected to be a number from 255 to 255.</p>
    <p></p>
    <p>We create a regular bitmap object, apply the filter, and the cache the bitmap.</p>
    <hr>
    <h2>Final Demo</h2>
    <p>I've created one final demo, that we will build on in the next part of this series, by adding sound, preloading the assets, and using tweens.</p>
    <p></p>
    <p>In this demo we are utlizing the <code>Bitmap</code>, <code>Text</code>, and <code>Shape</code>, classes to create a Space Invaders type game. I won't be going over every step here since the purpose just to show how to tie the concepts together, but if you have any questions about the code feel free to ask in the comments. The collision detection is provided by osln via  <a href="https://github.com/olsn/Collision-Detection-for-EaselJS" rel="nofollow external" class="bo">Github</a>.</p>
    <hr>
    <h2>Conclusion</h2>
    <p>In this tutorial we have taken a look at EaselJS and have made a couple of demo applications. I hope you have found this article helpful and that it gets you excited about using EaselJS. Thanks for reading!</p>
    </div>
]]>
</Body>
<Summary>In this tutorial we will be exploring the CreateJS suite of libraries. CreateJS is suite of JavaScript libraries and tools for building rich, interactive experiences with HTML5. The CreateJS suite...</Summary>
<Website>http://code.tutsplus.com/tutorials/using-createjs-easeljs--net-34840</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41233/guest@my.umbc.edu/0dd9d8391159decfa5885fae461578d7/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>Tue, 11 Feb 2014 09:00:30 -0500</PostedAt>
<EditAt>Tue, 11 Feb 2014 09:00:27 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="41187" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41187">
<Title>DoIT's Technology Support Center Hiring Additional Students</Title>
<Tagline>Are you available in the morning? Come work for us!</Tagline>
<Body>
<![CDATA[
    <div class="html-content"><span><p><span>The DoIT Technology Support Center is looking to hire additional consultants to work during the mornings for the Spring semester. Please see our job description below and visit our job posting on </span><span><a href="careers.umbc.edu/umbcworks" rel="nofollow external" class="bo">UMBCworks</a></span><span> to apply.</span></p>
    <div><br></div>
    <div>We're looking, specifically, for students who are able to work between the hours below:</div>
    <div><ul>
    <li>Monday - 8am-10:30am</li>
    <li>Tuesday - Thursday, and Friday - 8am-2pm</li>
    <li>Wednesday - 8am-12pm</li>
    </ul></div>
    <hr>
    <h2><span>TSC Student Consultant Job Description</span></h2>
    <br><p><span>Technology Support Center (TSC) student consultants are the first points of technical contact for the UMBC community and those who do well often go on to work in other areas of the Division of Information Technology (DoIT). Minimally, consultants are expected to provide initial triage and support for a wide-range of information technologies including accounts, hardware, instructional technologies, networking, software, telecommunications, and basic web development.</span></p>
    <div><br></div>
    <br><p><span>Responsibilities include, but are not limited to the following:</span></p>
    <br><ul><li><p><span>Provide technical assistance to users by phone, online and in person;</span></p></li></ul>
    <ul>
    <li><p><span>Answer TSC phones in a professional and courteous manner;</span></p></li>
    <li><p><span>Create, update and resolve tickets in the Request Tracker (RT) ticketing system;</span></p></li>
    <li><p><span>Create, update, suggest and recommend relevant FAQ articles to users (</span><a href="http://www.umbc.edu/faq)" rel="nofollow external" class="bo"><span>www.umbc.edu/faq</span></a><span>);</span></p></li>
    <li><p><span>Provide direct assistance to users on technical issues they cannot easily resolve on their own;</span></p></li>
    <li><p><span>Complete in-person or online training about quality support as defined in</span><a href="http://umbc.edu/go/ticketrubric" rel="nofollow external" class="bo"><span>umbc.edu/go/ticketrubric</span></a><span>;</span></p></li>
    <li><p><span>Respond to all work related communications in a timely manner;</span></p></li>
    <li><p><span>Escalate urgent problems to the Full-Time staff, as appropriate.</span></p></li>
    </ul>
    <br><p><span>Required Skills and Experience</span></p>
    <br><ul>
    <li><p><span>Demonstrated ability to effectively communicate by phone or in person.</span></p></li>
    <li><p><span>Demonstrated writing ability.</span></p></li>
    <li><p><span>Demonstrated ability to achieve successful outcomes in handling difficult situations and customers.</span></p></li>
    <li><p><span>Demonstrated analytical and troubleshooting skills.</span></p></li>
    <li><p><span>Ability &amp; willingness to learn coupled with clear understanding of one’s technical abilities, so as to triage and escalate an issue that leads to an effective solution for the user.</span></p></li>
    </ul></span></div>
]]>
</Body>
<Summary>The DoIT Technology Support Center is looking to hire additional consultants to work during the mornings for the Spring semester. Please see our job description below and visit our job posting on...</Summary>
<Website>http://doit.umbc.edu/tsc/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41187/guest@my.umbc.edu/a7a657354b4ab846fd541b7a28854b5e/api/pixel</TrackingUrl>
<Group token="doit">Division of Information Technology (DoIT)</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/doit</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/xsmall.png?1727453227</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/original.JPG?1727453227</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/xxlarge.png?1727453227</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/xlarge.png?1727453227</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/large.png?1727453227</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/medium.png?1727453227</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/small.png?1727453227</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/xsmall.png?1727453227</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/021/d27760c5de12c74b73faec8d0e631acf/xxsmall.png?1727453227</AvatarUrl>
<Sponsor>Division of Information Technology</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/xxlarge.jpg?1392054457</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/xlarge.jpg?1392054457</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/large.jpg?1392054457</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/medium.jpg?1392054457</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/small.jpg?1392054457</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/xsmall.jpg?1392054457</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/041/187/b875668dea0dce49c9d7999107a854cd/xxsmall.jpg?1392054457</ThumbnailUrl>
<PawCount>4</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 08:57:53 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="41230" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41230">
<Title>Researcher of the Week: Caroline Jurney</Title>
<Tagline>Undergraduate researchers explore their interests!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <p>Meet Caroline... She is a Theatre major and a current Undergraduate Research Award (URA) scholar.  Her research focuses on the 18-30 year-old age group and trying to understand their seeming disinterest in patronizing live theatre performances.</p>
    <p><strong>How did you find your mentor for year research, scholarship, or artistic project?</strong><br>I took a class taught by Dr. McCully in my freshman year and was enthralled by her extensive expertise and unique perspective on the theatre. I knew that I wanted to work with her from that moment, so we began a correspondence and she helped me to develop this research idea. <br><br><strong>How did you know this was the project you wanted to do?</strong><br>It’s been a passion of mine for a long time to eliminate or reduce the current stigma carried by live theatre – that it is an elitist art form for the educated and wealthy. Determining the most effective methods to engage a very underrepresented demographic seems to be an appropriate first step. <br><br><strong>Do you get course credit for this work?</strong><br>No, but I will receive a notation on my transcript from the Shriver Center and I am developing a relationship with a potential future employer. <br><br><strong>How much time do you put into it?</strong><br>It varies at this point, but once it gets into full swing, it will be at least 10 hours a week. <br><br><strong>How did you hear about the Undergraduate Research Award (URA) program?</strong><br>I started my undergraduate career as an Interdisciplinary Studies major, and it was recommended as a resource to aid in the completion of the required capstone project. Then, when I switched my majors, I still wanted to complete the project and the URA program still made sense to help make that happen. <br><br><strong>What academic background did you have before you applied for the URA?</strong><br>I have taken many theatre classes, with a good deal of business classes (like management, entrepreneurship, and marketing) mixed in. <br><br><strong>Was the application difficult to do?</strong><br>The hardest part was deciding exactly what the project should be. Once I had that figured out, the application came fairly easily. <br><br><strong>How much did your mentor help you with the application?</strong><br>I made a rough draft and my mentor helped me shape and polish the application to be the best it could be. <br><br><strong>What else are you involved in on campus?</strong><br>I am involved in the Theatre Department and the Musical Theatre Club, and I work at the Campus Information Center. I’m also in an off-campus a capella group. <br><br><strong>What is your advice to other students about getting involved in research? </strong><br>Don’t allow yourself to be limited by traditional definitions of research. You can complete research in any field, with a wide variety of projects. Let your imagination run wild, and then the nice people in the URA program can help you focus. <br><br><strong>What are your goals for after graduation?</strong><br>I plan to get a masters degree in arts administration and then work in a local theatre for a few years, while I learn all that I possibly can. Then I will open my own theatre company.</p>
    <p>Read her abstract here...</p>
    </div>
]]>
</Body>
<Summary>Meet Caroline... She is a Theatre major and a current Undergraduate Research Award (URA) scholar.  Her research focuses on the 18-30 year-old age group and trying to understand their seeming...</Summary>
<Website>http://www.umbc.edu/undergrad_ed/research/ResearcherProfiles/carolineJurney.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41230/guest@my.umbc.edu/8f1966ec8a0474426f52968aa7d062c6/api/pixel</TrackingUrl>
<Group token="undergradresearch">Undergraduate Research</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/undergradresearch</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xsmall.png?1600355057</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/original.jpg?1600355057</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xxlarge.png?1600355057</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xlarge.png?1600355057</AvatarUrl>
<AvatarUrl size="large">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/large.png?1600355057</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/medium.png?1600355057</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/small.png?1600355057</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xsmall.png?1600355057</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/006/875606ced2b629148af4caa1a4e8dd3c/xxsmall.png?1600355057</AvatarUrl>
<Sponsor>Undergraduate Research</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/xxlarge.jpg?1392124324</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/xlarge.jpg?1392124324</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/large.jpg?1392124324</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/medium.jpg?1392124324</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/small.jpg?1392124324</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/xsmall.jpg?1392124324</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/041/230/0093fe2eedeb098315bf9251da1a5f03/xxsmall.jpg?1392124324</ThumbnailUrl>
<PawCount>24</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 08:14:14 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="41227" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41227">
<Title>Four Ways To Build A Mobile Application, Part 3: PhoneGap</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>This is the third installment in a series covering four ways to develop a mobile application. In previous articles, we examined how to build a <a href="http://mobile.smashingmagazine.com/2013/11/22/four-ways-to-build-a-mobile-app-part1-native-ios" rel="nofollow external" class="bo">native iOS</a> and <a href="http://mobile.smashingmagazine.com/2014/01/10/four-ways-to-build-a-mobile-app-part2-native-android/" rel="nofollow external" class="bo">native Android</a> tip calculator. In this article, we’ll create a multi-platform solution using PhoneGap.</p>
    <p>Adobe’s PhoneGap platform enables a developer to create an app that runs on a variety of mobile devices. The developer accomplishes this largely by writing the user interface portion of their application with Web technologies such as HTML, CSS and JavaScript. PhoneGap’s development tools then <strong>bundle the HTML, CSS and JavaScript files</strong> into platform-specific deployment packages. PhoneGap supports a wide variety of platforms:</p>
    <ul>
    <li>iOS</li>
    <li>Android</li>
    <li>Windows 8</li>
    <li>Windows Phone 7 and 8</li>
    <li>BlackBerry 5.x+</li>
    <li>WebOS</li>
    <li>Symbian</li>
    <li>Tizen</li>
    </ul>
    <p>For this article, we’ll focus on getting our sample FasTip application running on iOS and Android:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/ios_android-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/ios_android-500-opt.png" alt="ios_android-550" width="550" height="335" style="max-width: 100%; height: auto;"></a></p>
    <p>As with the previous articles in this series, all of the code for our application may be obtained from a <a href="https://github.com/ptraeg/mobile-apps-4-ways" rel="nofollow external" class="bo">GitHub repository</a>.</p>
    <p>Applications built with PhoneGap use the mobile platform’s Web view to render content. As such, the content will appear nearly identical on each platform, much as any Web page would. While you can style the controls differently on each platform, take care in doing this. This issue is covered in detail in the section below on <a href="#multi-platform" rel="nofollow external" class="bo">multi-platform considerations</a>.</p>
    <h3>Plugins: Closing The Gap On Native Features</h3>
    <p>PhoneGap essentially wraps a Web view of your HTML, CSS and JavaScript in a native application. This is required because the Web view in an application does not inherently support many device features, such as access to the file system or the camera. PhoneGap has a <strong>bridging mechanism</strong> that allows JavaScript running in the Web view to invoke native code contained in the application. PhoneGap comes complete with plugins to support device capabilities such as the following:</p>
    <ul>
    <li>accelerometer,</li>
    <li>camera,</li>
    <li>contacts,</li>
    <li>file system,</li>
    <li>media playback and recording,</li>
    <li>network availability.</li>
    </ul>
    <p>A full list of capabilities for each platform is available <a href="http://phonegap.com/about/feature/" rel="nofollow external" class="bo">on PhoneGap’s website</a>. If these capabilities aren’t enough, PhoneGap may be extended with plugins that enable the developer to access more device features, including these:</p>
    <ul>
    <li>barcode scanning,</li>
    <li>Bluetooth,</li>
    <li>push notifications,</li>
    <li>text to speech,</li>
    <li>calendars,</li>
    <li>Facebook Connect.</li>
    </ul>
    <p>In previous versions of PhoneGap, a GitHub repository contained a set of <a href="https://github.com/phonegap/phonegap-plugins" rel="nofollow external" class="bo">prebuilt plugins</a>. With the arrival of PhoneGap 3, a new plugin architecture has resulted in the old repository being deprecated. A <a href="http://plugins.cordova.io/#/_browse/all" rel="nofollow external" class="bo">registry</a> has been created for all plugins compatible with PhoneGap 3.</p>
    <p>Some command-line tools are also provided to make it easy to add the plugins to the repository for your project. We’ll see these later on in this article. PhoneGap also publishes documentation and examples on how to <a href="http://docs.phonegap.com/en/3.0.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide" rel="nofollow external" class="bo">write your own</a> plugins. Of course, development of plugins assumes familiarity with the native platform on which the plugin is to be supported.</p>
    <h3>An HTML, CSS And JavaScript Foundation For Mobile Development</h3>
    <p>The majority of PhoneGap’s capabilities lie in non-visual components — things that access the file system, network availability, geolocation, etc. PhoneGap does not provide much assistance with building the user interface itself. For this, you must rely on the HTML and CSS foundation that you’ve built yourself or on a framework. Applications written for mobile browsers must respect the limitations of the given mobile platform (processing speed, screen size, network speed, touch events, etc.).</p>
    <p>Unless you have been working with HTML and CSS for a long time and are well aware of these issues, developing an effective mobile application without some sort of framework can be daunting.</p>
    <p>Fortunately, <strong>some mobile frameworks have arisen to help</strong> with this. Here are just some of the offerings in this area:</p>
    <ul>
    <li><a href="http://jquerymobile.com/" rel="nofollow external" class="bo">jQuery Mobile</a></li>
    <li><a href="http://ionicframework.com/" rel="nofollow external" class="bo">Ionic</a></li>
    <li><a href="http://www.sencha.com/products/touch/" rel="nofollow external" class="bo">Sencha Touch</a></li>
    <li><a href="http://www.kendoui.com/" rel="nofollow external" class="bo">Kendo UI Complete</a></li>
    <li>AppGyver’s <a href="http://www.appgyver.com/steroids" rel="nofollow external" class="bo">Steroids</a>
    </li>
    <li><a href="http://enyojs.com/" rel="nofollow external" class="bo">Enyo</a></li>
    <li><a href="http://topcoat.io/" rel="nofollow external" class="bo">TopCoat</a></li>
    </ul>
    <p>These frameworks vary from CSS-oriented libraries (like Topcoat) to complete MVC-based libraries with sets of mobile UI controls (like Sencha Touch). Discussing the differences between these frameworks in detail is beyond the scope of this article and would require an entire series of articles. Visit the websites above and try some of the demonstrations on several mobile devices.</p>
    <p>One distinction to be made is that some frameworks support a wider variety of devices and device versions than others. Some mobile frameworks are built on a particular MVC platform. For example, Ionic is built on the <a href="http://angularjs.org/" rel="nofollow external" class="bo">AngularJS</a> framework. This might make a particular library more attractive to developers who are already familiar with the respective MVC framework.</p>
    <p>Frameworks such as Sencha Touch abstract the DOM from the developer through the use of APIs, freeing the developer from having to worry about details of browser vendor implementations. Sencha also provides graphic development tools, such as Sencha Architect, to aid the development process. Sencha provides commercial support and training, too, which are worth investigating.</p>
    <p>I’m often asked to recommend a framework for mobile development. But <strong>the right tool depends largely on your application’s functionality</strong>, the mobile platforms you need to support, your demand for commercial support and your experience with Web and mobile development in general.  I’m encouraged by some emerging frameworks, particularly Ionic, but as of the time of writing, Ionic is still in the alpha stage. If you are looking for something with a longer track record, then Sencha Touch or, for some cases, jQuery Mobile might be appropriate.</p>
    <p>To be expedient and because of the wealth of tutorials and documentation available, I’ve written our FasTip application in jQuery Mobile, which provides a wide range of support for mobile devices. It’s a good choice for applications that do not require significant customization to the user interface. The simplicity of our application makes it well suited to jQuery Mobile.</p>
    <h3>PhoneGap Or Cordova: What’s In A Name?</h3>
    <p>In the process of learning about PhoneGap, you’ll encounter the name Cordova. In fact, the command-line tool that we’ll use in just a moment to create our PhoneGap project is named Cordova. Simply put, <a href="http://cordova.apache.org/" rel="nofollow external" class="bo">Cordova</a> is the open-source project that is the basis of PhoneGap. Think of it as the engine that drives PhoneGap.</p>
    <p>In most cases, the names may be used interchangeably. With “PhoneGap” already being trademarked, a new name was needed when the project was open-sourced — hence, Cordova. “PhoneGap” continues to be used by Adobe for commercial products. Most people still refer to<br>
    the project as a whole as PhoneGap.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/phonegap-cordova-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/phonegap-cordova-500-opt.png" alt="phonegap-cordova-550" width="550" height="99" style="max-width: 100%; height: auto;"></a></p>
    <h3>Installing PhoneGap</h3>
    <p>With the introduction of version 3, installing PhoneGap’s tools and setting up projects have been greatly simplified, thanks to the new <a href="http://docs.phonegap.com/en/3.3.0/guide_cli_index.md.html#The%20Command-Line%20Interface" rel="nofollow external" class="bo">command-line interface</a> (or CLI). The command-line tools are based on Node.js; thus, you must install it before installing PhoneGap. Once Node.js is in place, simply run one command for the node package manager to install PhoneGap’s tools:</p>
    <pre><code>&#x000A;    npm install -g cordova&#x000A;    </code></pre>
    <h4>Native SDKs: The Rest of the Equation</h4>
    <p>The command-line tools provide only the PhoneGap portion of the tools that are necessary for development. <strong>You will still need the mobile SDKs</strong> for the platforms that you wish to support. For this article, we’re mostly concerned with iOS and Android. For iOS, you’ll need to install the same developer toolset that we used when building native Objective-C applications.</p>
    <p>Refer to the <a href="http://mobile.smashingmagazine.com/2013/11/22/four-ways-to-build-a-mobile-app-part1-native-ios/" rel="nofollow external" class="bo">earlier article</a> on native iOS development for instructions on installing those tools. This will give PhoneGap the tools necessary to compile and build your app into something that can be deployed to an iOS device. Likewise, to build applications for Android, you’ll need the Android SDK.</p>
    <p>The <a href="http://mobile.smashingmagazine.com/2014/01/10/four-ways-to-build-a-mobile-app-part2-native-android/" rel="nofollow external" class="bo">previous article</a> on native Android development provides some assistance in locating these tools and installing them. In addition, you may wish to consult PhoneGap’s documentation for details on installing for <a href="http://cordova.apache.org/docs/en/3.1.0/guide_platforms_android_index.md.html#Android%20Platform%20Guide" rel="nofollow external" class="bo">Android</a> and <a href="http://cordova.apache.org/docs/en/3.1.0/guide_platforms_ios_index.md.html#iOS%20Platform%20Guide" rel="nofollow external" class="bo">iOS</a>.</p>
    <h3>FasTip In PhoneGap</h3>
    <p>Given that FasTip is such a simple application, we don’t have to leverage much of PhoneGap’s functionality to access device features. Most of our time will be focused on the Web components needed to build the user interface. Unlike with native platforms, there is no vendor-supplied integrated development environment (IDE) for PhoneGap that is similar to Xcode or Eclipse.</p>
    <p><strong>Developers may use whichever IDE they please.</strong> I use JetBrains’ excellent <a href="http://www.jetbrains.com/webstorm/" rel="nofollow external" class="bo">WebStorm</a> IDE for Web development because it suits PhoneGap development nicely. We’ve developed much of the FasTip application in WebStorm and tested it on the desktop version of Google’s Chrome browser, before packaging it for mobile devices in PhoneGap.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/webstorm-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/webstorm-500-opt.png" alt="webstorm-550" width="550" height="330" style="max-width: 100%; height: auto;"></a></p>
    <p>The figure above shows the FasTip application loaded in WebStorm. Note that relatively few files make up this project:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/01/file-structure.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/01/file-structure.png" alt="file-structure" width="262" height="446" style="max-width: 100%; height: auto;"></a></p>
    <p>The user interface is shaped by <code>index.html</code>. This one file contains all of the HTML used by this application. The HTML starts out with this <code>head</code> section:</p>
    <pre><code>&#x000A;    &lt;head&gt;&#x000A;      &lt;meta name="viewport"&#x000A;        content="initial-scale=1, minimum-scale=1, maximum-scale=1"&gt;&#x000A;      &lt;meta charset="utf-8"&gt;&#x000A;      &lt;title&gt;FasTip - Tip Calculator&lt;/title&gt;&#x000A;      &lt;link rel="stylesheet" href="css/themes/default/jquery.mobile-1.4.0.css"&gt;&#x000A;      &lt;link rel="stylesheet" href="css/app.css"&gt;&#x000A;      &lt;script src="js/jquery.js"&gt;&lt;/script&gt;&#x000A;      &lt;script src="js/jquery.mobile-1.4.0.js"&gt;&lt;/script&gt;&#x000A;    &lt;/head&gt;&#x000A;    </code></pre>
    <p>The <code>viewport</code> meta tag scales the width of the page to match the width of the device’s browser. If this is not present, then the mobile browser wouldn’t know that the page is optimized for mobile use and would zoom out to display the page as though it were on a desktop browser.</p>
    <p>Next, we load two style sheets. The vast majority of the CSS is contained in the <code>jquery.mobile.css</code> file, with a few minor application-specific CSS overrides in the <code>app.css</code> file. The <code>head</code> section then loads the scripts needed to support jQuery and jQuery Mobile.</p>
    <h3>Navigating Screens, jQuery Mobile-Style</h3>
    <p>Unlike our native apps, in which we had separate view controllers or activities for each screen, here we’ll place the HTML markup for both screens in one file. jQuery Mobile supports the concept of a page being divided into sections that make it appear to the user as though they are navigating between screens. In fact, the user would never leave this single Web page.</p>
    <pre><code>&#x000A;    &lt;div data-role="header"&gt;&#x000A;      &lt;h1&gt;FasTip&lt;/h1&gt;&#x000A;      &lt;a href="#settingsPage" id='settingsButton' class="ui-btn-right&amp;quot&#x000A;        data-role="button" data-icon="gear"&gt;Settings&lt;/a&gt;&#x000A;    &lt;/div&gt;&#x000A;    &lt;div data-role="content"&gt;&#x000A;      &lt;form&gt;&#x000A;      &lt;div data-role="fieldcontain"&gt;&#x000A;      &lt;label for="billAmount"&gt;Bill Amount:&lt;/label&gt;&#x000A;    </code></pre>
    <p>Above is the code in the HTML file for the header of the main input form for the tip calculator. Note that many of the HTML elements have <code>data-</code> attributes. Pay particular attention to the <code>data-role</code> attribute, which indicates to jQuery Mobile the purpose of the various elements on the page. The <code>data-role="header"</code> attribute defines the upper part of the page, which looks something like the <code>UINavigationController</code> in iOS apps. The <code>data-role="content"</code> attribute is the main content of our page and displays the main form of the tip calculator.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/jqm-data-roles-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/jqm-data-roles-500-opt.png" alt="jqm-data-roles-500-opt" width="500" height="375" style="max-width: 100%; height: auto;"></a></p>
    <p>For our native iOS and Android apps, we had to write some code to enable the user to navigate between pages. In PhoneGap, a simple HTML anchor tag takes the user to the settings page:</p>
    <pre><code>&#x000A;    &lt;a href="#settingsPage" id='settingsButton' class="ui-btn-right"&#x000A;      data-role="button" data-icon="gear"&gt;Settings&lt;/a&gt;&#x000A;    </code></pre>
    <p>Further on in the HTML, we see this:</p>
    <pre><code>&#x000A;    &lt;div data-role="page" id="settingsPage" data-add-back-btn="true" &gt;&#x000A;      &lt;div data-role="header"&gt;&#x000A;       &lt;a href="#mainPage" class="ui-btn ui-icon-delete ui-btn-icon-left"&#x000A;        data-rel="back"&gt;Cancel&lt;/a&gt;&#x000A;       &lt;h1&gt;FasTip - Settings&lt;/h1&gt;&#x000A;      &lt;/div&gt;&#x000A;      &lt;div data-role="content"&gt;&#x000A;    </code></pre>
    <p>This div element defines the boundary of the settings page in our application. The page has a div in it for the header and the content, just like the main page. Note how the first anchor tag in the <code>header</code> div defines the “back” and “cancel” button that enables the user to return to the first screen. The <code>data-rel="back"</code> attribute signifies that the link should close the current page and navigate to the main page, just like hitting the “back” button in a Web browser. In fact, pressing the dedicated “back” button on an Android device would perform the same function.</p>
    <p>jQuery Mobile takes care of performing the transitions between these virtual “pages” in our application. Because much of the user interface and interaction between the controls is defined declaratively in our HTML, <strong>we have considerably less code to write</strong> to get the application running. All of our code is confined to a single <code>app.js</code> file that is just 41 lines long. The meat of our application starts with this snippet:</p>
    <pre><code>&#x000A;    $( document ).on( "ready", function(){&#x000A;      $('#calcTip').on('click', calcTip);&#x000A;      $('#saveSettings').on('click', saveSettings);&#x000A;    &#x000A;      var tipPercentSetting = localStorage.getItem('tipPercentage');&#x000A;    &#x000A;      if (tipPercentSetting) {&#x000A;       tipPercent = parseFloat(tipPercentSetting);&#x000A;      }&#x000A;    &#x000A;      $('#tipPercentage').val(tipPercent);&#x000A;    });&#x000A;    </code></pre>
    <p>When the document is ready, event handlers are attached to the buttons in order to calculate tips and save settings. In this example, we’re using HTML5’s <code>localStorage</code> object to persist the setting for a tip percentage. PhoneGap <a href="http://docs.phonegap.com/en/1.2.0/phonegap_storage_storage.md.html#localStorage" rel="nofollow external" class="bo">supports localStorage</a> and will save the content in the proper directory of the native platform to ensure that the data is backed up with the device’s normal backup mechanism. When the user choses to save their settings, the following code is run:</p>
    <pre><code>&#x000A;    var saveSettings = function() {&#x000A;      try {&#x000A;       var tipPct = parseFloat( $('#tipPercentage').val() );&#x000A;       localStorage.setItem('tipPercentage', tipPct);&#x000A;       tipPercent = tipPct;&#x000A;       window.history.back();&#x000A;    &#x000A;      } catch (ex) {&#x000A;       alert('Tip percentage must be a decimal value');&#x000A;      }&#x000A;    };&#x000A;    </code></pre>
    <p>Note the use of <code>localStorage.setItem</code> to write the tip percentage under the key of <code>tipPercentage</code>. Once the user has saved their tip percentage, they return to the previous screen. Because jQuery Mobile integrates with the <a href="https://developer.mozilla.org/en-US/docs/DOM/window.history" rel="nofollow external" class="bo">browser’s History API</a> when transitioning between pages, we can leverage the History API here and simply jump back to the previous page via <code>window.history.back();</code>. On Android where the device supports a “back” button, this will have the same effect as hitting the browser’s “back” button and moving back one screen.</p>
    <p>For more complex apps, <strong>jQuery Mobile also enables you to dynamically load new pages</strong>, rather than place all of the markup in one file. This is the preferred approach if your application has several screens, because maintaining all of the markup in one file would become difficult and the mobile browser would have to parse that large document before rendering anything. Forcing the browser to process a large document would slow down the startup time of your application.</p>
    <p>Calculating the value of the tip is done with the following code:</p>
    <pre><code>&#x000A;    var calcTip = function() {&#x000A;    &#x000A;      var billAmt = Number( $('#billAmount').val() );&#x000A;      var tipAmt = billAmt * tipPercent/100 ;&#x000A;      var totalAmt = billAmt + tipAmt;&#x000A;      $('#tipAmount').text('$' + tipAmt.toFixed(2));&#x000A;      $('#totalAmount').text('$' + totalAmt.toFixed(2));&#x000A;    &#x000A;    };&#x000A;    </code></pre>
    <p>This is standard jQuery code for reading the bill amount, calculating the tip percentage and returning the results to the display fields on the page. When the user taps on the <code>calcTip</code> button, the <code>calcTip</code> function is invoked via an event handler that is attached when the DOM is loaded and ready:</p>
    <pre><code>&#x000A;    $( document ).on( "ready", function(){&#x000A;      $('#calcTip').on('click', calcTip);&#x000A;      …&#x000A;    });&#x000A;    </code></pre>
    <p>The interaction between the DOM and the HTML and CSS should be familiar to anyone who writes Web pages. Of course, other frameworks, such as Backbone.js and AngularJS, may be employed to bind data, render content from templates and so on. This is an important aspect of PhoneGap: It does not dictate that particular libraries or CSS be used. Use whatever tools you want to get the job done.</p>
    <h3>Getting Our Project Into PhoneGap</h3>
    <p>PhoneGap provides a command-line tool, named Cordova, to set up a new project, build an application, run the application and install plugins. Follows the steps below to set up a project in PhoneGap.</p>
    <h4>Step 1</h4>
    <p>To create our application, navigate to an empty directory and use the <code>create</code> command:</p>
    <pre><code>&#x000A;    $ cordova create fastip org.traeg.fastip FastTip&#x000A;    </code></pre>
    <p>This command will create a subdirectory, named <code>fastip</code>, to hold our application files and to establish a new application named FasTip, with an <code>org.traeg.fastip</code> namespace.</p>
    <h4>Step 2</h4>
    <p>Switch to the <code>fastip</code> directory that PhoneGap has just created from the command above.</p>
    <h4>Step 3</h4>
    <p>We’ll need to tell PhoneGap which platforms we want this app to run on. We’re supporting iOS and Android, so run the following two commands to support them:</p>
    <pre><code>&#x000A;    $ cordova platform add ios&#x000A;    $ cordova platform add android&#x000A;    </code></pre>
    <h4>Step 4</h4>
    <p>We can test our project to see whether PhoneGap has been properly initialized:</p>
    <pre><code>&#x000A;    $ cordova build ios&#x000A;    $ cordova emulate ios&#x000A;    </code></pre>
    <p>This will compile the application for iOS and then run it in the iOS simulator.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/cordova-splash-large.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/cordova-splash-new-500-opt.png" alt="cordova-splash-500" width="500" height="888" style="max-width: 100%; height: auto;"></a></p>
    <p>To run the application on Android, you would use the following commands:</p>
    <pre><code>&#x000A;    $ cordova build android&#x000A;    $ cordova emulate android&#x000A;    </code></pre>
    <p>Note the directory structure that PhoneGap has established:</p>
    <pre><code>&#x000A;    platforms/ios&#x000A;    platforms/android&#x000A;    </code></pre>
    <p>Note also that the sample code is copied by PhoneGap into the respective iOS and Android subdirectories. When you run the build operation, PhoneGap updates the respective build directories and places the updated files in a project suitable for each platform. If you examine the iOS directory, you’ll see that an <code>.xcodeproj</code> file has been created.</p>
    <p>In fact, this project may be opened in Xcode, like any other iOS project. Similarly, the Android project may be readily imported into Eclipse. Do not change the contents of your application’s files in the platform directories, or else they will be overwritten the next time the build process is run.</p>
    <h4>Step 5</h4>
    <p>We can place the various files that comprise our application in the <code>www</code> folder directly in the project’s root. The next time the <code>cordova build</code> command is executed, the application’s content will be copied to the respective platform directories, and the application will be run with that new content.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/01/file-structure.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/01/file-structure.png" alt="file-structure" width="262" height="446" style="max-width: 100%; height: auto;"></a></p>
    <p>Note that our Web application’s entire structure resides in this <code>www</code> directory. When you create a new PhoneGap project, it is preconfigured to run whatever is in the <code>index.html</code> file in the <code>www</code> directory. In addition to the Web files that we’ve added to the project, one more file is important to a PhoneGap application, <code>config.xml</code>. This file controls various options used in the build process, including the display of a startup splash screen, viewport scaling, supported device orientations, etc. The <a href="http://docs.phonegap.com/en/3.3.0/config_ref_index.md.html#The%20config.xml%20File" rel="nofollow external" class="bo">settings for this file</a> will vary according to the platform, so review the settings for each.</p>
    <p>Also, note that PhoneGap has a <code>merges</code> directory. In this directory you can place platform-specific files, which will be copied to the respective build directories. In this way, you can <a href="http://docs.phonegap.com/en/3.3.0/guide_cli_index.md.html#The%20Command-Line%20Interface_using_merges_to_customize_each_platform" rel="nofollow external" class="bo">customize HTML, CSS and JavaScript files</a> to each platform.</p>
    <p></p>
    <h3>Considerations For Supporting Multiple Platforms</h3>
    <p>We’ve seen that, by using PhoneGap and a framework like jQuery Mobile, building a cross-device application is easy. One caveat with jQuery Mobile is that both iOS and Android users would see the same UX; that is, the UX would not be tailored to the respective platform, much like a Web page looks the same whether viewed on OS X or Windows.</p>
    <p><strong>Attempting to mimic the native platform controls in HTML and CSS</strong> is generally a bad idea. While you could approximate the <em>look</em> of the native platform, mimicking the <em>feel</em> of the platform is exceedingly difficult. The controls might not respond to taps and other gestures in exactly the same way. The result is usually a UX that just feels wrong. Successful PhoneGap projects generally eschew this approach in favor of a platform-independent UX.</p>
    <p>If your project requires an experience that closely matches that of the native platform, PhoneGap might not be the right choice.</p>
    <p>HTML5 capabilities vary widely across devices. While iOS and Android browsers are built on WebKit, some features are implemented only in the latest versions of the platforms. One useful website for checking browser version capabilities is <a href="http://mobilehtml5.org/" rel="nofollow external" class="bo">Mobile HTML5</a>. The browsers on some old platforms, particularly Android 2.x, have various rendering bugs, which could also hamper your development.</p>
    <p>Frameworks such as jQuery Mobile and Sencha Touch take these compatibility issues into account. If you choose to roll your own solution, perhaps to gain greater control over the UX, then you will need to plan additional time for testing, particularly for old device versions, on which HTML5 support is less consistent.</p>
    <p>jQuery Mobile makes it easy to get started and provides a good feature set for simple applications. Much of the functionality on the screens of our sample application is provided by jQuery Mobile itself, leaving us with less code to write. However, the speed of development with jQuery Mobile comes at the expense of customization. While jQuery Mobile does offer a “theme roller” tool to customize appearance, much of that is “chrome” related to colors and visual attributes like rounded corners.</p>
    <p><strong>Assess whether your application fits jQuery Mobile’s paradigm.</strong> The platform does offer some alternate layouts for things like forms, but the options are still somewhat limited. If your application requires a truly custom look or layout, then you might find jQuery Mobile too confining. Consider one of the frameworks suggested earlier. Or adopt a “best of breed” approach, mixing a CSS-oriented framework (such as <a href="http://twitter.github.io/bootstrap/" rel="nofollow external" class="bo">Twitter Bootstrap</a>, <a href="http://foundation.zurb.com/" rel="nofollow external" class="bo">Zurb Foundation</a> or <a href="http://maker.github.io/ratchet/" rel="nofollow external" class="bo">Ratchet</a>) with an MVC framework (such as <a href="http://angularjs.org/" rel="nofollow external" class="bo">AngularJS</a> or <a href="http://backbonejs.org/" rel="nofollow external" class="bo">Backbone.js</a>).</p>
    <p>Some of the large mobile solutions, such as <a href="http://www.sencha.com/products/touch/" rel="nofollow external" class="bo">Sencha Touch</a> and <a href="http://ionicframework.com/" rel="nofollow external" class="bo">Ionic</a>, marry a powerful MVC platform to a set of prebuilt controls focused on mobile development. These tools are attractive and worthy of consideration. But bear in mind the different range of devices that each of these tools supports. At the moment, Sencha Touch supports more devices than Ionic, but jQuery Mobile supports even more. This should also factor in your selection process.</p>
    <h3>Using A Native Plugin</h3>
    <p>If you try our sample application on iOS 7, you’ll run into an issue with the device’s status bar that has affected many PhoneGap applications. That is, the status bar now overlaps the top of the application:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/ios_status-bar-overlap-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/ios_status-bar-overlap-500-opt.png" alt="ios_status-bar-overlap" width="406" height="480" style="max-width: 100%; height: auto;"></a></p>
    <p>You could give the <code>body</code> tag a 20-pixel top margin to make the page clear the status bar, but that would cause problems on iOS 6 and Android. A cleaner solution is to use a native plugin that fixes this specific issue. To add the plugin to our sample project, we’ll use this command:</p>
    <pre><code>&#x000A;    cordova plugin add org.apache.cordova.statusbar&#x000A;    </code></pre>
    <p>This pulls the necessary code from the plugin repository into our application. Now we’re ready to invoke the plugin in our code:</p>
    <pre><code>&#x000A;    $( document ).on( "deviceready", function(){&#x000A;      StatusBar.overlaysWebView( false );&#x000A;      StatusBar.backgroundColorByName( "gray" );&#x000A;    });&#x000A;    </code></pre>
    <p>This snippet of code waits for the <code>deviceready</code> event from PhoneGap, which tells our application that the PhoneGap environment has been initialized and is ready to receive commands from the JavaScript. The <code>StatusBar</code> object has been added to the window namespace via the PhoneGap plugin system so that we can access it via JavaScript.</p>
    <p>The following screenshot shows the status bar overlay being turned off, as well as the background color of the status bar being changed to better fit our application:</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/ios_status_bar_good-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/ios_status_bar_good-500-opt.png" alt="ios_status_bar_good" width="405" height="417" style="max-width: 100%; height: auto;"></a></p>
    <h3>Building In The Cloud</h3>
    <p>Generally speaking, to build an application for a particular platform, you must install the SDK for that platform on your machine. This could be a problem if, for instance, you’re on a Mac and want to target Windows tablets, whose SDK requires you to be on a Windows machine. Adobe offers a service named <a href="https://build.phonegap.com/" rel="nofollow external" class="bo">PhoneGap Build</a> to help in this situation.</p>
    <p>PhoneGap Build enables you to upload a ZIP file containing the HTML, CSS and JavaScript of your application. Additionally, PhoneGap 3 enables you to <strong>submit an application to PhoneGap Build right from the command line</strong>; from there, PhoneGap Build takes over and produces a deployment bundle for the desired platform.</p>
    <p><a href="http://media.smashingmagazine.com/wp-content/uploads/2014/02/build-large-opt.png" rel="nofollow external" class="bo"><img src="http://media.smashingmagazine.com/wp-content/uploads/2014/02/build-500-opt.png" alt="build-500" width="500" height="172" style="max-width: 100%; height: auto;"></a></p>
    <p>Once the build process is complete, you may either download the deployment bundle and manually install it to your device or take a picture of a QR code on PhoneGap Build’s website and download the deployment package directly to your mobile device. What’s more, PhoneGap Build supports a feature named <a href="http://docs.build.phonegap.com/en_US/3.1.0/tools_hydration.md.html#Hydration" rel="nofollow external" class="bo">Hydration</a>, which enables the application to download updates to the HTML, CSS and JavaScript files whenever it launches.</p>
    <p>This means that testers will always be running the latest version of your application, without having to go through the traditional updating process. Note that, at least for now, Hydration is meant for development and testing — not for final production code that will be submitted to the app store.</p>
    <h4>Development in the Cloud</h4>
    <p>You can do more than simply compile and package your application in the cloud. Cloud-based <a href="http://www.icenium.com/" rel="nofollow external" class="bo">Icenium</a> provides a browser-based IDE that lets you edit code in a browser and immediately turn those edits into a deployment package. Using an application in the iOS App Store named <a href="http://www.icenium.com/product/ion" rel="nofollow external" class="bo">Icenium Ion</a>, you can dynamically load updates to your application as you change the code in the Web-based IDE.</p>
    <p>In addition, Icenium bundles a license to Telerik’s <a href="http://www.kendoui.com/" rel="nofollow external" class="bo">KendoUI</a> library. I’ve used this to make changes to an iOS PhoneGap application while on a Windows-based laptop. Icenium also offers a Windows desktop IDE named <a href="http://www.icenium.com/product/graphite" rel="nofollow external" class="bo">Graphite</a>, which expands on the capabilities of the browser-based tool.</p>
    <p>Another alternative to PhoneGap Build is <a href="http://www.appgyver.com/" rel="nofollow external" class="bo">AppGyver</a>. It is not an IDE like Icenium, but it does offer a UX library, named <a href="http://www.appgyver.com/steroids" rel="nofollow external" class="bo">Steroids</a>, that facilities navigation between Web views using some native controls. Note that for page content itself, you must still use HTML and CSS.</p>
    <p>The main downside to cloud-based development services is that they have limited support for PhoneGap plugins. However, new plugins are being supported all the time. Determine your application’s needs to see whether a particular cloud-based tool supports the plugins you require.</p>
    <h3>Debugging Your Application</h3>
    <p>In most cases, when attempting to debug an application, you’ll be mostly concerned with debugging the JavaScript, examining the console log and perhaps doing some interactive inspection and manipulation of the DOM. Unfortunately, there is no integrated way to debug across all platforms. However, there are several useful techniques, covered below.</p>
    <h4>Chrome DevTools</h4>
    <p>I generally find it easiest to work with Chrome DevTools by treating my pages as standard Web pages loaded in a desktop browser (although this doesn’t help with the portions of code that rely on PhoneGap plugins). Chrome DevTools provides an <a href="https://developers.google.com/chrome-developer-tools/docs/mobile-emulation" rel="nofollow external" class="bo">emulation panel</a> that simulates the aspect ratios, touch events and more of various mobile device screens.</p>
    <h4>Apache Ripple</h4>
    <p>Apache’s <a href="http://ripple.incubator.apache.org/" rel="nofollow external" class="bo">Ripple</a> is a NodeJS project that serves PhoneGap content in a desktop browser. Ripple enables you to experiment with different screen sizes and orientations. It also allows you to simulate geolocation coordinates and network connectivity events, as well as allows JavaScript code to invoke many of PhoneGap’s core plugins while running in a desktop browser.</p>
    <p>Ray Camden has <a href="http://www.raymondcamden.com/index.cfm/2013/11/5/Ripple-is-Reborn" rel="nofollow external" class="bo">more information on using Ripple</a> on his blog. Do not confuse this newer NodeJS-based version of Ripple with the outdated <a href="https://chrome.google.com/webstore/detail/ripple-emulator-beta/geelfhphabnejjhdalkjhgipohgpdnoc?hl=en" rel="nofollow external" class="bo">Chrome browser extension</a>. The Chrome extension is no longer supported and is not compatible with PhoneGap 3.</p>
    <h4>Using Desktop Safari to Debug Web Views in iOS Apps</h4>
    <p>Starting with Safari 6, Apple has included support for using the Web inspector in <a href="http://www.tricedesigns.com/2013/03/18/on-device-debugging-with-phonegap-ios-6/" rel="nofollow external" class="bo">desktop Safari to debug Web views</a> running in the simulator. With your app running in the simulator, simply go to the “Develop” menu in Safari and look for the “iPhone Simulator” option. This will connect the Web inspector to the running instance of your PhoneGap application and will allow to you manipulate the DOM, set breakpoints in JavaScript, etc.</p>
    <h4>Using Chrome DevTools to Debug Web Views in Android Apps</h4>
    <p>Starting with version 4.4, Android’s Web view is now based on Google Chrome. With this change comes the ability to <a href="https://developers.google.com/chrome-developer-tools/docs/remote-debugging#debugging-webviews" rel="nofollow external" class="bo">connect to the Web view from DevTools</a> and to debug interactively, just like you can with iOS. If you don’t have a 4.4 device, fear not: It works with the 4.4 emulator as well. Note that you’ll need to add a <a href="https://github.com/jrstarke/webview-debug" rel="nofollow external" class="bo">special plugin</a> to your PhoneGap project to enable Web view debugging on Android.</p>
    <h4>Web Inspector Remote</h4>
    <p><a href="http://people.apache.org/~pmuellr/weinre/docs/latest/Home.html" rel="nofollow external" class="bo">Web Inspector Remote</a> (WEINRE) provides a partial set of debugging features, including DOM manipulation and access to the console. However, it does not support JavaScript debugging. Add WEINRE to your application by including a script tag in your application’s HTML and running a NodeJS server that this script connects to. The main advantage of WEINRE is that it works with earlier versions of WebKit on mobile devices and is one way of debugging cross-platform.</p>
    <p>The <a href="https://github.com/phonegap/phonegap/wiki/Debugging-in-PhoneGap" rel="nofollow external" class="bo">PhoneGap wiki</a> also has a page on debugging, with links to other tools.</p>
    <h3>Learning More</h3>
    <p>Much of the work you’ll do with PhoneGap requires a strong understanding of HTML, CSS and JavaScript. Consult resources such as Nicholas Zakas’ excellent book <a href="http://www.amazon.com/Professional-JavaScript-Developers-Nicholas-Zakas/dp/1118026691/" rel="nofollow external" class="bo"><em>Professional JavaScript for Web Developers</em></a> to build a foundation for development with PhoneGap. Of course, other resources exist for jQuery Mobile, AngularJS, Backbone.js and other frameworks. Google and Udacity have recently teamed up to offer an <a href="https://www.udacity.com/course/cs256" rel="nofollow external" class="bo">online course</a> on mobile Web development, whose content applies to PhoneGap applications as well.</p>
    <p>As for PhoneGap itself, the project has some <a href="http://docs.phonegap.com/en/3.3.0/guide_platforms_index.md.html#Platform%20Guides" rel="nofollow external" class="bo">introductory guides</a> for each platform. And Adobe publishes a free monthly digital magazine, <a href="http://www.appliness.com/" rel="nofollow external" class="bo">Appliness</a>, covering Web and PhoneGap development. The <a href="https://github.com/phonegap/phonegap/wiki/Platform-Security" rel="nofollow external" class="bo">PhoneGap wiki</a> covers issues such as debugging and security. Finally, some great blogs by Adobe’s technical evangelists cover PhoneGap and Web development:</p>
    <ul>
    <li>
    <a href="http://www.tricedesigns.com/" rel="nofollow external" class="bo">Andrew Trice</a> provides a lot of sample code, along with some great performance tips.</li>
    <li>
    <a href="http://coenraets.org/blog/" rel="nofollow external" class="bo">Christophe Conraets</a> has a number of articles on ways to structure an application using MVC frameworks. He also covers how to integrate with server resources.</li>
    <li>
    <a href="http://www.raymondcamden.com/index.cfm" rel="nofollow external" class="bo">Raymond Camden</a> offers a variety of articles on PhoneGap plugins and PhoneGap Build.</li>
    <li>
    <a href="http://devgirl.org/" rel="nofollow external" class="bo">Holy Schinsky</a> has a series of articles on how to use and write PhoneGap plugins, as well as on how to incorporate push notifications.</li>
    </ul>
    <p>If you’d like to further explore the marriage of native code and Web code to produce mobile applications, my Smashing Magazine article on “<a href="http://mobile.smashingmagazine.com/2013/10/17/best-of-both-worlds-mixing-html5-native-code/" rel="nofollow external" class="bo">Mixing HTML5 and Native Code</a>” might be of interest.</p>
    <p>In the next and final installment in this series, we’ll explore another way to develop an application for multiple platforms, with Appcelerator Titanium.</p>
    <p><em>(al, ea)</em></p>
    <hr>
    <p><small>© Peter Traeg for <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>, 2014.</small></p>
    </div>
]]>
</Body>
<Summary>        This is the third installment in a series covering four ways to develop a mobile application. In previous articles, we examined how to build a native iOS and native Android tip calculator....</Summary>
<Website>http://www.smashingmagazine.com/2014/02/11/four-ways-to-build-a-mobile-application-part-3-phonegap/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41227/guest@my.umbc.edu/4ad757d538361e4abcc686ecd98c4201/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mobile</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 07:13:55 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="41228" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41228">
<Title>Bits Blog: Seeking a Spoiler-Free Sochi Olympics</Title>
<Body>
<![CDATA[
    <div class="html-content">A couple of apps might be able to help you preserve the magic of a tape-delayed miracle on ice.<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%2F02%2F11%2Fseeking-a-spoiler-free-sochi-olympics%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Seeking+a+Spoiler-Free+Sochi+Olympics" 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%2F02%2F11%2Fseeking-a-spoiler-free-sochi-olympics%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Seeking+a+Spoiler-Free+Sochi+Olympics" 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%2F02%2F11%2Fseeking-a-spoiler-free-sochi-olympics%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Seeking+a+Spoiler-Free+Sochi+Olympics" 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%2F02%2F11%2Fseeking-a-spoiler-free-sochi-olympics%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Seeking+a+Spoiler-Free+Sochi+Olympics" 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%2F02%2F11%2Fseeking-a-spoiler-free-sochi-olympics%2F%3Fpartner%3Drss%26emc%3Drss&amp;t=Bits+Blog%3A+Seeking+a+Spoiler-Free+Sochi+Olympics" 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/186530439951/u/0/f/640387/c/34625/s/36f71704/sc/14/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/sc/14/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/sc/14/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/sc/14/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/sc/14/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/sc/14/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530439951/u/0/f/640387/c/34625/s/36f71704/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>A couple of apps might be able to help you preserve the magic of a tape-delayed miracle on ice.      </Summary>
<Website>http://bits.blogs.nytimes.com/2014/02/11/seeking-a-spoiler-free-sochi-olympics/?partner=rss&amp;emc=rss</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41228/guest@my.umbc.edu/0debda4be8901dac2a4503f008895f71/api/pixel</TrackingUrl>
<Tag>android-operating-system</Tag>
<Tag>computers-and-the-internet</Tag>
<Tag>devices</Tag>
<Tag>facebook-inc</Tag>
<Tag>facebook-inc-fb-nasdaq</Tag>
<Tag>mobile</Tag>
<Tag>mobile-applications</Tag>
<Tag>new</Tag>
<Tag>olympic-games-2014</Tag>
<Tag>smartphones</Tag>
<Tag>social</Tag>
<Tag>social-media</Tag>
<Tag>technology</Tag>
<Tag>television</Tag>
<Tag>twitter</Tag>
<Tag>twitter-twtr-nyse</Tag>
<Tag>york</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 07:00:12 -0500</PostedAt>
<EditAt>Tue, 11 Feb 2014 09:31:34 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="41225" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41225">
<Title>Meet Your Student Callers: Jordan, Class of 2014</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><em>Once a month, we’ll profile one of the amazing Phonathon students working in UMBC’s call center. This week, say hello to <strong><span>student caller and supervisor Jordan.</span></strong></em></p>
    <p><span><a href="http://umbcgiving.files.wordpress.com/2014/01/jordan-coffie.jpg" rel="nofollow external" class="bo"><img alt="Jordan Coffie" src="http://umbcgiving.files.wordpress.com/2014/01/jordan-coffie.jpg?w=269&amp;h=404" width="269" height="404" style="max-width: 100%; height: auto;"></a>Jordan will be graduating in May of this year and has worked for Phonathon since September 2011. Jordan is from Bowie, MD, and is a Meyerhoff Scholar finishing his degree in computer engineering and mathematics. We sat down with Jordan to get to know him a little better and here’s what we learned:</span></p>
    <p><strong>Why did you choose to come to UMBC? What do you enjoy most now that you’re here?</strong><br>
    <em>I chose to come to UMBC because of the academic and scholarship programs as well as the diverse student body. Now that I’m here, I enjoy learning about the various cultural backgrounds of my classmates.</em></p>
    <p><strong>What activities do you enjoy outside of class?<br>
    </strong><em>When I’m not in class, I enjoy playing soccer and running around the Loop.</em></p>
    <p><strong>What do you like best about being a student caller?<br>
    </strong><em>The best thing about being a student caller is the opportunity to speak to a wide variety of UMBC alumni.</em></p>
    <p><span><strong>What are your plans after graduation?</strong><br>
    </span><em>My plans are to pursue  a career as a mathematician/computer scientist while pursuing a Ph.D. in mathematics.</em></p>
    <h2><a href="https://givecorps.com/en/umbc/projects" rel="nofollow external" class="bo">Learn more about the great projects that Jordan and the other student callers fundraise for. </a></h2>
    <br>   </div>
]]>
</Body>
<Summary>Once a month, we’ll profile one of the amazing Phonathon students working in UMBC’s call center. This week, say hello to student caller and supervisor Jordan.   Jordan will be graduating in May of...</Summary>
<Website>http://umbcgiving.wordpress.com/2014/02/11/meet-your-student-callers-jordan-class-of-2014/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41225/guest@my.umbc.edu/20e1f68c41b45c24e44799f2e76faff2/api/pixel</TrackingUrl>
<Tag>phonathon</Tag>
<Tag>retrievers</Tag>
<Tag>student-caller-of-the-week</Tag>
<Tag>student-callers</Tag>
<Tag>umbc</Tag>
<Tag>university-of-maryland-baltimore-county</Tag>
<Group token="retired-548">UMBC Giving</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-548</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/images/avatars/group/11/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/images/avatars/group/11/original.png?1787842820</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/images/avatars/group/11/xxlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/images/avatars/group/11/xlarge.png?1787842820</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/images/avatars/group/11/large.png?1787842820</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/images/avatars/group/11/medium.png?1787842820</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/images/avatars/group/11/small.png?1787842820</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/images/avatars/group/11/xsmall.png?1787842820</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/images/avatars/group/11/xxsmall.png?1787842820</AvatarUrl>
<Sponsor>UMBC Giving</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 06:35:40 -0500</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="41224" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41224">
<Title>Using animation to create an emotional connection with your audience</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="anim_thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2014/02/anim_thumbnail.jpg" width="200" height="160" style="max-width: 100%; height: auto;">For many of us, our early days are filled with animation. Cartoons made up a big part of my childhood, and many others whom I have conversed with over the years have shared similar origin stories. The bright colors, and often playful imagery has appeal across a range of ages.</p> <p>Bringing that touch of whimsy from our youths into the now, to present content in a fun and engaging way, is one of the best ways of establishing an emotional connection with your audience.</p> <p>So today we have another web design showcase to serve double duty as a source of inspiration to the readers and community, and as a means of highlighting some stellar work from the web design field at large. From examples that reflect the animations of our childhoods to those that more fall in line with the games and shows that have shaped our adulthoods, there is an animated gem or two that should appeal to and inspire everyone.</p> <p>The styles may have changed, and grown up along with us, but the heart of the animated escapes remains the same as designers take the web to daring and bold new places with their animated works.</p> <p> </p> <h1>Noir Et Renoir</h1> <p>I love the way the <a href="http://www.noiretrenoir.com/EN/#/loading" rel="nofollow external" class="bo">Noir Et Renoir</a> site starts black and white and slowly gains color as the lights in the windows come on. The interactive menu viewed through the windshield of the car is unique and adorable, whilst the information itself is presented in such a clean, minimalist way.</p> <p><a href="http://www.noiretrenoir.com/EN/#/loading" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/noiretrenoir.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Barcamp Omaha</h1> <p>The <a href="http://barcampomaha.org/" rel="nofollow external" class="bo">Barcamp Omaha</a> site keeps you delightfully entertained with a variety of animated monsters and aliens as you procede through its content, and the title created as a constellation adds a touch of extra whimsy.</p> <p><a href="http://barcampomaha.org/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/barcamp.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Azahran Design Box</h1> <p><a href="http://www.azahran.com/" rel="nofollow external" class="bo">Azahran Design Box</a> does a wonderful job staying true to their branding with sketchy cut out animations presented in cardboard boxes. Even offering a fun little interactive element to show you the services they provide.</p> <p><a href="http://www.azahran.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/azahran.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Quechua</h1> <p>The <a href="http://www.quechua.com/en/crossrock" rel="nofollow external" class="bo">Quechua</a> site does a wonderful job of using its animation as a type of call to action. The animated bits direct your eye to the interactive elements of the site, and since these elements are used sparingly, it’s totally effective.</p> <p><a href="http://www.quechua.com/en/crossrock" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/quechua.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Parallax.js</h1> <p><a href="http://wagerfield.github.io/parallax/" rel="nofollow external" class="bo">Parallax.js</a> uses its site as an example demonstrating how to use Parallax JavaScript on devices with a gyroscope. The cutout and pieced together look of the images works really well since this is a demo site, letting users know that this is just a fraction of what it can do.</p> <p><a href="http://wagerfield.github.io/parallax/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/parallax.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Protect the Football</h1> <p><a href="https://www.buffalowildwings.com/protectthefootball/" rel="nofollow external" class="bo">Protect the Football</a> is a Buffalo Wild Wings sponsored game released to correspond with American Football season. The animated dropping intros set the mood and tone before launching you into the playful brand inspired game.</p> <p><a href="https://www.buffalowildwings.com/protectthefootball/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/protectfootball.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Goodtwin</h1> <p><a href="http://goodtwin.co/" rel="nofollow external" class="bo">Goodtwin</a> uses it’s illustrated animation as a unique and quirky way to show how they can make your brand’s social profile continually rise.</p> <p><a href="http://goodtwin.co/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/goodtwin.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>inTacto 10 Years</h1> <p><a href="http://www.intacto10years.com/index_start.php" rel="nofollow external" class="bo">inTacto 10 Years</a> does a great job using an animated rocket ship to take us up and through space representing a timeline of technology development over the past 10 years.</p> <p><a href="http://www.intacto10years.com/index_start.php" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/intacto.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Kick My Habits</h1> <p><a href="http://www.leedsbuildingsociety.co.uk/resources/kick-my-habits/" rel="nofollow external" class="bo">Kick My Habits</a> makes clever use of animation to create what is essentially a completely interactive, multi-page infographic which shows users the cost of their bad habits and where they fall among the general population.</p> <p><a href="http://www.leedsbuildingsociety.co.uk/resources/kick-my-habits/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/kickmyhabits.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Polecat</h1> <p><a href="http://www.ipolecat.com/" rel="nofollow external" class="bo">Polecat</a> uses simple and colorful animations to illustrate the whimsical style of their work. The nature of the animations draws to mind those that one might expect from an app on their phone, stylistically tying the web design to the brand.</p> <p><a href="http://www.ipolecat.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/polecat.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Octave &amp; Octave</h1> <p>The <a href="http://www.octaveoctave.com/jobs/#header" rel="nofollow external" class="bo">Octave &amp; Octave</a> recruitment page makes creative use of animation for displaying the job openings they have, helping to make job hunting a little lighter a task than usual.</p> <p><a href="http://www.octaveoctave.com/jobs/#header" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/octave.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Milkable</h1> <p><a href="http://www.milkable.me/" rel="nofollow external" class="bo">Milkable</a> uses subtle animation to highlight the fun and easy-going style of the team behind this brand, their fluid creativity and, well, as the site says, awesomeness.</p> <p><a href="http://www.milkable.me/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/milkable.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>DFDS Seaways</h1> <p><a href="http://www.dfdsseaways.co.uk/Documents/smart-way-to-travel/index.html#.Uj4Zs4asiSo" rel="nofollow external" class="bo">DFDS Seaways’</a> (The Smart Way To Travel) website uses an animated illustration to take you through the different travel options offered as well as compare the experience users will get traveling with them by sea, as opposed to by train or airplane.</p> <p><a href="http://www.dfdsseaways.co.uk/Documents/smart-way-to-travel/index.html#.Uj4Zs4asiSo" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/dfdsseaways.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Phileas &amp; Fogg</h1> <p><a href="http://phileasandfogg.com/" rel="nofollow external" class="bo">Phileas &amp; Fogg</a> uses the beautiful image of a colorful hot air balloon floating over a vintage map to denote their purpose of flying a group of designers to the Costa Rica rainforests for 80 days.</p> <p><a href="http://phileasandfogg.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/phileasfogg.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Boris Etingof</h1> <p><a href="http://www.sixtyfps.com.au/" rel="nofollow external" class="bo">Boris Etingof</a> uses animation, among other accents, to give a pulse like touch to the interpretive constellation-esque designs in his experimental portfolio.</p> <p><a href="http://www.sixtyfps.com.au/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/borisetingof.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Axel Aubert</h1> <p><a href="http://axel-aubert.fr/#accueil" rel="nofollow external" class="bo">Axel Aubert</a> uses both animation and perspective to display the menu of the site in an engaging way. He captures the attention of the user with this creative touch.</p> <p><a href="http://axel-aubert.fr/#accueil" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/axelaubert.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Hellohikimori</h1> <p><a href="http://hellohikimori.com/#!/home" rel="nofollow external" class="bo">Hellohikimori</a> uses some intense, and at times macabre, alien-like imagery in their animated background to introduce users to the talent this design agency is packing.</p> <p><a href="http://hellohikimori.com/#!/home" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/hellohikimori.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <h1>Michelle Lana</h1> <p><a href="http://www.mitchlana.com/" rel="nofollow external" class="bo">Michelle Lana</a> uses animation as an enhancement to show off her illustration skills, keeping users thoroughly engaged as they scroll through her site. The childlike characters transport users back to the days of Saturday mornings in front of the tube.</p> <p><a href="http://www.mitchlana.com/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/02/michellelana.jpg" width="650" alt="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"></a></p> <p> </p> <p><em><strong>Have you used animation in your work? Do you have a favourite site we’ve missed? Let us know in the comments.</strong></em></p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/beautune.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Create Picture-Perfect Portraits With Beautune – only $14!</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="Using animation to create an emotional connection with your audience" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2014/02/using-animation-to-create-an-emotional-connection-with-your-audience/" rel="nofollow external" class="bo">Source</a> <br><div><table border="0"><tbody><tr><td>
    <a href="http://share.feedsportal.com/share/twitter/?u=http%3A%2F%2Fwww.webdesignerdepot.com%2F2014%2F02%2Fusing-animation-to-create-an-emotional-connection-with-your-audience%2F&amp;t=Using+animation+to+create+an+emotional+connection+with+your+audience" 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%2F2014%2F02%2Fusing-animation-to-create-an-emotional-connection-with-your-audience%2F&amp;t=Using+animation+to+create+an+emotional+connection+with+your+audience" 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%2F2014%2F02%2Fusing-animation-to-create-an-emotional-connection-with-your-audience%2F&amp;t=Using+animation+to+create+an+emotional+connection+with+your+audience" 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%2F2014%2F02%2Fusing-animation-to-create-an-emotional-connection-with-your-audience%2F&amp;t=Using+animation+to+create+an+emotional+connection+with+your+audience" 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%2F2014%2F02%2Fusing-animation-to-create-an-emotional-connection-with-your-audience%2F&amp;t=Using+animation+to+create+an+emotional+connection+with+your+audience" 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/186530486694/u/49/f/661066/c/35285/s/36f4715f/sc/4/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/sc/4/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/sc/4/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/sc/4/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/sc/4/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/sc/4/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/186530486694/u/49/f/661066/c/35285/s/36f4715f/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>For many of us, our early days are filled with animation. Cartoons made up a big part of my childhood, and many others whom I have conversed with over the years have shared similar origin stories....</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/36f4715f/sc/4/l/0L0Swebdesignerdepot0N0C20A140C0A20Cusing0Eanimation0Eto0Ecreate0Ean0Eemotional0Econnection0Ewith0Eyour0Eaudience0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41224/guest@my.umbc.edu/fa2de3c45c2fda6b317f249791f34248/api/pixel</TrackingUrl>
<Tag>animated-websites</Tag>
<Tag>animation</Tag>
<Tag>animation-in-websites</Tag>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>design-inspiration</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>inspiration</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web-design-inspiration</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 03:15:37 -0500</PostedAt>
<EditAt>Tue, 11 Feb 2014 03:15:37 -0500</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="41223" important="false" status="posted" url="https://my3.my.umbc.edu/posts/41223">
<Title>Doctora &#8211; Can I Have a Kidney?</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><a href="http://usdemocrazy.net/wp-content/uploads/2014/02/illegal-organs-protest.jpg" rel="nofollow external" class="bo"><img alt="" src="http://usdemocrazy.net/wp-content/uploads/2014/02/illegal-organs-protest.jpg" width="749" height="421" style="max-width: 100%; height: auto;"></a></p>
    <p><span>There are many folks in the US who feel strongly about illegal immigration. </span></p>
    <p><span>Large numbers think immigrants should be denied the priviliges offerd to US citizens like owning US driving licences, collecting food stamps and using Medicare.</span></p>
    <p>But what about having life-saving transplants? Is their a compassionate case to allow these?</p>
    <p><a href="http://content.healthaffairs.org/content/33/2/332.full" rel="nofollow external" class="bo">Take the case of Mr. Rojas</a><a href="http://content.healthaffairs.org/content/33/2/332.full" rel="nofollow external" class="bo">. <br></a></p>
    <p>Mr. Rojas didn’t jump a fence, or get smuggled into the country. He overstayed his work visa, like <a href="http://www.breitbart.com/Big-Government/2013/04/08/Illegal-immigration-overstay-visas" rel="nofollow external" class="bo">40%</a> of illegal immigrants in the U.S.</p>
    <p>And he’s still working. But he is seriously ill.</p>
    <p>Mr. Rojas is “an ideal kidney transplant candidate,” according to his nephrologist Venessa Grubbs. He doesn’t smoke, doesn’t use drugs, works as a dishwasher, has young children and a wife. He follows his doctor’s directions – easy on the potassium. He shows up for dialysis. He’s doing everything right under the circumstances.</p>
    <blockquote>
    <p>“Even though transplant promises a significantly longer and better quality of life, I will not refer Mr. Rojas to the transplant center for evaluation, because the only detail that matters in this case is that Mr. Rojas is a poor, undocumented immigrant. And America does not give transplants to poor, undocumented immigrants.”</p>
    </blockquote>
    <p>The stakes are high. <a href="http://www.progressillinois.com/quick-hits/content/2013/08/12/activists-demand-justice-uninsured-immigrants-need-organ-transplants" rel="nofollow external" class="bo">Sarai Rodriguez</a>, a twenty-five year old in need of a liver transplant, died after being refused a spot on the waiting list because of her undocumented status. </p>
    <p>In August of last year, <a href="http://www.enewspf.com/latest-local/45240-undocumented-immigrants-in-need-of-transplants-mobilize-occupation-at-northwestern-memorial-hospital.html" rel="nofollow external" class="bo">twenty immigrants went on a hunger strike</a> outside Northwestern Memorial Hospital in Chicago to protest the policy with little to show for their actions thus far.</p>
    <p>So it seems the only way Mr. Rojas can get a transplant is by way of a miracle.</p>
    <p>Such a miracle happened to <a href="http://www.huffingtonpost.com/2012/02/09/jesus-navarro-illegal-immigrant-kidney-transplant-reversal_n_1266006.html" rel="nofollow external" class="bo">Jesus Navarro</a>. He finally received a transplant after a wealthy kidney recipient created a Change.org petition on his behalf.  100,000 signatures later Navarro’s hospital felt the pressure and performed the procedure.</p>
    <p>It’s nice to think the public will come to the rescue of Mr. Rojas and others like him… but the odds are not good.</p>
    <p>What to do? Should we lift the limits on such life-saving operations? </p>
    <p> </p>
    </div>
]]>
</Body>
<Summary>There are many folks in the US who feel strongly about illegal immigration.    Large numbers think immigrants should be denied the priviliges offerd to US citizens like owning US driving licences,...</Summary>
<Website>http://usdemocrazy.net/doctora-can-i-have-a-kidney/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/41223/guest@my.umbc.edu/7ff6f3795f4a4b4b7d377c84916726dc/api/pixel</TrackingUrl>
<Tag>current</Tag>
<Tag>democracy</Tag>
<Tag>health-insurance</Tag>
<Tag>healthcare</Tag>
<Tag>hunger-strike</Tag>
<Tag>illegal-immigrants</Tag>
<Tag>immigration</Tag>
<Tag>news</Tag>
<Tag>organ-transplant</Tag>
<Tag>politics</Tag>
<Tag>social-issues</Tag>
<Tag>us</Tag>
<Tag>usdemocrazy</Tag>
<Group token="retired-12">USDemocrazy</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-12</GroupUrl>
<AvatarUrl>https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xsmall.png?1279120129</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/original.jpg?1279120129</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xxlarge.png?1279120129</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xlarge.png?1279120129</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/large.png?1279120129</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/medium.png?1279120129</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/small.png?1279120129</AvatarUrl>
<AvatarUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xsmall.png?1279120129</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/012/f0935e4cd5920aa6c7c996a5ee53a70f/xxsmall.png?1279120129</AvatarUrl>
<Sponsor>USDemocrazy</Sponsor>
<PawCount>16</PawCount>
<CommentCount>23</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Tue, 11 Feb 2014 01:45:28 -0500</PostedAt>
</NewsItem>

</News>
