<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Script Junkie</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/scriptjunkie/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/feed.xml</link>
    <description>Serious Web Development</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:26:42 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Understanding jQuery's Data API's</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/understanding-jquerys-data-apis</link>
      <pubDate>Fri, 02 Sep 2011 17:21:00 GMT</pubDate>
      <dc:creator><![CDATA[Ralph Whitbeck]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/09/02/understanding-jquerys-data-apis/</guid>
      <description><![CDATA[jQuery's Core Team Member, Dave Methvin has a great write up on LearningjQuery.com called "Using...]]></description>
      <content:encoded><![CDATA[<p>jQuery's Core Team Member, Dave Methvin has a great write up on <a href="https://learningjquery.com" title="https://learningjquery.com">LearningjQuery.com</a> called "<a href="https://www.learningjquery.com/2011/09/using-jquerys-data-apis" title="https://www.learningjquery.com/2011/09/using-jquerys-data-apis">Using jQuery's Data API</a>". &nbsp;He walks us through the&nbsp;beginning&nbsp;thoughts on what the .data() API was meant for, a DOM based In-Memory storage, to how it evolved into reading the data attribute in HTML5. &nbsp;Dave outlines 5 rules of the road for using .data():</p>
<ol>
<li>Only the&nbsp;<code>.data()</code>&nbsp;API reads HTML5&nbsp;<code>data-*</code>&nbsp;attributes, and it does so&nbsp;<em>once</em>.</li>
<li>The&nbsp;<code>.data()</code>&nbsp;API converts HTML5&nbsp;<code>data-*</code>&nbsp;values to Javascript types whenever possible.</li>
<li>The lower-level&nbsp;<code>jQuery.data()</code>&nbsp;API does not read HTML5&nbsp;<code>data-*</code>&nbsp;attributes.</li>
<li><em>No</em>&nbsp;jQuery data API ever&nbsp;<em>changes</em>&nbsp;HTML5&nbsp;<code>data-*</code>&nbsp;attributes.</li>
<li>All&nbsp;<code>data-*</code>&nbsp;names are stored in camelCase in the jQuery data object, using&nbsp;<a href="https://www.w3.org/TR/html5/elements.html#embedding-custom-non-visible-data-with-the-data-attributes">W3C rules</a>.</li>
</ol>
<p>You can read more about the history and the rules of the road over at <a href="https://www.learningjquery.com/2011/09/using-jquerys-data-apis">Learning jQuery</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Spin.js makes Animated Gifs Old School</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/spin-js-makes-animated-gifs-old-school</link>
      <pubDate>Tue, 30 Aug 2011 05:59:23 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/08/30/spin-js-makes-animated-gifs-old-school/</guid>
      <description><![CDATA[In most web apps, when&nbsp;an Ajax request is done, developers will use an animated gif image (AKA...]]></description>
      <content:encoded><![CDATA[<p style="text-align: left;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/6864.throbber.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/6864.throbber.png"></a>In most web apps, when&nbsp;an A<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/3125.throbber.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3125.throbber.png"></a>jax request is done, developers will use an animated gif image (AKA Throbber) to give the user&nbsp;an indication that something is going on. Throbbers come in many forms from circles to bars and even animated logos. The key thing is that they all required an image to be loaded and rendered to the user.</p>
<p><a href="https://fgnass.github.com/spin.js/">Spin.js</a> is a new library that aims to cut out the need for images. Created by&nbsp;<a href="https://twitter.com/#!/fgnass">Felix Gnass</a>, Spin.js uses CSS3 and JavaScript&nbsp;to render the indicator. For versions of IE that don't support CSS3, the lib falls back to using VML to render the UI. Here's how you'd setup a simple throbber:</p>
<p style="padding-left: 30px;">&nbsp;<em>var opts = {</em><br /><em>&nbsp; lines: 12, // The number of lines to draw</em><br /><em>&nbsp; length: 7, // The length of each line</em><br /><em>&nbsp; width: 5, // The line thickness</em><br /><em>&nbsp; radius: 10, // The radius of the inner circle</em><br /><em>&nbsp; color: '#000', // #rbg or #rrggbb</em><br /><em>&nbsp; speed: 1, // Rounds per second</em><br /><em>&nbsp; trail: 100, // Afterglow percentage</em><br /><em>&nbsp; shadow: true // Whether to render a shadow</em><br /><em>};</em><br /><em>var target = document.getElementById('foo');</em><br /><em>var spinner = new Spinner(opts).spin(target);</em></p>
<p>The great thing is the broad browser suppoer with Spin.js being successfully tested in:</p>
<ul>
<li>Chrome</li>
<li>Safari 4+</li>
<li>Firefox 3.5+</li>
<li>IE 6,7,8,9+</li>
<li>Opera 10.6+</li>
<li>Mobile Safari (iOS 4)</li>
</ul>
<p>Be sure to <a href="https://fgnass.github.com/spin.js/">visit the demo page</a> so you can use the interactive builder to see how the throbber can be dynamically adjusted based on small adjustments.</p>]]></content:encoded>
    </item>
    <item>
      <title>Using and Writing Polyfills for Building Modern Applications</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/using-and-writing-polyfills-for-building-modern-applications</link>
      <pubDate>Fri, 19 Aug 2011 08:04:46 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/08/19/using-and-writing-polyfills-for-building-modern-applications/</guid>
      <description><![CDATA[HTML5&nbsp;is the hot topic these days. Everybody wants to use the cool features and enhance their...]]></description>
      <content:encoded><![CDATA[<p>HTML5&nbsp;is the hot topic these days. Everybody wants to use the cool features and enhance their sites. One stumbling block is the pervasiveness of non-modern browsers that don't support these great new features. So how do you get around this? Through polyfills and shims of course! Thankfully, a lot of very smart people have created specially crafted JavaScript, HTML and CSS that can mimick the funcitionality found in HTML5, CSS3 and ES5 in non-modern browsers.</p>
<p>Contributing <a href="https://ScriptJunkie.com">ScriptJunkie.com</a> author and awesome developer <a href="https://addyosmani.com">Addy Osmani</a> has put up a great post that dives into <a href="https://addyosmani.com/blog/writing-polyfills/">writing cross-browser JavaScript polyfills</a>&nbsp;where he guides you through the ins-and-outs of polyfills and how to get started using them in your web applications.</p>
<p><em>"In today's post, I'm going to recount my experience of creating a cross-browser polyfill along with the lessons learned along the way. I'll also give you some tips on how you can create your own polyfills and avoid some of the headaches developers often run into when coding them for the first time."</em></p>
<p>If you're interested in leveraging HTML5 and ES5&nbsp;today while still supporting non-modern browsers, Addy's post is well-worth the read. You can also check out <a href="https://www.netmagazine.com/features/making-html5-and-css3-work-polyfills-and-shims">the article I wrote for .net Magazine</a> on the same topic.</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>HTML5-Powered VNC Implementation noVNC Let's You Access Remote Systems</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/html5-powered-vnc-implementation-novnc-lets-you-access-remote-systems</link>
      <pubDate>Thu, 18 Aug 2011 10:27:51 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/08/18/html5-powered-vnc-implementation-novnc-lets-you-access-remote-systems/</guid>
      <description><![CDATA[I'm constantly amazed at what developers are able to accomplish now with browser-based technologies....]]></description>
      <content:encoded><![CDATA[<p>I'm constantly amazed at what developers are able to accomplish now with browser-based technologies. I've used VNC for years to remotely manage PCs and servers and it's a great tool for sure. Never in a million years would I have imagined that you could build an implementation of it using HTML5. That's what <a href="https://github.com/kanaka">Joel Martin</a> has done with the <a href="https://github.com/kanaka/noVNC">HTML5-powered noVNC VNC client</a>.</p>
<p>By leveraging WebSockets and Canvas, noVNC is able to remotely connected to a box and render our the screen. Here's the main caveat though (via Joel's Github repo):</p>
<p style="padding-left: 30px;"><em>"Unless you are using a VNC server with support for WebSockets connections (only my <a href="https://github.com/kanaka/libvncserver">fork of libvncserver</a> currently), you need to use a WebSockets to TCP socket proxy. There is a python proxy included ('websockify'). One advantage of using the proxy is that it has builtin support for SSL/TLS encryption (i.e. "wss://")."</em></p>
<p>Regardless, this is still hot and a testament to how powerful web technologies are becoming. You also have to give credit to Joel for some innovative thinking and skills. Check out the video here:</p>
<p>[View:https://www.youtube.com/watch?v=icVpGOvh4tc]</p>
<p>noVNC currently works on all <a href="https://github.com/kanaka/noVNC/wiki/Browser-support">modern browsers</a> and for those that don't support WebSockets, it falls back to the <a href="https://github.com/gimite/web-socket-js">web-socket-js polyfill</a> for support. For IE9, you can also use the <a href="https://html5labs.interoperabilitybridges.com/prototypes/websockets/websockets/info">WebSockets prototype</a> offered on the <a href="https://html5labs.interoperabilitybridges.com/">Microsoft HTML5 Labs</a> site.</p>
<p></p>
<p></p>]]></content:encoded>
    </item>
    <item>
      <title>Expression Web 4 SP2 Brings the jQuery Goodness and Interactive Snapshot for Debugging</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/expression-web-4-sp2-brings-the-jquery-goodness-and-interactive-snapshot-for-debugging</link>
      <pubDate>Wed, 13 Jul 2011 11:21:41 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/07/13/expression-web-4-sp2-brings-the-jquery-goodness-and-interactive-snapshot-for-debugging/</guid>
      <description><![CDATA[Microsoft released Expression Web 4 SP2 and it brings a host of nice features. The two that I'm...]]></description>
      <content:encoded><![CDATA[<p><a href="https://expression.microsoft.com/en-us/hh290892">Microsoft released Expression Web 4 SP2</a> and it brings a host of nice features. The two that I'm really digging are jQuery Intellisense support and the Interactive Snapshot.</p>
<p><span style="font-size: large;"><strong>jQuery Intellisense</strong></span></p>
<p>Expression has traditionally be a designer's tool but with the lines between developer and designer blurring, it makes sense for Expression to add support to one of the most popular JavaScript libraries out.</p>
<p style="padding-left: 30px;"><em>In their 2010 <a href="https://www.webdirections.org/sotw10/script/#javascript-libraries">survey of Web Developers</a>, Web Directions found that jQuery dominates&mdash;used by (an astounding) 78% of respondents.</em></p>
<p>Um..yea. jQuery is incredibly popular and adding it into Expression makes it substantially easier for users to build out dynamic sites.</p>
<p><em><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/5086.jquery-exp.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/5086.jquery_2D00_exp.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/5086.jquery-exp.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/5086.jquery_2D00_exp.png" width="458" height="219" /></a></em></p>
<p><span style="font-size: large;"><strong>Interactive Snapshot</strong></span></p>
<p>One of the best features of Expression Web has to be the SuperPreview which lets you look at your site as it would render in any version of IE and Firefox 3.x. This was a snapshot though which was kind of tough if you were hoping to debug easily as it rendered. With Interactive Snapshot, you now have the ability to do just that:</p>
<p style="padding-left: 30px;"><em>In Web 4 SP2, we&rsquo;ve added an Interactive mode to our stable of IE renderers (as well as an interactive Firefox 3.x). Interactive mode essentially puts Internet Explorer in a panel, allowing you to see and interact with web pages during the authoring process. Mouse-overs, lightboxes and animations all work. Simply saving your changes triggers a refresh of the panel. IE Interactive uses the current version of Internet Explorer installed on your machine.</em></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/3404.snapshot.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3404.snapshot.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/3404.snapshot.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/3404.snapshot.png" /></a></p>
<p><em></em></p>
<p>While these are my two favorite features for this update, there's a whole lot more to check out so be sure to check out <a href="https://expression.microsoft.com/en-us/hh290892">the blog post for details</a> and give Expression Web a try.</p>
<p style="padding-left: 30px;"><em></em></p>]]></content:encoded>
    </item>
    <item>
      <title>New Release of LABjs Script Loader. Improved Chaining Support, Feature detection, DEBUG mode and more.</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/new-release-of-labjs-script-loader-improved-chaining-support-feature-detection-debug-mode-and-more</link>
      <pubDate>Wed, 13 Jul 2011 08:18:56 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/07/13/new-release-of-labjs-script-loader-improved-chaining-support-feature-detection-debug-mode-and-more/</guid>
      <description><![CDATA[Great news! Kyle Simpson, author of the highly popular and useful LABjs dynamic script loader, just...]]></description>
      <content:encoded><![CDATA[<p>Great news! Kyle Simpson, author of the highly popular and useful <a href="https://labjs.com/">LABjs</a> dynamic script loader, just <a href="https://twitter.com/#!/getify/status/90951621298757632">tweeted out that he's released LABjs 2.0</a>! Of course, I had a quick chat with him so he could give me the lowdown on the new release:</p>
<p style="padding-left: 30px;"><em>LABjs 2.0 is a full rewrite, emphasizing standardized and future thinking feature tests instead of hacks, readable source code, and several helpful new features. LABjs 2.0's goal is to be both a complete loader solution itself, as well as the building block for a variety of more complex dependency management solutions.</em></p>
<p>Cool new features include:</p>
<ul>
<li>
<div id="LC4" class="line">script() calls in the chain allow you to define one or more scripts to load in parallel</div>
</li>
<li>
<div id="LC5" class="line">wait() calls in the chain allow you to express where execution order needs to wait to preserve dependency execution.</div>
</li>
<li>
<div id="LC6" class="line">LABjs now uses standardized and future-thinking feature tests for preloading and ordered-execution loading, de-emphasizing hacky techniques like cache preloading (now only used in older legacy browsers).</div>
</li>
<li>
<div id="LC7" class="line">The source code is vastly cleaner, and well commented</div>
</li>
<li>
<div id="LC8" class="line">v2.0 is backwards-compatible for its API</div>
</li>
<li>
<div id="LC9" class="line">Many bugs/quirks, including weirdness with "AllowDuplicates" and chain resumption, have been completely fixed</div>
</li>
<li>
<div id="LC10" class="line">New features include "debug mode", built-in queueing, cache-busting, sandbox(), and noConflict()</div>
</li>
</ul>
<p>You can check out the&nbsp;<a href="https://labjs.com/releasenotes.php">release notes for full details</a>&nbsp;and nab a copy of the <a href="https://labjs.com/download.php">latest version here</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Cloud-based Development via Node.js and Cloud9 IDE Integration Coming Soon</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/cloud-based-development-via-node-js-and-cloud9-ide-integration-coming-soon</link>
      <pubDate>Tue, 12 Jul 2011 11:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/07/12/cloud-based-development-via-node-js-and-cloud9-ide-integration-coming-soon/</guid>
      <description><![CDATA[We all know that Node.js and Cloud9 IDE are both hot bits of technology so it should come as no...]]></description>
      <content:encoded><![CDATA[<p>We all know that <a href="https://www.nodejs.org/">Node.js</a> and <a href="https://cloud9ide.com/">Cloud9 IDE</a> are both hot bits of technology so it should come as no surprise that <a href="https://www.joyent.com/">Joyent</a> and Cloud9 have partnered to make it easy to build, run, debug and deploy Node applications using the web-based IDE.</p>
<p>Here's the press release:</p>
<p style="padding-left: 30px;"><em>In an arrangement that brings together the work of JavaScript inventor Brendan Eich and Node.js inventor Ryan Dahl, Joyent and Cloud9 IDE, Inc. today announced an agreement to provide web application developers with a one-stop cloud development and deployment platform for Node.js applications from within the Cloud9 IDE (Integrated Development Environment). <b></b></em></p>
<p style="padding-left: 30px;"><em>The Cloud9 IDE, a state-of-the-art IDE that runs in the browser and lives on Joyent&rsquo;s public cloud, JoyentCloud.com, allows developers to run, debug and deploy applications from anywhere, anytime.&nbsp; This joint effort gives developers ready access to a premium IDE at no cost for pre-production use, and includes support for commercial use.</em></p>
<p style="padding-left: 30px;"><em>Developers can self-provision their Joyent Node.js SmartMachines from within the Cloud9 IDE, and immediately begin testing on their Node.js-based application. Once an application is ready for production, developers are able to purchase commercial cloud services that ensure scalable, successful deployment.</em></p>
<p style="padding-left: 30px;"><em>&ldquo;If you want to see the future of cloud computing, this is it. Joyent has the complete cloud data center software stack and we have the cloud-based IDE for JavaScript, which is the language used by over three-quarters of websites today and is a key part of the explosion of mobile apps,&rdquo; said Cloud9 IDE CEO Ruben Daniels. &ldquo;The new integrated solution lets you create your development project in Cloud9, and then test and run your code on the Joyent architecture. You don&rsquo;t have to create a new Joyent account &ndash; Joyent automatically accepts the login and billing information from your Cloud9 IDE account.&rdquo;</em></p>
<p style="padding-left: 30px;"><em>&nbsp;&ldquo;We want to provide developers with the best tools for developing next-generation web applications, and this partnership does just that,&rdquo; said David Young, Joyent CEO. &ldquo;The combination of the Node.js IDE and Joyent cloud make it effortless for a developer to get an app up and running in the cloud quickly and successfully.&rdquo;</em></p>
<p>Joyent Chief Evangelist Tom Hughes-Croucher and Cloud9 IDE, Inc. CTO Rik Arends will be putting on a webinar discussion about this partnership on Wednesay, July 20 at 10 AM Pacific time. <b><span style="text-decoration: underline;"><a href="https://bit.ly/mLNLKO">Sign up here</a>.</span></b></p>
<p>Here are some pics to whet your appetite:</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/7534.c9on%20Joyent%20-%20add%20deploy%20target-isolated.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7534.c9on-Joyent-_2D00_-add-deploy-target_2D00_isolated.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/7534.c9on%20Joyent%20-%20add%20deploy%20target-isolated.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7534.c9on-Joyent-_2D00_-add-deploy-target_2D00_isolated.png" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/2626.c9on%20Joyent%20-%20deploy.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2626.c9on-Joyent-_2D00_-deploy.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/2626.c9on%20Joyent%20-%20deploy.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/2626.c9on-Joyent-_2D00_-deploy.png" /></a></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/8688.c9on%20Joyent%20-%20new%20project.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/8688.c9on-Joyent-_2D00_-new-project.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/8688.c9on%20Joyent%20-%20new%20project.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/8688.c9on-Joyent-_2D00_-new-project.png" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/1781.c9on%20Joyent%20-%20new%20project-isolated.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/1781.c9on-Joyent-_2D00_-new-project_2D00_isolated.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/1781.c9on%20Joyent%20-%20new%20project-isolated.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/1781.c9on-Joyent-_2D00_-new-project_2D00_isolated.png" /></a></p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/0654.c9on%20Joyent-%20add%20deploy%20target.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/0654.c9on-Joyent_2D00_-add-deploy-target.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/0654.c9on%20Joyent-%20add%20deploy%20target.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/0654.c9on-Joyent_2D00_-add-deploy-target.png" /></a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Evaluating jQuery Plugins for Use in your Projects</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/evaluating-jquery-plugins-for-use-in-your-projects</link>
      <pubDate>Mon, 11 Jul 2011 05:24:00 GMT</pubDate>
      <dc:creator><![CDATA[Ralph Whitbeck]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/07/11/evaluating-jquery-plugins-for-use-in-your-projects/</guid>
      <description><![CDATA[I just found, what looks like an, awesome HTML5 Uploader jQuery Plugin in my Twitter feed and my...]]></description>
      <content:encoded><![CDATA[<p><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;" id="internal-source-marker_0.2652904732767961">I just found, what looks like an, awesome HTML5 Uploader jQuery Plugin in my Twitter feed and my first thought was, &ldquo;Wow, this would make a great addition to the project that I am currently working on.&rdquo; &nbsp;Unfortunately, once I started to evaluate the plugin it failed miserably in all aspects of my evaluation criteria. &nbsp;So much so, I feel it is a great example of how NOT to release a jQuery plugin.</span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Here is the criteria I use to evaluate a jQuery plugin before I consider using it in my project:</span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span></p>
<ol>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Good documentation and demos</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - If I can&rsquo;t figure out how to use your plugin and/or see what it&rsquo;s capable of fairly quickly I don&rsquo;t really want to waste my time on trying to figure that out. &nbsp;The plugin author should be providing at the very least easy examples on what the plugin does.</span></li>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Easily downloadable</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - Seems like a silly requirement but if I can&rsquo;t easily download the code because of a silly wall in place like having to tweet to be able to get to the code base then that&rsquo;ll weigh heavily in my determining to use the plugin or not.</span></li>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">License released under</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - I should also be able to find what license the plugin is released under. &nbsp;Ideally it should be listed on the plugin site but if not in the header of the JavaScript file. If a jQuery plugin does not have a license specified I will not consider it.</span></li>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Source code available</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - Most jQuery plugins are released with an open source license, with those projects the code should be available to evaluate. &nbsp;I should be able to see the full source code, if you are only providing a minimized version then I am unable to evaluate very easily to understand how the code is architected.</span></li>
</ol>
<p><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">These are just simple things every plugin author should be doing. &nbsp;Unfortunately, HTML5 Uploader jQuery Plugin failed on 3 out of 4 items listed above. &nbsp;I contacted the owners of the plugin to voice my displeasure and was sent a reply with a code beautifier link to be able to read the minified code that one got after having to &ldquo;Pay with a Tweet&rdquo; to download the code which has no license attributed with it. &nbsp;I replied back with &ldquo;thanks, but no thanks&rdquo; and will find something else until they fix those issues above.</span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">In addition to the items above, I consider the following to be a huge plus when evaluating a jQuery Plugin:</span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span></p>
<ol>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Source Code available on Github</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - This is a huge plus I can easily fork, watch or submit issues to the code base. &nbsp;Github also provides the easiest way to view commits and see if the code has been idle or not.</span></li>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">MIT and GPLv2 Licensed</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - I find plugins licensed the same as the jQuery code base to be ideal.</span></li>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Unit tests</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - It shows that the code is thoroughly tested each release and I can rest assured that the code is of quality.</span></li>
<li style="list-style-type: decimal; font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">Issue Tracker</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"> - If it is on Github I can see if the issue tracker is in use and if issues are being addressed as they come up. &nbsp;This allows me to help the project if I come across any problems.</span></li>
</ol>
<p><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span><br /><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;">What are some criteria you use when evaluating jQuery Plugins or JavaScript code in general?</span></p>
<p></p>
<p><em>* Note: This content was originally posted on <a href="https://ralphwhitbeck.com">https://ralphwhitbeck.com</a> and is reprinted here with permission.</em><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: normal; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline;"></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Buzz Makes it Easy to Use HTML5 Audio</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/buzz-makes-it-easy-to-use-html5-audio</link>
      <pubDate>Fri, 08 Jul 2011 09:23:03 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/07/08/buzz-makes-it-easy-to-use-html5-audio/</guid>
      <description><![CDATA[Jay Salvat has produced some amazing jQuery plugins before and his latest library continues in that...]]></description>
      <content:encoded><![CDATA[<p><a href="https://jaysalvat.com/">Jay Salvat</a> has produced some <a href="https://markitup.jaysalvat.com/home/">amazing</a> <a href="https://vegas.jaysalvat.com/">jQuery</a> <a href="https://facedetection.jaysalvat.com/">plugins</a> before and his latest library continues in that tradtion. <a href="https://buzz.jaysalvat.com/">Buzz is his newest creation</a> and makes it incredibly easy to use the new HTML5 Audio element's API. It offers&nbsp;methods to track things like:</p>
<ul>
<li>Browser support</li>
<li>Codec support</li>
<li>Timing</li>
<li>Playback</li>
<li>and more...</li>
</ul>
<p>And support for&nbsp;a&nbsp;variety&nbsp;of&nbsp;audio formats:</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/4137.buzz-audio-support.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/4137.buzz_2D00_audio_2D00_support.png"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/4137.buzz-audio-support.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/4137.buzz_2D00_audio_2D00_support.png" /></a></p>
<p>It also provides methods to help you degrade your application for non-modern browsers. It's a simple, clean and easy-to-use library and&nbsp;definitely worth a look.</p>
<p><a href="https://buzz.jaysalvat.com/demo/"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/7827.buzz.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7827.buzz.png" /></a></p>]]></content:encoded>
    </item>
    <item>
      <title>Another Great JavaScript Learning Center Launches...and it's Free!</title>
      <link>https://docs.microsoft.com/archive/blogs/scriptjunkie/another-great-javascript-learning-center-launches-and-its-free</link>
      <pubDate>Fri, 08 Jul 2011 07:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Rey.Bango]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/scriptjunkie/2011/07/08/another-great-javascript-learning-center-launches-and-its-free/</guid>
      <description><![CDATA[Everyone wants to learn JavaScript now. It's the cool language and the language that's powering a...]]></description>
      <content:encoded><![CDATA[<p>Everyone wants to learn JavaScript now. It's the cool language and the language that's powering a lot of the awesome features of HTML5. While there are several resources available many require some form of payment so when you find one that offers good guidance at no cost, you make sure you bookmark it. So be sure to jot this site down as appendTo has just announced their <a href="https://appendto.com/blog/2011/07/appendto-launches-free-developer-learning-center">free Developer Learning Center</a>&nbsp;which is chock full of videos to get you up to speed on JavaScript and jQuery.</p>
<p style="padding-left: 30px;"><a href="https://appendto.com/team/andrew-wirick">Andrew Wirick</a>, Senior Trainer and Developer, explains the lesson structure, <em>"Often learning is about understanding what prerequisite knowledge you need to know before tackling a subject. The goal of the lesson structure was to provide an interactive learning experience while also providing an easy way to tell what prerequisites a student needs."</em></p>
<p>Right off the bat they have&nbsp;8 videos to choose from and each video is about 30-40 minutes long. They range from JavaScript 101 to understanding how jQuery manages events so you'll have a good set of options to learn from.</p>
<p><a href="https://learn.appendto.com/learn-jquery-javascript-free"><img border="0" alt="" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/44/41/7444.appendto-learn-videos.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-44-41/7444.appendto_2D00_learn_2D00_videos.png" /></a></p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
  </channel>
</rss>