<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MatSays : ramblings of a grumpy developer-designer-teacher &#187; IMD322 Dynamic Design</title>
	<atom:link href="http://www.matsays.com/category/ailv/imd322/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matsays.com</link>
	<description>ramblings of a grumpy developer - designer - teacher &#124; my art institute of las vegas web design blog</description>
	<lastBuildDate>Wed, 23 Jun 2010 15:56:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fast CMS Deployment with jQuery and Web Services</title>
		<link>http://www.matsays.com/misc/tricks/fast-cms-deployment-with-jquery-and-web-services/</link>
		<comments>http://www.matsays.com/misc/tricks/fast-cms-deployment-with-jquery-and-web-services/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 06:03:58 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[IMD223 Advanced Scripting]]></category>
		<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[IMD325 UCD I]]></category>
		<category><![CDATA[IMD335 UCD II]]></category>
		<category><![CDATA[IMD345 UCD III]]></category>
		<category><![CDATA[IMD375 Databases]]></category>
		<category><![CDATA[IMD402 Server Side Scripting]]></category>
		<category><![CDATA[IMD414 Dynamic Design]]></category>
		<category><![CDATA[INF400 Web Security]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dam]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[silverlight]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.matsays.com/?p=1178</guid>
		<description><![CDATA[This week we&#8217;ve been working on a quick digital asset manager for the upcoming Wimbledon.  Last year, Delta Tre produced a massive, well designed system to handle the metadata and media transfer between the UK and the partners in the US.  They had months to build it.  This year we had 2 [...]]]></description>
			<content:encoded><![CDATA[<p>This week we&#8217;ve been working on a quick digital asset manager for the upcoming Wimbledon.  Last year, Delta Tre produced a massive, well designed system to handle the metadata and media transfer between the UK and the partners in the US.  They had months to build it.  This year we had 2 weeks.  Granted we had some experience with the system from last year and that we&#8217;ve been toying with our own Director and VWAP systems, but we decided that in the interest of time (10 business days) and resources (2 developers) that we&#8217;d take a different approach.</p>
<p>Rather than take a traditional page-design approach, we architected the database and interaction to be slim and exchangeable.  First, the database was managed by use of two .NET-based Web Services written in C# that ingested via POST marking transaction success with 32-character IDs, output via XML and with multi-purpose edit functions using switches and variable inputs.  Next, the authentication was built on a combination Basic and session-based approach using ASP &#8211; quick and efficient and easy to modularize should the system need to be moved to another platform.  Finally, the front-end was built on a single HTML page with jQuery and jQuery UI to support the large number of Ajax exchanges and interactive features.</p>
<p>The result is a clean, easy to use, transportable DAM-CMS capable of complex transactions (multi-tiered, synchronous updates), hooks to a Silverlight-based rough cut editor from Southworks, and most of all, easy and quick to modify without affecting the production environment.  By deploying a single jQuery-based controller separate from the parser and presentation components, new objects could be introduced to the interface based on a modifiable, dynamic XML document at login (or pushed in real-time, even after the user had logged in).</p>
<p><img class="aligncenter size-large wp-image-1179" title="Screen capture of development interface" src="http://www.matsays.com/wp-content/uploads/2010/06/Picture-2-600x341.png" alt="" width="600" height="341" /></p>
<p>Some of the things we learned seem pretty silly but in fact were critical to the project completing in such a short amount of time.</p>
<p>First, segregate all the processes &#8211; by constructing the database, the web services, and the interface separate from each other, different developers could rapidly deploy all of it and mesh together quickly at stop-points each day.  Chandler and I (with a big assist from Srini and Mio) were able to work independently and merge as he completed parts of the web service, or make changes as parts of the interface came together.  Likewise, during testing, changes to the interface and sequence could be done in real-time and re-tested within minutes instead of having to go back to the drawing board.  This was eased by the fact that issues could be easily attributable and divisible to interface or back-end, and handled separately.</p>
<p><img class="alignright size-full wp-image-1180" title="Modal window in RCE-CMS" src="http://www.matsays.com/wp-content/uploads/2010/06/Picture-3-e1276495120982.png" alt="" width="350" height="180" align="right"/>Second, it&#8217;s the little things that make a difference.  Providing small visual cues &#8211; update notifications at the top of the page that disappear, Ajax loader starburts, highlighted labels and input boxes &#8211; all give the user information, information that helps them get through difficult or tedious and complex processes (for example, in creating a VOD asset, a user had options that might require upwards of 50 different pieces of information &#8211; eliminating unnecessary components on the screen made it easier to get through).</p>
<p>Finally, architect it but be flexible.  Changes happen, and while developers and project managers all try to keep scope creep from happening, we all know that in the real world, so does feature change.  It is unrealistic to assume that projects will get started 6 months before the deadline.  It is also unrealistic to assume that, in such a project with a short deadline, that you&#8217;ll remember to include everything.  Likewise, it&#8217;s also unrealistic to assume that during the process you&#8217;ll realize that the planned interface will work &#8211; prototyping is great but it takes time and testing that you may not always have.  Being able to be flexible by following a basic interface design, using modular builders (in jQuery UI or other framework) and XML-based instruction sets, and providing error catching systems in both the front-end as well as the web services makes the project continue to move, even when not all the parts are correct.</p>
<p><a href="http://www.matsays.com/wp-content/uploads/2010/06/Picture-4.png"><img class="aligncenter size-large wp-image-1181" title="Silverlight Rough Cut Editor interface by Ezeqiual Jadib at Southworks" src="http://www.matsays.com/wp-content/uploads/2010/06/Picture-4-600x359.png" alt="" width="600" height="359" /></a></p>
<p>In the end, we had a lot of hiccups and it didn&#8217;t go as smoothly as we&#8217;d hoped but it did get done and delivered on-time.  The client goes to training in 9 hours and there will likely be another round of changes, but that we were able to post a full-featured DAM CMS in such a short amount of time gives us new methods and targets for the future.</p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Fmisc%2Ftricks%2Ffast-cms-deployment-with-jquery-and-web-services%2F', 'Fast+CMS+Deployment+with+jQuery+and+Web+Services')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusorange.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/misc/tricks/fast-cms-deployment-with-jquery-and-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The UX of CMS</title>
		<link>http://www.matsays.com/misc/the-ux-of-cms-wimbledonlive-cms/</link>
		<comments>http://www.matsays.com/misc/the-ux-of-cms-wimbledonlive-cms/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 07:32:52 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[IMD223 Advanced Scripting]]></category>
		<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[IMD325 UCD I]]></category>
		<category><![CDATA[IMD335 UCD II]]></category>
		<category><![CDATA[IMD345 UCD III]]></category>
		<category><![CDATA[IMD402 Server Side Scripting]]></category>
		<category><![CDATA[IMD414 Dynamic Design]]></category>
		<category><![CDATA[INF340 Web Design Concepts]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Toolbox]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[hci]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[user interface]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://www.matsays.com/?p=626</guid>
		<description><![CDATA[Part of the reason I love WordPress as much as I do is simply that the total user experience of using the admin tools just makes it that much better than most CMS packages.  While I still think there are a lot of areas that can use improvement, I have rarely ever used a [...]]]></description>
			<content:encoded><![CDATA[<p>Part of the reason I love WordPress as much as I do is simply that the total user experience of using the admin tools just makes it that much better than most CMS packages.  While I still think there are a lot of areas that can use improvement, I have rarely ever used a CMS that made it quite as easy to manage and publish content.</p>
<p>While is why I am extremely proud of the evolution of the CMS that I designed and built for the Wimbledon Live player (see <a href="http://www.matsays.com/misc/wimbledon-live-smooth-stream-silverlight/">this post</a>).  </p>
<p><img src="/images/wcms1.png" border="0" alt="Screen shot of Wimbledon Live CMS"/></p>
<p><span id="more-626"></span>To understand the complexity behind designing the UX it&#8217;s important to understand the nature of the data and the critical effect of the workflow.  First, video was being supplied from six sources, some to us using Saviant direct to our servers, some we pulled via FTP, and then of course the live streams (some HD and some SD).  Then there were multiple parties&#8230;NBC (as the news reporter) needed editorial control over metadata, while iStream&#8217;s Managed Webcasting team needed to control the timeline over when items went to publication.  My team, RnCS (Research &#038; Creative Services) needed to insure that everything was tested before going live so we needed to throw the whole thing through a staging server before hitting a production server that then fed a cluster of edge servers on Akamai&#8217;s network.</p>
<p><img src="/images/wcms2.png" border="0" alt="Screen shot of Wimbledon Live CMS"/></p>
<p>So we structured it in several parts.  First we put automated bots to determine when new assets had been dropped, specifically seeking out XML files that held the initial metadata, and dropped that into the CMS DB.  Once there, the appropriate parties were notified by email (or in my case as PM, by SMS) &#8211; to update metadata, insert images, begin video transcoding, etc.  Through the entire process, we designed screens to make it as easy as possible to follow the flow of assets, provide enough ability to each staff person so that overlaps in duties existed but that checkpoints assured data integrity throughout.</p>
<p><img src="/images/wcms3.png" border="0" alt="Screen shot of Wimbledon Live CMS"/></p>
<p>The grid above, for example shows the visual layout of the thumbnails that would appear in the cover-flow style playlist inside the player.  Deep linking was provided so editorial users could create pointers on the MSNBC/NBCSports sites.  Drag and drop allowed us to reorder objects to maximize the visibility of prominent players.</p>
<p><img src="/images/wcms4.png" border="0" alt="Screen shot of Wimbledon Live CMS"/></p>
<p>Each level of user had various modal windows to insert data.  Even imagery was uploaded first to the staging, processed for size and then sent to production.</p>
<p><img src="/images/wcms5.png" border="0" alt="Screen shot of Wimbledon Live CMS"/></p>
<p>Because of the nature of edge servers, we also had to purge the cache after any update, so we provided a three-section grouping that allowed us to send the feed XMLs to production and clear the cache in one shot.  And to make THAT process even easier, we built it so that it was accessibly by mobile phone so even if I was in transit, I could still update the CMS in a timely fashion.</p>
<p><img src="/images/wcms6.png" border="0" alt="Screen shot of Wimbledon Live CMS"/></p>
<p>Finally, the live streams had the ability to be toggled on and off so that the matrix of available feeds, particularly the Smooth HD stream, was optimized and prioritized.  To be sure, there was still much room for improvement but given that the whole CMS was built in 6 days and now, five days into Wimbledon, has eased us into a steady, smooth workflow, speaks volumes for making it easy to use, intuitive (for example, the color designations on the player match the ones in the CMS, big text and extensive micro-transaction Ajax created an interactive environment), and overall a good experience.</p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Fmisc%2Fthe-ux-of-cms-wimbledonlive-cms%2F', 'The+UX+of+CMS')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusorange.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/misc/the-ux-of-cms-wimbledonlive-cms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Help Elements Advice</title>
		<link>http://www.matsays.com/misc/tricks/help-elements-advice/</link>
		<comments>http://www.matsays.com/misc/tricks/help-elements-advice/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 17:04:17 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[IMD335 UCD II]]></category>
		<category><![CDATA[IMD345 UCD III]]></category>
		<category><![CDATA[IMD414 Dynamic Design]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[error handling]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[web design]]></category>

		<guid isPermaLink="false">http://www.mobimeet.com/?p=593</guid>
		<description><![CDATA[[quoted excerpts from Smashing Magazine, article by Matt Cronin]
Excellent article on a consistently overlooked problem for most web designers &#8211; help elements.  A help element is anything that provides the user with assistance in completing a task.  They come in many shapes, sizes and formats but the primary goal is to be unobtrusive but noticeable [...]]]></description>
			<content:encoded><![CDATA[<p>[quoted excerpts from Smashing Magazine, article by Matt Cronin]</p>
<p>Excellent article on a consistently overlooked problem for most web designers &#8211; help elements.  A help element is anything that provides the user with assistance in completing a task.  They come in many shapes, sizes and formats but the primary goal is to be unobtrusive but noticeable and, well, helpful.  Most designers/developers look at help elements with trudgery but in many cases it can actually enhance the user experience.</p>
<p><img class="aligncenter size-full wp-image-596" title="form5" src="http://www.mobimeet.com/wp-content/uploads/2009/04/form5.jpg" alt="form5" width="450" height="250" /></p>
<p>The place we frequently see help elements is in form completion and validation.  Why we somehow can&#8217;t provide scripts that reduce error rates in the first place is beyond me, but I suppose in a lot of cases you still have to provide visual cues and alerts to help some users out. </p>
<p><img class="aligncenter size-full wp-image-595" title="form9" src="http://www.mobimeet.com/wp-content/uploads/2009/04/form9.jpg" alt="form9" width="450" height="250" /></p>
<p>In HCI we consider that a standard free-form entry is the most volatile of inputs and sure enough, that&#8217;s where you&#8217;ll encounter the most errors, but don&#8217;t neglect the other visual aspects, including external labels, internal (low contrast, like the one shown below) labels, direct manipulation (such as calendar popups). </p>
<p><img class="aligncenter size-full wp-image-594" title="login1" src="http://www.mobimeet.com/wp-content/uploads/2009/04/login1.jpg" alt="login1" width="450" height="250" /></p>
<p>The extremes of direct input error handling might be dates and telephone numbers, but here you may need to also consider flow; if within the form you require country, simply provide formats that the user will be more familiar with (such as auto-complete country codes).</p>
<p><img class="aligncenter size-full wp-image-597" title="mapsample" src="http://www.mobimeet.com/wp-content/uploads/2009/04/mapsample.jpg" alt="mapsample" width="450" height="150" />From Matt Cronin&#8217;s post:</p>
<blockquote>
<h3>Usability is the Key</h3>
<p>With any website design, one strives for usability. Usability is the key factor in the success that a website achieves. Usability is simply about making things easier for your users — and help elements certainly do that. But are your individual help elements themselves usable?</p>
<p><strong>Don’t Confuse the User</strong><br />
Confusing the user contradicts the purpose of the help element, so avoid it. Only put in content that is appropriate to the element. The way you organize content within the help element affects usability. If the element contains a lot of content, use lists and highlight keywords so that the content is easy to scan.</p>
<p><strong>Placement Has a Major Impact</strong><br />
In Web design layout, placement of objects is a top usability consideration. Likewise for help elements, placement affects usability.</p>
<p>Many designers make the mistake of making help elements (i.e. buttons, links, etc.) very small so that they don’t get in the way of the website’s main content. The problem is that they become hard for the user to find. Sure, their small size leaves room for more content, but that won’t help a confused user. Find a balance between subtlety and accessibility.</p>
<p>Also remember that help elements should be optional for the user, not required. Allow the user to choose to get help, instead of immediately showing the element.</p></blockquote>
<p>Next time you&#8217;re designing your site, put some extra consideration into the help elements and see what ideas you can come up with.  Send me some examples of your clever solutions via comment.</p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Fmisc%2Ftricks%2Fhelp-elements-advice%2F', 'Help+Elements+Advice')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusorange.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/misc/tricks/help-elements-advice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FireScope &#8211; FireBug Add-On</title>
		<link>http://www.matsays.com/misc/tricks/firescope-firebug-add-on/</link>
		<comments>http://www.matsays.com/misc/tricks/firescope-firebug-add-on/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 17:26:10 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[Good Resources]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[IMD213 Int. Scripting]]></category>
		<category><![CDATA[IMD223 Advanced Scripting]]></category>
		<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[IMD414 Dynamic Design]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[firebug webdevelopment css]]></category>

		<guid isPermaLink="false">http://www.mobimeet.com/?p=524</guid>
		<description><![CDATA[FireBug, as most web developer-designers know, is probably one of the single best inventions to come out in the last couple of years to help debug those crazy layout and code problems.  Well, if that weren&#8217;t enough, here&#8217;s an add-on to the add-on &#8211; SitePoint introduces FireScope.  This tool extends FireBug with reference material for [...]]]></description>
			<content:encoded><![CDATA[<p><a title="FireScope from SitePoint" href="http://tools.sitepoint.com/firescope/"><img style="float:left;margin-right:5px; margin-bottom:5px;" src="/wp-content/uploads/2009/01/firescope-logo.jpg" border="0" alt="FireScope" /></a>FireBug, as most web developer-designers know, is probably one of the single best inventions to come out in the last couple of years to help debug those crazy layout and code problems.  Well, if that weren&#8217;t enough, here&#8217;s an add-on to the add-on &#8211; SitePoint introduces <a title="FireScope from SitePoint" href="http://tools.sitepoint.com/firescope/">FireScope</a>.  This tool extends FireBug with reference material for HTML &amp; CSS.</p>
<div><a href="/wp-content/uploads/2009/01/firescopeconsole.png"><img style="float:left;margin-right:5px; margin-bottom:5px;" src="/wp-content/uploads/2009/01/firescopecutaway.png" border="0" alt="FireScope" /></a></div>
<div style="clear:both;"></div>
<p>Once installed, it adds an additional panel to the FireBug console labelled &#8220;Reference&#8221;.  Check out the screen shot to see the changes and be sure to get all the details on <a title="FireScope from SitePoint" href="http://tools.sitepoint.com/firescope/">SitePoint&#8217;s web site</a>.</p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Fmisc%2Ftricks%2Ffirescope-firebug-add-on%2F', 'FireScope+%26%238211%3B+FireBug+Add-On')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusred.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/misc/tricks/firescope-firebug-add-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic Design: Week 1</title>
		<link>http://www.matsays.com/ailv/imd322/ajax-1/</link>
		<comments>http://www.matsays.com/ailv/imd322/ajax-1/#comments</comments>
		<pubDate>Sat, 05 Apr 2008 15:00:21 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[IMD322 Dynamic Design]]></category>

		<guid isPermaLink="false">http://www.mobimeet.com/ailv/imd322/ajax-1</guid>
		<description><![CDATA[A &#8220;dynamic&#8221; web site is one that, loosely defined, any site (or more succinctly, a page) that is something more than static.  By this we mean more than just simple animations &#8211; dynamics involves some form of interactivity, and some form of conditional responsiveness.  Interactivity can be created using a self-contained rich application such as [...]]]></description>
			<content:encoded><![CDATA[<p>A &#8220;dynamic&#8221; web site is one that, loosely defined, any site (or more succinctly, a page) that is something more than static.  By this we mean more than just simple animations &#8211; dynamics involves some form of interactivity, and some form of conditional responsiveness.  Interactivity can be created using a self-contained rich application such as Flash or Silverlight, but for this class we are going to focus on using the HTML DOM and native web programming languages to create interactivity and dynamics.</p>
<p>Part of designing the dynamic web site involves looking at the application as a whole, determining where interactivity or dynamic interactions can occur (or should occur).  It&#8217;s an art of determining what is sufficient to create an engaging experience without being over-bearing.</p>
<p>Interactivity and dynamics can be created on both the client-side as well as the server-side.  More commonly, and for more engaging results, it is a mixture of both.  So for this quarter we begin where you should be at with Javascript programming, sidestep to learn a bit about XML, progress through some basics of PHP, and finally move into using AJAX and some common libraries for composing AJAX applications.</p>
<p>The class will be a combination of slide-based lectures and notes.  I will post digital copies of everything on the class page at <a href="http://www.mobimeet.com/class-imd322/">http://www.mobimeet.com/class-imd322/</a></p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Failv%2Fimd322%2Fajax-1%2F', 'Dynamic+Design%3A+Week+1')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusred.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/ailv/imd322/ajax-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Net Broadcasting &#8211; Week 8</title>
		<link>http://www.matsays.com/ailv/imd322/net-broadcasting-week-8/</link>
		<comments>http://www.matsays.com/ailv/imd322/net-broadcasting-week-8/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 01:00:19 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[digital rights management]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[istreamplanet]]></category>
		<category><![CDATA[playready]]></category>
		<category><![CDATA[playsforsure]]></category>

		<guid isPermaLink="false">http://www.mobimeet.com/imd302/net-broadcasting-week-8</guid>
		<description><![CDATA[Digital Rights Management (DRM) is an umbrella term referring to any of several technologies used to enforce controlling access to software, media, or other digital data and hardware. On a technical technical level, DRM handles the description, layering, analysis, valuation, trading, monitoring and enforcement of the usage restrictions that accompany a specific instance of a [...]]]></description>
			<content:encoded><![CDATA[<p><img align="right" src="http://www.mobimeet.com/wp-content/uploads/2008/02/icon_lock.png" />Digital Rights Management (DRM) is an umbrella term referring to any of several technologies used to enforce controlling access to software, media, or other digital data and hardware. On a technical technical level, DRM handles the description, layering, analysis, valuation, trading, monitoring and enforcement of the usage restrictions that accompany a specific instance of a digital work.</p>
<p>There is a lot of criticism that exists concerning digital rights management and much of it has merit.  However, DRM is a technology that is continuing to grow and prosper as technology moves forward and concerns over copyrights, ownership, usage and consumption also grow. Critics argue that the term “digital rights management” is a misnomer, that the term “digital restrictions management” is more accurate.</p>
<p><span id="more-43"></span></p>
<p align="center"><strong>Definitions </strong></p>
<p><strong>Public Key Infrastructure:</strong>  In cryptography, a public key infrastructure is an arrangement that provides for third-party vetting of and vouching for user identities. It also allows binding of public keys to users. This is usually carried out by software at a central location together with other coordinated software at distributed locations. The public keys are typically in certificates.</p>
<p><strong>DRM (Digital Rights Management):</strong>  A PKI-based system of encrypting media and requiring authentication for delivery, play, copying or any other number of usage schemes.</p>
<p><strong>Rights Set:</strong> Also known as rights structure.  A rights set defines the rules of the encrypted media and is built into the unique license.  Rights sets include such information as play count, transferability to other devices, whether the media can be burned to CD or DVD, expiration (date) of the license, etc.  The current term for this is &#8220;Media Usage Rights&#8221;.</p>
<p align="center"><strong>DRM, The Simple Scheme</strong></p>
<p>While DRM is overall a very simple scheme, it is not always so easy to implement.  There are a number of factors to consider when deciding if DRM should be implemented and even more factors once the decision to implement is made.</p>
<table width="100%">
<tr>
<td style="font-weight: bold; background: #060; color: #fff">Pre-Implementation Factors</td>
<td style="font-weight: bold; background: #006; color: #fff">Post-Implementation Factors</td>
</tr>
<tr>
<td width="50%" vAlign="top" style="background: #efe; border: #060 1px dotted">
<ul>
<li>Codec support for DRM</li>
<li>Strength of DRM system required</li>
<li>CDN hosting of DRM</li>
<li>Technical capacity of engineering staff</li>
<li>Cost of implementation</li>
<li>Capacity of viewers/listeners to accept or use DRM</li>
<li>Necessity</li>
</ul>
</td>
<td width="50%" vAlign="top" style="background: #eef; border: #006 1px dotted">
<ul>
<li>Rights structure</li>
<li>Longevity</li>
<li>Tree-leaf implementation</li>
<li>Management &amp; maintenance</li>
</ul>
</td>
</tr>
</table>
<p align="center"><strong>How DRM Works </strong></p>
<p>DRM is both simple and complex at the same time.  While the end result and the basic concept is generally similar across all implementations, the steps to implementation differ.</p>
<p><em>iTunes</em></p>
<p><img align="left" width="100" src="http://www.mobimeet.com/wp-content/uploads/2008/02/itunes.png" height="100" style="width: 100px; height: 100px" />Apple uses the AAC file format (a Quicktime variant) with DRM applied through a system known as FairPlay.  FairPlay predicates that:</p>
<ul>
<li>The protected track may be copied to any number of iPod player(s)</li>
<li>The protected track may be played on up to five authorized computers simultaneously</li>
<li>The protected track may be burned to a CD unlimited times (the resulting CD has no DRM and can be ripped, encoded and played back like any normal CD except there are first sale rights issues so it may not be distributed, and may have lossiness, also known as artifacts of compression)</li>
<li>A protected track within a specified playlist in iTunes may only be copied to a CD seven times</li>
<li>FairPlay only manages the decryption of audio content, not the ability of the file itself</li>
</ul>
<p>The intent of FairPlay is to prevent the use of purchased music on a device other than an iPod.  FairPlay is constrained by incompatibilities with the Creative Commons license.</p>
<p>iTunes uses a regular MP4 container file with an encrypted AAC audio stream using  the Rijndael algorithm and MD5 hashes.  The master key used for decryption is also stored in the MP4 container.  The decryption key, also called a “user key” is provided by the user’s iTunes.  The keys are tied to the GUID of the computer, so when that computer is “de-authorized”, the keys are removed from Apple’s central repository, rendering further use of the file invalid for other computers.  The iPod itself, however, also maintains its own repository, so the file can continue to be played on the device.</p>
<p>iTunes and FairPlay, despite its commercial success, has received widespread criticism, particularly in France and by Real Networks.  The FairPlay system has long been deconstructed (cracked) and is easily removed using any number of publicly available tools.</p>
<p><em>Napster/PlaysForSure</em></p>
<p>PlaysForSure is a Windows Media-based system supporting the distribution of WMA files, most notably used in subscription-based approach such as those used by Napster.  The certificate system in PlaysForSure, a variant of the standard Windows Media DRM system, renders files useless if the subscription is expired by doing a continuous certificate check into a central repository every time the file is played.  This is covered more in the next section.</p>
<p><em>DivX</em></p>
<p>Introduced in 2006, DivX was once on the hit list for major studios (being a significant distribution container for illegally copied torrents) but is now the darling of the industry because of its ability to maintain high quality video in a relatively compact form factor.  The implementation has gained popularity with firmware manufacturers (such as DVD player makers) but works very similar to FairPlay.</p>
<p><em>Windows Media DRM</em></p>
<p><img align="left" width="100" src="http://www.mobimeet.com/wp-content/uploads/2008/02/windows-media-player.png" height="100" style="width: 100px; height: 100px" />Windows Media DRM, like iTunes, uses a central repository to track the existence of licenses.  When any Windows Media file (note, this is the container, the codec may be any number of acceptable types) is encoded with DRM, an encrypted key is placed inside the header of the file.  The key is half of the PKI match to the certificate server.  The certificate server,  in addition to the remainder of the key, stores the acceptable use characteristics, currently called the “Media Usage Rights” which include any or all of the following:</p>
<ul>
<li>Computer Play Count: This field dictates the number of plays a licensed recipient will be able to play the media (on his or her receiving computer only). For example, if you want to restrict a pay-per-view type video to 5 views, change the selection to 5 plays.</li>
<li>Burn to CD Count: This field indicates the number of times a licensed media may be burned to CD-ROM and still maintain license integrity.</li>
<li>Portable Transfer Count: This field indicates the number of times a licensed media may be transferred to an SDMI-compatible portable device and still maintain license integrity.</li>
<li>Grace Period: The number of hours that a device that has lost secure clock time may operate using its “best guess” time.</li>
<li>Collaborative Play:This field indicates whether the license permits consumers to play protected content in a collaborative peer-to-peer session (messaging session).</li>
<li>License Backup and Restore: This field indicates whether or not the applicable license can be backed up and restored at a future date. If Not Allowed is selected and the user inadvertently deletes the license certificates from his or her computer, the license for the media file will be automatically expired.</li>
<li>License Begin Date: In mm/dd/yyyy format, this field set indicates when the media file license can begin. By default, this is set to the current date. If this field set is modified, the license usage date can be modified to a future date.</li>
<li>License Duration: This field indicates how many days the license will remain applicable in the recipient’s computer once it is generated and stored.</li>
<li>License Acquisition URL: The License Acquisition URL field requires a fully validated URL. In the case of non-silent delivery, this can provide an error page telling the user that he or she is attempting to play a media file without a valid license</li>
</ul>
<p>Any individual usage right can override the others.  For example, if the license duration is 30 days and the expiry date has passed, the unlimited computer play count is no longer valid.  Windows DRM requires plug-ins and hence it is not operable on non-Windows platforms.  These plug-ins are ActiveX controls that are resident in all Windows systems.</p>
<p>Here are 3 examples of Windows Media Files.  Download them (right click and &#8216;Save As&#8217;) to your local computer and attempt to play them.  If you are prompted to install the security upgrade, go ahead and do so.  If you would like more information on upgrading or installing the security upgrade to use Windows DRM, <a href="http://www.istreamplanet.com/drmfaq.asp" title="iStreamPlanet DRM FAQ">go here</a>.</p>
<ul>
<li>File 1 &#8211; <a href="http://www.mobimeet.com/downloads/drm/0-nodrm.wmv">No DRM</a></li>
<li>File 2 &#8211; <a href="http://www.mobimeet.com/downloads/drm/1-silent.wmv">DRM Applied with Silent License Delivery</a></li>
<li>File 3 &#8211; <a href="http://www.mobimeet.com/downloads/drm/2-challenge.php">DRM Applied with Challenge</a></li>
</ul>
<p>If you attempt to play File 2 (and have already done the security upgrade), you will notice the status bar indicating &#8220;Acquiring License&#8221; and then begin to play.  In the duration of time between loading the file and when it begins to play, the file itself send a command to a license certificate server and delivered a license <em>silently</em> (in the background) to your computer.  The  file has media usage rights set for only 10 plays and expires in 7 days.</p>
<p>If you attempt to play File 3 (and have already done the security upgrade), you will get a prompted window commonly called the challenge.  The challenge calls an HTML-based web page and allows the owner to collect information or payment to acquire the license.  The data shown in the textarea under the graphic shows the (PKI) private key portion (explained below) of your computer&#8217;s WMP security as well as some other information (in XML format).  This file looks like this:</p>
<table align="center" width="90%">
<tr>
<td style="background-color: #efe; border: #777 1px dotted; padding: 5px"><tt>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml" &gt;<br />
&lt;head&gt;<br />
  &lt;title&gt;Challenge&lt;/title&gt;<br />
  &lt;script language="Javascript"&gt;<br />
  function getClientInfo() {<br />
 document.myForm.myString.value = netobj.GetSystemInfo();<br />
  }<br />
  &lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body bgcolor="#7391e4" onload="getClientInfo();"&gt;<br />
&lt;object classid="clsid:A9FC132B-096D-460B-B7D5-1DB0FAE0C062" height="0" width="0" id="netobj" VIEWASTEXT&gt;<br />
&lt;embed MAYSCRIPT type="applicagtion/x-drm-v2" hidden="true"&gt;&lt;/embed&gt;<br />
&lt;/object&gt;<br />
&lt;div style="text-align:center;font-family:Arial,Helvetica;font-size:11px;"&gt;<br />
&lt;img src="<em>path to my image</em>" border="0" /&gt;<br />
&lt;br /&gt;<br />
&lt;h3 style="font-family:Lucida Grande,Arial,Helvetica;font-size:16px;"&gt;Challenge Request From:&lt;/h3&gt;<br />
&lt;form id="myForm" name="myForm"&gt;&lt;textarea name="myString" style="font:11px verdana;width:90%;height:60px;"&gt;&lt;/textarea&gt;&lt;/form&gt;<br />
&lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</tt></td>
</tr>
</table>
<p>In 2006, Microsoft introduced chaining into its DRM platform.  In chaining, the license has two parts – a root and a leaf.  The root license is bound to the computer or device while the lead contains the content key.  In this scheme, licenses can be chained together by association to a rooted key where the leaf specifically handles the content while the root handles the decryption.</p>
<p>In 2008, Microsoft will release a new version of DRM called PlayReady, largely in response to the ratification of WM9 as VC-1 and changes in business modeling since the release of the original DRM.  PlayReady will expand the DRM implementation significantly, supporting a much wider range of codecs and formats (including AAC and H.264 in addition to WM), be supported by the Silverlight delivery platform, and extend the ability to transfer media from device to device without loss of licensing integrity, as well as remaining backward compatible with WMDRM10.</p>
<p>Windows Media DRM can be used in conjunction with playlists and pointers.  Only when the DRM encoded file in the list is reached will it become activated.</p>
<p align="center"><em><strong>Commonalities</strong></em></p>
<p>All 3 formats have some things in common which is primarily the intent of protecting the distribution of content and tracking its usage.  The bottom line is that any content provider (an musician, a film studio, etc) has a defined need to protect, under copyright law, original content that it produces and to receive compensation for its distribution.  All formats use some form of encryption to hold some component of data though the media usage rights structures can vary widely.</p>
<p>All 3 formats also have one commonality in structure – they all require some form of GUID tracking.  A GUID (Global Unique Identifier) is a pseudo-random number which usually refers to the Microsoft implementation of UUID (Universally Unique Identifier).  Commonly, this is a 16-byte number (128 bits) and often represented in hexadecimal format such as:</p>
<p align="center">3F2504E0-4F89-11D3-9A0C-0305E82C3301</p>
<p>GUIDs are used for many things, but mostly for identifying unique software applications.  In the case of DRM applications, it is a unique identifier of the software application being used to create the keys, and this information is stored in the certificate server to monitor the usage.</p>
<p><em></p>
<table border="1" cellPadding="0" cellSpacing="0" style="border-collapse: collapse; border: medium none">
<tr>
<td width="104" vAlign="top" style="padding-right: 5.4pt; padding-left: 5.4pt; background: #0c0c0c; padding-bottom: 0in; width: 78.25pt; padding-top: 0in; border: windowtext 1pt solid">
<p style="margin: 0in 0in 0pt" class="MsoNormal"><strong><span style="font-size: 8pt; color: white">Name</span></strong></p>
</td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; background: #0c0c0c; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid"><strong><span style="font-size: 8pt; color: white">Used In</span></strong></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; background: #0c0c0c; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid"><strong><span style="font-size: 8pt; color: white">Circa</span></strong></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: windowtext 1pt solid; padding-left: 5.4pt; background: #0c0c0c; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid"><strong><span style="font-size: 8pt; color: white">Description</span></strong></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">FairPlay</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">iTunes</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">2003</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">The purchased music files are encoded as AAC, a format exclusively compatible with Apple products.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">3-day-or-3-play</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Microsoft Zune</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">2006</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Music files that are received wirelessly from other Zune devices can be played only a maximum of three times on the device, and expire after three days whether they are played or not. Recipients cannot re-send music that they have received via the sharing feature.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Janus WMA DRM</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">PlaysForSure</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">2004</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Janus is the codename for portable version of Windows Media DRM for portable devices.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Content-scrambling_system (CSS)</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">DVDs</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">1996</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">CSS</span><span style="font-size: 8pt"> utilizes a weak, 40-bit stream cipher to actively encrypt DVD-Video.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">VHS Macrovision</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Almost all VHS Video through the 20th Century</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">1984</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">When dubbing a protected tape, the picture that has gone through the recording VCR will get dark and then normal again periodically. The picture may also become unstable when it is at its darkest.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">DVD</span><span style="font-size: 8pt"> Region Code</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">DVDs</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">1996</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Each DVD-Video disc contains one or more region codes, denoting the area[s] of the world in which distribution and playback are intended.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">OMA</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">DRM Implemented in over 550 phone models</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">2004</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">A DRM system invented by the Open Mobile Alliance to protect cell phone ring tones.</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Windows Media DRM</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Online media distribution</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">1999</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">WMV DRM is designed to provide secure delivery of audio and/or video content over an IP network to a PC or other playback device in such a way that the distributor can control how that content is used.</span></td>
</tr>
<tr>
<td colSpan="4" width="439" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 329.4pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">No longer in use:</span></td>
</tr>
<tr>
<td width="104" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: windowtext 1pt solid; width: 78.25pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Extended Copy Protection</span></td>
<td width="89" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 66.5pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Sony and BMG CDs</span></td>
<td width="42" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 31.65pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">2005</span></td>
<td width="204" vAlign="top" style="border-right: windowtext 1pt solid; padding-right: 5.4pt; border-top: #f3f2f9; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f3f2f9; width: 153pt; padding-top: 0in; border-bottom: windowtext 1pt solid; background-color: transparent"><span style="font-size: 8pt">Also known as the &#8216;Sony Rootkit&#8217;</span></td>
</tr>
</table>
<p>As of today, all DRM schemes have been cracked with the sole exception of Windows DRM, largely because it uses the strongest encryption (1024 or 2048 bit keys), though the earlier version (version 1, the current version is 10) was cracked in 2004.</p>
<p></em></p>
<p align="center"><strong>Distribution Platforms</strong></p>
<p>Windows Media uses a wide distribution platform.  In fact, the system is largely free since all components needed to build a distribution system are also free with the sole exception of the licensing server.  Currently the biggest demand for DRM is in the business sector after a significant backlash from the consumer market in 2006 and 2007, and in fact demand for DRM implementations in the business-to-business sector has increased in the last couple of years. </p>
<p>In 2005, iStreamPlanet proposed (and subsequently filed a <a href="http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&amp;Sect2=HITOFF&amp;p=1&amp;u=%2Fnetahtml%2FPTO%2Fsearch-bool.html&amp;r=1&amp;f=G&amp;l=50&amp;co1=AND&amp;d=PG01&amp;s1=20060123484&amp;OS=20060123484&amp;RS=20060123484" title="Method of clearing and delivering digital rights management licenses to devices connected by IP networks ">patent application</a>) a distribution model whereby licensing could be easily distributed through IP networks by use of Web Services.  The scope of this distribution system is rapidly becoming widely adopted whereby a third-party (such as iStreamPlanet) acting independently of the content provider and the consumer acts as an intermediary solely for the purpose of license distribution and management.  As a value added resource, the system also offer the ability to handle transaction processing and subscription management, all done via Web Service.</p>
<p align="center"><strong>Political Issues</strong></p>
<p>In 1998 the Digital Millennium Copyright Act was passed by Congress without even token opposition.  It was produced in an effort to make circumvention of DRM systems illegal.  In 2001 the most publicized case in which the government prosecuted any individual occurred when Dmitry Sklyarov was arrested in conjunction with work done for a Russian company (note that DRM is not enforceable in Russia).  Though acquitted, the case left a lasting impression in the digital community with respect to copyright violations and furthered work done by the RIAA against file-sharing schemes and the anti-hacker movement as a whole.</p>
<p align="center"><strong>Why Should We Use Digital Rights Management</strong></p>
<p>On the one side, we can argue that sharing of information is exactly what the Internet was created for and to a degree that’s accurate.  However, publication of information with consent is not the same thing as consumption without royalty.</p>
<p>Artistic works are the lifeblood of their creators.  Therefore, one can easily argue the usage of DRM in entertainment-based media distribution (music, movies, and so forth).  Likewise, however, any form of media can be subject to copyright, and the creators should be entitled to remuneration for consumption, or at the very least be able to protect its usage.  More so, creators of works should be able to protect their media from others claiming it to be their own.  This is the simple argument for using DRM.</p>
<p align="center" style="font-size: 16px; color: #090"><strong>What other reasons do you think DRM<br />
should be instituted on a broad scale?</strong></p>
<p>On the other side of the equation, particularly emphasized by recent consumer backlash and even litigation in several countries, is that use of DRM constitutes violations of consumer rights – that it inhibits the distribution and playability of content.  Largely the misconception has led to a general backlash against DRM as a whole but the real issue has more to do with one plaguing problem – interoperability.  In the case of France vs. Apple FairPlay, France argues that FairPlay is not interoperable thereby restricting its use and essentially “shunning out” markets and competitors – in violates anti-trust laws. </p>
<p>Most consumers do not truly realize that this is the issue at hand – for most consumers, DRM is simply a means by which big business reduces sharing – acts as “Big Brother.”</p>
<p align="center" style="font-size: 16px; color: #900"><strong>What reasons would you state arguing<br />
against the institution of DRM?</strong></p>
<p align="left">&nbsp;</p>
<hr SIZE="1" />
<ul>
<li>
<p align="left">Required Reading: <a target="_blank" href="http://www.businessweek.com/technology/content/mar2006/tc20060321_144066.htm" title="Apple vs. France from BusinessWeek">Apple vs. France</a> (BusinessWeek article), <a href="http://arstechnica.com/news.ars/post/20080224-flash-drm-could-put-dramatic-prairie-dog-on-endangered-list.html">Flash DRM could put Dramatic Prairie Dog on endangered list</a> (Ars Technica article), <a href="http://opinion.latimes.com/bitplayer/2008/01/ces-sony-pict-1.html">CES: Sony Pictures embraces DivX</a> (Los Angeles Times article), <a href="http://www.drmwatch.com/article.php/3730981">Survey Results: Content Owners Still Believe in DRM</a> (DRMWatch article)</p>
</li>
<li>
<p align="left">Recommended Reading: <a target="_blank" href="http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&amp;Sect2=HITOFF&amp;d=PG01&amp;p=1&amp;u=%2Fnetahtml%2FPTO%2Fsrchnum.html&amp;r=1&amp;f=G&amp;l=50&amp;s1=%2220060123484%22.PGNR.&amp;OS=DN/20060123484&amp;RS=DN/20060123484" title="Method of clearing and delivering digital rights management licenses to devices connected by IP networks">Patent Filing 2006123484</a> (iStreamPlanet)</p>
</li>
<li>
<p align="left">Other Resources: <a target="_blank" href="http://www.microsoft.com/windows/windowsmedia/forpros/drm/default.mspx" title="Microsoft DRM">Windows Media Digital Rights Management</a></p>
</li>
</ul>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Failv%2Fimd322%2Fnet-broadcasting-week-8%2F', 'Net+Broadcasting+%26%238211%3B+Week+8')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusred.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/ailv/imd322/net-broadcasting-week-8/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>EasyPHP &#8211; Found It</title>
		<link>http://www.matsays.com/misc/tricks/easyphp-found-it/</link>
		<comments>http://www.matsays.com/misc/tricks/easyphp-found-it/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 19:04:41 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[Good Resources]]></category>
		<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[IMD402 Server Side Scripting]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.mobimeet.com/tricks/easyphp-found-it</guid>
		<description><![CDATA[Earlier in the quarter I mentioned finding a PHP emulator so you would not have to send your files to a server for testing and I finally found it (again).  Go to easyphp.org and download the Windows version.  This will install a local version of Apache (web server), PHP and MySQL onto your computer.  You [...]]]></description>
			<content:encoded><![CDATA[<p><img border="0" align="left" width="226" src="http://www.easyphp.org/images_easyphp/top_title.gif" alt="EasyPHP" height="40" style="margin: 0px 5px 5px 0px" />Earlier in the quarter I mentioned finding a PHP emulator so you would not have to send your files to a server for testing and I finally found it (again).  Go to <a href="http://www.easyphp.org/" title="EasyPHP">easyphp.org</a> and download the Windows version.  This will install a local version of Apache (web server), PHP and MySQL onto your computer.  You may have to modify the configuration (my recommendation is that if you are running IIS locally to change IIS to port 81 and leave EasyPHP as 80).</p>
<p>Please note that this is a beta build and not intended for production use.</p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Fmisc%2Ftricks%2Feasyphp-found-it%2F', 'EasyPHP+%26%238211%3B+Found+It')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusred.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/misc/tricks/easyphp-found-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Click Here for crappy Google rankings</title>
		<link>http://www.matsays.com/misc/click-here-for-crappy-google-rankings/</link>
		<comments>http://www.matsays.com/misc/click-here-for-crappy-google-rankings/#comments</comments>
		<pubDate>Fri, 05 Oct 2007 06:42:22 +0000</pubDate>
		<dc:creator>Mat</dc:creator>
				<category><![CDATA[Good Resources]]></category>
		<category><![CDATA[IMD322 Dynamic Design]]></category>
		<category><![CDATA[IMD345 UCD III]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Toolbox]]></category>

		<guid isPermaLink="false">http://www.mobimeet.com/misc/click-here-for-crappy-google-rankings</guid>
		<description><![CDATA[This is a good article on the importance of careful coding and attribute markup.  Something so simple as changing a link from &#60;a href="some_url" mce_href="some_url"&#62;click here&#60;/a&#62; to &#60;a href="some_url" mce_href="some_url" title="Article on the importance of using title attributes in links"&#62;Title attributes in link tags&#60;/a&#62; can dramatically change the effect on your search engine placement as well as [...]]]></description>
			<content:encoded><![CDATA[<p><em>This is a good article on the importance of careful coding and attribute markup.  Something so simple as changing a link from</em> <tt>&lt;a href="some_url" mce_href="some_url"&gt;click here&lt;/a&gt;</tt> <em>to</em> <tt>&lt;a href="some_url" mce_href="some_url" <strong color="#AA0000;">title="Article on the importance of using title attributes in links"</strong>&gt;Title attributes in link tags&lt;/a&gt;</tt> <em>can dramatically change the effect on your search engine placement as well as your third-party advertiser rotation and prioritization.</em> </p>
<p>[by Stephan Spencer for CNet]</p>
<p>Links are the fundamental vehicle that gets us from here to there on the web. Without them, we&#8217;d have no where to go, or at least a much harder time getting there. Links are, of course, deeply important to search engines as well. In fact, links and PageRank are at the very core of Google.</p>
<p>Spend a little time on just about any website and it won&#8217;t be long before you come across a &#8220;click here,&#8221; &#8220;click this,&#8221; or &#8220;more&#8221; link. You probably wouldn&#8217;t trade a $20 bill for $5, yet that is exactly what is happening when you use completely generic, non-descriptive anchor text with your links.</p>
<p>Search engines place even greater weight on links as another signal of what the destination page and site is about. While this is one of the basics of SEO, there seems to be no shortage of suboptimal links in the world. Links, whether internal or external, are too valuable to waste.</p>
<p>[<a target="_blank" href="http://blogs.cnet.com/8301-13530_1-9783467-28.html?tag=head" title="Click Here for crappy Google rankings">read more</a>]</p>
<script type="text/javascript">
addthis_pub = 'mobimeet';
</script><a href="http://www.addthis.com/bookmark.php" onMouseOver="return addthis_open(this, '', 'http%3A%2F%2Fwww.matsays.com%2Fmisc%2Fclick-here-for-crappy-google-rankings%2F', 'Click+Here+for+crappy+Google+rankings')" onMouseOut="addthis_close()" onClick="return addthis_sendto()"><img src="http://www.matsays.com/images/addthis-plusred.png" width="28" height="16" border="0" alt="Share this post on digg, del.icio.us, facebook, blah blah blah" /></a><script type="text/javascript" src="http://s7.addthis.com/js/152/addthis_widget.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://www.matsays.com/misc/click-here-for-crappy-google-rankings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
