<?xml version="1.0"?>
<News hasArchived="true" page="7591" pageCount="10794" pageSize="10" timestamp="Mon, 07 Sep 2026 13:14:40 -0400" url="https://my3.my.umbc.edu/posts.xml?mode=activity&amp;page=7591&amp;range=2">
<NewsItem contentIssues="false" id="44087" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44087">
<Title>Efficient XML Interchange (EXI) Primer Draft Published</Title>
<Body>
<![CDATA[
    <div class="html-content"><p>The <a href="http://www.w3.org/XML/EXI/" rel="nofollow external" class="bo">Efficient XML Interchange Working Group</a> has published a Working Draft of <a href="http://www.w3.org/TR/2014/WD-exi-primer-20140424/" rel="nofollow external" class="bo">Efficient XML Interchange (EXI) Primer</a>, which provides technical background for the Efficient XML Interchange (EXI) format. It is oriented towards quickly understanding how the EXI format can be used in practice and how options can be set to achieve specific needs. Learn more about the <a href="http://www.w3.org/XML/" rel="nofollow external" class="bo">Extensible Markup Language (XML) Activity</a>.</p></div>
]]>
</Body>
<Summary>The Efficient XML Interchange Working Group has published a Working Draft of Efficient XML Interchange (EXI) Primer, which provides technical background for the Efficient XML Interchange (EXI)...</Summary>
<Website>http://www.w3.org/blog/news/archives/3799</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44087/guest@my.umbc.edu/67e958d5ffc068f73aed80462d1ba2bc/api/pixel</TrackingUrl>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>home-page-stories</Tag>
<Tag>html</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>publication</Tag>
<Tag>sql</Tag>
<Tag>w3</Tag>
<Tag>web</Tag>
<Tag>xml-core-technologies</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 11:18:19 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="43897" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43897">
<Title>Student Success!</Title>
<Tagline>Congratulations to Kelsey Donnellan!</Tagline>
<Body>
<![CDATA[
    <div class="html-content">Kelsey Donnellan received a URA grant for next year's URCAD! Congratulations!</div>
]]>
</Body>
<Summary>Kelsey Donnellan received a URA grant for next year's URCAD! Congratulations!</Summary>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43897/guest@my.umbc.edu/1c7a4c95b9aa77b62184243cf093f525/api/pixel</TrackingUrl>
<Group token="inds">Individualized Study </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/inds</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xsmall.png?1775678457</AvatarUrl>
<AvatarUrl size="original">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/original.png?1775678457</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xxlarge.png?1775678457</AvatarUrl>
<AvatarUrl size="xlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xlarge.png?1775678457</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/large.png?1775678457</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/medium.png?1775678457</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/small.png?1775678457</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xsmall.png?1775678457</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/208/d198d05a1c66aa65c037907edcd05c5d/xxsmall.png?1775678457</AvatarUrl>
<Sponsor>Interdisciplinary Studies</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/xxlarge.jpg?1398349277</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/xlarge.jpg?1398349277</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/large.jpg?1398349277</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/medium.jpg?1398349277</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/small.jpg?1398349277</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/xsmall.jpg?1398349277</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/897/e14dc01aadd6ee3cee4ef338fd966b35/xxsmall.jpg?1398349277</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 10:21:47 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="44120" important="false" status="posted" url="https://my3.my.umbc.edu/posts/44120">
<Title>Rebuilding An HTML5 Game In Unity</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>When our HTML5 game Numolition was nearly done, we decided to throw it all away and rebuild it in Unity. That turned out to be an exciting and valuable experience, and one that I thought would be worth sharing with other Web developers. Come in, the water’s warm!</p>
    <p>Last year, we released a mobile game named <a href="http://www.quento.com" rel="nofollow external" class="bo">Quento</a>. It was written entirely in HTML5, wrapped in our proprietary PhoneGap alternative and launched in many app stores with mild success.</p>
    <p>The game caused me to jot down a few spinoff ideas. One that I particularly liked was a game with a stack of numbered tiles in which the player has to clear a level by combining numbers and tapping groups to make them disappear. I created a prototype in HTML5, Quento Towers, so that I could run it by a few coworkers in the office by simply handing them a mobile phone with the game running in a browser.</p>
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/01-quentotowers.jpg" rel="nofollow external" class="bo"><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/01-quentotowers-500.jpg" alt="A first HTML5 prototype" width="400" height="600" style="max-width: 100%; height: auto;"></a><br><em>Move 1 to the right to land on 4. Merge 1 and 4 and merge 2 and 3. Then, tap the 5s to clear the level. (<a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/01-quentotowers.jpg" rel="nofollow external" class="bo">Large version</a>)</em></p>
    <p>Those who played the prototype really liked the idea, so I spent quite a few evenings and weekends designing levels and experimenting with new features. The gameplay was coming along nicely, and I even added a built-in level editor using localStorage to save levels, which was very helpful during commutes. Yes, Web technology was definitely of great value during this phase.</p>
    <p><strong>Fun note</strong>: You can <a href="http://quento.com/demos/quentotowers" rel="nofollow external" class="bo">play the prototype in a browser</a> (tested on Safari and Chrome). It even has the level-editor functionality.</p>
    <h3>The Art-Direction Pivot</h3>
    <p>I was pretty happy with the minimalist style, which was similar to Quento’s. It would keep development time down and enable us to release quickly, allowing Quento to become our brand of math games — something I seem to have an affinity for, and the reason the team calls me He-who-makes-grid-with-numbers-games.</p>
    <p>Meanwhile, our artist, Richard, had secretly prepared a pitch on art direction that he thought would make the game stand out. One morning, he showed this:</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/02-quentotowers.jpg" alt="Possible title screen for Quento Towers" width="500" height="447" style="max-width: 100%; height: auto;"><br><em>Possible title screen for Quento Towers.</em></p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/03-explotions.gif" alt="Fancy explosions" width="484" height="358" style="max-width: 100%; height: auto;"><br><em>Fancy explosions.</em></p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/04-blocka.gif" alt="Merging effects" width="314" height="216" style="max-width: 100%; height: auto;"><br><em>Merging effects.</em></p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/05-bunny.jpg" alt="Wacky characters" width="240" height="278" style="max-width: 100%; height: auto;"><br><em>Wacky characters.</em></p>
    <p>It was spot on. I saw that the effects and cutesy characters, combined with the unique gameplay, could really set this game apart. It wasn’t long before Richard was producing more artwork and we had a suitable soundtrack. Benjamin, one of our iOS engineers, was working on our own PhoneGap alternative because we had had some performance issues with PhoneGap. And I was putting it all together for an internal demo prior to our annual company trip.</p>
    <p>The game even had a new name: Numbers. Demolition. Get it? Oh, and the word had zero hits on Google at the time.</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/06-numolition.jpg" alt="A new name for the game." width="454" height="194" style="max-width: 100%; height: auto;"><br><em>A new name for the game.</em></p>
    <h3>The Internal Launch</h3>
    <p>On the day of our internal launch, the game looked like this:</p>
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/07-internal-launch.jpg" rel="nofollow external" class="bo"><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/07-internal-launch-500.jpg" alt="Three screenshots of the HTML5 version of Numolition." width="500" height="250" style="max-width: 100%; height: auto;"></a><br><em>Three screenshots of the HTML5 version of Numolition. (<a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/07-internal-launch.jpg" rel="nofollow external" class="bo">Large version</a>)</em></p>
    <p>It ran on iOS and Android, its resolution was fixed to 640 by 960 pixels, and it had been tested only on WebKit browsers. This approach had worked before, and we wanted to streamline the gameplay before making it more responsive or tweaking it for other resolutions and devices.</p>
    <p><strong>Note</strong>: Our approach was to support just a few resolutions, like 3:4 and 2:3, and then scale up using CSS and fill the remaining space with white to match the comic panels.</p>
    <p>In hindsight, setting an internal launch date was a logical next step after prototyping, because the game now had an audience and was an <strong>actual release</strong>.</p>
    <p>The play test that followed during this trip was very informative. Everyone still loved the game, and not only did they enjoy the normal levels, but people seemed to prefer the special tower modes that we added. And we learned that all 50 nerds were comparing their high scores with one another, which made us decide to add a leaderboard of some sort.</p>
    <p>However, we also saw a lot of problems from the Web-based DOM and CSS nature of our game. You see, with so many Android devices at hand, we noticed that some devices showed permanent movement artifacts, rendering glitches, problems with Web fonts, missing elements and many other issues that weren’t simple “bugs” that could be fixed.</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/08-bug.jpg" alt="One Android device was missing tiles." width="480" height="479" style="max-width: 100%; height: auto;"><br><em>One Android device was missing tiles.</em></p>
    <p>Rather, these issues were caused by how a particular device’s browser component handled the rendering and offloaded parts to the GPU. We couldn’t fix the problems with code alone. We would only be able to work around them using obscure CSS tricks, which often have side effects.</p>
    <h3>Trying Out Unity</h3>
    <p>Back at our company, Q42, we evaluated the current state of Numolition. The core gameplay was good enough be released, which felt really good. What didn’t feel good were the rendering glitches and performance on some devices. Even though most people at Q42 had pretty new Android models and we weren’t doing anything crazy in the code, we wanted the game to run a bit more smoothly than it was.</p>
    <p><strong>Note</strong>: Our Web version of the game was built using the DOM and CSS, not canvas. Had we used canvas, we wouldn’t have had many of the rendering differences between platform. However, cross-platform performance, especially on old devices, was not likely something that canvas (hardware-accelerated or not) could solve out of the box.</p>
    <p>Moving forward and releasing the game as is was one option. Rebuilding with canvas was another. A third suggestion, given by Benjamin, was to give <a href="http://unity3d.com" rel="nofollow external" class="bo">Unity</a> a try, for the following reasons:</p>
    <ol>
    <li>Although Unity was built for 3-D games, its developer was working on a promising native 2-D engine, which has since been released.</li>
    <li>Its <a href="http://unity3d.com/unity/licenses" rel="nofollow external" class="bo">free license</a> seems to allow for development and distribution of mobile apps at no charge, requiring only a splash screen and missing some Pro features that we felt we could live without.</li>
    <li>Cross-platform comes out of the box: desktop, iOS, Android, Windows Phone, Windows 8, BlackBerry.</li>
    <li>It allows for development in C# or <a href="http://wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScript" rel="nofollow external" class="bo">UnityScript</a> (often referred to as JavaScript, even though it is more akin to Microsoft’s JScript.NET). Both languages are familiar to the team.</li>
    <li>Using it would be a great learning experience.</li>
    <li>It would offer us valuable comparative insights.</li>
    </ol>
    <p>And, hey, how hard could it be? We decided to give it a try for two weeks and see how far we could get.</p>
    <p>Not very far, it turned out. Still, the results were interesting.</p>
    <h3>Unity From An HTML5 Developer’s Perspective</h3>
    <p>We chose to go with C#, instead of UnityScript, because of its class-based nature and friendly and familiar syntax. We started by literally porting existing methods that dealt with the computational engine, instead of the visuals. For instance, a fragment of the JavaScript that detects which tiles are affected by a given tap was converted from this…</p>
    <pre><code>// returns an array of [$tile, $tile, $tile] that match the value of the given tile&#x000A;    // optionally (depending on GameOptions) bombs will explode surrounding tiles,&#x000A;    // and if those tiles are sets of numbers, they will chain a larger explosion&#x000A;    &#x000A;    this.getMatchingTiles = function(x, y) {&#x000A;    	&#x000A;    	// create an array of tiles to check and put the current one in there&#x000A;    	var tilesToCheck = [],&#x000A;    		had = {},&#x000A;    		added = {},&#x000A;    		valueToMatch = that.getCurrentTileValue(x, y),&#x000A;    		matchingTiles = [];&#x000A;    &#x000A;    	_lastMatchingBombCount = 0;&#x000A;    &#x000A;    	// helper function to add new tiles to the checking queue&#x000A;    	function addTileToQueue(x,y, fromDirectMatch, value) {&#x000A;    		var id = 'tile-' + x + '-' + y + '-' + value;&#x000A;    &#x000A;    		// if x and y are within the frid and this tile hasn't been checked yet&#x000A;    		if (x &gt;= 0 &amp;&amp; y &gt;= 0 &amp;&amp; x &lt; that.tilesX &amp;&amp; y &lt; that.tilesY &amp;&amp; !had[id]) {&#x000A;    			had[id] = true;&#x000A;    			if (that.existsTile(x, y)) tilesToCheck.push([x, y, fromDirectMatch, value]);&#x000A;    		}  &#x000A;    	}&#x000A;    &#x000A;    	addTileToQueue(x, y, true, valueToMatch);&#x000A;    }&#x000A;    </code></pre>
    <p>… to this in C#:</p>
    <pre><code>&#x000A;    public List&lt;Tile&gt; GetMatchingTiles(Tile tile) {&#x000A;    &#x000A;    	// stack of tiles to check&#x000A;    	Stack&lt;CheckTileSetting&gt; tilesToCheck = new Stack&lt;CheckTileSetting&gt; ();&#x000A;    &#x000A;    	// hash of positions (and their value) that were already checked&#x000A;    	HashSet&lt;string&gt; had = new HashSet&lt;string&gt; ();&#x000A;    	List&lt;string&gt; added = new List&lt;string&gt; ();&#x000A;    	List&lt;Tile&gt; matchingTiles = new List&lt;Tile&gt; ();&#x000A;    	lastMatchingBombCount = 0;&#x000A;    	lastMatchingStarCount = 0;&#x000A;    &#x000A;    	// adds a title to the stack to check, only if the tile exists&#x000A;    	// and not already checked (for this value)&#x000A;    	addTileToQueue addToQueue = delegate(CheckTileSetting cts) {&#x000A;    		string hadId = "Tile-" + cts.col + "-" + cts.row + "-" + cts.valToCheck;&#x000A;    		if (!had.Contains(hadId)) {&#x000A;    			had.Add(hadId);&#x000A;    			Tile tileToCheck != null) {&#x000A;    				tilesToCheck.Push(cts);&#x000A;    			}&#x000A;    		}&#x000A;    	};&#x000A;    &#x000A;    	// add the initial tile to the stack&#x000A;    	addToQueue (new CheckTileSetting { col = tile.col, row = tile.row, valToCheck = tile.val, fromDirectMatch = true });&#x000A;    }&#x000A;    </code></pre>
    <p>In the first few weeks of working with Unity, I had quite a few head-scratching newbie moments. I had to forget things like pixels and relative positioning and get used to cameras, scaling, GameObjects, meshes, renderers and shaders.</p>
    <h4>A Short Overview of How Unity Works</h4>
    <p>Projects in Unity start with an empty <strong>scene</strong> that can be used for a menu, for a single level or even for an entire game. It’s a 3-D container, and a <strong>camera</strong> is positioned towards its center: <code>0,0,0</code> (yes, three axis: x, y and z). You can then add <strong>GameObjects</strong> from within the editor or hook up <strong>scripts</strong> that do this by code. A GameObject only has a position within the scene, and it can be a void container acting as a relative position to its children, or it can be a flat pane, or it can be any <strong>mesh</strong> (shape) ranging from a simple cube to a castle. This is all component-based: A mesh is a component, but a script is, too, and you can add them to any GameObject. Then, you add <strong>materials</strong> (the textures), which is when it starts to look like a game.</p>
    <p>Any object may be moved or animated — relatively or absolutely — and you can control the camera, too. So, for Numolition’s menu system, we drew the comic panels only once and then pan the camera from left to right to navigate between them.</p>
    <p>All objects that you instantiate and place in a scene may be viewed in the hierarchy panel that shows the entire tree, which is Unity’s equivalent of the DOM. While the game is running, you have real-time access to this hierarchy to inspect items, but you can also freely move through the 3-D space that represents your current game. This free view is different from the actual game view and allows you to see what’s going on from multiple perspectives. This came in handy for us on several occasions when we noticed that items were invisible because of their 3-D position in space (due to being placed behind other objects).</p>
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/09-unity-editor.jpg" rel="nofollow external" class="bo"><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/09-unity-editor-500.jpg" alt="The Unity IDE with Numolition running." width="500" height="375" style="max-width: 100%; height: auto;"></a><br><em>The Unity IDE with Numolition running. (<a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/09-unity-editor.jpg" rel="nofollow external" class="bo">Large version</a>)</em></p>
    <p>Overall, the Unity IDE offers scene and property inspectors that are solid, visual and real-time, and in some cases the 3-D approach works better than a flat Web view, but I also found myself missing Chrome’s WebKit inspector from time to time, including its flexibility and especially the script console.</p>
    <p>But what I felt was lacking the most was a mechanic like CSS: a language to declaratively describe the look and feel of objects that have a certain name, ancestor path, context or behavioral class. Sure, Unity provides a <a href="https://docs.unity3d.com/Documentation/Components/class-GUISkin.html" rel="nofollow external" class="bo">theming mechanism for its GUI layer</a>, but it’s not the same and hardly as flexible as CSS, one of the pillars of the Web.</p>
    <p>This was, however, all part of the learning experience. The upside after the first few weeks was that the basics of the game had been reconstructed quite rapidly, and it wasn’t long before we had a playable version.</p>
    <h3>Managing Images For Cross-Platform Usage</h3>
    <p>A nice aspect of our way of working was that Unity allows visual artists to easily contribute. Richard didn’t simply provide us with new artwork — he built and tweaked explosion sprite sheets and added particle effects. All we had to do was hook them up to the corresponding event in the game.</p>
    <p>Another fine aspect of working with Unity is the fine-grained control you get to manage your assets. We didn’t have to prefabricate all of the different images that we were going to use for each platform. Instead, this happens compile-time, based on the raw originals that you have included in your project. You can control default compression, override it for particular platforms, apply it to multiple images or per image, set maximum resolutions, compress results by a factor of 2 for memory optimization, etc.</p>
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/10-image-management.jpg" rel="nofollow external" class="bo"><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/10-image-management-500.jpg" alt="Image management in Unity." width="301" height="600" style="max-width: 100%; height: auto;"></a><br><em>Image management in Unity. (<a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/10-image-management.jpg" rel="nofollow external" class="bo">Large version</a>)</em></p>
    <p>This truly removes a big hurdle that is still present in the Web space today, with the responsive image format still being worked on over multiple iterations. Sure, it’s all coming with HTML5, and you can accomplish it today if you know the ins and outs, but with Unity it’s just there, today, designed with mobile games in mind.</p>
    <h3>Evaluating Our Unity Game</h3>
    <p>Because the game had reached the point of being better and more feature-complete than where we left the HTML5 version, we decided to take a moment to evaluate the process and results so far.</p>
    <p>We were surprised. The game ran smoothly on any high-end device that we tested it on, and older devices running the likes of Android 2.3 did really well. Sure, the frame rate wasn’t the same, but here’s the big difference: With our HTML5 (i.e. DOM and CSS) version of the game, the differences between devices and resolutions were mainly rendering glitches, device-specific hiccups or bugs. With our Unity version, the only differences were frame rate and memory usage on low-end devices.</p>
    <p>We hadn’t written any code to optimize how the game would run. If the device was running Android 2.3 or iOS 6 or higher, it just worked. At the same time, we decided to submit a test build to the Amazon Kindle Store — despite not having an actual Kindle to test on or even having tried to run the game in a Kindle emulator. That’s how confident the results made us.</p>
    <p><strong>Note</strong>: Because the game wasn’t completely finished, we didn’t publish it to the Kindle yet. Since then, we’ve been able to pick up a Kindle Fire at a local store. And guess what? The game runs brilliantly!</p>
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/11-kindle-fire.jpg" rel="nofollow external" class="bo"><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/11-kindle-fire-500.jpg" alt="Numolition running on a Kindle Fire." width="500" height="541" style="max-width: 100%; height: auto;"></a><br><em>Numolition running on a Kindle Fire. (<a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/11-kindle-fire.jpg" rel="nofollow external" class="bo">Large version</a>)</em></p>
    <p>A huge disappointment in the realm of Unity, however, is the <a href="https://www.assetstore.unity3d.com/" rel="nofollow external" class="bo">Asset Store</a>. Nothing is wrong with charging for add-ons, such as vector drawing and tweening libraries, but it sets the standard for others to charge for their code and is the complete opposite of the realm of the open Web, which everybody is trying to push forward.</p>
    <p>Instead of using social coding to make things better, the Unity forums are full of developers presenting their one-off packages to solve specific problems, requests from other users for features, and bug submissions, with each individual developer hopefully fixing them. And because there is no trial for these add-ons, we ended up purchasing about eight of them and throwing away five or six because they simply weren’t very good.</p>
    <h3>Windows Phone Trial Mode</h3>
    <p>Towards the end of our development process, we learned of <a href="http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff967558(v=vs.105).aspx" rel="nofollow external" class="bo">trial mode for Windows Phone</a>. This allows players to download the game for free and purchase it later, but it differs from an in-app purchase because it doesn’t require the developer to specify a purchasable item for each particular app store and then handle each purchase in-game. When a user purchases an app that is on trial, they go through a regular round-trip purchase, as if they had bought the game in the store directly, and then are taken back into the game.</p>
    <p>Unity offers support for this through a <a href="http://docs.unity3d.com/Documentation/ScriptReference/Windows.LicenseInformation.html" rel="nofollow external" class="bo">simple API</a>:</p>
    <pre><code>UnityEngine.Windows.isOnAppTrial&#x000A;    UnityEngine.Windows.PurchaseApp()&#x000A;    </code></pre>
    <p>We learned that users almost expect trial mode for Windows Phone games, so Unity offering such a feature out of the box is a real treat. Implementing it took us less than a day, and it might have contributed to Microsoft’s choice to feature our game on the front page of its app store in several countries, as well as the <a href="http://www.wpcentral.com/numolition-fantastic-number-puzzle-game-windows-phone-8" rel="nofollow external" class="bo">positive reviews</a>.</p>
    <p>A downside is that Unity does not offer a similar basic API for performing in-app purchases. To do this, developers still need either to build it themselves or to go with one of the third-party plugins available in the Asset Store.</p>
    <h3>Why It Took Us So Long</h3>
    <p>We started rewriting the game around September 2013, and the game was released in March 2014. The reasons why it took us this long are threefold, and not specifically related to either Unity or Web technology.</p>
    <p>First of all, we decided to go with a comic book design, and so our <strong>panels needed to stretch</strong>.</p>
    <p><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/12-wide-versus-tall.jpg" alt="Responsive comic book panels in Unity." width="500" height="488" style="max-width: 100%; height: auto;"><br><em>Responsive comic book panels in Unity.</em></p>
    <p>Because we were rebuilding the game in Unity, we thought we’d tackle the responsive side of the menu system, which consists of comic book pages with panels. The idea was to draw these panels proportionally to the screen in order not to stretch any lines, which would have looked awkward.</p>
    <p>This took us multiple attempts to get right. It involved creating the panels in code through meshes (i.e. shapes) generated on the fly, loading and scaling materials and doing a whole lot of math.</p>
    <p>Secondly, we wanted to integrate <strong>Facebook leaderboards</strong>. This wasn’t difficult, but it just took time. We needed to sort out how to properly support both users who have installed the Facebook app and those who haven’t. And because the <a href="https://developers.facebook.com/docs/unity/" rel="nofollow external" class="bo">Facebook SDK for Unity</a> is still in development, we struggled here and there. But we feel that the result justifies the time spent on this.</p>
    <p><a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/13-facebook-leaderboards.jpg" rel="nofollow external" class="bo"><img src="http://www.smashingmagazine.com/wp-content/uploads/2014/04/13-facebook-leaderboards-500.jpg" alt="Facebook leaderboards" width="379" height="600" style="max-width: 100%; height: auto;"></a><br><em>Facebook leaderboards. (<a href="http://www.smashingmagazine.com/wp-content/uploads/2014/04/13-facebook-leaderboards.jpg" rel="nofollow external" class="bo">Large version</a>)</em></p>
    <p>Thirdly, <strong>fragmented planning</strong>. We simply had many other projects and cool stuff going on, so sometimes we couldn’t touch a line of Numolition code for a few weeks — although we still had weekends and evenings.</p>
    <h3>Conclusion</h3>
    <p>So, does Unity beat HTML5? No, nor is this post intended to answer that question. The purpose of this retrospective is to provide insight into what it’s like for an HTML5 developer who strongly sides with the DOM and CSS to get into Unity game development.</p>
    <p>You see, I still feel that HTML5 is… well, friggin’ awesome! Without it, we wouldn’t have been able to build a website such as <a href="http://rijksmuseum.nl" rel="nofollow external" class="bo">Rijksmuseum</a>’s, one of the projects we are very proud of. HTML5 is getting better every day, and we will be using both HTML5 and Unity again for future projects. For mobile games, we think that the Web and its lineup of third-party tools, wrapping technologies and hardware-accelerated canvas solutions still have a way to go, whereas Unity offers quite an interesting alternative right out of the box.</p>
    <p>Simply put, we are really happy with the current state of our game, and giving Unity a try provided a valuable lesson. Unity’s great performance, fine-grained control over asset management and the ability to deploy to multiple platforms so easily are big advantages of Unity over vanilla HTML5.</p>
    <p>Having stepped into the world of Unity as a Web developer, I think it’s safe to say that a lot is to be learned from Unity’s approach. On the other hand, Unity could benefit from the way the Web works — for example, the openness and the separation of the declarative rendering mechanism from the logic. Both Unity and the Web could learn and benefit from each other.</p>
    <p></p>
    <div class="embed-container"><iframe src="https://www.youtube.com/embed/R_OqThCelts" frameborder="0" webkitallowfullscreen="webkitAllowFullScreen" mozallowfullscreen="mozallowfullscreen" allowfullscreen="allowFullScreen">[Video]</iframe></div>
    <br><em>The Numolition launch trailer. (<a href="https://www.youtube.com/embed/R_OqThCelts" rel="nofollow external" class="bo">Watch on Youtube</a>)</em>
    <h3>A Comparison</h3>
    <p>I sat down with the Numolition team to draw a list of the pros and cons of developing a mobile game with Unity and with HTML5 (although focused on the DOM and CSS with the latter). The list is as subjective as can be, but it might be helpful if you’re thinking about developing your next game in Unity.</p>
    <h4>Unity, The Good</h4>
    <ul>
    <li>Performance is great.</li>
    <li>Publishing is cross-platform and highly reliable.</li>
    <li>Management and control of assets is easy.</li>
    <li>Artists can easily contribute.</li>
    <li>C# syntax is still very friendly.</li>
    <li>Camera positioning is easy (compared to left/top, DOM reflowing, etc.).</li>
    <li>It’s proven for professional games.</li>
    <li>Behaviors are built in (gravity, collision, etc.).</li>
    <li>Scene and level editors come out of the box.</li>
    </ul>
    <h4>Unity, The Bad</h4>
    <ul>
    <li>2-D is still 3-D. It relies heavily on meshes, renderers and all of the other 3-D stuff. (It would be like using WebGL and <a href="http://threejs.org/" rel="nofollow external" class="bo">Three.js</a> to make a 2-D game.).</li>
    <li>Unity’s equivalent of the DOM is a hierarchy. A mechanism such as CSS to style items generated through code would be welcome.</li>
    <li>Doing things like coding my own alpha grayscale shader still gives me nightmares.</li>
    <li>The commercial Asset Store loses to the open Web and Git for being trial and error and for not pushing technology or usability forward.</li>
    <li>There are small annoyances. For example, touching code and saving while the game is running makes the game crash, which seems avoidable.</li>
    <li>In case you need all of the Pro features, the commercial license is expensive: <a href="https://store.unity3d.com/products/pricing" rel="nofollow external" class="bo">$4500 per developer to support iOS and Android</a>.</li>
    <li>MonoDevelop is the default code editor, and it does the job, but it’s not fantastic. (You may use any other editor, of course, such as Visual Studio on Windows, but for code completion on a Mac, you’ll find yourself sticking with MonoDevelop for some time.)</li>
    </ul>
    <h4>HTML5, The Good</h4>
    <ul>
    <li>It’s made for 2-D (with the DOM, CSS and canvas).</li>
    <li>CSS is extremely powerful — you’ll miss it.</li>
    <li>The WebKit inspector!</li>
    <li>Having no compilation step during development is a true win.</li>
    <li>Just use your favorite text editor and start partying — no IDE or software required.</li>
    <li>It’s ideal for prototyping.</li>
    <li>Web fonts are flexible (shadows, outlines, etc.).</li>
    <li>Visual styles and behaviors can be declared separately and applied at runtime.</li>
    <li>The Web is open and moving forward, thanks in large part to the community.</li>
    </ul>
    <h4>HTML5, The Bad</h4>
    <ul>
    <li>The performance of mobile games when using the DOM and CSS isn’t on par with Unity.</li>
    <li>Performance from canvas is much better with third-party hardware-accelerated solutions, but you’ll lose support for quite a few old devices, and the available solutions are flakier than just having this one tool do the job for you.</li>
    <li>The visual results are unreliable and differ a lot between devices when relying on a browser component wrapped in native code.</li>
    <li>A native wrapper is required to publish a mobile app.</li>
    <li>Using Web fonts for a mobile game falls under “redistribution” in some cases and would have incurred hefty licensing fees in our situation.</li>
    </ul>
    <p>Now that you’ve read all about how our game came to be, you might be interested in experiencing it for yourself. Technical details aside, it <em>is</em> a challenging puzzle game. You can drop by <a href="http://numolition.com" rel="nofollow external" class="bo">Numolition</a> for more information—but you don't have to, of course.</p>
    <p><em>(al, ml, il)</em></p>
    <p>The post <a href="http://www.smashingmagazine.com/2014/04/24/rebuilding-an-html5-game-in-unity/" rel="nofollow external" class="bo">Rebuilding An HTML5 Game In Unity</a> appeared first on <a href="http://www.smashingmagazine.com" rel="nofollow external" class="bo">Smashing Magazine</a>.</p>
    </div>
]]>
</Body>
<Summary>When our HTML5 game Numolition was nearly done, we decided to throw it all away and rebuild it in Unity. That turned out to be an exciting and valuable experience, and one that I thought would be...</Summary>
<Website>http://www.smashingmagazine.com/2014/04/24/rebuilding-an-html5-game-in-unity/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/44120/guest@my.umbc.edu/13ce30ba7e5be7ebac53ba4c26736c42/api/pixel</TrackingUrl>
<Tag>android</Tag>
<Tag>css</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>games</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>ios</Tag>
<Tag>javascript</Tag>
<Tag>mobile</Tag>
<Tag>mysql</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>web</Tag>
<Tag>windows-phone</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 10:15:32 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="true" id="43895" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43895">
<Title>3 stunning CSS animation effects that will captivate your users</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img alt="thumbnail" src="http://netdna.webdesignerdepot.com/uploads/2014/03/thumbnail23.jpg" width="200" height="160" style="max-width: 100%; height: auto;">Beautiful visual design isn’t enough any more, modern design needs great interaction to really stand out. Animations in your designs can provide clarity, direct attention, and create a delightful experience.</p> <p>Designing interactions is exciting, but costly. Often it takes back and forth between designers and developers to get animations just right; but it doesn’t need to be this way.</p> <p>CSS transitions afford the opportunity for designers with limited knowledge of code to enhance their projects with stunning motion effects that will engage users like never before.</p> <p>Let’s start with something simple: moving from one screen to another…</p> <p> </p> <h1>Simple view-slider technique</h1> <p>You can build with a text editor and a browser to test, but I prefer to use a tool like jsfiddle or codepen.</p> <p>Build a basic layout something like this:</p> <pre>&lt;div class="screen"&gt;     &lt;div class="slider"&gt;         &lt;img alt="" src="img1.png" /&gt;         &lt;img alt="" src="img2.png" /&gt;    &lt;/div&gt; &lt;/div&gt;</pre> <p>You’ll need a ‘screen’ and then a ‘slider’ inside the screen. The slider extends beyond the edge of the screen, and holds the mockup images.</p> <p><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/0013.jpg" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></p> <p>To achieve this, you need to ensure that you add <em>overflow:hidden</em> to the <em>.screen div.</em></p> <p>Your CSS will look something like this:</p> <pre>.screen {     overflow:hidden;     width:320px;     height:568px; } .slider {     position:relative;     float:left;     height:568px;     width:700px;     left:0;     -webkit-transition:all 0.5s ease-in-out; } .slider img {     position:relative;     float:left;     height:568px;     width:320px; } .screen:hover .slider {     left:-320px; }</pre> <p>The final statement in the CSS is what controls the position of the slider, it moves the .slider div left by 320px revealing the second image.</p> <p><a href="http://jsfiddle.net/williamnewton/7CPjS/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/0021.gif" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://jsfiddle.net/williamnewton/7CPjS/" rel="nofollow external" class="bo">Here’s the jsfiddle with all the code.</a></p> <p>With a bit of creativity, you can really run with this simple technique and create some clever animations. Things really start to get interesting when you combine effects. For example: I recreated Twitter’s ‘swipe-to-reveal profile’ from their mobile app using a very similar ‘slider’ approach.</p> <p><a href="http://netdna.webdesignerdepot.com/uploads/2014/03/0032.jpg" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/0032.jpg" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://jsfiddle.net/williamnewton/c3xAy/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/0042.gif" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://jsfiddle.net/williamnewton/c3xAy/" rel="nofollow external" class="bo">Check out the jsfiddle here.</a></p> <h2> </h2> <h1>3D transforms</h1> <p>Brush up on your <a href="http://www.webdesignerdepot.com/2013/04/how-to-use-css3-transitions/" rel="nofollow external" class="bo">3d Transforms</a> if you need to, because they provide a stunning visual effect.</p> <p>Using the <code>-webkit-transform:</code> property, we can treat the browser as a 3D space and make some animations with depth. iOS7 in particular makes use of the ‘single space’ metaphor in its native apps. Also 3D transforms are very useful for creating ‘bouncing’ or ‘popping’ animations.</p> <p>I used the same <code>:hover</code> tactic from our previous example and added some 3D transforms to create this effect:</p> <p><a href="http://jsfiddle.net/williamnewton/sSkLx/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/0051.gif" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></a></p> <p><a href="http://jsfiddle.net/williamnewton/sSkLx/" rel="nofollow external" class="bo">Check out all the code here.</a></p> <h2> </h2> <h1>Using jQuery and JavaScript</h1> <p>So far we’ve only looked at CSS <code>:hover</code> effects to produce animations. With jQuery, we can use <em><code>click()</code></em> events to designate <em><code>addClass()</code></em> and <em><code>removeClass()</code></em> on elements. This gives us a huge amount of flexability to do whatever kind of crazy animations we want.</p> <p>Below I have a function called <code>kaskade</code>, which applies the <em><code>open</code></em> class to each of 4 menu items in 0.15s intervals. The <em><code>open</code></em> class gives the icons <code>opacity:1;</code> and <code>left:0;</code> when before they were at <code>opacity:0;</code> and <code>left:-50px</code>. This creates a playful opening effect for the menu. <a href="http://jsfiddle.net/williamnewton/3NFNN/" rel="nofollow external" class="bo">Experiment for yourself</a> inside the jsfiddle.</p> <p><a href="http://jsfiddle.net/williamnewton/3NFNN/" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/0061.gif" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></a></p> <p>This last one is a rather extreme example, but it just goes to show what’s possible with this system of prototyping:</p> <p><a href="http://netdna.webdesignerdepot.com/uploads/2014/03/007.png" rel="nofollow external" class="bo"><img src="http://netdna.webdesignerdepot.com/uploads/2014/03/007.png" width="650" alt="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"></a></p> <p>Once more, <a href="http://jsfiddle.net/williamnewton/M6bWA/show" rel="nofollow external" class="bo">here’s the jsfiddle.</a></p> <p>By designing your own simple animations, you’ll save yourself and your development team a lot of time and energy. With CSS you can experiment with animations and send your engineers living, breathing, moving examples. All it takes to bring your mockups to life is a little bit of code.</p> <p><br><br> </p>
    <table width="100%"> <tbody>
    <tr> <td> <a href="http://www.mightydeals.com/deal/motiv.html?ref=inwidget" rel="nofollow external" class="bo"><strong>Motiv Web App For Proposals, Contracts, &amp; Invoices – 55% off!</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="3 stunning CSS animation effects that will captivate your users" style="max-width: 100%; height: auto;"><br> </a> </td> </tr> </tbody>
    </table> <p><br> </p> <a href="http://www.webdesignerdepot.com/2014/04/3-stunning-css-animation-effects-that-will-captivate-your-users/" rel="nofollow external" class="bo">Source</a> <br><br><br><a href="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/rc/1/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/rc/1/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/rc/2/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/rc/2/rc.img" style="max-width: 100%; height: auto;"></a><br><a href="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/rc/3/rc.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/rc/3/rc.img" style="max-width: 100%; height: auto;"></a><br><br><a href="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/a2.htm" rel="nofollow external" class="bo"><img src="http://da.feedsportal.com/r/195505176370/u/49/f/661066/c/35285/s/39b24989/sc/4/a2.img" style="max-width: 100%; height: auto;"></a>
    </div>
]]>
</Body>
<Summary>Beautiful visual design isn’t enough any more, modern design needs great interaction to really stand out. Animations in your designs can provide clarity, direct attention, and create a delightful...</Summary>
<Website>http://rss.feedsportal.com/c/35285/f/661066/s/39b24989/sc/4/l/0L0Swebdesignerdepot0N0C20A140C0A40C30Estunning0Ecss0Eanimation0Eeffects0Ethat0Ewill0Ecaptivate0Eyour0Eusers0C/story01.htm</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43895/guest@my.umbc.edu/74f9fcb52f0fda0042558541ed955f69/api/pixel</TrackingUrl>
<Tag>animating-classes-with-jquery</Tag>
<Tag>animation-effects</Tag>
<Tag>art</Tag>
<Tag>css</Tag>
<Tag>css-animation</Tag>
<Tag>css-transforms</Tag>
<Tag>css-transitions</Tag>
<Tag>design</Tag>
<Tag>development</Tag>
<Tag>html</Tag>
<Tag>html5</Tag>
<Tag>illustrator</Tag>
<Tag>javascript</Tag>
<Tag>mysql</Tag>
<Tag>oracle</Tag>
<Tag>photoshop</Tag>
<Tag>php</Tag>
<Tag>sql</Tag>
<Tag>ux-animation</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 04:15:16 -0400</PostedAt>
<EditAt>Thu, 24 Apr 2014 04:15:16 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="true" id="43891" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43891">
<Title>Job on campus with the Career Services Center</Title>
<Tagline>10-12 hours/per week</Tagline>
<Body>
<![CDATA[
    <div class="html-content">
    <div><br></div>
    <div>
    <p>Career Services is currently accepting applications for Career Peer Advisors. <br></p>
    <p>Career Peer Advisors assist the Career Services Center in extending career services and information to the UMBC student body. Students must be able to commit at least one academic year to the following duties and responsibilities: take walk-in appointments, review resumes and cover letters; facilitate workshops/seminars; help market CSC services and programs to UMBC student body; design and present group information meetings upon request to student organizations, residence halls, and other groups; provide general office reception duties; conduct outreach to student organizations and one of three colleges (Engineering and Information Technology, Arts, Humanities and Social Sciences, Natural and Mathematical Sciences); work closely with  CSC staff on special projects as needed.  Training will be provided. Hours:  10-12 per week.</p>
    <p><strong>Note: All majors encouraged to apply.</strong></p>
    <p><strong><br></strong></p>
    <p><strong>Qualifications</strong></p>
    <p>Continuing undergraduate or graduate student with at least a 2.75 GPA; strong interest in helping others and working with students, staff, employers, and faculty; in good academic standing; excellent communication and interpersonal skills; experience with public speaking helpful; ability to use tact and diplomacy in working with others both face to face and on the phone; previous or current involvement in campus organizations or activities helpful; computer literacy and comfort with PowerPoint presentation technology; detail oriented, dependable and reliable; initiative and enthusiasm. All majors invited to apply. Excellent opportunity for undergraduate Social Work, Sociology and Psychology majors considering application to graduate school in the counseling and health professions.</p>
    <p><br></p>
    <p><br></p>
    <p><strong>To Apply:</strong>  Log into your UMBCworks account (<a href="http://careers.umbc.edu/students/umbcworks.pdf" rel="nofollow external" class="bo">http://careers.umbc.edu/students/umbcworks.pdf</a><span>) and enter</span><span> </span><strong>job# 9265552 i</strong><span>n the keyword box.</span></p>
    <p> Open until filled.  For best consideration, please apply by: <span><span>Tuesday, May 13, 2014</span></span>.</p>
    </div>
    </div>
]]>
</Body>
<Summary>Career Services is currently accepting applications for Career Peer Advisors.    Career Peer Advisors assist the Career Services Center in extending career services and information to the UMBC...</Summary>
<Website>http://careers.umbc.edu/students/umbcworks.pdf</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43891/guest@my.umbc.edu/cb0078e9e84af538060766160ed0aacd/api/pixel</TrackingUrl>
<Tag>career</Tag>
<Tag>csc</Tag>
<Group token="gspd">Grad Student &amp;amp; Postdoc Development </Group>
<GroupUrl>https://my3.my.umbc.edu/groups/gspd</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/xsmall.png?1781730740</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/original.png?1781730740</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/xxlarge.png?1781730740</AvatarUrl>
<AvatarUrl size="xlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/xlarge.png?1781730740</AvatarUrl>
<AvatarUrl size="large">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/large.png?1781730740</AvatarUrl>
<AvatarUrl size="medium">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/medium.png?1781730740</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/small.png?1781730740</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/xsmall.png?1781730740</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/066/4b2a0ea3017d894b96de7bd4a45729d5/xxsmall.png?1781730740</AvatarUrl>
<Sponsor>Career Services Center</Sponsor>
<ThumbnailUrl size="xxlarge">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/xxlarge.jpg?1398318171</ThumbnailUrl>
<ThumbnailUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/xlarge.jpg?1398318171</ThumbnailUrl>
<ThumbnailUrl size="large">https://assets2-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/large.jpg?1398318171</ThumbnailUrl>
<ThumbnailUrl size="medium">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/medium.jpg?1398318171</ThumbnailUrl>
<ThumbnailUrl size="small">https://assets1-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/small.jpg?1398318171</ThumbnailUrl>
<ThumbnailUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/xsmall.jpg?1398318171</ThumbnailUrl>
<ThumbnailUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/thumbnails/news/000/043/891/819fefda81994b411a379b51918baa45/xxsmall.jpg?1398318171</ThumbnailUrl>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 01:43:48 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43888" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43888">
<Title>ACTIVE Center Open House, 4-5 Mon 4/28, ENGR 231</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img src="http://www.csee.umbc.edu/wp-content/uploads/2014/04/SmallGroup4.jpg" alt="SmallGroup4" width="700" height="308" style="max-width: 100%; height: auto;"></p>
    <h1>ACTIVE Center Open House</h1>
    <h3>4:00-5:00pm Monday, 28 April 2014 in ENGR 231</h3>
    <p>The <a href="http://active.umbc.edu/" rel="nofollow external" class="bo">ACTIVE Center</a> (Engineering 231) is a new classroom that was created by the CSEE Department with support from the <a href="http://innovationfund.umbc.edu/" rel="nofollow external" class="bo">Hrabowski Fund for Innovation</a>, BAE Systems, and Northrup Grumman. The ACTIVE Center is designed to facilitate active student learning and laptop-based laboratory activities, and features movable furniture and whiteboards, a smart projector, and flat-panel displays around the room. We are also developing and documenting a “virtual environment” for the classroom, by creating “design patterns” for how computing technology can be used in this type of space to facilitate student learning.</p>
    <p>The classroom came online in February 2014, and four pilot courses are currently being offered in the space. On Monday, April 28, we will hold an open house and presentation in the ACTIVE Center to show the campus community how an intentionally designed classroom space can increase student engagement and improve learning outcomes. The open house will include a presentation by Dr. <a href="http://www.csee.umbc.edu/people/faculty/marie-desjardins/" rel="nofollow external" class="bo">Marie desJardins</a>, a Hrabowski Academic Innovation Fellow and lead PI for the ACTIVE Center project, and a Q&amp;A session with instructors and students who are currently teaching and learning in the ACTIVE Center. We will share best practices for developing and using similar teaching spaces, and will present the current policy for requesting to use the space for future classes.</p>
    <p>Please note that no food or drink (other than covered containers of water) are permitted in the ACTIVE Center, but light refreshments will be provided in the hallway following the presentation.</p>
    <p>Capacity is limited, so please <a href="http://my.umbc.edu/groups/cs-ed/events/24038" rel="nofollow external" class="bo">RSVP</a>. For more information, contact Marie desJardins (Sorry, you need javascript to view this email address. ).</p>
    </div>
]]>
</Body>
<Summary>ACTIVE Center Open House   4:00-5:00pm Monday, 28 April 2014 in ENGR 231   The ACTIVE Center (Engineering 231) is a new classroom that was created by the CSEE Department with support from the...</Summary>
<Website>http://www.csee.umbc.edu/2014/04/active-center-open-house-4-5-mon-428-engr-231/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43888/guest@my.umbc.edu/4e95ed3ca073826446ee582c8ee40b30/api/pixel</TrackingUrl>
<Tag>active</Tag>
<Tag>news</Tag>
<Tag>teaching-innovation</Tag>
<Group token="csee">Computer Science and Electrical Engineering</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/csee</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/original.png?1314043393</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/large.png?1314043393</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/medium.png?1314043393</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/small.png?1314043393</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxsmall.png?1314043393</AvatarUrl>
<Sponsor>Computer Science and Electrical Engineering</Sponsor>
<PawCount>1</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 00:34:56 -0400</PostedAt>
<EditAt>Thu, 24 Apr 2014 00:34:56 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="43890" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43890">
<Title>ACTIVE Center Open House, 4-5 Mon 4/28, ENGR 231</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p><img src="http://www.csee.umbc.edu/wp-content/uploads/2014/04/SmallGroup4.jpg" alt="SmallGroup4" width="700" height="308" style="max-width: 100%; height: auto;"></p>
    <h1>ACTIVE Center Open House</h1>
    <h3>4:00-5:00pm Monday, 28 April 2014 in ENGR 231</h3>
    <p>The <a href="http://active.umbc.edu/" rel="nofollow external" class="bo">ACTIVE Center</a> (Engineering 231) is a new classroom that was created by the CSEE Department with support from the <a href="http://innovationfund.umbc.edu/" rel="nofollow external" class="bo">Hrabowski Fund for Innovation</a>, BAE Systems, and Northrup Grumman. The ACTIVE Center is designed to facilitate active student learning and laptop-based laboratory activities, and features movable furniture and whiteboards, a smart projector, and flat-panel displays around the room. We are also developing and documenting a “virtual environment” for the classroom, by creating “design patterns” for how computing technology can be used in this type of space to facilitate student learning.</p>
    <p>The classroom came online in February 2014, and four pilot courses are currently being offered in the space. On Monday, April 28, we will hold an open house and presentation in the ACTIVE Center to show the campus community how an intentionally designed classroom space can increase student engagement and improve learning outcomes. The open house will include a presentation by Dr. <a href="http://www.csee.umbc.edu/people/faculty/marie-desjardins/" rel="nofollow external" class="bo">Marie desJardins</a>, a Hrabowski Academic Innovation Fellow and lead PI for the ACTIVE Center project, and a Q&amp;A session with instructors and students who are currently teaching and learning in the ACTIVE Center. We will share best practices for developing and using similar teaching spaces, and will present the current policy for requesting to use the space for future classes.</p>
    <p>Please note that no food or drink (other than covered containers of water) are permitted in the ACTIVE Center, but light refreshments will be provided in the hallway following the presentation.</p>
    <p>Capacity is limited, so please <a href="http://my.umbc.edu/groups/cs-ed/events/24038" rel="nofollow external" class="bo">RSVP</a>. For more information, contact Marie desJardins (Sorry, you need javascript to view this email address. ).</p>
    </div>
]]>
</Body>
<Summary>ACTIVE Center Open House   4:00-5:00pm Monday, 28 April 2014 in ENGR 231   The ACTIVE Center (Engineering 231) is a new classroom that was created by the CSEE Department with support from the...</Summary>
<Website>http://www.csee.umbc.edu/2014/04/active-center-open-house-4-5-mon-428-engr-231/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43890/guest@my.umbc.edu/4bc8b0b9d603656fe15467285f145f29/api/pixel</TrackingUrl>
<Tag>active</Tag>
<Tag>news</Tag>
<Tag>teaching-innovation</Tag>
<Group token="retired-719">ACTIVE</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-719</GroupUrl>
<AvatarUrl>https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/xsmall.png?1395194759</AvatarUrl>
<AvatarUrl size="original">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/original.png?1395194759</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/xxlarge.png?1395194759</AvatarUrl>
<AvatarUrl size="xlarge">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/xlarge.png?1395194759</AvatarUrl>
<AvatarUrl size="large">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/large.png?1395194759</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/medium.png?1395194759</AvatarUrl>
<AvatarUrl size="small">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/small.png?1395194759</AvatarUrl>
<AvatarUrl size="xsmall">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/xsmall.png?1395194759</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/719/c601882dfe37cf36a056d638e53ee66b/xxsmall.png?1395194759</AvatarUrl>
<Sponsor>ACTIVE</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>false</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 00:34:56 -0400</PostedAt>
<EditAt>Thu, 24 Apr 2014 00:34:56 -0400</EditAt>
</NewsItem>

<NewsItem contentIssues="false" id="43909" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43909">
<Title>Why building a data science team is deceptively hard</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>More and more startups are looking to hire data scientists who can work autonomously to derive valuable insights from data. In principle, this sounds great: engineers and designers build the product, while data scientists crunch the numbers to gain insights. In practice, finding these data scientists and enabling them to be productive are very challenging tasks.</p>
    
    <p>Before diving further, it's useful to note a few trends in data and product development that have emerged over the past decade:
    Companies such as Google, Amazon and Netflix have shown that proper storage and analysis of data can lead to tremendous competitive advantages.</p>
    
    <p>It’s now feasible for startups to instrument and collect vast amounts of usage data. Mobile is ubiquitous, and apps are constantly emitting data. Big data infrastructure has matured, which means large-scale data storage and analysis are affordable.</p>
    
    <p>The widely adopted lean startup philosophy has shifted product development to be much more data-driven. Startups now face the challenges of defining Key Performance Indicators (KPI), designing and implementing A/B tests, understanding growth and engagement funnel conversion, building machine learning models, etc.</p>
    
    <p>Because of these trends, startups are eager to develop in-house data science capabilities. Unfortunately many of them have the wrong ideas about how to build such a team. Let me describe three popular misconceptions.</p>
    
    <p>Misconception #1: It's okay to compromise the engineering bar for statistical skills.</p>
    
    <p>For data scientists to work productively and independently, they must be able to navigate the entire technical stack and work effectively with existing systems to extract relevant data. The only exception is if a startup has already built out its data infrastructure. But in reality, very few startups have their infrastructure in place before building a data science team. In these cases, a data science team without strong engineering skills or engineering support will have a hard time doing their job. At best, they will produce suboptimal solution that will be rewritten by another team for production.</p>
    
    <p>To illustrate this, take the example of building the KPI dashboard at Codecademy. Before visualizing the data in d3, I had to extract and join (a) user data from MongoDB, (b) cohort data from Redis, and (c) pageview data from Google Analytics. The data collection alone would've been near impossible without an engineering background, let alone making the dashboard real-time, modularized and reusable.</p>
    
    <p>Misconception #2: It's okay to compromise the statistics bar for engineering skills.</p>
    
    <p>Proper interpretation of data is not easy, and misinterpreted data can do more damage than data that's not interpreted at all (check out <a href="http://www.statisticsdonewrong.com" rel="nofollow external" class="bo">"Statistics done wrong"</a>). Building useful machine learning (ML) models is trickier than most people expect. A popular but misguided view holds that ML problems can be solved either by applying some black box algorithm (a.k.a magic), or by hiring interns who are PhD students. In practice, hundreds of decisions and tradeoffs are made in solving such problems, and knowing which decisions to make requires a lot of experience. (I’ll expand upon this more in a future post titled “Machine learning done wrong”.) For a given ML problem, there are tens if not hundreds of way to solve it. Each solution makes different assumptions and it's not obvious how to navigate and identify which assumptions are reasonable and which model should be used. Some would argue: why not just try all different approaches, cross validate, and see which one works the best? In reality, you never have the bandwidth to do so. A strong data scientist might be able to produce a sensible model right off the bat, while a weak one might spend months optimizing the wrong model without knowing where the problem is.</p>
    
    <p>Misconception #3: It's okay to hire data scientists who lack product thinking.</p>
    
    <p>Imagine asking someone who doesn't have a holistic view of the product to optimize your business KPIs. They may prematurely optimize the sign up funnel before making sure the product has reasonable retention, which would lead to more unretained users. Some think data-driven product development is a local optimization. This criticism is only correct when those who drive product development with data fail to think about the product holistically.</p>
    
    <p>To sum up, a productive data science team requires data scientists that are strong in engineering, statistics, and product thinking. It's hard. And it becomes even harder to look for the first data science hire who will be spearheading data efforts in a startup. For startups that don't have the luxury to wait and hire these rare data scientists, it's important to be aware of the compromises made especially in terms of the hiring bar. Before the data team is strong enough across all three areas, make sure they have strong support for the skills they lack, and don't expect them to work autonomously.</p>
    
    <p>If you like the post, you can follow me (<a href="http://twitter.com/chengtao_chu" rel="nofollow external" class="bo">@chengtao_chu</a>) on Twitter or subscribe to <a href="http://ml.posthaven.com" rel="nofollow external" class="bo">"ML in the Valley"</a>. Also, special thanks Ian Wong (<a href="http://twitter.com/ihat" rel="nofollow external" class="bo">@ihat</a>), <a href="http://codingvc.com" rel="nofollow external" class="bo">Leo Polovets</a>, and Bob Ren (<a href="http://twitter.com/bobrenjc93" rel="nofollow external" class="bo">@bobrenjc93</a>) for reading a draft of this.</p>
    </div>
]]>
</Body>
<Summary>More and more startups are looking to hire data scientists who can work autonomously to derive valuable insights from data. In principle, this sounds great: engineers and designers build the...</Summary>
<Website>http://www.codecademy.com/blog/142-why-building-a-data-science-team-is-deceptively-hard</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43909/guest@my.umbc.edu/855fec603856a711106eea2352e44661/api/pixel</TrackingUrl>
<Tag>academy</Tag>
<Tag>code</Tag>
<Tag>codecademy</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 00:18:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43907" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43907">
<Title>Why building a data science team is hard</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <p>More and more startups are looking to hire data scientists who can work autonomously to derive valuable insights from data. In principle, this sounds great: engineers and designers build the product, while data scientists crunch the numbers to gain insights. In practice, finding these data scientists and enabling them to be productive are very challenging tasks.</p>
    
    <p>Before diving further, it's useful to note a few trends in data and product development that have emerged over the past decade:
    Companies such as Google, Amazon and Netflix have shown that proper storage and analysis of data can lead to tremendous competitive advantages.</p>
    
    <p>It’s now feasible for startups to instrument and collect vast amounts of usage data. Mobile is ubiquitous, and apps are constantly emitting data. Big data infrastructure has matured, which means large-scale data storage and analysis are affordable.</p>
    
    <p>The widely adopted lean startup philosophy has shifted product development to be much more data-driven. Startups now face the challenges of defining Key Performance Indicators (KPI), designing and implementing A/B tests, understanding growth and engagement funnel conversion, building machine learning models, etc.</p>
    
    <p>Because of these trends, startups are eager to develop in-house data science capabilities. Unfortunately many of them have the wrong ideas about how to build such a team. Let me describe three popular misconceptions.</p>
    
    <p>Misconception #1: It's okay to compromise the engineering bar for statistical skills.</p>
    
    <p>For data scientists to work productively and independently, they must be able to navigate the entire technical stack and work effectively with existing systems to extract relevant data. The only exception is if a startup has already built out its data infrastructure. But in reality, very few startups have their infrastructure in place before building a data science team. In these cases, a data science team without strong engineering skills or engineering support will have a hard time doing their job. At best, they will produce suboptimal solution that will be rewritten by another team for production.</p>
    
    <p>To illustrate this, take the example of building the KPI dashboard at Codecademy. Before visualizing the data in d3, I had to extract and join (a) user data from MongoDB, (b) cohort data from Redis, and (c) pageview data from Google Analytics. The data collection alone would've been near impossible without an engineering background, let alone making the dashboard real-time, modularized and reusable.</p>
    
    <p>Misconception #2: It's okay to compromise the statistics bar for engineering skills.</p>
    
    <p>Proper interpretation of data is not easy, and misinterpreted data can do more damage than data that's not interpreted at all (check out <a href="http://www.statisticsdonewrong.com" rel="nofollow external" class="bo">"Statistics done wrong"</a>). Building useful machine learning (ML) models is trickier than most people expect. A popular but misguided view holds that ML problems can be solved either by applying some black box algorithm (a.k.a magic), or by hiring interns who are PhD students. In practice, hundreds of decisions and tradeoffs are made in solving such problems, and knowing which decisions to make requires a lot of experience. (I’ll expand upon this more in a future post titled “Machine learning done wrong”.) For a given ML problem, there are tens if not hundreds of way to solve it. Each solution makes different assumptions and it's not obvious how to navigate and identify which assumptions are reasonable and which model should be used. Some would argue: why not just try all different approaches, cross validate, and see which one works the best? In reality, you never have the bandwidth to do so. A strong data scientist might be able to produce a sensible model right off the bat, while a weak one might spend months optimizing the wrong model without knowing where the problem is.</p>
    
    <p>Misconception #3: It's okay to hire data scientists who lack product thinking.</p>
    
    <p>Imagine asking someone who doesn't have a holistic view of the product to optimize your business KPIs. They may prematurely optimize the sign up funnel before making sure the product has reasonable retention, which would lead to more unretained users. Some think data-driven product development is a local optimization. This criticism is only correct when those who drive product development with data fail to think about the product holistically.</p>
    
    <p>To sum up, a productive data science team requires data scientists that are strong in engineering, statistics, and product thinking. It's hard. And it becomes even harder to look for the first data science hire who will be spearheading data efforts in a startup. For startups that don't have the luxury to wait and hire these rare data scientists, it's important to be aware of the compromises made especially in terms of the hiring bar. Before the data team is strong enough across all three areas, make sure they have strong support for the skills they lack, and don't expect them to work autonomously.</p>
    
    <p>If you like the post, you can follow me (@chengtao_chu) on Twitter or subscribe to <a href="http://ml.posthaven.com" rel="nofollow external" class="bo">"ML in the Valley"</a>. Also, special thanks Ian Wong (@ihat), Leo Polovets, and Bob Ren (@bobrenjc93) for reading a draft of this.</p>
    </div>
]]>
</Body>
<Summary>More and more startups are looking to hire data scientists who can work autonomously to derive valuable insights from data. In principle, this sounds great: engineers and designers build the...</Summary>
<Website>http://www.codecademy.com/blog/142-why-building-a-data-science-team-is-hard</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43907/guest@my.umbc.edu/dd142c6eefa4f6a0e70b194eea9ebe02/api/pixel</TrackingUrl>
<Tag>academy</Tag>
<Tag>code</Tag>
<Tag>codecademy</Tag>
<Tag>learning</Tag>
<Group token="retired-583">Web Developer - Build Group</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/retired-583</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="original">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/original.jpg?1363101197</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xlarge.png?1363101197</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/large.png?1363101197</AvatarUrl>
<AvatarUrl size="medium">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/medium.png?1363101197</AvatarUrl>
<AvatarUrl size="small">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/small.png?1363101197</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xsmall.png?1363101197</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/583/fc60f5d7abc2e080599bb6dc465db54d/xxsmall.png?1363101197</AvatarUrl>
<Sponsor>Web Developer - Build Group</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Thu, 24 Apr 2014 00:18:00 -0400</PostedAt>
</NewsItem>

<NewsItem contentIssues="false" id="43889" important="false" status="posted" url="https://my3.my.umbc.edu/posts/43889">
<Title>Defense: Feature Extraction and Fusion for Supervised and Semi-supervised Classification: Application to fMRI and LTM Data</Title>
<Body>
<![CDATA[
    <div class="html-content">
    <h3><a href="http://www.csee.umbc.edu/wp-content/uploads/2012/09/difmri.png" rel="nofollow external" class="bo"><img src="http://www.csee.umbc.edu/wp-content/uploads/2012/09/difmri.png" alt="difmri" width="700" height="308" style="max-width: 100%; height: auto;"></a></h3>
    <h3>Dissertation Defense</h3>
    <h2>Feature Extraction and Fusion for Supervised and Semi-supervised<br>
    Classification: Application to fMRI and LTM Data</h2>
    <h2>Wei Du</h2>
    <h3>2:00pm Thursday, 24 April 2014, ITE 325B</h3>
    <p>Extracting powerful features from high dimensional noisy data promises to significantly improve the effectiveness of further analysis, especially of classification. Since there is no single feature selection and extraction method or classifier that works best on all given problems, developing effective and efficient feature selection and extraction methods and classifiers for specific applications has became one of the most active areas in the machine learning field. The aim of this dissertation is to develop novel data-driven methods for extracting and selecting the most distinguishing features for performing classification using functional magnetic resonance imaging (fMRI) and laser tread mapping (LTM) tire data.</p>
    <p>FMRI data have the potential to characterize and classify various brain disorders including schizophrenia. However, the high dimensionality and unknown nature of fMRI data present numerous challenges to accurate analysis and interpretation. Independent component analysis (ICA), as a data-driven method, has proven very useful for fMRI analysis in extracting spatial components as multivariate features used in classification, and more recently, for the analysis of fMRI data in its native complex-valued form. In this dissertation, we first present a novel framework to extract powerful features from components estimated by ICA, allowing us to remove the redundancy and retain the most discriminative activation patterns from multivariate ICA features. We apply the proposed three-phase feature extraction framework to two real-valued fMRI data sets, and achieve high classification rates in discriminating healthy controls from patients with schizophrenia. Second, due to the iterative nature of ICA algorithms, typically independent components (ICs) are not estimated consistently during different ICA runs, and hence it is not clear which result to use further. We present a statistical framework that utilizes an objective criterion to select the best of multiple ICA runs such that the multivariate ICA features from the best run can be used for further analysis and inference. Using the proposed framework, we study the performance of a novel complex ICA algorithm for fMRI analysis, entropy rate bound minimization, which takes all three types of diversity into account, including non-Gaussianity, sample dependence and noncircularity that are present in the complex-valued fMRI data. We show that CERBM leads to significant improvement in ICs that provide higher classification accuracy, and thus is a promising ICA algorithm for the analysis of complex-valued fMRI data.</p>
    <p>Classification using LTM data is another problem we address where we first study the use of highly multivariate solutions such as ICA and then note the advantages using lower-level features for classification. In this case, an important problem is the selection of best set of features for the best classification performance. Additionally, there are a large amount of unlabeled tire data that are easy to collect but only a few of them can be easily labeled by expert. In this dissertation, we propose a novel mutual information (MI) based approach to achieve feature splits for co-training, a practical and powerful data-driven method in semi-supervised learning. Inspired by the idea of dependent component analysis, the proposed MI-based approach presents feature splits that are maximally independent between- or within- subsets, and thus selects and fuses features more effectively than other feature split methods. Experimental results on both simulated study and LTM tire data indicate that co-training with MI-based feature splits yields significantly higher accuracy than supervised classification.</p>
    <p>Committee: Profs. Tulay Adali (Chair), Joel Morris, Janet Rutledge, Charles E. Laberge, Vince D. Calhoun (University of New Mexico and the Mind Research Network), and Dr. Matthew Anderson (Northrop Grumman Corp.)</p>
    </div>
]]>
</Body>
<Summary>Dissertation Defense   Feature Extraction and Fusion for Supervised and Semi-supervised  Classification: Application to fMRI and LTM Data   Wei Du   2:00pm Thursday, 24 April 2014, ITE 325B...</Summary>
<Website>http://www.csee.umbc.edu/2014/04/defense-feature-extraction-and-fusion-for-supervised-and-semi-supervised-classification-application-to-fmri-and-ltm-data/</Website>
<TrackingUrl>https://my3.my.umbc.edu/api/v0/pixel/news/43889/guest@my.umbc.edu/bd7e3827cbf460e70bd82781aac32c15/api/pixel</TrackingUrl>
<Tag>defense</Tag>
<Tag>electrical-engineering</Tag>
<Tag>graduate</Tag>
<Tag>news</Tag>
<Tag>research</Tag>
<Group token="csee">Computer Science and Electrical Engineering</Group>
<GroupUrl>https://my3.my.umbc.edu/groups/csee</GroupUrl>
<AvatarUrl>https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="original">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/original.png?1314043393</AvatarUrl>
<AvatarUrl size="xxlarge">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="xlarge">https://assets4-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xlarge.png?1314043393</AvatarUrl>
<AvatarUrl size="large">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/large.png?1314043393</AvatarUrl>
<AvatarUrl size="medium">https://assets1-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/medium.png?1314043393</AvatarUrl>
<AvatarUrl size="small">https://assets2-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/small.png?1314043393</AvatarUrl>
<AvatarUrl size="xsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xsmall.png?1314043393</AvatarUrl>
<AvatarUrl size="xxsmall">https://assets3-my.umbc.edu/system/shared/avatars/groups/000/000/099/d117dca133c64bf78a4b7696dd007189/xxsmall.png?1314043393</AvatarUrl>
<Sponsor>Computer Science and Electrical Engineering</Sponsor>
<PawCount>0</PawCount>
<CommentCount>0</CommentCount>
<CommentsAllowed>true</CommentsAllowed>
<PostedAt>Wed, 23 Apr 2014 23:50:08 -0400</PostedAt>
</NewsItem>

</News>
