<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>MooTools</title>
	
	<link>http://mootools.net/blog</link>
	<description>The Blog</description>
	<lastBuildDate>Tue, 07 Feb 2012 19:00:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mootools-blog" /><feedburner:info uri="mootools-blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>MooTools 1.4.4 Released</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/x4NFhTIKEvg/</link>
		<comments>http://mootools.net/blog/2012/02/07/mootools-1-4-4-released/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 16:30:11 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1565</guid>
		<description><![CDATA[Today we release MooTools Core 1.4.4 which is a critical maintenance release. 1.4.3 release introduced a bug as a result of fixing another bug. Specifically, 1.4.3 did not allow custom attributes (e.g. data- or non-standard attributes). See this issue for a full explanation and solution. We recommend that all users upgrade to 1.4.4 as soon [...]]]></description>
			<content:encoded><![CDATA[<p>Today we release <strong>MooTools Core 1.4.4</strong> which is a <strong>critical</strong> maintenance release. 1.4.3 release introduced a bug as a result of fixing another bug. Specifically, 1.4.3 did not allow custom attributes (e.g. <code>data-</code> or non-standard attributes). <a href="https://github.com/mootools/mootools-core/issues/2247">See this issue</a> for a full explanation and solution.</p>

<p>We recommend that all users upgrade to 1.4.4 as soon as possible.</p>

<h3>Fixes</h3>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues/2160">#2160</a>: Fx.Tween/Fx.Morph problem with &#8216;%&#8217; unit</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2175">#2175</a>: IE Leak: Array.flatten</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2178">#2178</a>: IE doesn&#8217;t set value when creating element if css attributes are used</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2241">#2241</a>: Slick.finder index selector</li>
<li><strong><a href="https://github.com/mootools/mootools-core/issues/2247">#2247</a>: Element.get not reading custom attributes in IE7/8</strong></li>
<li><a href="https://github.com/mootools/mootools-core/issues/2248">#2248</a>: contains causes &#8220;Out of Stack Space&#8221; in IE</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2252">#2252</a>: Element.getParents doc clarification</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2262">#2262</a>: SVGAnimatedString causes Slick error</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2266">#2266</a>: Calling setOpacity with null does not remove the style </li>
<li><a href="https://github.com/mootools/mootools-core/issues/2275">#2275</a>: Update Slick to 1.1.7</li>
</ul>

<h3><a href="https://github.com/mootools/mootools-core/issues?sort=created&amp;direction=asc&amp;state=open&amp;page=1&amp;milestone=9">Known Issues</a></h3>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues/2184">#2184</a>: IE9 on Windows Server throws exception; can&#8217;t continue</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2194">#2194</a>: Function#bind ES5 bug when bound function is called as part of a new expression</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2199">#2199</a>: Browser.version always returns the same for Android 2-4</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2207">#2207</a>: Fx.cancel() should clear animation so Fx.resume() will not continue it</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2214">#2214</a>: IE8 - Cannot inject into window.opener</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2225">#2225</a>: IE in-page memory leak when using removeChild</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2236">#2236</a>: IE8 tween/morph clip:rect breaks</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2243">#2243</a>: Memory leak with request class</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2245">#2245</a>: Element.getOffsets() is broken in iOS 4.3 if using -webkit-transform</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2265">#2265</a>: new Element(&#8216;style&#8217;, {text: &#8221;}) throws IE exception</li>
<li>&hellip; <a href="https://github.com/mootools/mootools-core/issues?sort=created&amp;direction=asc&amp;state=open&amp;page=1&amp;milestone=9">and more</a></li>
</ul>

<p>These issues will be fixed subsequently prior to release of the next maintenance release, <strong>1.4.5</strong>.</p>

<h3>Contribute</h3>

<p>These fixes and improvements would not have happened if you didn&#8217;t submit an issue (ticket) to the <a href="https://github.com/mootools/mootools-core/issues">MooTools Core Issues</a>, or reporting your problems in the <a href="https://groups.google.com/forum/#!forum/mootools-users">MooTools User Group</a>. Send us your (MooTools) issues (or feature requests) so that your favorite JavaScript framework keeps getting better.</p>

<h3>Get it!</h3>

<ul>
<li><a href="http://mootools.net/download">Download MooTools Core 1.4.4</a>; <a href="http://mootools.net/core/">Build MooTools Core 1.4.4</a></li>
<li>Fork / clone <a href="http://github.com/mootools/mootools-core/tree/1.4.4">MooTools Core 1.4.4 from GitHub</a>, and build it yourself with <a href="http://github.com/kamicane/packager">Packager</a>.</li>
<li><a href="http://code.google.com/apis/libraries/devguide.html#mootools">Google CDN</a> (will be updated soon)</li>
<li><a href="http://mootools.net/docs">Browse the Documentation for Core &amp; More.</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/x4NFhTIKEvg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2012/02/07/mootools-1-4-4-released/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2012/02/07/mootools-1-4-4-released/</feedburner:origLink></item>
		<item>
		<title>MooTools 1.4.3 Released</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/VWmijrkhuC8/</link>
		<comments>http://mootools.net/blog/2012/01/21/mootools-1-4-3-released/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 17:59:21 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1549</guid>
		<description><![CDATA[Today we release MooTools Core 1.4.3 which is a small maintenance release. Upgrading from 1.4.2 should not cause any backward incompatibilities. We recommend that all users upgrade to 1.4.3 as soon as possible. Fixes #2109: IE7/8 getProperty returns functions #2110: Documentation: Request.JSON&#8217;s behaviour of onFailure #2117: Document conflicts between Array and Elements methods #2121: Missing [...]]]></description>
			<content:encoded><![CDATA[<p>Today we release <strong>MooTools Core 1.4.3</strong> which is a small maintenance release. Upgrading from 1.4.2 should not cause any backward incompatibilities. We recommend that all users upgrade to 1.4.3 as soon as possible.</p>

<h3>Fixes</h3>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues/2109">#2109</a>: IE7/8 getProperty returns functions</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2110">#2110</a>: Documentation: Request.JSON&#8217;s behaviour of onFailure</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2117">#2117</a>: Document conflicts between Array and Elements methods</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2121">#2121</a>: Missing Fx.options.frameSkip documentation.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2126">#2126</a>: Re-add undocumented <code>from</code> argument to Element.fade</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2127">#2127</a>: Element.js memory leaks</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2146">#2146</a>: Add Element.NativeEvents to docs</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2150">#2150</a>: Add Fx.isPaused() method</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2152">#2152</a>: Packaging issue. Build header and Core.js yml header collide</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2155">#2155</a>: Add special note to Element.empty</li>
<li><strong><a href="https://github.com/mootools/mootools-core/issues/2163">#2163</a>: IE7 Crash with Mootools Core 1.4.2</strong></li>
<li><a href="https://github.com/mootools/mootools-core/issues/2164">#2164</a>: Cannot set numerical 0 values to form fields.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2169">#2169</a>: <code>Array#filter</code> should store <code>this[i]</code> in a variable before calling the callback.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2170">#2170</a>: <code>propertychange</code> on an input[type=radio] with this.checked fires standard onChange</li>
<li><strong><a href="https://github.com/mootools/mootools-core/issues/2176">#2176</a>: <code>uid</code> remnant which prevented proper cleaning of elements and their storage</strong></li>
<li><a href="https://github.com/mootools/mootools-core/issues/2182">#2182</a>: element.erase( &#8216;html&#8217; ) sets content to text &#8216;undefined&#8217;</li>
</ul>

<h3><a href="https://github.com/mootools/mootools-core/issues?sort=created&amp;direction=asc&amp;state=open&amp;page=1&amp;milestone=8">Known Issues</a></h3>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues/2129">#2129</a>: &lt; IE9 sets width/height attribute once, and doesn&#8217;t update on other loads</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2130">#2130</a>: Object.each doesn&#8217;t address IE DontEnum bugs like Object.extend and others</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2160">#2160</a>: Fx.Tween/Fx.Morph problem with &#8216;%&#8217; unit</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2168">#2168</a>: Fixes 2129.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2175">#2175</a>: IE Leak: Array.flatten</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2178">#2178</a>: IE doesn&#8217;t set value when creating element if css attributes are used</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2183">#2183</a>: Incorrect event.key from some keypress events in Firefox</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2184">#2184</a>: IE9 on Windows Server throws exception; can&#8217;t continue</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2185">#2185</a>: Fix #2184: IE9 on Windows Server throws exception; can&#8217;t continue</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2188">#2188</a>: Fixes #2178 - A input field should keep its value even when the type property is changed (in IE)</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2189">#2189</a>: Uncaught TypeError: Property &#8216;id&#8217; of object #<HTMLDocument> is not a function</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2193">#2193</a>: Element clone storage again</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2194">#2194</a>: Function#bind ES5 bug when bound function is called as part of a new expression</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2196">#2196</a>: it&#8217;s better for getStyle method always returns style value with px unit </li>
<li><a href="https://github.com/mootools/mootools-core/issues/2199">#2199</a>: Browser.version always returns the same for Android 2-4</li>
<li>&hellip; <a href="https://github.com/mootools/mootools-core/issues?sort=created&amp;direction=asc&amp;state=open&amp;page=1&amp;milestone=8">and more</a></li>
</ul>

<p>These issues will be fixed subsequently prior to release of the next maintenance release, <strong>1.4.4</strong>.</p>

<h3>Contribute</h3>

<p>These fixes and improvements would not have happened if you didn&#8217;t submit an issue (ticket) to the <a href="https://github.com/mootools/mootools-core/issues">MooTools Core Issues</a>, or reporting your problems in the <a href="https://groups.google.com/forum/#!forum/mootools-users">MooTools User Group</a>. Send us your (MooTools) issues (or feature requests) so that your favorite JavaScript framework keeps getting better.</p>

<h3>Get it!</h3>

<ul>
<li><a href="http://mootools.net/download">Download MooTools Core 1.4.3</a>; <a href="http://mootools.net/core/">Build MooTools Core 1.4.3</a></li>
<li>Fork / clone <a href="http://github.com/mootools/mootools-core/tree/1.4.3">MooTools Core 1.4.3 from GitHub</a>, and build it yourself with <a href="http://github.com/kamicane/packager">Packager</a>.</li>
<li><a href="http://code.google.com//ajaxlibs/documentation/index.html#mootools">Google CDN</a> (will be updated soon)</li>
<li><a href="http://mootools.net/docs">Browse the Documentation for Core &amp; More.</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/VWmijrkhuC8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2012/01/21/mootools-1-4-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2012/01/21/mootools-1-4-3-released/</feedburner:origLink></item>
		<item>
		<title>JxLib: An Introduction</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/fZBRzLw6Z7E/</link>
		<comments>http://mootools.net/blog/2011/12/26/jxlib-an-introduction/#comments</comments>
		<pubDate>Mon, 26 Dec 2011 20:02:37 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Features]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1539</guid>
		<description><![CDATA[Jon Bomgardner is a contributor to the jxlib.org project. After recently joining the MooTools Developer mailing list and sharing his experience in upgrading jxlib to MooTools 1.4.2 we asked him to share his work here on the blog. What is JxLib JxLib is a JavaScript UI framework built on MooTools. It allows web developers and [...]]]></description>
			<content:encoded><![CDATA[<p><i>Jon Bomgardner is a contributor to the <a href="http://jxlib.org">jxlib.org</a> project. After recently joining the MooTools Developer mailing list and sharing his experience in upgrading jxlib to MooTools 1.4.2 we asked him to share his work here on the blog.</i></p>

<h3>What is JxLib</h3>

<p>JxLib is a JavaScript UI framework built on MooTools. It allows web developers and designers to quickly build user interfaces for their applications. JxLib is based on some sweet HMTL markup and strives to be fully CSS compliant.  It is also a modular library allowing you to pick and choose from the available components as well as giving you the ability to override default behaviors and extend core classes.</p>

<p>All of this flexibility is, in large part, due to being built on MooTools. The library is heavily object-oriented with a huge number of classes inheriting from a single base. If you know how to use the MooTools class system you will quickly get up to speed on JxLib.  In addition to being based on HTML and CSS, which provides an amazing amount of flexibility itself, the library&#8217;s architecture is based on a plugin system that allows additional functionality to be added to each component at the developer&#8217;s discretion.</p>

<h3>A couple of quick examples</h3>

<p>So, I wanted to show a couple of easy examples of what you can do with JxLib. There&#8217;s a ton of functionality built in and for more complete examples you can check out the examples page at <a href="http://jxlib.org">jxlib.org</a>. Here are 3 quick jsfiddles that you can play around with to get a feel of some of the functionality.</p>

<h4>Example 1: Drop Down Menu Toolbar</h4>

<p>This example shows a simple menu toolbar with cascading menus</p>

<iframe style="width: 100%; height: 200px; border: 1px solid #666;" src="http://jsfiddle.net/jonlb/N32xm/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>

<h4>Example 2&#160;: Jx.Form and Form fields</h4>

<p>This example shows off Jx.Form and a lot of the bundled fields you get out of the box.</p>

<iframe style="width: 100%; height: 400px; border: 1px solid #666;" src="http://jsfiddle.net/jonlb/7SG7Q/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>

<h4>Example 3: The New Jx.Container and Jx.LayoutManager classes</h4>

<p>This one shows off some of the new work in JxLib 3.1.1. It creates the entire layout using a single javascript object. Check out the center panel&#8217;s tabs for a look at Jx.Editor and other components.</p>

<iframe style="width: 100%; height: 600px; border: 1px solid #666;" src="http://jsfiddle.net/jonlb/dfmV7/3/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>

<h3>Experiences achieving compatibility with Core 1.4.2</h3>

<p>I am happy to report that the conversion to Core 1.4.2 went relatively easily. The biggest conversion headache was when I originally worked on getting compatibility with 1.3.2 - that was a ton of work. We used many of the $ global methods ($defined, $H, $A were some of the big ones) and they were littered about the code base quite liberally. I really didn&#8217;t want to use the compatibility layer that the folks here at MooTools so graciously provided everyone because the download was big enough as it was. Hunting down all of those changes took the most time. In the process of doing so however I learned a few interesting tidbits:</p>

<p>First, it was best to replace $defined() with a check for undefined <em>and</em> null. for example:</p>

<pre><code>if ($defined(some_variable)) {
</code></pre>

<p>became</p>

<pre><code>if (some_variable !== undefined &amp;&amp; some_variable !== null) {
</code></pre>

<p>I realize that the conversion docs state that checking undefined should be enough but when I tried that at first I got a LOT of weird errors. This change fixed them.</p>

<p>The other thing I discovered is that Object.each and Object.keys weren&#8217;t all that useful when the object you&#8217;re using them with was actually on the prototype of the class they were in. For example, in JxLib 2.0 we had this code:</p>

<pre><code>processElements: function(template, classes) { 
    var keys = classes.getValues(); 
    elements = this.processTemplate(template, keys); 
    classes.each(function(value, key) { 
        if (key != 'elements' &amp;&amp; elements.get(value)) { 
            this[key] = elements.get(value); 
        } 
    }, this); 
    return elements; 
}
</code></pre>

<p>It seems that those two functions use hasOwnProperty() which was causing the loop above to have 0 iterations because the classes variable was actually this.classes which was found on the prototype of the class. When converting to Core 1.3.2 (and subsequently 1.4.2) we had to use this:</p>

<pre><code>processElements: function(template, classes) { 
    var keys = [], 
        values = []; 
    for (var key in classes){ 
        if (key !== undefined) { 
            values.push(classes[key]); 
            keys.push(key); 
        } 
    } 
    elements = this.processTemplate(template, values); 
    keys.each(function(key){ 
        if (key != 'elements' &amp;&amp; elements[classes[key]] !== undefined &amp;&amp; elements[classes[key]] !== null) { 
            this[key] =  elements[classes[key]]; 
        } 
    },this); 
    return elements; 
}
</code></pre>

<p>Once those were figured out, and we had full compatibility with 1.3.2, moving up to 1.4.x was pretty painless. For more info on what I learned during the conversion (some of it not MooTools or even javascript related) check out my <a href="http://blog.solagratiadesigns.com/lessons-learned-converting-jxlib-to-mootools-1-3-2/">blog post</a>.</p>

<h3>Get More information</h3>

<p>You can get more information on JxLib at the following places:</p>

<ul>
<li><a href="http://jxlib.org">JxLib website</a></li>
<li><a href="https://github.com/JxLib/JxLib">JxLib github repository</a></li>
<li><a href="https://groups.google.com/forum/#!forum/jxlib">JxLib Google Group</a></li>
<li><a href="http://jxlib.lighthouseapp.com/dashboard">JxLib on Lighthouse</a></li>
<li><a href="http://blog.solagratiadesigns.com/jxlib-a-brief-introduction-to-3-1-1/">Blog post on getting started with JxLib</a></li>
</ul>

<p>If you have any questions or comments feel free to leave those below or in the Google group (linked above). Also, if you like what you&#8217;ve seen and read here please consider pitching in and helping to make JxLib even better. We have many plans for future releases but could always use a few extra hands.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/fZBRzLw6Z7E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/12/26/jxlib-an-introduction/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/12/26/jxlib-an-introduction/</feedburner:origLink></item>
		<item>
		<title>MooTools Behavior</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/uAh4MnGy8S8/</link>
		<comments>http://mootools.net/blog/2011/12/20/mootools-behavior/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 00:51:54 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1525</guid>
		<description><![CDATA[Those of you who follow my work over on Clientcide may already be familiar with it, but for the rest of you I wanted to write a blog posts here on MooTools.net about the work I&#8217;ve been doing on a library called Behavior - a throwback to the behavior.js library released way back in 2005 [...]]]></description>
			<content:encoded><![CDATA[<p>Those of you who follow my work over on <a href="http://clientcide.com">Clientcide</a> may already be familiar with it, but for the rest of you I wanted to write a blog posts here on MooTools.net about the work I&#8217;ve been doing on a library called Behavior - a throwback to the <a href="http://www.ccs.neu.edu/home/dherman/javascript/behavior/">behavior.js library</a> released way back in 2005 which one might consider to be philosophically an ancestor of sorts.</p>

<h3>Purpose</h3>

<p>All well-written web sites / apps that are interactive have the same basic pattern:</p>

<p><img src="https://github.com/anutron/behavior/raw/master/layers.png" alt="Web app layers" /></p>

<p>Each page of a site or app you build is esoteric. It may have any combination of interactive elements, some of which interact with each other (for example, a form validation controller might interact with an ajax controller to prevent it sending a form that isn&#8217;t valid). Typically this &#8220;glue&#8221; code exists in a DOMReady statement. It says, get <em>this</em> form and instantiate <em>that</em> class with <em>these</em> options. This code is brittle; if you change either the DOM or the code the state breaks easily. It&#8217;s not reusable, it only works for a specific page state. It can easily get out of hand.</p>

<p>Behavior attempts to abstract that DOMReady code into something you only write once and use often. It&#8217;s fast and easily customized and extended. Instead of having a DOMReady block that, say, finds all the images on a page and turns them into a gallery, and another block that searches the page for all the links on the page and turns them into tool tips, Behavior does a <em>single</em> search for all the elements you&#8217;ve marked. Each element is passed through the filter it names, where a filter is a function (and perhaps some configuration) that you&#8217;ve named. Each of these functions takes that element, reads properties defined on it in a prescribed manner and invokes the appropriate UI component.</p>

<h3>Why?</h3>

<p>The nutshell is that instead of having a DOMReady function that finds the stuff in your DOM and sets up instances of classes and whatnot, you put the configuration in the HTML itself and write the code that calls <code>new Foo(...)</code> only once. Example:</p>

<iframe style="width: 100%; height: 300px; border: 1px solid #000;" src="http://jsfiddle.net/htY37/1/embedded/result,js,html,css/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>

<p>So instead of this:</p>

<pre><code>$$('form').each(function(form){
  new FormValidator(form, someOptions);
  new Form.Request(form, someOptions);
});
new Tips($$('.tip'));
$$('.accordion').each(function(container){
  new Accordion(container.getElements('.toggler'), container.getElements('.section'), someOptions);
});
//etc
</code></pre>

<p>You do this:</p>

<pre><code>&lt;form data-behavior="FormValidator FormRequest" data-formvalidator-options="{someOptions}"&gt;...&lt;/form&gt;
&lt;a data-behavior="Tip" title="I'm a tip!"&gt;blah&lt;/a&gt;
&lt;div data-behavior="Accordion" data-accordion-options="{someOptions}"&gt;...&lt;/div&gt;
</code></pre>

<p>Think of it as delegation (as in <a href="http://mootools.net/blog/2011/03/28/events-with-mootools-element-class-delegation-and-pseudos/">event delegation</a>) for class invocation. If you use DOMReady to do your setup and you want to swap out some HTML with AJAX, you need to reapply that startup selectively to only your components that you&#8217;re updating, which is often painful. Not with Behavior, you just apply the filters to the response and call it a day.</p>

<p>You do a lot less DOM selection; you only ever run <code>$$('[data-behavior]')</code> once (though some filters may run more selectors on themselves - like Accordion finding its togglers and sections).</p>

<p>DOMReady setup is always closely bound to the DOM anyway, but it&#8217;s also separated from it. If you change the DOM, you might break the JS that sets it up and you always have to keep it in sync. You almost can&#8217;t do that here because the DOM and its configuration is closely bound and in the same place.</p>

<p>Developers who maybe aren&#8217;t interested in writing components don&#8217;t need to wade into the JS to use it. This is a big deal if you&#8217;re working with a team you must support.</p>

<p>Behavior is designed for apps that are constantly updating the UI with new data from the server. It&#8217;s <em>not</em> an MVC replacement though. It&#8217;s designed for web development that uses HTML fragments not JSON APIs (though it can play nicely with them). If you destroy a node that has a widget initialized it&#8217;s easy to make sure that widget cleans itself up. The library also allows you to create enforcement to prevent misconfiguration and an API that makes it easy to read the values of the configuration. (More on that in a bit).</p>

<p>There are some other nifty things you get out of it; you get essentially free specs tests and benchmarks because the code to create both of them is in the Behavior filter. Here&#8217;s an example of what it takes to write a spec for a widget and ALSO the benchmark for it&#8217;s instantiation (this uses <a href="https://github.com/anutron/behavior/blob/master/Tests/Specs/Behavior/Behavior.SpecsHelpers.js">Behavior.SpecsHelpers.js</a>).</p>

<pre><code>Behavior.addFilterTest({
  filterName: 'OverText',
  desc: 'Creates an instance of OverText',
  content:  '&lt;input data-behavior="OverText" title="test"/&gt;',
  returns: OverText
});
</code></pre>

<p>This code above can be used to validate that the HTML fragment passed in does, in fact, create an OverText instance and it can also be used with <a href="http://benchmarkjs.com/">Benchmark.js</a> to see which of your filters are the most expensive.</p>

<h3>Delegator</h3>

<p>Included in the library is also a file called Delegator which is essentially the same thing except for events. For example, let&#8217;s say you have a predictable UI pattern of having a link that, when clicked, it hides a parent element. Rather than writing that code each time:</p>

<pre><code>document.body.addEvent("click:a.hideParent", function(e, link){
  e.preventDefault();
  link.getParent().hide();
});
</code></pre>

<p>You register this pattern with Delegator and now you just do:</p>

<pre><code>&lt;a data-trigger="hideParent" data-hideparent-options ="{'target': '.someSelector'}"&gt;Hide Me!&lt;/a&gt;
</code></pre>

<p>It provides essentially the same value as Behavior, but at event time. The above example is pretty straight forward so, you know, why bother, right? But consider how many of these little things you write to make a web app function. If you can create them once and configure them inline, you save yourself a lot of code.</p>

<h3>BehaviorAPI</h3>

<p>This stand-alone library facilitates reading values from element <code>data-</code> properties. Examples of the HTML expressions evaluated are as follows (all of the following produce the same output):</p>

<pre><code>&lt;tag data-behavior="Filter1 Filter2" data-filter1-options="{'opt1': 'foo', 'opt2': 'bar', 'selector': '.selector'}"&gt; //prefered
&lt;tag data-behavior="Filter1 Filter2" data-filter1-options="'opt1': 'foo', 'opt2': 'bar', 'selector': '.selector'"&gt; //no braces on JSON
&lt;tag data-behavior="Filter1 Filter2" data-filter1-options="{'opt1': 'foo', 'opt2': 'bar'}" data-filter1-selector=".selector"&gt;
&lt;tag data-behavior="Filter1 Filter2" data-filter1-opt1='foo' data-filter1-opt2='false' data-filter1-selector=".selector"&gt;
</code></pre>

<p>The <code>-options</code> value is parsed as JSON first (it&#8217;s slightly more permissive in that you don&#8217;t have to wrap it in <code>{}</code> just for convenience). Values defined here are read as defined allowing you to express arrays, numbers, booleans, etc. Functions / callbacks are generally not used by Behavior.</p>

<p>If you attempt to read a value that isn&#8217;t defined in this options object, the property name is attempted to be read from the property directly (e.g. <code>data-behaviorname-prop</code>). This value is <em>always</em> a string unless you specify a type. If a type is specified the value is run through the JSON parser and validated against that type.</p>

<p>Even if you don&#8217;t want to use the whole Behavior suite, this library may be of use if you like the idea of including configuration inline. There&#8217;s a lot more in <code>BehaviorAPI</code> so it&#8217;s worth <a href="https://github.com/anutron/behavior/blob/master/Docs/BehaviorAPI.md">perusing the docs for it</a>.</p>

<h3>Documentation</h3>

<ul>
<li><a href="https://github.com/anutron/behavior/blob/master/Docs/Behavior.md">Behavior</a></li>
<li><a href="https://github.com/anutron/behavior/blob/master/Docs/BehaviorAPI.md">BehaviorAPI</a></li>
<li><a href="https://github.com/anutron/behavior/blob/master/Docs/Element.Data.md">Element.Data</a></li>
</ul>

<h3>Stock Behaviors</h3>

<p>Check out these resources of available Behavior Filters provided by the author:</p>

<ul>
<li><a href="https://github.com/anutron/more-behaviors">https://github.com/anutron/more-behaviors</a></li>
<li><a href="https://github.com/anutron/clientcide">https://github.com/anutron/clientcide</a></li>
<li><a href="https://github.com/anutron/mootools-bootstrap">https://github.com/anutron/mootools-bootstrap</a></li>
</ul>

<h3>Demos</h3>

<ul>
<li><a href="http://anutron.github.com/mootools-bootstrap/">MooTools Bootstrap Demos and Docs</a></li>
<li><a href="http://dev.clientcide.com">Clientcide</a> (click on &#8220;demos&#8221; and check out the delegators and behaviors at the bottom of the left nav)</li>
</ul>

<h2>Notes</h2>

<p>Below are some notes regarding the implementation. The documentation should probably be read first as it gives usage examples.</p>

<ul>
<li>Only one selector is ever run; adding 1,000 filters doesn&#8217;t affect performance.</li>
<li>Nodes can have numerous filters.</li>
<li>Nodes can have an arbitrary number of supported options for each filter (<code>data-behaviorname-foo="bar"</code>).</li>
<li>Nodes can define options as JSON (this is actually the preferred implementation - <code>data-behaviorname-options="&lt;your JSON&gt;"</code>).</li>
<li>Elements can be retired w/ custom destruction; cleaning up an element also cleans up all the children of that element that have had behaviors applied.</li>
<li>Behaviors are only ever applied once to an element; if you call <code>myBehavior.apply(document.body)</code> a dozen times, the elements with filters will only have those filters applied once (can be forced to override and re-apply).</li>
<li>Filters are instances of classes that are applied to any number of elements. They are named uniquely.</li>
<li>Filters can be namespaced. Declare a filter called <code>Foo.Bar</code> and reference its options as <code>data-foo-bar-options="..."</code>.</li>
<li>There are &#8220;global&#8221; filters that are registered for all instances of behavior.</li>
<li>Instance filters get precedence. This allows for libraries to provide filters (like <a href="http://github.com/anutron/more-behaviors">http://github.com/anutron/more-behaviors</a>) but for a specific instance to overwrite it without affecting the global state. (This pattern is in MooTools&#8217; <code>Form.Validator</code> and works pretty well).</li>
</ul>

<h3>Limitations:</h3>

<ul>
<li>Due to the DOM-searching for both creation and destruction, you can&#8217;t have behavior instances inside each other.</li>
</ul>

<h3>Downloading</h3>

<p>You can find Behavior <a href="https://github.com/anutron/behavior">on github</a> and also <a href="http://dev.clientcide.com">on Clientcide</a> where you&#8217;ll also find a builder. That builder will also let you get the stock behaviors from Clientcide and the ones I&#8217;ve authored for MooTools More. If you want to get to the bootstrap builder, be sure to select &#8220;MooTools Bootstrap&#8221; in the top menu (or just <a href="http://dev.clientcide.com/?version=MooTools%20Bootstrap">clicketh hereth</a>).</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/uAh4MnGy8S8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/12/20/mootools-behavior/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/12/20/mootools-behavior/</feedburner:origLink></item>
		<item>
		<title>MooTools 1.4.2 Released</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/45J-BZc5yB0/</link>
		<comments>http://mootools.net/blog/2011/12/02/mootools-1-4-2-released/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 21:03:31 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1508</guid>
		<description><![CDATA[Today we release MooTools Core 1.4.2 which is a small maintenance release. Upgrading from 1.4.1 should not cause any backward incompatibilities. We recommend all users upgrade to 1.4.2 as soon as possible. Fixes #2073: Reduced redundant call to onTimeout if async option is true. #2083: Fixes Element.clone in IE. #2085: All specs are green across. [...]]]></description>
			<content:encoded><![CDATA[<p>Today we release MooTools Core 1.4.2 which is a small maintenance release. Upgrading from 1.4.1 should not cause any backward incompatibilities. We recommend all users upgrade to 1.4.2 as soon as possible.</p>

<h3>Fixes</h3>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues/2073">#2073</a>: Reduced redundant call to <code>onTimeout</code> if <code>async</code> option is <code>true</code>.</li>
<li><a href="https://github.com/mootools/mootools-core/pull/2083">#2083</a>: Fixes <code>Element.clone</code> in IE. </li>
<li><a href="https://github.com/mootools/mootools-core/issues/2085">#2085</a>: All specs are green across.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2100">#2110</a>: <code>Element.erase('class')</code> did not clear the class.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2113">#2113</a>: <code>button.set('type', 'button')</code> is now fixed for <a href="https://bugs.webkit.org/show_bug.cgi?id=14439">webkit bug</a>.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2116">#2116</a>: Fixes <code>Element.fade</code> chain.</li>
<li><a href="https://github.com/mootools/mootools-core/issues/2118">#2118</a>: <code>$uid</code> method is no longer exposed</li>
</ul>

<h3>Improvements</h3>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues/2089">#2089</a>: Added support for native <code>mouseenter</code> and <code>mouseleave</code>. </li>
<li><a href="https://github.com/mootools/mootools-core/issues/2134">#2134</a>: Deprecates the <a href="http://github.com/mootools/mootools-core-specs">MooTools Core Specs</a> repository in favor of including the specs in the Core repo. Due to ease of development.</li>
<li>Series of new specs and refactoring of old specs. Specs are all passing and much faster.</li>
<li><a href="https://github.com/mootools/mootools-core/pull/2138">#2138</a>: Native <code>Element.fireEvent</code> in IE is now accessible in via <code>Element._fireEvent</code>.</li>
</ul>

<h3><a href="https://github.com/mootools/mootools-core/issues?milestone=&amp;page=1&amp;state=open">Known Issues</a></h3>

<ul>
<li>Documentation fixes/additions for <code>Element.NativeEvents</code>, <code>Fx</code>, <code>Request.JSON</code>, and conflicts between <code>Array</code> and <code>Elements</code> methods.</li>
<li><code>Object.each</code> enumeration</li>
<li>Possible leak with <code>Element.adopt</code></li>
<li>IE returns methods for some Element attributes.</li>
<li><code>Element.Delegation</code> problem with non-elements.</li>
</ul>

<p>These issues will be fixed subsequently prior to release of the next maintenance release.</p>

<h3>Get it!</h3>

<ul>
<li><a href="http://mootools.net/download">Download MooTools Core 1.4.2</a>; <a href="http://mootools.net/core/">Build MooTools Core 1.4.2</a></li>
<li>Fork / clone <a href="http://github.com/mootools/mootools-core/tree/1.4.2">MooTools Core 1.4.2 from GitHub</a>, and build it yourself with <a href="http://github.com/kamicane/packager">Packager</a>.</li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools">Google CDN</a> (will be updated soon)</li>
<li><a href="http://mootools.net/docs">Browse the Documentation for Core &amp; More.</a></li>
</ul>

<h3>Contribute</h3>

<p>These fixes and improvements would not have happened if you didn&#8217;t submit an issue (ticket) to the <a href="https://github.com/mootools/mootools-core/issues">MooTools Core Issues</a>, or reporting your problems in the <a href="https://groups.google.com/forum/#!forum/mootools-users">MooTools User Group</a>. Send us your (MooTools) issues (or feature requests) so that your favorite JavaScript framework keeps getting better.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/45J-BZc5yB0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/12/02/mootools-1-4-2-released/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/12/02/mootools-1-4-2-released/</feedburner:origLink></item>
		<item>
		<title>MooTools Forge - Now with comments</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/pxKjahfnZoE/</link>
		<comments>http://mootools.net/blog/2011/10/18/mootools-forge-now-with-comments/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 22:55:47 +0000</pubDate>
		<dc:creator>fakedarren</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1493</guid>
		<description><![CDATA[Just a quick update to let you know we&#8217;ve added comments through Disqus to all Forge plugins. If you&#8217;re a plugin owner, you can subscribe by going to your plugin page and clicking &#8216;subscribe by email&#8217; at the bottom. Remember, if you find a bug in a plugin, you should always report it in that [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick update to let you know we&#8217;ve added comments through Disqus to all Forge plugins.</p>

<p>If you&#8217;re a plugin owner, you can subscribe by going to your plugin page and clicking &#8216;subscribe by email&#8217; at the bottom.</p>

<p>Remember, if you find a bug in a plugin, you should always report it in that repository&#8217;s Github Issues.</p>

<p>As it stands, all comments will need to be moderated before they appear, just to make sure we don&#8217;t get trolled / spammed and we&#8217;re really looking forward to adding the ability to comment to the other parts of the website - particularly in documentation.</p>

<p>Thanks to <a href="https://twitter.com/#!/anutron">Aaron</a> for making this happen!</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/pxKjahfnZoE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/10/18/mootools-forge-now-with-comments/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/10/18/mootools-forge-now-with-comments/</feedburner:origLink></item>
		<item>
		<title>MooTools Core 1.4.1</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/FLi333YUkqU/</link>
		<comments>http://mootools.net/blog/2011/10/06/mootools-core-1-4-1/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 19:01:19 +0000</pubDate>
		<dc:creator>cpojer</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1484</guid>
		<description><![CDATA[Today we release MooTools Core 1.4.1 which is a small maintenance release and as such only fixes bugs that were introduced in previous releases. We have fixed the mousewheel event in Firefox, Element.fade sets the visibility CSS-property again, Event.Delegation now behaves properly if you use fireEvent and we have fixed a couple of issues with [...]]]></description>
			<content:encoded><![CDATA[<p>Today we release MooTools Core 1.4.1 which is a small maintenance release and as such only fixes bugs that were introduced in previous releases. We have fixed the <code>mousewheel</code> event in Firefox, <code>Element.fade</code> sets the <code>visibility</code> CSS-property again, Event.Delegation now behaves properly if you use <code>fireEvent</code> and we have fixed a couple of issues with <code>Element.setProperty</code> and <code>Element.removeProperty</code>.</p>

<p>Upgrading from 1.4.0 should not cause any backward incompatibilities. We recommend all users to update to 1.4.1 as soon as possible.</p>

<h3>Get it!</h3>

<ul>
<li><a href="http://mootools.net/download">Download MooTools Core 1.4.1</a>; <a href="http://mootools.net/core/">Build MooTools Core 1.4.1</a></li>
<li>Fork / clone <a href="http://github.com/mootools/mootools-core/tree/1.4.1">MooTools Core 1.4.1 from GitHub</a>, and build it yourself with <a href="http://github.com/kamicane/packager">Packager</a>.</li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools">Google CDN</a> (will be updated soon)</li>
<li><a href="http://mootools.net/docs">Browse the Documentation for Core &amp; More.</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/FLi333YUkqU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/10/06/mootools-core-1-4-1/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/10/06/mootools-core-1-4-1/</feedburner:origLink></item>
		<item>
		<title>MooTools 1.4.0</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/XMD5J0lWrdo/</link>
		<comments>http://mootools.net/blog/2011/09/10/mootools-1-4-0/#comments</comments>
		<pubDate>Sat, 10 Sep 2011 14:16:16 +0000</pubDate>
		<dc:creator>Arian</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1468</guid>
		<description><![CDATA[As of today a new version of MooTools is available. This includes MooTools Core and MooTools More. We&#8217;ve communicated a lot about changes for 2.0 but we also felt we had some good stuff that would benefit you directly which we wanted to add to the 1.x releases. This good stuff contains of course numerous [...]]]></description>
			<content:encoded><![CDATA[<p>As of today a new version of MooTools is available. This includes MooTools Core and MooTools More. We&#8217;ve communicated a lot about changes for 2.0 but we also felt we had some good stuff that would benefit you directly which we wanted to add to the 1.x releases. This good stuff contains of course numerous bugfixes but mostly one important new feature for MooTools Core: Delegation. This 1.4 release should be fully <em>backward compatible</em> with the MooTools 1.2 and 1.3 series&#8217;.</p>

<h3>So all changes for 1.4.0:</h3>

<ul>
<li>Move <a href="http://mootools.net/docs/core/Element/Element.Delegation">Delegation</a> into Core.</li>
<li>ECMAScript 5 compatibility fixes. Among them are Function.bind, Array.map and String.trim</li>
<li>Deprecate <code>Element.setOpacity()</code> and <code>Element.set('opacity')</code>. <code>Element.setStyle('opacity')</code> is the only correct way now (the same applies for getters).</li>
<li>Disable the 1.2 compat layer by default in the builder.</li>
<li>Revamp <code>Element.getProperty</code>, <code>Element.setProperty</code>. <code>Element.getProperty</code> uses <code>Slick.getAttribute</code> now to share this code and save some bytes.</li>
<li>IE7 doesn&#8217;t crash anymore when cloning an element twice.</li>
<li>The <a href="http://mootools.net/docs/core/Slick/Slick">Selectors documentation</a> is back and updated for Slick.</li>
<li>Update Slick to 1.1.6</li>
<li>Unified <code>change</code> event behavior across browsers.</li>
<li>Renamed <code>Event</code> to <code>DOMEvent</code> so it will not <a href="http://trac.webkit.org/changeset/93951">conflict</a> with the native <code>Event</code> object.</li>
</ul>

<h3>Event Delegation</h3>

<p>Event delegation is a common practice where an event listener is attached to a parent element to monitor its children rather than attach events to every single child element. It&#8217;s more efficient for dynamic content or highly interactive pages with a lot of DOM elements.</p>

<p><strong>Example</strong></p>

<pre><code>var myElement = $('myElement');
var request = new Request({
    // other options
    onSuccess: function(text){
        myElement.set('html', text); // No need to attach more click events.
    }
});
// Adding the event, notice the :relay syntax with the selector that matches the target element inside of myElement.
// Every click on an anchor-tag inside of myElement executes this function.
myElement.addEvent('click:relay(a)', function(event, target){
    event.preventDefault();
    request.send({
        url: target.get('href')
    });
});
</code></pre>

<h4>MooTools More</h4>

<ul>
<li>Removed Delegation. It&#8217;s now in Core obviously.</li>
<li>Added the <code>length</code> validator to Form.Validator</li>
<li>Added the <code>update</code> method to HtmlTable which let you update rows</li>
<li>Added ARIA accessibility to Tips.</li>
</ul>

<p>If you&#8217;d like to know what exactly changed, checkout the <a href="https://github.com/mootools/mootools-core/compare/1.3.2...1.4.0">compare view</a>.</p>

<p>We would like to thank everybody who has contributed code, documentation fixes and ideas to make this release possible. Among them are <a href="https://github.com/arieh">arieh</a>, <a href="https://github.com/Delapouite">Delapouite</a>, <a href="https://github.com/madisvain">madisvain</a>, <a href="https://github.com/adamnbowen">adamnbowen</a>, <a href="https://github.com/mooyah">mooyah</a>, <a href="https://github.com/GCheung55">GCheung55</a>, <a href="https://github.com/amadeus">amadeus</a>, <a href="https://github.com/rasmusfl0e">rasmusfl0e</a>, <a href="https://github.com/jasonwaters">jasonwaters</a>, <a href="https://github.com/realityking">realityking</a>, <a href="https://github.com/Nico-B">Nico-B</a>, <a href="https://github.com/mcfedr">mcfedr</a>, <a href="https://github.com/donatj">donatj</a>, <a href="https://github.com/csuwldcat">csuwldcat</a>, <a href="https://github.com/ibolmo">ibolmo</a>, <a href="https://github.com/cpojer">cpojer</a>, <a href="https://github.com/kamicane">kamicane</a>, <a href="https://github.com/timwienk">timwienk</a>, <a href="https://github.com/fakedarren">fakedarren</a>, <a href="https://github.com/anutron">anutron</a>, <a href="https://github.com/subtlegradient">subtlegradient</a> and myself <a href="https://github.com/arian">arian</a>.</p>

<h3>Bugs</h3>

<p>Thanks to GitHub <a href="https://github.com/blog/712-pull-requests-2-0">contributing</a> is easier <a href="https://github.com/blog/905-edit-like-an-ace">than ever</a>. It&#8217;s very easy to fix them or to report them, especially since we <a href="http://mootools.net/blog/2011/08/01/moving-to-github-issues/">moved to GitHub</a> for our issues. Bugs can reported on the <a href="https://github.com/mootools/mootools-core/issues">MooTools Core Bug Tracker</a> and for MooTools More you can go to the <a href="https://github.com/mootools/mootools-more/issues">More Bug Tracker</a>.</p>

<p>If you have any questions, either about how to do something or about contributing you can ask, or something to share, just join the <a href="https://groups.google.com/forum/#!forum/mootools-users">MooTools Mailing list</a> or IRC (#mootools on freenode.net). We have an <a href="http://mootools.net/blog/2011/06/09/open-irc-office-hours/">office hour</a> each Tuesday but you can hang out there whenever you want.</p>

<h3>Get it!</h3>

<ul>
<li><a href="http://mootools.net/download">Download MooTools Core 1.4.0</a>; <a href="http://mootools.net/core/">Build MooTools Core 1.4.0</a></li>
<li><a href="http://mootools.net/more/">Build MooTools More 1.4.0.1</a></li>
<li>Fork / clone <a href="http://github.com/mootools/mootools-core/tree/1.4.0">MooTools 1.4.0 from GitHub</a>, and build it yourself with <a href="http://github.com/kamicane/packager">Packager</a>.</li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools">Google CDN</a>  (which should be updated soon)</li>
<li><a href="http://mootools.net/docs">Browse the Documentation for Core &amp; More.</a></li>
</ul>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/XMD5J0lWrdo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/09/10/mootools-1-4-0/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/09/10/mootools-1-4-0/</feedburner:origLink></item>
		<item>
		<title>Moving to GitHub Issues</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/HSC1Z_A0rYA/</link>
		<comments>http://mootools.net/blog/2011/08/01/moving-to-github-issues/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 00:14:38 +0000</pubDate>
		<dc:creator>Arian</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1456</guid>
		<description><![CDATA[We at the MooTools headquarters love GitHub for all its features which makes contributing and managing our code much easier than say, five years ago. GitHub is the place to be for all cool JavaScript projects which makes following your projects of interest a lot easier. When we moved to GitHub a long time ago, [...]]]></description>
			<content:encoded><![CDATA[<p>We at the MooTools headquarters love GitHub for all its features which makes contributing and managing our code much easier than say, five years ago. GitHub is the place to be for all cool JavaScript projects which makes following your projects of interest a lot easier. When we moved to GitHub a long time ago, the ticket system was too basic to be a real solution. Fortunately this has <a href="https://github.com/blog/831-issues-2-0-the-next-generation">since</a> improved.</p>

<p>Especially the additions for milestones and assignees were important for us. With this in place GitHub issues can finally replace Lighthouse.</p>

<p>The main advantages are:</p>

<ul>
<li>Everything at one place, one login</li>
<li>Easier to follow MooTools</li>
<li>Similar to pull requests</li>
</ul>

<p>A disadvantage is that most of the current issues are in <a href="https://mootools.lighthouseapp.com/projects/2706-mootools/tickets">Lighthouse</a>. Darren did an awesome job going through a lot of them but there are still some open or not fixed. A proposed option was to move all tickets to GithHub, but we decided to try to address as many as we can and just move on to GitHub.</p>

<p>Now every <a href="https://github.com/mootools">MooTools project</a> has its issues on GitHub:</p>

<ul>
<li><a href="https://github.com/mootools/mootools-core/issues">MooTools Core</a></li>
<li><a href="https://github.com/mootools/mootools-more/issues">MooTools More</a></li>
<li><a href="https://github.com/mootools/slick/issues">Slick</a></li>
<li><a href="https://github.com/mootools/mootools-demos/issues">Demos</a></li>
</ul>

<p>So if you know anything about any of the issues at GitHub or some old Tickets at Lighthouse, comments and fixes are highly appreciated!</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/HSC1Z_A0rYA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/08/01/moving-to-github-issues/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/08/01/moving-to-github-issues/</feedburner:origLink></item>
		<item>
		<title>July 12th Dev Hour Recap/Summary</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/CpJLVVNkuIA/</link>
		<comments>http://mootools.net/blog/2011/07/19/july-12th-dev-hour-recapsummary/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 14:28:47 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1442</guid>
		<description><![CDATA[Every week the MooTools developers host an IRC OfficeDeveloper Hour where they work together to listen to your feedback, answer your questions, and develop MooTools. We do this every Tuesday at 11am EST at #mootools Freenode IRC Channel. Everyone’s welcomed to join us. This recap includes: Mentions Answers to: Where do you guys think MooTools [...]]]></description>
			<content:encoded><![CDATA[<p>Every week the MooTools developers host an IRC <del>Office</del>Developer Hour where they work together to listen to your feedback, answer your questions, and develop MooTools. We do this every Tuesday at 11am EST at <a href="irc://irc.freenode.net/mootools">#mootools Freenode IRC Channel</a>. Everyone’s welcomed to join us.</p>

<p>This recap includes:</p>

<ul>
<li>Mentions</li>
<li>Answers to: Where do you guys think MooTools can improve?</li>
<li>Sneak Peak to Improved Docs</li>
<li>Agenda for July 19th Dev Hour</li>
</ul>

<p><span id="more-1442"></span></p>

<h3>Mentions</h3>

<p><a href="http://seanmonstar.com/">Sean McArthur (seanmonstar)</a> is working on a MooTools-based MVC Framework called <a href="https://github.com/seanmonstar/Shipyard">Shipyard</a>. The framework is made for working on the browser, but it can run on <a href="http://nodejs.org">Node.JS</a>. He’s been testing Shipyard and we mentioned that he should try the <a href="https://github.com/mootools/mootools-runner">mootools-runner</a> which runs the specs for Core and More. The Runner can be run via the browser, node.js, or CLI (via <a href="http://code.google.com/p/js-test-driver/">JsTestDriver</a>). It’s lightning fast and easy to contribute to. All specs are written in <a href="http://github.com/pivotal/jasmine">Jasmine</a> and mocked by <a href="https://github.com/cjohansen/Sinon.JS">Sinon.JS</a>.</p>

<p>Another user talked to us that he’s in high school in Colorado, and that he’s trying to convert his church to use MooTools instead of jQuery. We recommended that he should try to ween the church off of jQuery by using Ryan Florence’s <a href="https://github.com/rpflorence/moo4q">moo4q</a>, a helper to bring Object Oriented programming to jQuery.</p>

<p>Another user had asked if anyone had worked on HTML5’s pushState, and we’ve pointed him to MooTools’ own Christoph Pojer’s <a href="http://cpojer.net/PowerTools/#!">PowerTools</a>. In particular, if you’re looking for a history plugin I highly recommend <a href="https://github.com/cpojer/mootools-history">mootools-history</a>.</p>

<h3>Questionaire</h3>

<p>Last week we asked the channel: <strong>Where do you guys think MooTools can improve?</strong> We’re always glad to hear from our users and here are a few notable mentions from last week’s questionaire.</p>

<p><strong>Lighter weight</strong>: <code>alpha123</code> had mentioned that there are some utility methods that he never uses and could go. Likewise, <code>xandros</code> pointed out that between 1.2 and 1.3 the same build with specific dependencies had grown in size. I couldn’t agree more. We’ve always been careful with the size of your builds by giving you the power to build the smallest build possible with the <a href="http://mootools.net/core/">online web builder</a> or with <a href="https://github.com/kamicane/packager">Packager</a>. Undoubtedly the 1.y.x branch has grown in size due to maturity and contributions from the team and our users. I’d like to personally try to arrange a “Dependency Cops” team that tries to monitor and reduce the baggage in some of the dependencies. We’d like for you to help us, though. In spare time (if any) read the source code and try to find sections of code that can be moved or refactored into its own file. This way we can reduce the bytes in the dependency chain. Send us a pull request.</p>

<p><strong>Marketing and Evangelism</strong>: <code>jazzman</code> had mentioned that MooTools marketing and evangelism could definitely improve. Historically, MooTools core developers have shied away from marketing MooTools as a product. We’ve done this to reduce distractions and instead we’d focus strictly on the code. (If you build it, they will come.) I think that as a team we’re shifting our beliefs towards being more vocal and open about our philosophies and code. We love MooTools and think that others would be surprised with MooTools and how easy our principles help to code better. Not just for MooTools, but JavaScript. And so, we are warming up to the idea to be proactive with spreading the Moo. And so should you. Just be courteous and qualitative. MooTools is not infallible and it’s not always the best <strong>tool</strong> for the job. We need responsible and honest people whose interests lies in improving code, coming to a solution, and moving forward.</p>

<p><strong>More UI Goodness</strong>: UI components have been around since the beginning of MooTools (see: Accordion madness). We understand that many of you are looking for the team to build a UI framework, and we’d like to serve your needs. At the moment, however, we have bigger fish to fry (MooTools 2.0). Instead, please see this blog post for some mentions of <a href="http://mootools.net/blog/2011/06/27/june-21st-office-hour-recapsummary/">UI libraries</a> that are built on top of MooTools, or to use other libraries/frameworks (we’re all friends here). If you’re interested in championing this cause, then the best way to get an official (sanctioned) MooTools repo is to: do it™ and to keep us in the loop (ask us to review your commits).</p>

<p><strong>More sourced content</strong>: We’d like to work on more screencasts, slideshows, presentations, demonstrations and other content that would help you understand MooTools as well as show it off to your friends, nemesis, or colleagues. We understand that it’s hard to convince your team members or employer to adopt MooTools. We are working to improve this area, but we need your help. Leave us a comment on how we can help you understand or overcome hurdles when speaking with people. I’ve had a few ideas: providing you with introduction presentations that you can give to your peers, for example.</p>

<p>Any other areas that you think we need to improve?</p>

<h3>Sneak Peak to Improved Docs</h3>

<p><a href="http://mootools.net/developers">Darren Waddell</a> has been working on your suggestions from past <a href="http://mootools.net/blog/2011/06/27/june-21st-office-hour-recapsummary/">Office (Dev) Hours</a>. In this sneak preview: each method has its own page and its own comment section (ala PHP). We’ve only shared this sneak peak with a few people and we’re already <a href="http://mootools.net/docs/core/Element/Element/Element:constructor#comment-253004492">seeing contribution</a>. To see the improved docs you’ll have to create a new cookie <code>newdocs</code>. Confused? Here’s the instructions on how to use the new docs:</p>

<ol>
<li>Go to the <a href=”http://mootools.net/docs/core” target=”_new”>Core Docs</a>.</li>
<li>Copy and paste this: <code>javascript:Cookie.write('newdocs', true, {path: '/'})</code> into your address bar (or into a console).</li>
<li>Refresh the page.</li>
</ol>

<p>If you did the above correctly, you should see that the <a href="http://mootools.net/docs/core/Element/Element">Element</a> Docs have been split into individual pages.</p>

<p>Darren has done a great job so far. If you’d like to help please leave your suggestions or <strong>fork</strong> the <a href="https://github.com/fakedarren/mootools-docs">mootools-docs</a> repository.</p>

<h3>Agenda for July 19th Dev Hour</h3>

<ul>
<li><strong>Features and Roadmap of 1.4.0</strong>. Believe it or not, we’re still working on the release of 1.4.x. Word has it that <strong>Delegation</strong> will finally move to Core. Plus a bunch of bug fixes.</li>
<li><strong>Improved Docs Feedback and Work</strong>.  We’d like for you to join us to talk about the improvements that we’re making on the documentation.</li>
<li><strong>Bug Hunting in <a href="https://mootools.lighthouseapp.com/dashboard">Lighthouse Tickets</a> and <a href="https://github.com/mootools/mootools-core/issues">Github Issues</a></strong>. To release 1.4 we’re going to need to fix a lot of bugs and to have our users report any issues. Please report your issues to Github, as Lighthouse is now deprecated (blog post coming soon).</li>
<li><strong>Open Forum</strong>. As always, we’d love to meet you and talk about all things Moo. </li>
</ul>

<h3>Next Office Hour</h3>

<p>Remember that we’re having the next office hour this:</p>

<h4>Tuesday, July 19th at</h4>

<p>05:01 - <strong>Honolulu</strong> (Hast UTC-10)<br />
08:01 - <strong>San Francisco</strong> (PDT UTC-7)<br />
10:01 - <strong>Chicago</strong> (CDT UTC-5)<br />
11:01 - <strong>New York</strong> (EDT UTC-4)<br />
12:01 - <strong>Rio de Janeiro</strong> (BRT UTC-3)<br />
16:01 - <strong>London</strong> (BST UTC+1)<br />
17:01 - <strong>Vienna</strong> (CEST UTC+2)<br />
18:01 - <strong>Kyiv</strong> (EEST UTC+3)<br />
20:31 - <strong>Mumbai</strong> (IST UTC+5:30)<br />
23:01 - <strong>Hong Kong</strong> (HKT UTC+8)<br />
00:01 - <strong>Tokyo</strong> (JST UTC+9)<br />
01:01 - <strong>Sydney</strong> (EST UTC+10)<br />
03:01 - <strong>Auckland</strong> (NZST UTC+12)</p>

<p>We&#8217;ll be in the <a href="irc://irc.freenode.net/mootools">#mootools</a> freenode.net channel.</p>

<h3>Guidelines</h3>

<p>We did very well last week in following the guidelines. I’ve included them in this post as a reminder.</p>

<ol>
<li><strong>Please use <a href="http://jsfiddle.net">jsfiddle.net</a></strong> and keep your code with minimal boilerplate &#8212; get to the essence of your question</li>
<li><strong>Stay on topic.</strong> Let&#8217;s keep the chat around MooTools and how it interacts with your code and the rest of the JavaScript ecosystem.</li>
<li><strong>Be courteous and helpful with others.</strong> We are not guaranteeing that all of us will give you our undivided attention during the hour (we are also working!). If you can answer a question (as best as you can) it will really be helpful.</li>
<li>Sharing is caring. Share the room, but also share the event. Post to twitter, Facebook, your blog, and tell your parents. We want to foster growth in our community. This is the chance to participate and to help.</li>
</ol>

<h3>Tips</h3>

<p>Use this button to add the open office hour to your Google Calendar. <strong>You’ll need to setup the event so that it repeats weekly.</strong><br />
<a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110719T150000Z/20110719T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button6.gif" border=0></a>
<br style="clear: both" />
If you don’t have an IRC client you can use <a href="http://webchat.freenode.net/">http://webchat.freenode.net/</a>.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/CpJLVVNkuIA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/07/19/july-12th-dev-hour-recapsummary/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/07/19/july-12th-dev-hour-recapsummary/</feedburner:origLink></item>
		<item>
		<title>July 5th IRC Office Hour Recap/Summary</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/7jAPQ674i3Y/</link>
		<comments>http://mootools.net/blog/2011/07/11/july-5th-irc-office-hour-recapsummary/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 19:11:25 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1432</guid>
		<description><![CDATA[Every week the MooTools developers have an IRC office hour meeting where they work together to listen to your feedback, answer your questions, and develop on MooTools. We do this every Tuesday at 11am EST at #mootools Freenode IRC Channel. Everyone’s welcome so join us tomorrow. This recap includes: Compare 1.3.x and Experimental 2.y.x Code [...]]]></description>
			<content:encoded><![CDATA[<p>Every week the MooTools developers have an IRC office hour meeting where they work together to listen to your feedback, answer your questions, and develop on MooTools. We do this every Tuesday at 11am EST at <a href="irc://irc.freenode.net/mootools">#mootools Freenode IRC Channel</a>. Everyone’s welcome so join us tomorrow.</p>

<p>This recap includes:</p>

<ul>
<li>Compare 1.3.x and Experimental 2.y.x Code Diffs</li>
<li>Things to Come (Agenda’ed Office Hour, Dedicated “Hackathon” Office Hours)</li>
</ul>

<p><span id="more-1432"></span></p>

<p>Last week we had a small conversation of the <a href="http://github.com/kamicane/mootools-core/tree/define-2">experimental branch that Valerio has for MooTools 2.0</a>. The conversation covered most of the comments in <a href="http://mootools.net/blog/2011/07/04/june-28th-irc-office-hour-recapsummary/#comments">last week’s post comments</a>. Instead of going over them again, please take a look at last week’s post.</p>

<h3>Compare 1.3.x and Experimental 2.y.x Code Diffs</h3>

<p>Like I had promised last week, I did want to start a repository for helping you understand what are the main differences (in code) between 1.3.x and the experimental 2.y.x. Last week the <a href="https://github.com/ibolmo/mootools-1-vs-2">mootools-1-vs-2 repository</a> to do just that. You can use Github’s <strong>awesome</strong> Compare View to <a href="https://github.com/ibolmo/mootools-1-vs-2/compare/1.3.x...2.y.x">view the differences between 1.3.x and 2.y.x</a> (Valerio’s experimental branch).</p>

<p>The files included in the repo are meant to compare Core code, Plugin code, and Application code:</p>

<p><strong>Core Code</strong></p>

<ul>
<li><strong>Request.js</strong> is from the MooTools <a href="https://github.com/mootools/mootools-core/blob/master/Source/Request/Request.js">Core/Request</a>.</li>
</ul>

<p><strong>Plugin Code</strong></p>

<ul>
<li><p><strong>Database.js</strong> (by <a href="http://github.com/csuwldcat">Daniel Buchner</a>). You can find the original Database.js in the repo as well as in his <a href="https://github.com/csuwldcat/mootools-htmlx">csuwldcat/mootools-htmlx</a>.</p></li>
<li><p><strong>ScrollSpy.js</strong> (by <a href="https://github.com/darkwing">David Walsh</a>). You can find the original ScrollSpy.js in the <a href="http://mootools.net/forge/p/scrollspy">MooTools Forge</a>.</p></li>
</ul>

<p><strong>Application Code</strong></p>

<ul>
<li><strong>Examples/001.js</strong> and <strong>Examples/002.js</strong> are examples from the <a href="http://mootools.net/docs/core/Request/Request">Request.js</a> documentation. </li>
</ul>

<h4>Caveats</h4>

<p><strong>The examples are not all encompassing of user behavior and usage.</strong> I did select the scripts, but I tried to be fair. You can fork the repository and add your files to the <a href="https://github.com/ibolmo/mootools-1-vs-2">1.3.x branch</a> (the base branch) and send me a <a href="https://github.com/ibolmo/mootools-1-vs-2/pulls">pull request</a> and I’ll try to port your code. Please be considerate, and send me at most one file with recommended maximum of 500 lines.</p>

<p><strong>The code will change as 2.0 is further defined</strong>. The 2.0 API is not final. Valerio is kicking butt everyday on his experimental branch. This compare 1.3.x vs. 2.y.x repo. is meant to assuage some of the concerns from the <a href="http://mootools.net/blog/2011/07/04/june-28th-irc-office-hour-recapsummary/">previous blog post</a> about Valerio’s experimental 2.0 branch.</p>

<p><strong>This repo is not a definitive guide to 2.0</strong>. We’re still working on that definitive guide for 2.0, but since the API is not strictly defined it’s premature to give you this. For now, leave your comments or join us tomorrow with your questions.</p>

<p><strong>The repo doesn’t show <code>Host.Install</code></strong>. The intention of the repo. is to show the default behavior of 2.0. I’m likely to create another branch and call it <code>2.y.x-installed</code> so that you’ll see the differences between 1.3.x and 2.0.x with native extensions installed.</p>

<h3>Things to Come.</h3>

<h4>Agenda for the Office Hours</h4>

<p>We were asked that Office Hours should have an agenda so that we can have a more directed conversation. I didn’t have a chance to inquire the team for items, but we should have some items for next week.</p>

<p>Any suggestions? Leave a comment below.</p>

<h4>Mini Hackathons or “Dedicated” Office Hours</h4>

<p>Similar to the above, it’s been suggested by <a href="http://github.com/fakedarren">Darren Wadell</a> and <a href="http://github.com/arian">Arian Stolwijk</a> that we could dedicated actionable work hours. We could have demos office hour, documentation, bugfix or test office hours for example.</p>

<p>What do you think? Would you participate?</p>

<h3>Next Office Hour</h3>

<p>Remember that we’re having the next office hour this:</p>

<h4>Tuesday, July 12th at</h4>

<p>05:01 - <strong>Honolulu</strong> (Hast UTC-10)<br />
08:01 - <strong>San Francisco</strong> (PDT UTC-7)<br />
10:01 - <strong>Chicago</strong> (CDT UTC-5)<br />
11:01 - <strong>New York</strong> (EDT UTC-4)<br />
12:01 - <strong>Rio de Janeiro</strong> (BRT UTC-3)<br />
16:01 - <strong>London</strong> (BST UTC+1)<br />
17:01 - <strong>Vienna</strong> (CEST UTC+2)<br />
20:31 - <strong>Mumbai</strong> (IST UTC+5:30)<br />
23:01 - <strong>Hong Kong</strong> (HKT UTC+8)<br />
00:01 - <strong>Tokyo</strong> (JST UTC+9)<br />
01:01 - <strong>Sydney</strong> (EST UTC+10)<br />
03:01 - <strong>Auckland</strong> (NZST UTC+12)</p>

<p>We&#8217;ll be in the <a href="irc://irc.freenode.net/mootools">#mootools</a> freenode.net channel.</p>

<h3>Guidelines</h3>

<p>We did very well last week in following the guidelines. I’ve included them in this post as a reminder.</p>

<ol>
<li><strong>Please use <a href="http://jsfiddle.net">jsfiddle.net</a></strong> and keep your code with minimal boilerplate &#8212; get to the essence of your question</li>
<li><strong>Stay on topic.</strong> Let&#8217;s keep the chat around MooTools and how it interacts with your code and the rest of the JavaScript ecosystem.</li>
<li><strong>Be courteous and helpful with others.</strong> We are not guaranteeing that all of us will give you our undivided attention during the hour (we are also working!). If you can answer a question (as best as you can) it will really be helpful.</li>
<li>Sharing is caring. Share the room, but also share the event. Post to twitter, Facebook, your blog, and tell your parents. We want to foster growth in our community. This is the chance to participate and to help.</li>
</ol>

<h3>Tips</h3>

<p>Use this button to add the open office hour to your Google Calendar. <strong>You’ll need to setup the event so that it repeats weekly.</strong><br />
<a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110712T150000Z/20110712T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button6.gif" border=0></a>
<br style="clear: both" />
If you don’t have an IRC client you can use <a href="http://webchat.freenode.net/">http://webchat.freenode.net/</a>.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/7jAPQ674i3Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/07/11/july-5th-irc-office-hour-recapsummary/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/07/11/july-5th-irc-office-hour-recapsummary/</feedburner:origLink></item>
		<item>
		<title>June 28th IRC Office Hour Recap/Summary</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/wbN66Jr6Jag/</link>
		<comments>http://mootools.net/blog/2011/07/04/june-28th-irc-office-hour-recapsummary/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 01:37:34 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1424</guid>
		<description><![CDATA[Every week the MooTools developers have an IRC office hour meeting where they work together to listen to your feedback, answer your questions, and develop on MooTools. We do this every Tuesday at 11am EST at #mootools Freenode IRC Channel. Everyone’s welcome so join us tomorrow. Recap Last week’s office hour was dominated by the [...]]]></description>
			<content:encoded><![CDATA[<p>Every week the MooTools developers have an IRC office hour meeting where they work together to listen to your feedback, answer your questions, and develop on MooTools. We do this every Tuesday at 11am EST at <a href="irc://irc.freenode.net/mootools">#mootools Freenode IRC Channel</a>. Everyone’s welcome so join us tomorrow.</p>

<h3>Recap</h3>

<p><span id="more-1424"></span>
Last week’s office hour was dominated by the experimental <a href="http://github.com/kamicane/mootools-core/tree/define-2">define-2</a> branch by <a href="http://mootools.net/developers">Valerio</a>. This branch has the experimental support of <a href="http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition">Asynchronous Module Definition (AMD)</a> and also has the proposed direction of MooTools 2.0 as mentioned in the <a href="http://mootools.net/blog/2011/06/27/june-21st-office-hour-recapsummary/">previous blog post</a>.</p>

<p>From the discussion in last week’s office hour, it seemed that there was confusion on the implications of adopting Valerio’s 2.0 branch. In particular there were concerns for: compatibility, native extensions (and minimum ES5 polyfills), chainability, and style.</p>

<p>At first, 2.0 will likely not be compatible with 1.3 without a builder and an upgrade script. Since we’ve yet to cross this road, please be vigilant of the changes and discussion that are underway. As always, rest assured that we would like to make your transition into 2.0 as easy and immediate as possible.</p>

<p>Without a dedicated blog post, I’d like to recap that there is a divide between the community and even the MooTools developers about the possible decision to <strong>not</strong> extend native objects (e.g. Array, Number, String, …) by default. One side of the argument is that this is a 180 degree shift in MooTools style and philosophy and that it ruins competitive differentiation (a <a href="http://www.gobignetwork.com/information/go-big-dictionary/competitive-differentiation-definition">marketing term</a>). On the other side of the argument is that this is necessary to stay <strong>relevant</strong> in the discussion, that we’ve cornered ourselves between a rock and a hard place and that we just need to be better. Valerio had even quoted <a href="http://www.youtube.com/watch?v=3LEXae1j6EY#t=09m20s">Steve Jobs as a perfect explanation</a> on his position.</p>

<p>Instead of going further and making points for either argument, it’d be more appropriate if we make a definitive post on the matter.</p>

<h3>Next Office Hour</h3>

<p>The discussion is still not done. If you’d like to give us your $0.02 on the matter, we welcome your thoughts and concerns. If you’d like to contribute to the <a href="https://docs.google.com/document/d/1tnT5nrPSaNL2GfaaXlN0Q61NjqQoOJddjgsIjqwmhGo/edit?hl=en_US">2.0 Wish List</a>, add your suggestion or talk to us on IRC. Remember that we’re having the next office hour this:</p>

<h4>Tuesday, July 5th at</h4>

<p>05:01 - <strong>Honolulu</strong> (Hast UTC-10)<br />
08:01 - <strong>San Francisco</strong> (PDT UTC-7)<br />
10:01 - <strong>Chicago</strong> (CDT UTC-5)<br />
11:01 - <strong>New York</strong> (EDT UTC-4)<br />
12:01 - <strong>Rio de Janeiro</strong> (BRT UTC-3)<br />
16:01 - <strong>London</strong> (BST UTC+1)<br />
17:01 - <strong>Vienna</strong> (CEST UTC+2)<br />
20:31 - <strong>Mumbai</strong> (IST UTC+5:30)<br />
23:01 - <strong>Hong Kong</strong> (HKT UTC+8)<br />
00:01 - <strong>Tokyo</strong> (JST UTC+9)<br />
01:01 - <strong>Sydney</strong> (EST UTC+10)<br />
03:01 - <strong>Auckland</strong> (NZST UTC+12)</p>

<p><a href="http://www.google.com/calendar/event?action=TEMPLATE&amp;text=MooTools%20IRC%20Office%20Hours&amp;dates=20110705T150000Z/20110705T160000Z&amp;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&amp;location=%23motools%20on%20irc.freenode.net&amp;trp=true&amp;sprop=http%3A%2F%2Fmootools.net%2F&amp;sprop=name:MooTools">Add it to your Google Calendar</a>.</p>

<p>We&#8217;ll be in the <a href="irc://irc.freenode.net/mootools">#mootools</a> freenode.net channel.</p>

<h3>Guidelines</h3>

<p>We did very well last week in following the guidelines. I’ve included them in this post as a reminder.</p>

<ol>
<li><strong>Please use <a href="http://jsfiddle.net">jsfiddle.net</a></strong> and keep your code with minimal boilerplate &#8212; get to the essence of your question</li>
<li><strong>Stay on topic.</strong> Let&#8217;s keep the chat around MooTools and how it interacts with your code and the rest of the JavaScript ecosystem.</li>
<li><strong>Be courteous and helpful with others.</strong> We are not guaranteeing that all of us will give you our undivided attention during the hour (we are also working!). If you can answer a question (as best as you can) it will really be helpful.</li>
<li>Sharing is caring. Share the room, but also share the event. Post to twitter, Facebook, your blog, and tell your parents. We want to foster growth in our community. This is the chance to participate and to help.</li>
</ol>

<h3>Tips</h3>

<p>Use this button to add the open office hour to your Google Calendar. <strong>You’ll need to setup the event so that it repeats weekly.</strong><br />
<a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110705T150000Z/20110705T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button6.gif" border=0></a>
<br style="clear: both" />
If you don’t have an IRC client you can use <a href="http://webchat.freenode.net/">http://webchat.freenode.net/</a>.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/wbN66Jr6Jag" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/07/04/june-28th-irc-office-hour-recapsummary/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/07/04/june-28th-irc-office-hour-recapsummary/</feedburner:origLink></item>
		<item>
		<title>June 21st Office Hour Recap/Summary</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/LvtoZ7bCDxA/</link>
		<comments>http://mootools.net/blog/2011/06/27/june-21st-office-hour-recapsummary/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 12:46:11 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1412</guid>
		<description><![CDATA[As suggested by our community, we’re going to release a recap, or summary, of the IRC Office Hour after every session. We want to encourage you to join us on Tuesday’s at 11am EST in the #mootools IRC channel, but if need be let this be your medium to discuss your perspective and your own [...]]]></description>
			<content:encoded><![CDATA[<p>As <a href="http://mootools.net/blog/2011/06/20/reminder-next-office-hour-is-tomorrow-june-21st/#comment-2020">suggested by our community</a>, we’re going to release a recap, or summary, of the IRC Office Hour after every session. We want to encourage you to join us on Tuesday’s at 11am EST in the <a href="irc://irc.freenode.net/mootools">#mootools IRC channel</a>, but if need be let this be your medium to discuss your perspective and your own ideas (you can also discuss in the <a href="https://groups.google.com/forum/#!forum/mootools-users">Google Group</a>).</p>

<h3>Topics Covered</h3>

<ul>
<li>MooTools 2.0 Community “Wish List”</li>
<li>MooTools Documentation</li>
<li>Flex Box Model</li>
<li>Require.JS and Namespacing</li>
<li>MooTools Roadmap</li>
<li>MooTools Feature: Accessors</li>
<li>Model Change Events</li>
<li>MooTools 2.0 Site</li>
<li>MooTools UI and Mobile</li>
<li>Event Delegation in Core</li>
<li>Github Issues</li>
</ul>

<p><span id="more-1412"></span></p>

<h4>MooTools 2.0 Community “Wish List”</h4>

<p>We created a document and shared with the IRC channel a “wish list” to add requests of what MooTools 2.0 should include. You can find the <a href="https://docs.google.com/document/d/1tnT5nrPSaNL2GfaaXlN0Q61NjqQoOJddjgsIjqwmhGo/edit?hl=en_US">wish list here</a>. Please add your own requests. Periodically we’ll check the list and approve items for 2.0.</p>

<h4>MooTools Documentation</h4>

<p>We talked about our efforts to improve the documentation. We were suggested in the channel to improve the argument list in the docs and include inherited properties and methods (plus link to the parent class).</p>

<p>We also want to make the experience more viral and social and we’d like to include social plugins (Facebook and Twitter). A comments section akin to PHP’s plus heavy moderation to have quality comments and shared experiences.</p>

<p>Analytics will also play a major role as we’d like to improve feedback. We’d like to know which methods and classes are most viewed, liked, and commented. Likewise, we want to make it easier for you to find what you’re looking for. Better SEO as well as navigation and search inside of the docs.</p>

<p>While you are in the documentation, we are also adding inlined <a href="http://jsfiddle.net/">jsfiddle</a> so that you can run the examples/demos and modify them on the fly. This also means that you can contribute your own examples/demos.</p>

<p>Of course, the above is a lot of work and we welcome your participation. <a href="http://mootools.net/developers">Darren Waddell</a> has stepped up and already started working on this. Take a look at his repository (<a href="https://github.com/fakedarren/mootools-docs">fakedarren/mootools-docs</a>) and <strong>please fork</strong>. User, kpobococ, is already working with Darren thanks to the office hour.</p>

<h4>Flex box module</h4>

<p>A user had a question about the “wrapping” of the UI so that it extends to the complete window. It’s not built-in to MooTools, but we gave him a few suggestions on how to accomplish this. Ryan Florence mentioned his <a href="https://github.com/rpflorence/mootools-wallpaper">mootools-wallpaper</a> and a <a href="http://jsfiddle.net/rpflorence/A7VNN/embedded/result,resources,js,html,css/">jsfiddle example</a>.</p>

<h4>AMD, requirejs, namespacing</h4>

<p>First, some context. <a href="http://requirejs.org/">require.js</a> is a “file and module loader” which implements the <a href="http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition">Asynchronous Module Definition</a> (AMD) CommonJS specification. This means that you can <code>define</code> modules and <code>require</code> (load) them only if they’re necessary. The philosophy is aligned to ours. We’ve never wanted our users to download the complete repository and load it <em>blindly</em> into a page. We’ve supported modularity, and speed, since day 1. Rest assured that MooTools 2.0 will be require.js ready out of the box.</p>

<p>Namespacing, is a loaded term. It may mean to “sandbox” MooTools so that it doesn’t mess with prototypes. Namespacing may also mean that you can apply, or install, methods into any given object. We’ll make a separate blog post about this, but it’s time to let the cat out of the bag.</p>

<p>We would like for MooTools 2.0 to play nice with <strong>everyone</strong>. This is a huge departure from 1.x days, but we’d like to position MooTools 2.0 so that you can drop it in <strong>any</strong> environment (that JavaScript can be run) and it will <strong>Just Work™</strong>.</p>

<p>Valerio Proietti has started to work on this in his own <a href="https://github.com/kamicane/mootools-core/tree/define-2">define-2</a> branch and we’re looking to you for feedback and opinions. Please fork and send feedback. Now is the time to make your voice heard. Once we release 2.0, there’s no going back.</p>

<h4>MooTools Roadmap</h4>

<p>And this brings us to the roadmap. Again, well deserving of its own blog post. Here’s the official word from Valerio, himself. <strong>We’re going straight to 2.0.</strong> There’s no date, yet, on when this will happen but a lot of <a href="https://github.com/kamicane/mootools-core/commits/define-2">work and time</a> is being put to get it out the door.</p>

<p>This would be the time, for you to volunteer your time.</p>

<p>Oh and don’t run around frantically. 1.3.x will continued being developed but released as bug fixes and any improvements provided by the community or downgraded from 2.0.</p>

<h4>MooTools 2.0 Feature: Accessor</h4>

<p>Still in its infancy this pattern is very powerful. It’s deserving of its own blog post, but here’s the summary: with this pattern you can define and lookup functions and properties that are usually Objects now, like Class.Mutators or Element.Properties. Besides simple lookup, it can also do a match so a &#8216;protected&#8217; Class Mutator can be defined so a Class method can be defined as <code>’protected foo’: function(){</code> so that the method cannot be run outside of the class. Have a look at the <a href="https://github.com/kamicane/mootools-core/blob/define-2/Source/Data/Accessor.js">source</a>.</p>

<h4>Model Change Events</h4>

<p>Someone had asked to support events for when properties change in the form of <code>change:foo</code>. It’s doubtful we’ll have this, but developer, verylastminute, has already worked on something that might serve in the mean time: <a href="http://jsfiddle.net/sixtyseconds/eRqxF/">ElementSpy</a>.</p>

<h4>MooTools 2.0 Site</h4>

<p>As you might have expected, there will be a new site for the launch of 2.0. We’re not yet in implementation stage, but we have <a href="http://mootools.fakedarren.com/moo2.png">screenshot of what it might look like</a>. If you’d like to get involved in the design (for some street cred) join us in the IRC channel to get in touch with Nathan Querido, from <a href="http://www.queridodesign.net/">QueridoDesign</a>, since he’s leading that project.</p>

<h3>MooTools UI and Mobile</h3>

<p>There’s a strong request for an official UI and Mobile projects. Although we are not promising that we will get around to the UI and Mobile prior to 2.0 release, we do agree on having them. For now we’re supporting projects that fill this need.</p>

<p>For the mobile, we’re interested in <a href="https://github.com/jpdery/moobile-core">jpdery/moobile-core</a> and <a href="https://github.com/cpojer/mootools-mobile">cpojer/mootools-mobile</a>. Add your projects in the comment section.</p>

<p>For UI we have our own <a href="https://github.com/kamicane/art">ART project</a> which is almost ready to be released. Missing documentation and testing. There’s also projects we’re interested in: <a href="https://github.com/Inviz/lsd">inviz/lsd</a>, <a href="https://github.com/anutron/behavior">anutron/behavior</a>, <a href="http://jxlib.org/">JxLib</a>, and <a href="https://github.com/sixtyseconds/mootools-interface">sixtyseconds/mootools-interface</a>. Add your projects in the comment section.</p>

<h4>Event Delegation in Core</h4>

<p>We’re also promising that Event Delegation will be in Core before 2.0 is out the door. Still unknown if the API will change between 1.3.x and 2.0, but let’s revel in the news!</p>

<h4>Github Issues</h4>

<p>Again one of those, “deserving of its own blog post” we’re moving from Lighthouse Tickets to Github Issues. This means that we will accept any new issues in <a href="https://github.com/mootools/mootools-core/issues">Github</a> and discourage the use of Lighthouse. We will disable Lighthouse after we’ve migrated.</p>

<h3>Next Office Hour</h3>

<p>As you’re now aware, the MooTools Office Hours are very fun and informative. Remember that we’re having another this:</p>

<h4>Tuesday, June 28th at</h4>

<p>05:01 - <strong>Honolulu</strong> (Hast UTC-10)<br />
08:01 - <strong>San Francisco</strong> (PDT UTC-7)<br />
10:01 - <strong>Chicago</strong> (CDT UTC-5)<br />
11:01 - <strong>New York</strong> (EDT UTC-4)<br />
12:01 - <strong>Rio de Janeiro</strong> (BRT UTC-3)<br />
16:01 - <strong>London</strong> (BST UTC+1)<br />
17:01 - <strong>Vienna</strong> (CEST UTC+2)<br />
20:31 - <strong>Mumbai</strong> (IST UTC+5:30)<br />
23:01 - <strong>Hong Kong</strong> (HKT UTC+8)<br />
00:01 - <strong>Tokyo</strong> (JST UTC+9)<br />
01:01 - <strong>Sydney</strong> (EST UTC+10)<br />
03:01 - <strong>Auckland</strong> (NZST UTC+12)</p>

<p><a href="http://www.google.com/calendar/event?action=TEMPLATE&amp;text=MooTools%20IRC%20Office%20Hours&amp;dates=20110628T150000Z/20110628T160000Z&amp;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&amp;location=%23motools%20on%20irc.freenode.net&amp;trp=true&amp;sprop=http%3A%2F%2Fmootools.net%2F&amp;sprop=name:MooTools">Add it to your Google Calendar</a>.</p>

<p>We&#8217;ll be in the <a href="irc://irc.freenode.net/mootools">#mootools</a> freenode.net channel.</p>

<h3>Guidelines</h3>

<p>We did very well last week in following the guidelines. I’ve included them in this post as a reminder.</p>

<ol>
<li><strong>Please use <a href="http://jsfiddle.net">jsfiddle.net</a></strong> and keep your code with minimal boilerplate &#8212; get to the essence of your question</li>
<li><strong>Stay on topic.</strong> Let&#8217;s keep the chat around MooTools and how it interacts with your code and the rest of the JavaScript ecosystem.</li>
<li><strong>Be courteous and helpful with others.</strong> We are not guaranteeing that all of us will give you our undivided attention during the hour (we are also working!). If you can answer a question (as best as you can) it will really be helpful.</li>
<li>Sharing is caring. Share the room, but also share the event. Post to twitter, Facebook, your blog, and tell your parents. We want to foster growth in our community. This is the chance to participate and to help.</li>
</ol>

<h3>Tips</h3>

<p>Use this button to add the open office hour to your Google Calendar. <strong>You’ll need to setup the event so that it repeats weekly.</strong><br />
<a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110628T150000Z/20110628T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button6.gif" border=0></a>
<br style="clear: both" />
If you don’t have an IRC client you can use <a href="http://webchat.freenode.net/">http://webchat.freenode.net/</a>.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/LvtoZ7bCDxA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/06/27/june-21st-office-hour-recapsummary/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/06/27/june-21st-office-hour-recapsummary/</feedburner:origLink></item>
		<item>
		<title>Reminder: Next Office Hour is Tomorrow (June 21st)!</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/q6Y7ndCnEY0/</link>
		<comments>http://mootools.net/blog/2011/06/20/reminder-next-office-hour-is-tomorrow-june-21st/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 17:09:59 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[All]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1398</guid>
		<description><![CDATA[Last week we held our first IRC office hours in the #mootools channel on irc.freenode.net. Fifteen (15) MooTools team members were in attendance and we got a lot of responses from our community. We covered: sandboxing natives, namespacing, packaging, roadmap, MVC, and that I look like Sam from the Lord of the Rings. This is [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we held our first IRC office hours in the #mootools channel on irc.freenode.net.  Fifteen (15) MooTools team members were in attendance and we got a lot of responses from our community. We covered: sandboxing natives, namespacing, packaging, roadmap, MVC, and that I look like <a href="https://park-204.wikispaces.com/file/view/sam5.jpg/33426961/sam5.jpg">Sam from the Lord of the Rings</a>.</p>

<p>This is a reminder that <strong>tomorrow</strong> (June 21st) we’re having another office hour and you’re cordially invited to join us.</p>

<p>Unlike last week, this week we’ll have a couple of questions ready to steer the conversation. This week we’ll talk about MooTools 2.0 and what you guys need to love MooTools even more. We’ll be taking names down as well, for those that would like to contribute.</p>

<p>Keep reading to learn the details.</p>

<p><span id="more-1398"></span></p>

<h3>When &amp; Where</h3>

<p>If you’re familiar with last week’s office hour, you probably realize that I made a boo boo with the offset in different timezones. This is now fixed thanks to EveryTimeZone. Here’s a complete list of timezones just so that we’re all on the same page.</p>

<h4>Tuesday, June 21st at</h4>

<p>05:01 - <strong>Honolulu</strong> (Hast UTC-10)<br />
08:01 - <strong>San Francisco</strong> (PDT UTC-7)<br />
10:01 - <strong>Chicago</strong> (CDT UTC-5)<br />
11:01 - <strong>New York</strong> (EDT UTC-4)<br />
12:01 - <strong>Rio de Janeiro</strong> (BRT UTC-3)<br />
16:01 - <strong>London</strong> (BST UTC+1)<br />
17:01 - <strong>Vienna</strong> (CEST UTC+2)<br />
20:31 - <strong>Mumbai</strong> (IST UTC+5:30)<br />
23:01 - <strong>Hong Kong</strong> (HKT UTC+8)<br />
00:01 - <strong>Tokyo</strong> (JST UTC+9)<br />
01:01 - <strong>Sydney</strong> (EST UTC+10)<br />
03:01 - <strong>Auckland</strong> (NZST UTC+12)</p>

<p><a href="http://www.google.com/calendar/event?action=TEMPLATE&amp;text=MooTools%20IRC%20Office%20Hours&amp;dates=20110621T150000Z/20110621T160000Z&amp;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&amp;location=%23motools%20on%20irc.freenode.net&amp;trp=true&amp;sprop=http%3A%2F%2Fmootools.net%2F&amp;sprop=name:MooTools">Add it to your Google Calendar</a>.</p>

<p>We&#8217;ll be in the <a href="irc://irc.freenode.net/mootools">#mootools</a> freenode.net channel.</p>

<h3>Guidelines</h3>

<p>We did very well last week in following the guidelines. I’ve included them in this post as a reminder.</p>

<ol>
<li><strong>Please use <a href="http://jsfiddle.net">jsfiddle.net</a></strong> and keep your code with minimal boilerplate &#8212; get to the essence of your question</li>
<li><strong>Stay on topic.</strong> Let&#8217;s keep the chat around MooTools and how it interacts with your code and the rest of the JavaScript ecosystem.</li>
<li><strong>Be courteous and helpful with others.</strong> We are not guaranteeing that all of us will give you our undivided attention during the hour (we are also working!). If you can answer a question (as best as you can) it will really be helpful.</li>
<li>Sharing is caring. Share the room, but also share the event. Post to twitter, Facebook, your blog, and tell your parents. We want to foster growth in our community. This is the chance to participate and to help.</li>
</ol>

<h3>Tips</h3>

<p>Use this button to add the open office hour to your Google Calendar. <strong>You’ll need to setup the event so that it repeats weekly.</strong><br />
<a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110621T150000Z/20110621T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button6.gif" border=0></a>
<br style="clear: both" />
If you don’t have an IRC client you can use <a href="http://webchat.freenode.net/">http://webchat.freenode.net/</a>.</p>

<h3>In Closing</h3>

<p>Remember that we’re doing this because we love to meet our community leaders. Bring your colleagues or even your boss if you have questions that you’re concerned with or would like solutions for.</p>

<p>Last week we had a lot of fun bringing a lot of MooTools developers together which spurred some development. Looking forward to tomorrow for a great hour.</p>

<p>Cheers.</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/q6Y7ndCnEY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/06/20/reminder-next-office-hour-is-tomorrow-june-21st/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/06/20/reminder-next-office-hour-is-tomorrow-june-21st/</feedburner:origLink></item>
		<item>
		<title>Open IRC Office Hours!</title>
		<link>http://feedproxy.google.com/~r/mootools-blog/~3/ZS9KFitjPfk/</link>
		<comments>http://mootools.net/blog/2011/06/09/open-irc-office-hours/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 02:00:15 +0000</pubDate>
		<dc:creator>ibolmo</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://mootools.net/blog/?p=1372</guid>
		<description><![CDATA[Starting next week, we’re going to be holding regular IRC office hours for MooTools developers in the #mootools channel on irc.freenode.net. Members of the MooTools team will be on hand to answer your technical questions. We’re following the footsteps of many successful office hours from other Open Source projects (Android, Mongo DB, Google App Engine, [...]]]></description>
			<content:encoded><![CDATA[<p>Starting next week, we’re going to be holding regular IRC office hours for MooTools developers in the <a href="irc://irc.freenode.net/mootools">#mootools</a> channel on irc.freenode.net. Members of the MooTools team will be on hand to answer your technical questions.</p>

<p><span id="more-1372"></span></p>

<p>We’re following the footsteps of many successful office hours from other Open Source projects (Android, Mongo DB, Google App Engine, and Node.JS) because we think it’s the best way to help, meet, and listen to our community.</p>

<p>In fact, without IRC I wouldn’t have become a MooTools developer in the first place. Like many of the other MooTools developers. Maybe you will too.</p>

<h3>When</h3>

<p>We’re going to start with a single weekly meeting on Tuesday’s at 5pm - 6pm (CEST <del datetime="2011-06-14T15:00:00+00:00">GMT</del>) (11am - 12pm EDT <del datetime="2011-06-14T15:00:00+00:00">EST</del>). We chose this time since it best fits our schedule, but depending on response and returns (more development, more team members, etc.) we can have a dedicated time for Western and for Eastern hemispheres.</p>

<p>Our <strong>first</strong> meeting is <em>next</em> <a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110614T150000Z/20110614T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank">Tuesday, June 14th at 11am EDT <del datetime="2011-06-14T15:00:00+00:00">EST</del> (5pm CEST <del datetime="2011-06-14T15:00:00+00:00">GMT</del>)</a>.</p>

<h3>Guidelines</h3>

<p>With any endeavor there are some ground rules for efficacy.</p>

<ol>
<li><strong>Please use <a href="http://jsfiddle.net">jsfiddle.net</a></strong> and keep your code with minimal boilerplate &#8212; get to the essence of your question</li>
<li><strong>Stay on topic.</strong> Let&#8217;s keep the chat around MooTools and how it interacts with your code and the rest of the JavaScript ecosystem.</li>
<li><strong>Be courteous and helpful with others.</strong> We are not guaranteeing that all of us will give you our undivided attention during the hour (we are also working!). If you can answer a question (as best as you can) it will really be helpful.</li>
<li>Sharing is caring. Share the room, but also share the event. Post to twitter, Facebook, your blog, and tell your parents. We want to foster growth in our community. This is the chance to participate and to help.</li>
</ol>

<h3>Tips</h3>

<p>Use this button to add the open office hour to your Google Calendar. <strong>You’ll need to setup the event so that it repeats weekly.</strong><br />
<a href="http://www.google.com/calendar/event?action=TEMPLATE&#038;text=MooTools%20IRC%20Office%20Hours&#038;dates=20110614T150000Z/20110614T160000Z&#038;details=Join%20us%20and%20ask%20away%20technical%20questions%2C%20open%20(what's%20new%2C%20what's%20coming)%20questions%2C%20or%20just%20participate%20in%20the%20party.%20MooTools%20developers%20will%20be%20in%20the%20%23mootools%20channel%20ready%20to%20answer%20and%20get%20to%20meet%20you.&#038;location=%23motools%20on%20irc.freenode.net&#038;trp=true&#038;sprop=http%3A%2F%2Fmootools.net%2F&#038;sprop=name:MooTools" target="_blank"><img src="http://www.google.com/calendar/images/ext/gc_button6.gif" border=0></a>
<br style="clear: both" />
If you don’t have an IRC client you can use <a href="http://webchat.freenode.net/">http://webchat.freenode.net/</a>.</p>

<h3>In Closing</h3>

<p>I expect this will be a lot of fun and a great learning experience to find out how our community has been prospering and using MooTools. Hope to see you in the IRC channel!</p>
<img src="http://feeds.feedburner.com/~r/mootools-blog/~4/ZS9KFitjPfk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mootools.net/blog/2011/06/09/open-irc-office-hours/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://mootools.net/blog/2011/06/09/open-irc-office-hours/</feedburner:origLink></item>
	</channel>
</rss>

