<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss1full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.limi.net/~d/styles/itemcontent.css"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns="http://purl.org/rss/1.0/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">




    



<channel rdf:about="http://limi.net/plone/RSS">
  <title>On Plone</title>
  <link>http://limi.net</link>

  <description>
    
      …on Firefox, interaction design, content management &amp; Plone
    
  </description>

  

  
            <syn:updatePeriod>daily</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2006-10-22T14:28:24Z</syn:updateBase>
        

  <items>
    <rdf:Seq>
      
        <rdf:li rdf:resource="http://limi.net/articles/planet-feeds-updated" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/plone-advent-calendar" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/why-you-should-apply-as-ui-designer-at-mozilla" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/resource-packages" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/status-update-weeks-41-42-2009" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/status-update-week-39-2009" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/status-update-week-38-2009" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/ch-ch-changes" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/28-hours-later" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/goodbye-google" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/submit-your-questions-for-the-plone-conference-2008-keynote" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/mark-ramm-is-coming-to-the-plone-conference" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/yes-it2019s-true" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/kill-your-tv" />
      
      
        <rdf:li rdf:resource="http://limi.net/articles/simplifying-plone-conclusion" />
      
    </rdf:Seq>
  </items>

<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rdf+xml" href="http://feeds.limi.net/on-plone" /><feedburner:info uri="on-plone" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /></channel>


  <item rdf:about="http://limi.net/articles/planet-feeds-updated">
    <title>Planet feeds updated</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/WxKrhE3nwGI/planet-feeds-updated</link>
    <description>Boring administrative update edition</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/planet-feeds-updated>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>Just a quick note to tell y’all that I have moved my Firefox-related posts off Planet Plone, so if you want to subscribe to everything I write about — not just Plone-related stuff — take a pick from the feeds offered at the <a href="http://limi.net">main site</a>.
</p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Meta</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2010-03-12T04:04:50Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/planet-feeds-updated</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/plone-advent-calendar">
    <title>Plone advent calendar: HTML &amp; CSS in 2010</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/j2bgKmdwSrI/plone-advent-calendar</link>
    <description>The Japanese Plone community asked me to post an entry for the final entry of their advent calendar.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/plone-advent-calendar>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>
<span class="sidenote"><sup>1</sup> If you can read Japanese, the Plone advent calendar can be found <a href="http://plone.jp/documentation/advent-calendar/2009">here</a>.</span>
	Since there has been a lot of Plone-related posts in the advent calendar<sup>1</sup> so far, I thought we’d go back and look at the new landscape of web development that has emerged in the last couple of years. It is a good time to teach yourself something new, or just dig deeper into the technologies you work with every day.</p>



<p>Most of us learned <abbr title="HyperText Markup Language">HTML</abbr> and <abbr title="Cascading Style Sheets">CSS</abbr> the piecemeal, iterative way — we found our way around the standards as part of various projects, and gradually got better at it. Especially those coming from a coding background found it easier to not properly teach ourselves the “front-end” of web technologies, and often learned through copy <abbr title="and">&amp;</abbr> paste programming.
</p>

<p>The browser world has come a long way since I taught myself the basics <a href="https://www.msu.edu/~karjalae/internet96.htm">back in 1996</a> — and sometimes I forget how far we have come since then. Internet Explorer came and went, and the open web triumphed. Designing a site in 2009 that has no special support for <abbr title="Internet Explorer 6">IE6</abbr> is actually a feasible idea, something that seemed very remote just a few years ago.
</p>

<p>So if I had to start teaching myself web technologies today, I would start with the following articles — which should be a good starting point even if you consider yourself a seasoned web developer — the web is very different from what it was just a few years ago:
</p>

<ul>
	<li><a href="http://diveintohtml5.org/">Dive into <abbr title="HyperText Markup Language 5">HTML5</abbr></a> — you can use <abbr title="HyperText Markup Language">HTML5</abbr> features, today. Excellent guide from Mark Pilgrim, still under development.</li>
	<li><a href="http://www.betaversion.org/~stefano/linotype/news/169/">Why Programmers Suck at <abbr title="Cascading Style Sheets">CSS</abbr> Design</a> — a great, entertaining primer on <abbr title="Cascading Style Sheets">CSS</abbr> for everyone.</li>
	<li><a href="http://www.noupe.com/css/css-techniques-i-wish-i-knew-when-i-started-designing-websites.html"><abbr title="Cascading Style Sheets">CSS</abbr> Techniques I Wish I Knew When I Started Designing Websites</a> — a good list of stuff you still have to know about when it comes to <abbr title="Cascading Style Sheets">CSS</abbr>.</li>
	<li><a href="http://24ways.org/2009/make-your-mockup-in-markup">Make Your Mockup in Markup</a> — are you still designing web sites in Photoshop? Think again.</li>
	<li><a href="http://docs.jquery.com/Tutorials">jQuery Tutorials</a> — every site uses JavaScript to enhance the user experience these days, and jQuery is a vital tool in your belt. Great for both quick prototyping and large-scale web sites.</li>
	<li>Teach yourself a grid system for layout — I of course recommend the <a href="http://deco.gs/">Deco Grid System</a> (which is part of the upcoming Plone 4 and 5 releases), but any grid system will do if you prefer others. Deco is just easier, less weird, and light-weight. </li>
	<li>Finally, two useful tools for designing and prototyping web sites: <a href="http://gomockingbird.com/">Mockingbird for creating wireframes</a>, and <a href="http://colorschemedesigner.com/">Color Scheme Designer</a> for the æsthetically challenged among us.</li>
</ul>

<p>Hopefully, these links can teach you something new and exciting for 2010.</p>

<p>Happy holidays, wherever you are this time of year! With the final release of <a href="http://plone.org/products/plone/releases/4.0">Plone 4</a> out soon, and Plone 5 development well underway, 2010 looks to be Plone’s best year yet! <span class="endMarker"></span></p>

]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Tips and Tricks</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-12-25T19:05:26Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/plone-advent-calendar</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/why-you-should-apply-as-ui-designer-at-mozilla">
    <title>Why you should apply as UI designer at Mozilla</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/x5pMecFJKtQ/why-you-should-apply-as-ui-designer-at-mozilla</link>
    <description>Mozilla is hiring. Help shape the future of the web.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/why-you-should-apply-as-ui-designer-at-mozilla>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>Since starting work with the Firefox User Experience team here at Mozilla less than a year ago, I have fallen in love with my job again. Now, I want you to join in on the fun.
</p>

<p>
<a href="https://mozillalabs.com/">Mozilla Labs</a> recently announced that they are looking for a <abbr title="User Interface">UI</abbr> designer that is ready to work on some of the most interesting <abbr title="and">&amp;</abbr> challenging problems of the future of the web.

</p>

<p>Some of the things I personally think are exceptionally cool about being a <abbr title="User Interface">UI</abbr> designer at Mozilla:
</p>


<ul>
<li>You get to&#8202;&mdash;&#8202;in fact, you <em>have</em> to&#8202;&mdash;&#8202;do all your work in the open. No secrets, instant feedback, and lots of good ideas from people in the community.
</li>

<li>The people building Firefox and the Mozilla platform <em>really</em> care about usability and user experience. You never hear <q>That will be hard to build</q> or <q>I don’t think that’s worth it.</q> The engineers figure out what to do, and make it happen. Every time.
</li>

<li>There’s very little ego around. A sharp focus on our key products means that there’s no bullshit politics. The company is small enough that you can get to know everyone, but big enough to change the world.</li>

<li>You get to work on the cutting edge of web innovation, and experimenting with technology that will decide the future of identity on the web, how we can carry our online life with us across browsers, and new ways to let our users take control of the web.
</li>

<li>As part of Mozilla Labs in particular, you get to do a lot of experimental, exploratory work with concepts that haven’t even been invented yet.</li>

<li>Your work&#8202;&mdash;&#8202;if you do it right&#8202;&mdash;&#8202;will improve the daily life of 300 million people, an astounding 25% of the people using the web.
</li>

<li>Mozilla works on making the web better, for everyone. They have the long-term view, and you get to change the world, every day. This is not just something we say, it’s something we do.</li>

</ul>

<p>So, brush up your portfolio <abbr title="and">&amp;</abbr> résumé over the holidays, and <a href="http://www.jobvite.com/CompanyJobs/Job.aspx?j=okdeVfwq&s=Limi">apply for the job</a>. Tell them Limi sent you. <span class="endMarker"></span>
</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>User Interfaces</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    
      <dc:subject>Firefox</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-12-16T01:15:01Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/why-you-should-apply-as-ui-designer-at-mozilla</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/resource-packages">
    <title>Making browsers faster: Resource Packages</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/F9Fm_FrvohQ/resource-packages</link>
    <description>A proposal to make downloading web page resources faster in all browsers</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/resource-packages>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>Update, summer 2011: The Firefox team has decided to pursue these types of improvements via <abbr title="Abbreviation doesn't actually mean anything :P">SPDY</abbr> and <abbr title="Hypertext Transfer Protocol">HTTP</abbr> Pipelining instead, but I will keep this original article about Resource Packages online.</p>

<hr />

<p>What if there was a backwards compatible way to transfer all of the resources that are used on every single page in your site — <abbr title="Cascading Style Sheets">CSS</abbr>, <abbr title="JavaScript">JS</abbr>, images, anything else — in a single <abbr title="Hypertext Transfer Protocol">HTTP</abbr> request at the start of the first visit to the page? This is what Resource Package support in browsers will let you do.</p>

<hr />

<p>Update: There's now a proper <a href="http://people.mozilla.com/~jlebar/respkg/">Resource Package specification</a>, and any details there override whatever is written here. This article is a bit more conversational, and is useful to understand what we’re trying to do. If you’re looking for specifics — like what formats we support and how we parse — please refer to the formal specification instead of this article.
</p> 

<hr />

<p>
When it comes to browser performance, it’s widely known that a lot of the time is spent waiting for <abbr title="Hypertext Transfer Protocol">HTTP</abbr> requests. You are probably familiar with the issue; a well-known optimization technique is to reduce the number of <abbr title="Hypertext Transfer Protocol">HTTP</abbr> requests that are done for a given web site, since browsers only do 2&ndash;6 requests in parallel. This is why techniques like <a href="http://www.alistapart.com/articles/sprites">image spriting</a> exist.
</p>
<p>
There are problems with image spriting, though. In addition to <a href="http://blog.vlad1.com/2009/06/22/to-sprite-or-not-to-sprite/">potentially severe memory penalties</a>, they obfuscate the code — “What is this icon at 704px, exactly?” — and every time you add a new icon, you have to update the sprite file, which adds to the maintenance burden.
</p>

<p>
	Some images can’t be sprited (think about YouTube, which easily serves up 40 <abbr title="Joint Photographic Experts Group">JPEG</abbr> thumbnails on a given page), and there’s also other resources like JavaScript <abbr title="and">&amp;</abbr> <abbr title="Cascading Style Sheets">CSS</abbr>, which — while possible to combine — at the very least need one file each. You can see how this quickly saturates the available parallel <abbr title="Hypertext Transfer Protocol">HTTP</abbr> pipelines.
</p>


<p>
	Even if bandwidth is getting better, and the internet is getting faster, latency are actually getting worse in a lot of cases. With mobile internet browsing, and to some extent <abbr title="United States">US</abbr> domestic cable internet and <abbr title="Digital Subscriber Line">DSL</abbr>, the round-trip time for a single request can be slow, even if it downloads relatively fast once the transfer starts.
</p>

<p>
	While there are lots of workarounds to solve this class of problems, we suggest a standard approach that all browsers makers can easily implement, and that is <em>backwards compatible</em> with browsers that do not support it. We also want a solution that works for all types of resources, not only image bitmaps, and one that doesn’t require any new tools, file types or protocols.
</p>



<h2><a id="goals">Goals</a></h2>

<p>This proposal has the following goals:</p>

<ul>
	<li>Make it possible to serve all the resources (images, stylesheets, javascript) required by a page in a single <abbr title="Hypertext Transfer Protocol">HTTP</abbr> request, freeing up the other parallel requests to fetch resources that are page-specific.</li>
	<li>Be as simple to implement as possible, so anyone with a passing familiarity with <abbr title="Hypertext Markup Language">HTML</abbr> should be able to perform the optimization.</li>
	<li>Be entirely transparent to browsers that do not support it.</li>
	<li>Avoid retransmission of existing resources.</li>
	<li>Use existing tools that are widely used on all platforms.</li>
	<li>Support the “80% use case” over adding a lot of complexity to the spec.</li>
</ul>

<h2><a id="non-goals">Non-goals</a></h2>
<p>Some explicit non-goals of this proposal:</p>
<ul>
	<li>Invent new file formats</li>
	<li>Invent new compression formats</li>
</ul>

<h2><a id="implementation">Implementation</a></h2>

<p>Our goal is to be compression-format independent, but the obvious candidates for support are:</p>

<ul>
    <li><code>tar.gz</code>, <abbr title="Also known as">aka.</abbr> <code>.tgz</code> files — <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type: <code>application/x-tar-gz</code></li>
    <li><code>zip</code> files — <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type: <code>application/zip</code></li>
</ul>

<p>While both <code>zip</code> and <code>tar.gz</code> files do not have not the most elegant or efficient packing format out there, they have the following very desirable traits:
</p>

<ul>
<li>Easily available reference implementations.</li>
<li>Can be unpacked even in partial state — which means that we can stream the file, and put <abbr title="Cascading Style Sheets">CSS</abbr> and JavaScript first in the archive, and they will unpacked and made available before the entire file has been downloaded.</li>
<li>Excellent toolchain support, available on all major platforms, so it’s easy for web developers to use.</li>
</ul>

<p>Other formats, like <code>bzip</code> may be more efficient in terms of file size, but they aren’t streamable and can’t be unpacked as partial files — so they are considered unfit for this particular purpose.</p>

<p>We propose this markup to signal a zipped resource package:
</p>
<pre>
&lt;link rel="resource-package" 
      type="application/zip" 
      href="site-resources.zip" /&gt;
</pre>

<p>The default <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type for a resource package will be <code>application/x-tar-gz</code>, and you can omit it in documents where it is valid, like in <abbr title="Hypertext Markup Language 5">HTML5</abbr>, where an equivalent would be:</p>

<pre>
&lt;link rel="resource-package" 
      href="site-resources.tar.gz" /&gt;
</pre>

<p>This will tell the browser to download this file first, and use the resources contained in the file instead of the referenced images, style sheets and javascript files — or for that matter, any other file. Browsers should prefer the files in the resource package, and do individual requests for images that are not contained in the package.</p>

<p>A given browser will probably block downloading any resources until the lists of files that are available in resource packages have been accounted for — or there may be a way to do opportunistic requests or similar, we leave this up to the browser vendor unless there’s a compelling reason to specify how this should work.</p>

<p>Older browsers that do not support resource packages will simply ignore this tag, and fetch the files normally, with one <abbr title="Hypertext Transfer Protocol">HTTP</abbr> request for each.</p>

<h2><a id="path-handling">Path handling</a></h2>

<p>Paths will be rendered relative to where the resource package is located, so you can supply additional directories inside the resource package to mimic existing site structure.

<p>The resource package is referenced as follows in a page somewhere on the site <code>www.example.com</code>:</p>

<pre>
&lt;link rel="resource-package" 
      type="application/zip" 
      href="/static/site-resources.zip" /&gt;
</pre>

<p>The Zip file has this internal structure:</p>

<pre>
javascript/jquery.js
css/reset.css
css/grid.css
css/main.css
images/save.png
images/info.png
</pre>

<p>In this example, the resolved path to the <code>main.css</code> file would be <code>http://www.example.com/static/css/main.css</code>. Notice how the path inside the resource package is added to the path where the actual file is located.</p>

<h2><a id="inline-html">File listing using inline HTML</a></h2>

<p>The most efficient way to declare what’s in the resource package without blocking to wait for the first part of it to load, is to do it inline in the resource package <code>&lt;link&gt;</code> tag itself:</p>

<pre>
&lt;link rel="resource-package" 
      type="application/zip" 
      href="/static/site-resources.zip"
      content="javascript/jquery.js;
               css/reset.css;
               css/grid.css;
               css/main.css;
               images/save.png;
               images/info.png" /&gt;
</pre>

<p>The only problem with the above is that it will break validation for existing specifications like <abbr title="Hypertext Markup Language 4">HTML 4</abbr> and <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 1.x, so we also support an alternate syntax, (ab)using the <code>title</code> attribute to get the same result:</p>

<pre>
&lt;link rel="resource-package" 
      type="application/zip" 
      href="/static/site-resources.zip"
      title="javascript/jquery.js;
             css/reset.css;
             css/grid.css;
             css/main.css;
             images/save.png;
             images/info.png" /&gt;
</pre>

<p>This makes the file work with the existing validators and older standards.</p>

<h2><a id="fallback">Fallback</a></h2>
<p>There should be no compatibility issues with old browsers, as they will just load the individual files instead of the resource package.
</p>

<p>Browsers that don’t implement this will seem slow in comparison to other browsers. Luckily, it should be a simple addition to any of the modern browsers.
</p>



<h2><a id="manifest">File listing using a manifest file</a></h2>
<p>You can also give the browser the ability to know what files are in the resource package file without reading the entire file first, by adding a <em>manifest</em> file that can contain this information. This file can be supplied as a separate file (useful if combining with Offline Resources), or as the first file in the file itself. Of course, this will be slower to get than defining the contents inline in the <abbr title="Hypertext Markup Language">HTML</abbr>, but can be easier and cleaner to implement, especially if you're using offline resource support already.</p>

<p>Example <code>manifest.txt</code> file:</p>

<pre>
javascript/jquery.js
styles/reset.css
styles/grid.css
styles/main.css
images/save.png
images/info.png
</pre>

<ul>
<li>This file <em>must</em> be the first file in the archive.</li>
<li>This file <em>must</em> be named <code>manifest.txt</code> when supplied as part of the archive.</li>
</ul>

<p>
	If this simple format looks familiar, that’s not a coincidence. Initially, we were looking at using either an <abbr title="Extensible Markup Language">XML</abbr> or <abbr title="JavaScript Object Notation">JSON</abbr> format to specify this, but we believe it’s easier to add a couple of new abilities to the offline resource specification instead. When using resource packages with <a href="https://developer.mozilla.org/En/Offline_resources_in_Firefox">Offline Resources</a> (which are also <a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/offline.html">part of the <abbr title="Hypertext Markup Language 5">HTML5</abbr> spec</a>), we’d like it to be easy to extend the rules, so the offline manifest with resource package support could look like this:
</p>

<pre>
CACHE: resources=/static/siteresources.zip
javascript/jquery.js
styles/reset.css
styles/grid.css
styles/main.css
images/save.png
images/info.png

# The above section lists the files in siteresources.zip.
# To start a new section, do:
CACHE:
images/outside-package.png
</pre>

<p>The only thing we’d need to add to the <abbr title="Hypertext Markup Language 5">HTML5</abbr> offline spec is that it should ignore anything on the same line after <code>CACHE:</code> if it doesn’t know how to handle it. This means that you could potentially put the resource package definitions in your Offline Resources manifest — we would also support doing it the other way around, and put the Offline Resources manifest inside the resource package.
</p>

<p>This isn’t a requirement for implementing the initial version of resource packages, however — but could be an easy way to add support for it to the offline resource specification. If there’s a better way to do it, let me know.</p>

<h2><a id="duplicates">Duplicate files and override behavior</a></h2>

<p>If a resource is defined twice on the same path — e.g. using multiple resource-packages — the file defined last takes priority. This enables an application with offline mode to synchronize changes without downloading the entire resource package again.</p>

<p>For example, on the first sync, the browser sees a resource package like this: 
</p>
<pre>&lt;link rel="resource-package" href="/documents/offline-0.zip" /&gt;</pre>

<p><code>offline-0.zip</code> contains:</p>

<pre>manifest.txt 
doc1.html 
doc2.html 
</pre>

<p>Offline the application would be able to access documents at
<code>/documents/doc1.html</code> and <code>/documents/doc2.html</code>.
</p>

<p>The user then performs another sync and the browser now sees: </p>
<pre>&lt;link rel="resource-package" href="/documents/offline-0.zip" /&gt;
&lt;link rel="resource-package" href="/documents/offline-1.zip" /&gt;</pre>

<p><code>offline-1.zip</code> contains:</p>

<pre>manifest.txt 
doc1.html 
doc3.html</pre>


<p><code>doc1.html</code> and <code>doc3.html</code> would now be read from the <code>offline-1.zip</code>, <code>doc2.html</code>
would continue to be read from <code>offline-0.zip</code>.
</p>

<p>Even for use outside of the offline applications space, it allows pages to easily override the site look and feel with section-specific images and styling. A page could serve up:
</p>

<pre>&lt;link rel="resource-package" href="/static/main-theme.zip" /&gt;
&lt;link rel="resource-package" href="/static/section-theme.zip" /&gt;</pre>

<p>Resources in <code>section-theme.zip</code> would take precedence over the content in <code>main-theme.zip</code> — making it easy to do overrides without replacing the entire resource package.</p>


<h2><a id="examples">Two simple examples</a></h2>
<p>It’s not hard to see where Resource Packages could be useful in existing sites, two obvious categories would be:</p>

<dl>
	<dt>Supply the core layout &amp; functionality of a site</dt>
	<dd>Typically, you would ship over all the <abbr title="Cascading Style Sheets">CSS</abbr>, <abbr title="JavaScript">JS</abbr> and images that are used on every page in the site. These could be cached quite aggressively, and even use <a href="http://en.wikipedia.org/wiki/HTTP_ETag">ETags</a> to invalidate the resource package when needed.</dd>
	<dt>The thumbnail search result case</dt>
	<dd>Consider a <a href="http://www.youtube.com/results?search_query=ninja+cat">typical YouTube search results</a> page. It contains 20-40 thumbnails of videos, and there’s no easy way to add all these images into an image sprite, since the long tail of search results would vary a lot. Resource Packages would let you build a zip of search result thumbnails on the fly, and ship them all over in one <abbr title="Hypertext Transfer Protocol">HTTP</abbr> request. It would require some <abbr title="Central Processing Unit">CPU</abbr> power, but would be much faster for the end-user. This wouldn’t have to be cached, or could be cached on a per-search basis.</dd>
</dl>


<h2><a id="other-approaches">Other approaches</a></h2>
<p>There are several other approaches that could solve parts of this problem, but they all have issues with current browsers and graceful degradation and/or are trying to solve a slightly different problem:</p>
<dl>
	<dt><abbr title="Hypertext Transfer Protocol">HTTP</abbr> pipelining</dt>
	<dd>This is a more aggressive way of utilizing the <abbr title="Hypertext Transfer Protocol">HTTP</abbr> keep-alive mode, but is not implemented correctly by all web servers. Proxies have a hard time with it, some browsers also do, so it’s not really working unless you want to be aggressive and/or whitelist/blacklist certain servers. </dd>
	<dd> It also causes a “head-of-line blocking” issue, where if you request X and Y
on the same connection and X is slow, then Y is slowed too.</dd>
	<dt>Multipart <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr></dt>
	<dd>Hard for integrators, requires special packing that isn’t trivial to do, and has poor browser support.</dd>
	<dt><abbr title="Java Archive">JAR</abbr> files or anything using data: <abbr title="Uniform Resource Locator">URL</abbr>s</dt>
	<dd>No reasonable fallback mode, as the file name is embedded in the href/src link, and browsers that doesn’t support it just won’t render it.</dd>
	<dt><abbr title="Speedy">SPDY</abbr></dt>
	<dd>While this effort from Google aims to make everything faster, it is largely orthogonal to what we’re trying to do with Resource Packages. It also requires you to retrofit both web browsers <em>and</em> web servers to make it work, which means it will take quite a while before this will be in common use. Resource Packages work without any changes to the web server software, and will work as soon as any browser supports it — with no adverse effects to the browsers that don’t.</dd>
</dl>

<h2><a id="notes">Additional notes</a></h2>
<ul>
	<li>The <acronym title="Compressed File">Zip</acronym> format doesn’t have <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type support, so this will have to be solved by the browser based on filename extensions or other heuristics. We don’t believe this to be a problem, since browsers already have to do this.</li>
	<li>All the resources in the package will have the same headers (expiry, <a href="http://en.wikipedia.org/wiki/HTTP_ETag">ETags</a>, etc.) as the resource package itself. If you need different expiry dates or other caching settings, you should specify multiple resource files with different cache headers.</li>
	<li>You can specify a charset in the resource package definition. If unspecified, it is assumed that any non-binary files inside are <abbr title="Unicode Transformation Format (8-bit)">UTF-8</abbr>.</li>
</ul>

<h2><a id="next-steps">Next steps</a></h2>

<p>
	We have sent this out to the major browser vendors for feedback, and we will be implementing this in the next upcoming release of Firefox — which tentatively has the version number 3.7, but this may change.
</p>

<h2><a id="faq"><abbr title="Frequently Asked Questions">FAQ</abbr></a></h2>

<dl>
<dt>Does zipping up multiple optimized <abbr title="Portable Network Graphics">PNG</abbr>s or other files work with zip? Can it potentially increase file size or lead to a high unpacking <abbr title="Central Processing Unit">CPU</abbr> overhead?
</dt>
<dd>Zip automatically chooses the best of deflation or no compression. Images will usually not be compressed, since they already are, text files like <abbr title="Cascading Style Sheets">CSS</abbr>/<abbr title="JavaScript">JS</abbr> will be. In general, <abbr title="Central Processing Unit">CPU</abbr> impact from unzipping is negligible, even on slow devices.</dd>
<dt>How does this affect mobile devices, which have limited <abbr title="Central Processing Unit">CPU</abbr>s?</dt>
<dd>More realistic concerns are cache ability and bandwidth — as well as the latency on mobile networks — and memory. A lot of mobile browsers only keeps things in the browser cache at all if the individual file is something like 20<abbr title="kilobytes">kB</abbr> or less. For returning visitors, you suddenly need to download one large file again, instead of having multiple small files locally.</dd>
<dd>In general, mobile browsers clear their caches quite aggressively — although with the resource package spec, one would hope that they would implement more optimal handling and prioritize caching these, since they more likely to be valuable for browsing performance than another random image/<abbr title="Cascading Style Sheets">CSS</abbr>/<abbr title="JavaScript">JS</abbr> file in a site. </dd>
<dt>How would Resource Packages work with <abbr title="Content Delivery Networks">CDN</abbr>s?</dt>
<dd>There would be no special handling, these mirrors would just carry the resource package file like any other file they are supplying.</dd>
<dt>How would you manage priority in the resource package? It would be useful to decide which files get downloaded first.</dt>
<dd>The priority is managed by the order they are added to the resource package. If you want a specific order, it’s trivial to specify this on the command line, so we aren’t adding any special syntax for this. Also, we have to do it this way to take advantages of the ability to unpack and display resources while the file is still downloading.</dd>
<dt>I worry about reduced parallelism. Lots of sites make
heavy use of resource sharding across many hostnames to take advantage
of multiple connections. Won’t this be a problem?</dt>
<dd>Sites usually use multiple hostnames to get around per-host connection limits, which are almost entirely a latency issue — not a bandwidth issue. Resource packages make multiple hostnames unnecessary, because it solves the latency issue a different way.
</dd>
</dl>

<h2><a id="acknowledgments">Acknowledgments</a></h2>

<ul>
<li><a href="http://www.culater.net/">Mike Solomon</a> from YouTube for encouraging me to propose a solution to this issue.</li>
<li><a href="http://dbaron.org/">David Baron</a> <abbr title="and">&amp;</abbr> <a href="http://fantasai.inkedblade.net">Elika Etemad</a> from Mozilla for comments on the implementation feasibility, and for helping identify prior art.</li>
<li><a href="http://blog.vlad1.com">Vladimir Vukićević</a> <abbr title="and">&amp;</abbr> <a href="http://sicking.cc/">Jonas Sicking</a> from Mozilla for help with adapting the Offline Resources standard to handle Resource Packages.</li>
<li><a href="http://almaer.com">Dion Almaer</a> <abbr title="and">&amp;</abbr> <a href="http://benzilla.galbraiths.org/">Ben Galbraith</a> from Palm, <a href="http://stevesouders.com">Steve Souders</a>, <a href="http://greggman.com/">Gregg Tavares</a> <abbr title="and">&amp;</abbr> <a href="http://alex.dojotoolkit.org/">Alex Russell</a> from Google <abbr title="and">&amp;</abbr> the Chrome team for feedback on the proposal from an implementer’s perspective.</li>
<li><a href="http://www.benmathews.net/">Ben Mathews</a> from Facebook for feedback on compression formats.</li>
<li><a href="http://objectvibe.net/blog">Laurence Rowe</a> from <a href="http://www.jarn.com/">Jarn</a> for suggestions on how to handle duplicates/overrides.</li>
</ul>

<h2><a id="feedback">Improvements &amp; feedback</a></h2>

<p>If you have any suggestions on how to improve this proposal, send me an email at <a href="mailto:&#x6C;&#x69;&#x6D;&#x69;&#x40;&#x6D;&#x6F;&#x7A;&#x69;&#x6C;&#x6C;&#x61;&#x2E;&#x63;&#x6F;&#x6D;">limi&#x40;&#x6D;&#x6F;&#x7A;&#x69;&#x6C;&#x6C;&#x61;&#x2E;&#x63;&#x6F;&#x6D;</a> or even better, comment in the open thread over at <a href="http://groups.google.com/group/mozilla.dev.platform/browse_thread/thread/31779262c6b05205">Mozilla’s dev.platform forum</a>. It has been filed as <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=529208">bug #529208</a> in Bugzilla for those of you that want to monitor its progress. <span class="endMarker"></span></p>

<hr />
<p class="name" style="text-align: center">Proposal State: Ready for prototype implementation</p>
<p style="text-align: center">Revision 7: Feb 22<sup>nd</sup>, 2010 — Added new information on compression formats, both <code>zip</code> and <code>tar.gz</code> files are now part of the spec.</p>
<p style="text-align: center">Revision 6: Feb 12<sup>th</sup>, 2010 — Added a defined behavior for what happens when resources are defined twice.</p>
<p style="text-align: center">Revision 5: January 10<sup>th</sup>, 2010 — added inline definition of resource package content in a manner that is compatible with <abbr title="Hypertext Markup Language 4">HTML4</abbr>/<abbr title="Extensible Hypertext Markup Language">XHTML</abbr> validators.</p>
<p style="text-align: center">Revision 4: Nov 16<sup>th</sup>, 2009 — first published <abbr title="and">&amp;</abbr> widely circulated version, added Offline Resources support</p>
<p style="text-align: center">Revision 3: Nov 10<sup>th</sup>, 2009</p>
<p style="text-align: center">Revision 2: Sep 1<sup>st</sup>, 2009</p>
<p style="text-align: center">Revision 1: Jun 15<sup>th</sup>, 2009</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Mozilla</dc:subject>
    
    
      <dc:subject>Firefox</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-11-17T03:05:00Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/resource-packages</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/status-update-weeks-41-42-2009">
    <title>Status update, weeks 41 – 42, 2009</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/bPc-fHHqYtU/status-update-weeks-41-42-2009</link>
    <description>Weekly summary of Firefox and Plone work.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/status-update-weeks-41-42-2009>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>From the dept. of status update slacking, the two previous weeks:</p>

<h2>Plone</h2>

<ul>
<li>The <a href="http://dev.plone.org/plone/ticket/9315">new theme</a> for Plone 4 was merged, along with all the other improvement branches that were proposed for this release. Impressive work by everyone involved in Plone 4! It’s looking to be a great release.</li>
<li>Completed my keynote presentation. More than a week before I’m actually presenting. I know, crazy.</li>
<li>Worked with <a href="http://twitter.com/esteele">Eric Steele</a> and <a href="http://dukebody.com/">Israel Saeta Pérez</a> to improve <a href="http://dev.plone.org/plone/roadmap">the roadmap on plone.org</a>, which is now fully converted to Trac. Still needs better descriptions, but the hard part is done. Thanks, guys!</li>
<li>Worked with <a href="http://jstahl.org/">Jon Stahl</a> to identify some opportunities around improving plone.org and our evaluator experience. Looking forward to taking a crack at this with Joel Burton after the conference is over.</li>
</ul>

<h3>Goals for the coming week</h3>

<ul>
<li>Finish my Plone Conference talk on advanced CSS layouts at <a href="http://ploneconf2009.org/">Plone Conference 2009</a>.</li>
<li>Get Deco in shape to demo it at the conference keynote.</li>
<li>Finish article on how to improve the social aspects of the conference for people that are new to the community.</li>
</ul>


<h2>Firefox</h2>

<ul>


<li>Prioritized the <abbr title="User Experience">UX</abbr> work we want to land in Firefox 3.7. There’s now a list at the top of the <a href="https://wiki.mozilla.org/Firefox/UX_index"><abbr title="User Experience">UX</abbr> index</a>.</li>

<li>Did some investigations on how Chrome handles its installer experience on Windows as part of making the experience better, similar to the <a href="">proposed Mac installer improvements</a>. Findings:
	<ul><li>Chrome Frame requires admin privileges to install, Chrome itself does not. Counter-intuitively.</li>
		<li>Tested the new Firefox installers on a couple of locked-down corporate computers, and it turns out you can install it in much the same way as Chrome does their install.</li> <li>We should probably still try to make the install experience better on Windows, but doing the same as Chrome is probably not a good idea — their installer failed on several test computers.</li></ul>
</li>


<li>Worked with <a href="http://blog.mozilla.com/faaborg">Alex Faaborg</a> to get the first draft of site-centric preferences improvements out, he has posted them internally for now, but look out for them soon. Props to Alex for doing the legwork on the mock-ups.</li>
<li>Was going to produce a screencast to demonstrate the effect of the prioritized tab loading in Firefox 3.6 with <a href="http://zpao.com/">Paul O’Shannessy</a>, but there were some loose ends to tie up first, so we agreed to do it early next week instead.</li>
<li>Worked with <a href="http://twitter.com/jinghuaz">Jinghua</a> to get things ready for Taskfox user testing. We now have a consent form, and a rough outline of the upcoming user studies.</li>
<li>Got closure on the remaining Taskfox issues — props to <a href="http://theunfocused.net/">Blair</a> for fixing the last remaining bugs that were in the way of user testing. <a href="http://people.mozilla.org/~bmcbride/taskfox/latest/">There’s a new build</a> you can (and should!) test.</li>
<li>Did some investigation around the status of inline <abbr title="Portable Document Format">PDF</abbr> display for 3.7. It’s 2009, we should really have this by now. There were patent issues in the past, but need to figure out the current situation.</li>
<li>Had a great conversation with <a href="http://john.jubjubs.net/">John Lilly</a> about Firefox strategy, where <abbr title="User Experience">UX</abbr> should focus — as well as demoing some of the things we want to do in Firefox 3.7 <em>&amp;</em> 4.0. Will talk about this in the <abbr title="User Experience">UX</abbr> team meeting this week.</li>
<li>Finally got back to the Resource Package work again. Hoping to wrap up a  version with the local storage manifest variant with Vlad this week.</li>
</ul>


<h3>Goals for the coming week</h3>

<ul>
<li>Finish the third draft of the Resource Package spec, hopefully with input from Vlad, jst, bz.</li>
<li>Continue refining the preferences redesign with Faaborg. </li>
<li>Write up scripts for the user studies of Taskfox, hopefully with Jinghua’s valuable input.</li>
<li>Work with the rest of the <abbr title="User Experience">UX</abbr> team on splitting our list of <abbr title="User Experience">UX</abbr> focus areas for Firefox 3.7 into more detailed requirements, and file bugs so it can be tracked.</li>
<li>(Aspirational, 4.0) Work on the tab sidebar mock-ups.</li>
<li>Wrap up the things that can be completed before I head to the Plone Conference in Budapest.</li>
</ul>

<h2>Other</h2>
<ul>
	<li>Falling down stairs on your back/shoulders/elbows should be avoided — or at least be drunk if you do so, it’s more embarrassing when you’re not. Ask me how I know. Ow.</li>
	<li>Educate world on glorious feeling of using en-dashes and hair spaces in headlines. Dashing!</li>
	<li>Hopefully getting together with Mike <em>&amp;</em> Nicholas this week to save Mac window management from itself. Stay tuned.</li>
	<li>Around 400 people registered for this year’s Plone Conference. It’ll be awesome, can’t wait.</li>
</ul>


]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Status update</dc:subject>
    
    
      <dc:subject>Mozilla</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    
      <dc:subject>Firefox</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-10-19T06:48:46Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/status-update-weeks-41-42-2009</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/status-update-week-39-2009">
    <title>Status update, week 39, 2009</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/o5p_RHH9OYY/status-update-week-39-2009</link>
    <description>Weekly summary of Firefox and Plone work.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/status-update-week-39-2009>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><h2>Firefox</h2>

<ul>
<li>Published an <a href="http://limi.net/articles/firefox-mac-installation-experience-revisited/">updated article on the decisions for Mac installer improvements</a>, and we already have <a href="http://groups.google.com/group/mozilla.dev.apps.firefox/browse_thread/thread/af139be993ccdaf4#">two volunteers looking at the implementation</a>. Gotta love our community.</li>

<li>Published an article describing how we’ll do <a href="http://limi.net/articles/tab-matching-in-the-location-bar">tab matching in the Location Bar</a> for 3.7.</li>

<li>Gave feedback on the first and second iterations of the Mac theme improvements for Firefox 3.7, expect Stephen Horlander to have a blog post about it soon.</li>

<li>Updated the Projects list to be up to date with everything I’m currently working on.</li>
<li>Did some process planning to improve longer-term UX vision, details to follow.</li>
<li>Sketched out some ideas on the Prefs improvements.</li>
<li>Gathered ideas around session restore improvements.</li>

</ul>


<h3>Goals for the coming week</h3>

<p>(some carry-overs <em>&amp;</em> and ongoing tasks from last week)</p>

<ul>
<li>Finish the third draft of the Resource Package spec, hopefully with input from Vlad, jst, bz.</li>
<li>Get closure on next steps for Taskfox.</li>
<li>Work with <a href="http://blog.stephenhorlander.com/">Stephen Horlander</a> on refining the new Mac theme for 3.7 <em>&amp;</em> 4.0.</li>
<li>(Aspirational, 3.7) Start working on a first UI mock-up for how the prefs reorg could look like. Coordinate with the <a href="https://wiki.mozilla.org/Extension_Manager:UI_Update">add-on manager redesign</a>.</li>
<li>(Aspirational, 4.0) Work on the tab sidebar mock-ups.</li>
<li>(Research) Get data from the tab experiments from Test Pilot, analyze what they mean.</li>

</ul>

<h2>Plone</h2>

<ul>
<li>Fixed up the remaining issues with the <a href="http://dev.plone.org/plone/ticket/9315">new theme</a> for Plone 4, and submitted it to the framework team for review.</li>
<li>Fixed most of the issues raised by <a href="http://www.martinaspeli.net/">Martin Aspeli</a>.</li>

</ul>

<h3>Goals for the coming week</h3>

<ul>
<li>Work with Eric Steele to improve the roadmap on plone.org.</li>
<li>Prepare keynote <em>&amp;</em> layout talk for <a href="http://ploneconf2009.org/">Plone Conference 2009</a>.</li>
<li>Publish an article on how to improve the social aspects of the conference for people that are new to the community.</li>
<li>Get back into Deco development with <a href="http://blog.fourdigits.nl/robgietema">Rob Gietema</a>.</li>
</ul>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Status update</dc:subject>
    
    
      <dc:subject>Mozilla</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    
      <dc:subject>Firefox</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-09-29T08:23:04Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/status-update-week-39-2009</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/status-update-week-38-2009">
    <title>Status update, week 38, 2009</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/6w1vmUnTHw0/status-update-week-38-2009</link>
    <description>Weekly summary of Firefox and Plone work.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/status-update-week-38-2009>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><h2>Firefox</h2>

<ul>
<li>Led a session on reorganizing the preferences window, <a href="https://wiki.mozilla.org/Preferences_rethink">posted the notes to the wiki</a>.</li>
<li>Looked into excessive CPU usage on multiple idle Gmail sessions, found to be a real issue in repaint + garbage collection, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=515215">filed as bug 515215</a>.</li>
<li>Expanded the <a href="https://wiki.mozilla.org/Firefox/UX_index">UX index</a> with help from Boriss, added description and references for all the areas we’re looking at.</li>
<li>Worked with Boriss and Faaborg to record material for a short screencast on the new UI in 3.7 and 4.0. Faaborg to do further edits and get back to us.</li>
<li>Presented on “Improving the Download Manager” at Design Lunch with the goal of getting more input what people like and want to keep from the current approach. Great discussion with lots of new ideas, <a href="https://wiki.mozilla.org/Improved_download_manager">which were added to the wiki</a>.</li>
<li>Spoke to Chris Beard about next steps for Taskfox — we need to decide whether Labs should own it from here on and use the <a href="https://bugzilla.mozilla.org/buglist.cgi?quicksearch=taskfox">remaining bugs</a> as a way to bootstrap, or whether Blair should just fix the minor issues so we can start some user testing. Expecting resolution sometime this week now that people are back from travels/vacations.</li>
<li>Did more tests of <a href="https://wiki.mozilla.org/Firefox/Projects/Per_Tab_Network_Prioritization">Prioritized tab loading</a> using <a href="https://addons.mozilla.org/en-US/firefox/addon/14138">zpao’s extension</a> — help us test it! (<a href="http://zpao.com/articles/22-per_tab_network_prioritization">More background info</a>)</li>
<li>Put up a blog post about <a href="http://limi.net/articles/improving-the-mac-installer-for-firefox/">improving the Mac install experience</a>, got coverage at <a href="http://daringfireball.net/2009/09/how_should_mac_apps_be_distributed">Daring Fireball</a>, <a href="http://www.tuaw.com/2009/09/21/the-confusing-art-of-installing-apps/"><abbr title="The Unofficial Apple Weblog">TUAW</abbr></a>, <a href="http://www.osnews.com/story/22195/Improving_the_Mac_OS_X_Application_Installation_Process"><abbr title="Operating System">OS</abbr>News</a>, 
as well as the French <a href="http://www.macgeneration.com/news/voir/136495/firefox-nouvel-installeur-et-abandon-de-tiger">MacGeneration</a>.</li>
<li>Helped clarify and direct the conversations around the proposed 3.7 and 4.0 design directions on the list (link)</li>
<li>Published the <a href="http://limi.net/articles/firefox-3.7-4.0-design-directions/">video from the all-hands session on 3.7 <em>&amp;</em> 4.0 design directions</a>.</li>
</ul>

<h3>Goals for the coming week</h3>

<ul>
<li>Put up a blog post describing how we’ll tab matching in the <abbr title="Uniform Resource Locator">URL</abbr> bar for 3.7</li>
<li>Publish an updated article on the decisions for Mac installer improvements.</li>
<li>Make sure the Projects list is up to date with everything I’m currently working on.</li>
<li>Finish the third draft of the Resource Package spec, hopefully with input from Vlad, jst, bz.</li>
<li>Get closure on next steps for Taskfox.</li>
<li>Work with <a href="http://blog.stephenhorlander.com/">Stephen Horlander</a> on refining the new Mac theme for 3.7 <em>&amp;</em> 4.0.</li>
<li>(Research) Get data from the tab experiments from Jetpack, analyze what they mean.</li>
<li>(Research) Gather loose thoughts around session restore improvements.</li>
<li>(Aspirational) Start working on a first UI mock-up for how the prefs reorg could look like. Coordinate with the <a href="https://wiki.mozilla.org/Extension_Manager:UI_Update">add-on manager redesign</a>.</li>
<li>(Aspirational) Work on the tab sidebar mock-ups.</li>


</ul>

<h2>Plone</h2>

<ul>
<li>Improved the <a href="http://dev.plone.org/plone/ticket/9315">new theme</a> for the upcoming <a href="http://dev.plone.org/plone/milestone/4.0">Plone 4</a> — one of the major changes outside of the actual <abbr title="Cascading Style Sheets">CSS</abbr> work was to revert to using <abbr title="Extensible Hypertext Markup Language">XHTML</abbr> for now, and do a proper <abbr title="Hypertext Markup Language 5">HTML5</abbr> implementation for Plone 5 to minimize the impact to existing themes.</li>
<li>Did some initial planning with <a href="http://blogs.onenw.org/jon/">Jon Stahl</a> <em>&amp;</em> <a href="http://joelburton.com/">Joel Burton</a> for a sprint to improve the evaluator experience of Plone — aka. approachability (installing, getting started, etc).</li>
<li>Dug up some old notes on <a href="http://plone.org/events/sprints/past-sprints/barcelona-sprint-2007/linguaplone-sprint-notes" title="LinguaPlone sprint notes">how to build the next-generation LinguaPlone</a> for multilingual content. Huge thanks to Jonathan Lewis for sending me his copy, since these had since disappeared from the OpenPlans/CoActivate site.</li>
</ul>

<h3>Goals for the coming week</h3>

<ul>
<li>Prepare keynote <em>&amp;</em> layout talk for <a href="http://ploneconf2009.org/">Plone Conference 2009</a>.</li>
<li>Publish an article on how to improve the social aspects of the conference for people that are new to the community.</li>
<li>More improvements to the Plone 4 theme based on <a href="http://www.martinaspeli.net/">Martin Aspeli</a>’s feedback</li>
<li>Get back into Deco development with <a href="http://blog.fourdigits.nl/robgietema">Rob Gietema</a>.</li>
</ul>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Status update</dc:subject>
    
    
      <dc:subject>Mozilla</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    
      <dc:subject>Firefox</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-09-22T21:37:07Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/status-update-week-38-2009</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/ch-ch-changes">
    <title>Ch-ch-changes</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/h8jXvOF3J1s/ch-ch-changes</link>
    <description>Since this site now serves two separate audiences — Plone and Firefox — there are a couple of new subscription feeds to make it easier to tune out one or the other, should you want to.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/ch-ch-changes>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>
In short—
</p>
<ul>
	<li>The standard feed that you might be subscribed to at the moment will continue to show you all new content from this site.</li>
	<li>There are two new feeds dedicated to only showing content related to Plone and Firefox, respectively.</li>
	<li><a href="http://planet.plone.org/">Planet Plone</a> will continue to carry all the content updates, unless I get asked to set it up otherwise — since there is a significant overlap in what is interesting to them and what’s going on with Firefox.</li>
	<li>I haven’t decided what to do with <a href="http://planet.mozilla.org/">Planet Mozilla</a> yet, since it seems to contain a wider range of posts on stuff that isn’t directly related to Mozilla and Firefox. Maybe I’ll keep it with the existing setup for a while unless I hear otherwise. Feel free to complain if this is causing too much off-topic banter.</li>
	<li>The new Firefox-only feed is being used at the recently created, and more focused, <a href="http://planet.firefox.com/">Planet Firefox</a>. A recommended subscription if you want to keep tabs (hah!) on the future of your favorite browser.</li>
</ul>

<p>I will also post weekly updates for both the <a href="http://www.firefox.com">Firefox</a> and <a href="http://plone.org">Plone</a> work I do. I’ve been slacking on the Plone front in particular lately, <em lang="la">mea culpa</em>.</p>

<p><a href="http://www.flickr.com/photos/blackbeltjones/3365682994/">Keep calm, and carry on</a>.<span class="endMarker"></span></p>]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Mozilla</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    
      <dc:subject>Firefox</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2009-09-14T09:34:52Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/ch-ch-changes</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/28-hours-later">
    <title>28 hours later</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/FK9YRQRU8pU/28-hours-later</link>
    <description>It’s been 28 hours since I announced my departure from Google.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/28-hours-later>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>Wow.</p>
<p>I had no idea that so many people were even reading this site, and was again reminded just how amazing the communities around <a href="http://plone.org">Plone</a> and Google are.</p>
<p>During the last 28 hours <a href="http://limi.net/articles/goodbye-google">after announcing that I am no longer with Google</a>, I have received:</p>

<ul>
<li>Over 150 email messages from friends and strangers expressing support and asking what happened, and what I’m doing next.</li>
<li>Over 30 emails from former Google team members, and people from other teams saying “WTF, dude — I heard about your story, this is <em>not</em> supposed to happen at a place like Google. That’s f—ed up.”</li>
<li>Four offers of job interviews with major companies in Silicon Valley — not counting the startups I have never heard of.</li>
<li>Requests from five journalists from sites and magazines I have heard of asking me for comments. And no, I don’t think it's appropriate for me to discuss this with the media, even anonymously — but thanks for asking, you’ve all been very polite and respectful.</li>
<li>Two invitations to have lunch at Google. I appreciate the humor in the middle of all this, guys.</li>
<li>Countless IMs, IRC conversations, Facebook messages, and phone calls checking that I’m OK, that I can stay in the US, <em>et cetera</em>.</li>

</ul>
<p>I’m humbled, and not just a little bit touched by all the support and attention I have received. I’m doing fine, I’m staying in San Francisco for the foreseeable future, and I have a lot of plans and options at the moment, and I’m excited to move on.</p>
<p>A special <em>thank you</em> to the people from the Google User Experience team for inviting me to their gathering in <a href="http://maps.google.com/maps?q=Mission+District+SF">the Mission</a> yesterday, discussing what happened, and what they can do to make sure it doesn’t happen again to someone else in the organization. You’re all amazing people, and I miss working with you already.</p>
<p>Unless something very unexpected happens, this will be the last message about my former Google employment to this site. Thanks for all the support, and if you have any questions, I’m <a href="/contact-info">happy to answer them</a>. <span class="endMarker"></span>
</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Google</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    <dc:date>2009-02-04T02:05:00Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/28-hours-later</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/goodbye-google">
    <title>Goodbye, Google</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/jNL84DmxpTE/goodbye-google</link>
    <description>Today was my last day at Google.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/goodbye-google>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>For the past couple of years, I have been working as an interaction designer at Google in Mountain View, California.</p>
<p>Because of manager conflicts, I am no longer with Google. Their handling of the matter has been no less than astoundingly amateurish and highly unprofessional, but I won’t air their dirty laundry here — it’s not worth any more of my time.</p>
<p>Suffice to say, I’ll be surprised if they manage to hold on to their top talent in the User Experience division for more than a year or two. That part of the organization is slowly rotting from the top down, and people have already started leaving. The wasted potential is truly beyond anything I have ever seen in an organization that is otherwise really well run, and has its priorities straight.</p>
<p>I have had the pleasure to work with an astounding number of amazingly talented individuals at Google, and I will miss them dearly. And there are some truly great managers at Google — hopefully I have let them know — I just never got to work with them. To all the designers and researchers I worked with at Google: I really enjoyed meeting and working with you all, you taught me humility, data-driven decision making and overall greatness — please stay in touch. To all the managers that attempted to help resolve the difficult situation I was in: Thanks for the respect, kindness and energy to fight the good fight. Keep it up.</p>
<p>Google is a fundamentally sound company, they have their priorities straight, and they will do well in the foreseeable future. I had a great time there, but it’s time to move on.</p>
<h2>Hello, Plone</h2>
<p>  So, what’s next? Less commuting. More time with friends. Taking care of my ill father. More sunny days outside. More music, travel, sports cars, and guitars. And, of course, <a href="http://plone.org">Plone</a>.</p>
<p>  With the work going into the upcoming Plone 4 release, I’m more excited about the future than I’ve ever been. Some of the best developers I have ever worked with — including Google engineers — are working on the next-generation Plone, and it’s truly in a position to change the world of content management.</p>
<p>  To me, this is the most exciting year in my life. I’m looking forward to spend my time doing what I love, work with the people I admire, and to live and breathe the best open source community on the planet. It’s like coming home.</p>
<p>  Now, if you’ll excuse me, I have a week of sleep to catch up on. Let’s change the world, again. <span class="endMarker"></span></p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Google</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    
      <dc:subject>Meta</dc:subject>
    
    <dc:date>2009-02-02T22:20:00Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/goodbye-google</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/submit-your-questions-for-the-plone-conference-2008-keynote">
    <title>Submit your questions for the Plone Conference 2008 keynote</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/qJRSJxQNxGo/submit-your-questions-for-the-plone-conference-2008-keynote</link>
    <description>This time, we’ll try something new: submit your questions using Google Moderator, and rank other people’s questions.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/submit-your-questions-for-the-plone-conference-2008-keynote>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>We’ll pick as many as possible of the highest ranked questions and answer them at the end of the keynote. Now, go ahead and ask those questions you always wanted to have answered.</p>
<p><a href="http://moderator.appspot.com/#e%253Dagltb2RlcmF0b3JyDgsSBlNlcmllcxi66QEM">Ask your questions here</a>!</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2008-10-07T02:07:15Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/submit-your-questions-for-the-plone-conference-2008-keynote</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/mark-ramm-is-coming-to-the-plone-conference">
    <title>Mark Ramm is coming to the Plone Conference in DC</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/orgStACPmmY/mark-ramm-is-coming-to-the-plone-conference</link>
    <description>…and I’m excited to meet him again!</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/mark-ramm-is-coming-to-the-plone-conference>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>Known from TurboGears — and more recently, his keynote <a href="http://www.youtube.com/watch?v=fipFKyW2FA4">What Django can learn from Zope</a> — <a href="http://compoundthinking.com/blog/" class="name">Mark Ramm</a> was invited to the Plone Conference to discuss the Python ecosystem and how to expand reuse and collaboration between the different Python web frameworks.</p>
<p>I remember meeting Mark for the first time when Alan Runyan and I delivered the <a href="http://us.pycon.org/TX2006/KeynoteTalks">keynote at the Python Conference 2006</a> in Dallas. We had several great conversations during the conference, but our paths haven’t crossed since — mostly because I’m not really a Python coder, so we don’t attend the same conferences.</p>
<p>I’m looking forward to meeting him again, and I believe he has a valuable perspective on Plone, Zope, Repoze and WSGI that should be enlightening and interesting.</p>
<p>As usual when it comes to conferences, it’s the conversations over a beer after the day’s program is over that really count. We’re excited to welcome you to our conference, Mark! <span class="endMarker"></span></p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2008-10-07T01:45:05Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/mark-ramm-is-coming-to-the-plone-conference</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/yes-it2019s-true">
    <title>Yes, it’s true</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/3ZNXDg6xyXk/yes-it2019s-true</link>
    <description>Some of you may already have heard that I’m lucky enough to have been invited to the Python Conference in Brazil to deliver one of the two keynotes.</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/yes-it2019s-true>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>If you’re in South America — especially if you’re in Brazil — <a href="http://pyconbrasil.com.br/">I encourage you to check out the program for the conference</a>.</p>
<p>My talk will be “The State of Plone and Lessons from Managing a Top 2% Open Source Project” — and will happen at 2:40pm on Friday Sep 19. </p>
<p>I’m also looking forward to meeting fellow keynote speaker <a class="name" href="http://www.bruceeckel.com/">Bruce Eckel</a>, long-time Python advocate and author of the books “Thinking in Java” and “Thinking in Python.”</p>
<p>With the <a href="http://plone.org/2008">Plone Conference 2008</a> coming up on Oct 8&ndash;10, it’ll be a busy few months — but very exciting and fun. <span class="endMarker"></span></p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2008-09-15T06:50:49Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/yes-it2019s-true</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/kill-your-tv">
    <title>Kill your TV</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/GKMmAJTizyU/kill-your-tv</link>
    <description>“Where do you find the time?”</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/kill-your-tv>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>
While talking to <a href="http://hannosch.blogspot.com/" class="name">Hanno Schlichting</a> earlier today about his <a href="http://n2.nabble.com/Party-like-it's-2004!-td471171ef293351.html">fantastic efforts at fixing bugs and cleaning the Plone issue tracker</a> — combined, the two of us have managed to resolve 250 bugs from the Plone 3.x maintenance release in the space of a few days — <span class="name">Hanno</span> mentioned that he’d finally managed to unplug his TV for about two weeks after not having a TV for most of his life until the recent last few months.
</p>

<p>
It reminded me about the following excerpt from <a href="http://www.herecomeseverybody.org/2008/04/looking-for-the-mouse.html"><span class="name">Clay Shirky’s</span> speech on cognitive surplus</a> — he’s talking to a TV reporter about his new book, and she asks him about Wikipedia:
</p>

<blockquote>

<p>
She shook her head and said, ‘Where do people find the time?’ That was her question. And I just kind of snapped. And I said, ‘No one who works in TV gets to ask that question. You know where the time comes from. It comes from the cognitive surplus you’ve been masking for 50 years.’
So how big is that surplus? So if you take Wikipedia as a kind of unit, all of Wikipedia, the whole project — every page, every edit, every talk page, every line of code, in every language that Wikipedia exists in — that represents something like the cumulation of 100 million hours of human thought. I worked this out with Martin Wattenberg at IBM; it’s a back-of-the-envelope calculation, but it’s the right order of magnitude, about 100 million hours of thought.
</p>

<p>
And television watching? Two hundred billion hours, in the U.S. alone, every year. Put another way, now that we have a unit, that’s 2,000 Wikipedia projects a year spent watching television. Or put still another way, in the U.S., we spend 100 million hours every weekend, just watching the ads. This is a pretty big surplus. People asking, ‘Where do they find the time?’ when they’re looking at things like Wikipedia don’t understand how tiny that entire project is, as a carve-out of this asset that’s finally being dragged into what Tim calls an architecture of participation.
</p>

<p>
Now, the interesting thing about a surplus like that is that society doesn’t know what to do with it at first — hence the gin, hence the sitcoms. Because if people knew what to do with a surplus with reference to the existing social institutions, then it wouldn’t be a surplus, would it? It’s precisely when no one has any idea how to deploy something that people have to start experimenting with it, in order for the surplus to get integrated, and the course of that integration can transform society.
</p>

<p>
The early phase for taking advantage of this cognitive surplus, the phase I think we’re still in, is all special cases. The physics of participation is much more like the physics of weather than it is like the physics of gravity. We know all the forces that combine to make these kinds of things work: there’s an interesting community over here, there’s an interesting sharing model over there, those people are collaborating on open source software. But despite knowing the inputs, we can’t predict the outputs yet because there’s so much complexity. 
</p>
</blockquote>

<p>
I’ve been television free since I was 18 years old and moved to my own apartment. That’s part of the reason why something like <a href="http://plone.org">Plone</a> could happen, a <a href="http://plone.net/providers">250+ company worldwide phenomenon</a>. <span class="name">Hanno</span> got rid of his TV when he was 20. He's the <a href="http://www.ohloh.net/projects/plone/contributors">most prolific contributor to Plone</a> worldwide.
</p>

<p>
Get rid of your TV. <em>Change</em> the world, don’t just sit and watch.
</p>

<p>…or, as <span class="name">Hanno</span> said: “If you want to be the best — act accordingly.” <span class="endMarker"></span></p>

]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>Rant</dc:subject>
    
    
      <dc:subject>Productivity</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2008-07-13T12:30:00Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/kill-your-tv</feedburner:origLink></item>


  <item rdf:about="http://limi.net/articles/simplifying-plone-conclusion">
    <title>Simplifying Plone: Conclusion</title>
    <link>http://feeds.limi.net/~r/on-plone/~3/VhWWsKR2slw/simplifying-plone-conclusion</link>
    <description>What are the next steps?</description>
    <content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><small>(<a href=http://limi.net/articles/simplifying-plone-conclusion>You are encouraged to read this article with its formatting and typography intact, instead of in this RSS reader</a>)</small></p><p>In the articles <a href="http://limi.net/articles/simplify-plones-editing-experience">Simplifying the content authoring experience</a>, <a href="http://limi.net/articles/improve-plones-handling-of-rich-media">Improved handling of rich media</a> and <a href="http://limi.net/articles/composite-pages-listings-and-content-proxies">Composite pages, listings and content proxies</a>, we have laid out an approach to radically simplify the content authoring experience in Plone.</p>
<p><strong>We have in one fell swoop eliminated the need for:</strong></p>

<ul>
<li>Collections as a separate type,</li>
<li>Images as a separate type,</li>
<li>Composite page types,</li>
<li>Proxy (represent one object in two locations) type,</li>
<li>Default pages,</li>
<li>The need for a separate "Contents" tab,</li>
<li>Folder as a separate type.</li>

</ul>
<p><strong>We have made it substantially easier to handle:</strong></p>

<ul>
<li>Rich (“opaque”) media like video, audio and Flash,</li>
<li>Content reuse, i.e. generating new content by reusing other content (example:
  book with 3 different audiences),</li>
<li>Application-specific functionality like forms/polls/maps inside a page.</li>

</ul>
<p><strong>We have made it possible to:</strong></p>

<ul>
<li>Share “snippets of Plone” (widgets) to other systems — blogs, iGoogle, Facebook — you name it.</li>

</ul>
<p>…all while making the UI massively simpler and easier to work with. </p>
<p>And if that wasn’t enough, the infrastructure improvements can be done gradually over a number of small releases in the 3.x series, and then culminate in a Plone 4.0 or 5.0 where we make the entire picture come together in a coherent new user experience. And we mostly don’t need to invent new infrastructure, instead we can build on work done in the Plone 3.x releases.</p>
<h2>Next Steps</h2>
<p>   Where do we go from here? I want you all to help with fleshing out the plan, as well as contributing code and testing resources to make this happen. The next steps will be:</p>

<ul>
<li>Identify which individual components are needed,</li>
<li>Figure out which of them can be built in parallel, and which ones can potentially be included in the 3.x releases,</li>
<li>Identify champions for the different areas,</li>
<li>Schedule sprints for big-picture integration sessions.</li>

</ul>
<p>   We hope to have the first of these sprints at the <a href="http://plone.org/events/conferences/2008-washington-dc/">Plone Conference 2008</a>  — and I hope we’ll see you there! Everyone is welcome this time around, and we’re trying to set up a range of sprint tasks, so that developers of all skill levels can participate in different ways.</p>
<p>I hope you will join us in taking Plone to the next level!</p>
]]></content:encoded>
    <dc:publisher>No publisher</dc:publisher>
    <dc:creator>Alexander Limi</dc:creator>
    <dc:rights />
    
      <dc:subject>User Interfaces</dc:subject>
    
    
      <dc:subject>Plone</dc:subject>
    
    <dc:date>2008-07-08T10:05:00Z</dc:date>
  <feedburner:origLink>http://limi.net/articles/simplifying-plone-conclusion</feedburner:origLink></item>





</rdf:RDF>

