Coccinella - Sander's blog /sander Blog of Sander Devrieze en Tutorial: Facebook IM, Mail.ru IM, MySpace IM and Sametime support in 4 commits /facebook-mrim-myspace-sametime <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>A <em>complete developer tutorial</em> to add support for Facebook IM, Mail.ru IM, MySpace IM and Sametime to your instant messaging project:</p> <ol><li>First, commit <a href="http://coccinella.svn.sourceforge.net/viewvc/coccinella?view=rev&amp;revision=2675">Mail.ru IM icons</a>.</li> <li>Second, commit <a href="http://coccinella.svn.sourceforge.net/viewvc/coccinella?view=rev&amp;revision=2676">Facebook icons</a>.</li> <li>Then, commit <a href="http://coccinella.svn.sourceforge.net/viewvc/coccinella?view=rev&amp;revision=2677">MySpace IM and Sametime icons</a>.</li> <li>Finally, add some <a href="http://xmpp.org/registrar/disco-categories.html#gateway">gateway category</a> <a href="http://coccinella.svn.sourceforge.net/viewvc/coccinella?view=rev&amp;revision=2680">mappings</a>.</li> </ol><p>Coccinella 0.96.12 will be ready for upcoming support for Facebook IM, MySpace IM and Sametime in the third-party <a href="http://kraken.blathersource.org/">Kraken XMPP Gateway</a>.</p> <p><strong>Please contribute to the Kraken server gateway to improve the instant messaging experience with all your Facebook, MySpace and Sametime friends (and other chat system) using <a href="/about#xmpp">*any* open standard instant messaging program</a>!</strong></p> <p><a href="/whytransportsmatter">Transports matter!</a></p> <img title="Add Mail.ru IM contact and register to Mail.ru IM transport on jabber.ru" src="/stuff/mrim.png" alt="Add mrim contact and mrim transport" width="500" height="192" /></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item odd"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Thu, 12 Mar 2009 22:33:08 +0000 sander 327 at /facebook-mrim-myspace-sametime#comments Mats Bengtsson 1959 - 2008 /mats-bengtsson <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><blockquote> <p><img title="Picture of Mats Bengtsson" src="/stuff/mats.jpg" alt="Mats Bengtsson in Sweden" width="500" height="436" /></p> <p><cite>Mats Bengtsson, the founder of Coccinella, passed away on November 29, 2008. He was born in 1959 and had a very successful career in academics and specifically in his field of interest, <a href="http://en.wikipedia.org/wiki/Theoretical_physics">theoretical physics</a>. Early in school he distinguished himself particularly in mathematics and he even produced his own math books in primary school when his teachers were not able to help him further on. He graduated at <a href="http://en.wikipedia.org/wiki/Lund_University">Lund university</a> as an engineer, continued as a research student in theoretical physics and presented his doctoral thesis, ”<a href="http://en.scientificcommons.org/33798874">Parton showers in a phenomenological context</a>”, at the age of 28 years. He spent a post-doc period in Germany (Aachen), but previously he had also been at the <a href="http://cern.ch/">Cern laboratory</a>.</cite></p></blockquote> <!--break--> <blockquote><p><cite>After his exams he started to work at <a href="http://en.wikipedia.org/wiki/ABB_Asea_Brown_Boveri">ABB</a> for a short period of time, before he ended up in <a href="http://en.wikipedia.org/wiki/Link%C3%B6ping">Linköping</a> where he received a research position at <a title="Totalförsvarets forskningsinstitut" href="http://www.foi.se/FOI/templates/Page____6630.aspx">FOI</a>, the Swedish Defence Research Agency. In Linköping he and his partner Mari stayed for quite a few years. During his entire life Mats had several hobbies such as <a title="Aerial sport of gliding" href="http://en.wikipedia.org/wiki/Gliding">gliding</a> and <a href="http://en.wikipedia.org/wiki/Rail_transport_modelling">model railroading</a>. Unfortunately, Mats was struck by a chronic condition during the last 15 years of his life, but was able to work hard in periods on his special project, the Coccinella program which is an interactive communicative Internet program. He initiated and developed this computer program and released it as open-source on the Net so others may contribute to the program’s development and refinement over time. Hopefully Coccinella will remain and be continuously upgraded in Mats’ spirit and visions.</cite></p> <p><b>--<br />By Mari Lundberg, Mats girlfriend</b></p> </blockquote> <p>Coccinella 0.96.12 <em>*will*</em> be released on March 18, 2009. However, this release will not introduce many changes because Mats was the driving force of the Coccinella project. Therefore, I will blog over the next few months about interesting projects and challenging features that Mats had on his TODO list. Hopefully, this will interest you to build further on the shoulders of a giant!</p></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/matben" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Matben&#039;s blog</a></div><div class="field-item odd"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item even"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Tue, 13 Jan 2009 22:30:19 +0000 sander 312 at /mats-bengtsson#comments Synchronized Releases and Greg Kroah-Hartman /synchronized-greg <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><div style="float: right; width: 240px; margin: 0 0 10px 10px;"><img title="Hippopotamuses swimming in synchronicity" src="/stuff/synchronized-swimming-hippopotamuses.jpg" alt="Synchroneous swimming hippopotamuses" width="240" height="160" /><br /><em>Credit: <a title="TiggerT" href="http://flickr.com/photos/taritm/2422108971/" rel="nofollow">TiggerT</a>, License: <a title="Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 Generic" href="http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en" rel="nofollow">by-nc-nd</a></em></div> <p>O'Reilly <a title="How Linux Supports More Devices Than Any Other OS, Ever" href="http://broadcast.oreilly.com/2008/10/how-linux-supports-more-device.html">interviewed Greg Kroah-Hartman</a> (<a href="http://www.kroah.com/log/">log</a>), the Linux kernel developer who founded the <a title="People who code Linux hardware drivers for free" href="http://www.linuxdriverproject.org">Linux Driver Project</a>. The interview explains how the Linux Driver Project can support the weirdest Japanese USB devices, how Linux is being developed, why binary only kernel drivers are illegal, how a time-based release schedule benefits Linux, and how Greg thinks about synchronized releases. Although all these topics are interesting to read, I will restrict this blog post to the latter 2 of them.</p> <!--break--> <h3><a title="#timebased" name="timebased" id="timebased">Time-Based Release Schedule</a></h3> <p>Since 2.6, the Linux kernel has a time-based release schedule. As you can see, Greg really favours this development model (we also do): </p> <ul><li><cite>It is working very well.</cite></li> <li><cite>It is very predictable.</cite></li> <li><cite>It increased our rate of developers, our number of companies participating, our number of developers participating.</cite></li> <li>There is <cite>better feedback.</cite></li> <li><cite>We've got more people testing it out that way. People will only test when a release comes out.</cite></li> <li>The traditional "If it ain't broke, don't fix it" software engineering model is obsolete: <cite>the world changes, so we have to change in regards to that. Linus's famous quote is Linux is not intelligent design; it's evolution. We evolved the kernel.</cite></li> <li>Contributors plan their contributions: <cite>it's all volunteer-based. If you say "Here is when the timeframe is going to be" everybody knows that if they want to get something done they have to get it in by then. Otherwise, they'll work on it at their own pace.</cite></li> </ul><h3><a title="#synchronized" name="synchronized" id="synchronized">Synchronized Releases</a></h3> <p>Even though we both agree that time-based release schedules are a good thing, Greg has a different idea about <a title="The benefits of Synchronized Releases" href="/synchronized-releases">synchronized releases</a>. Maybe I can change his mind by debunking some myths about synchronized releases:</p> <blockquote cite="http://broadcast.oreilly.com/2008/10/how-linux-supports-more-device.html"><p><cite>I think Mark is asking other people to do his job for him. He has a very small number of developers; he has a very limited development staff. [..] If you look, wanting to rely on other people to stabilize that integration is a great thing. If other people can do your work for you that's a wonderful thing to get them to do; I don't think that's going to happen.</cite></p></blockquote> <ul><li> <p><strong>Myth 1: Mark invented synchronized releases to free ride on the community.</strong></p> <p>Wrong -- Mark did not invented this. The Eclipse Foundation did. Not because they wanted to free ride on the community, but because they wanted to <strong>spur adoption by providing more value for their users.</strong></p> </li> <li> <p><strong>Myth 2: Mark wants this because he has not enough employees.</strong></p> <p>Wrong -- One of the issues of the open source community is that the same integration work needs to be done over and over again by different people in different projects. Synchronized releasing has the potential to increase the overall productivity of the whole community by reducing duplicate integration work. Hence, more can be done with the same number of people.</p> </li> <li> <p><strong>Myth 3: Nobody will ever synchronize their releases.</strong></p> <p>Wrong -- Gnome and Ubuntu are doing so, Eclipse is <a title="Goal of Ganymede Simultaneous Release" href="http://wiki.eclipse.org/Ganymede_Simultaneous_Release#Goal">synchronizing</a> (you really should read their goal!), we are doing <a title="Our release process" href="/synchronized-coccinella">synchronized releases at Coccinella</a>, <a href="http://bergie.iki.fi/blog/long-term_support_for_midgard-ragnaroek_is_here/">Midgard CMS</a> is synchronized, and possibly others.</p> </li> </ul><blockquote cite="http://broadcast.oreilly.com/2008/10/how-linux-supports-more-device.html"><p><cite>Trying to line up Red Hat and Novell and Ubuntu--just business model and internal business concern with each other is not fair to ask of a way of companies that compete against each other.</cite></p> <p><cite>We have a very weird environment at Linux in the fact that there's these different companies that at the management level and the marketing level are competing. They're competitive companies. Red Hat and Novell go after the same customers, the same install base, and they're very, very competitive yet they have the exact same engineering staff. Red Hat is Novell's engineering staff and Novell is Red Hat's engineering staff. You can't do stuff to make that upset. It's a very, very weird model but just trying to align the business model and their timeframe of what they wish to do and trying to tell the Open Source community that you're going to line up with these businesses at the moment in time is a very unfair thing to ask.</cite></p></blockquote> <ul><li> <p><strong>Myth 4: Synchronized releases involve competitors which is not possible as they can't collaborate.</strong></p> <p>Wrong -- <a href="http://en.wikipedia.org/wiki/Strategic_alliance">Strategic alliance</a> is the business concept for companies working together. Yes, <a title="Are You Overlooking Strategic Alliances Because You Call Them Competitors?" href="http://www.powerhomebiz.com/vol24/competitors.htm">even competitors</a>. There exists <a title="Longevity of strategic alliances between competitors: A dynamic value creation approach" href="http://ideas.repec.org/p/ebg/iesewp/d-0404.html">research</a> about this.</p> </li> </ul></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item odd"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Mon, 03 Nov 2008 00:51:17 +0000 sander 296 at /synchronized-greg#comments Jabber is Confusing /jabber-is-confusing <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><div style="float: right; width: 240px; margin: 0 0 10px 10px;"><img title="Progressing ladybug on grass" src="/stuff/ladybug-grass-1.jpg" alt="Ladybug on grass" width="240" height="171" /><br /><em>Credit: <a title="nutmeg66" href="http://flickr.com/photos/rachel_s/2108648609/" rel="nofollow">nutmeg66</a>, License: <a title="Creative Commons Attribution-Noncommercial-No Derivative Works 2.0 Generic" href="http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en" rel="nofollow">by-nc-nd</a></em></div> <p>'Jabber' is confusing, not only for Aunt Tilly, but even for <a title="TechCrunch: Cisco Picks Up Jabber for Collaboration, IM" href="http://www.techcrunch.com/2008/09/19/cisco-acquires-jabber-for-enterprise-im/">geeks</a>:</p> <blockquote cite="http://www.techcrunch.com/2008/09/19/cisco-acquires-jabber-for-enterprise-im/"><p><cite>Cisco announced today that it has acquired Jabber, an open-source IM and presence protocol used by Google Talk and Gizmo, for an undisclosed sum.</cite></p> <p><cite>Cisco didn’t get ‘Jabber.org’ the open-source server on the XMPP protocol,[..].</cite></p> <p><cite>Jabber is an application that we use throughout our office and is one helluva an IM.</cite></p> <p><cite>Any news on keeping Jabber Open source?</cite></p></blockquote> <!--break--> <h3><a title="#solution" name="solution" id="solution">Solution</a></h3> <p>Being devoted to a very friendly user experience in Coccinella, we decided a long time ago to <strong>progressively drop all references to 'Jabber'</strong>. For instance, whereas Coccinella formerly was described as a <cite>'Jabber client'</cite>, we do now talk about <em>'instant messaging client'</em>, optionally adding <em>'using the open standard XMPP protocol'</em> for geeks. Even the <a href="/JabberLib">JabberLib library</a> is being <a title="xmpp.tcl" href="http://coccinella.cvs.sourceforge.net/*checkout*/coccinella/coccinella/xmpp/xmpp.tcl?content-type=text%2Fplain">rewritten from scratch</a>. <strong>The long-term goal of this marketing decision is to kill the confusion barrier.</strong></p></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item odd"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Sat, 20 Sep 2008 02:41:29 +0000 sander 286 at /jabber-is-confusing#comments Translate Coccinella 0.96.10 /translate-0.96.10 <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Do you want to translate the upcoming Coccinella 0.96.10, planned for September 24th? Do you want to update any of the existing translations? Or do you just want to see which languages are ranking best? Then read on.</p> <!--break--><p>Translation status:</p> <ol><li><strong>English (en): updated</strong></li> <li><strong>Dutch (nl): updated</strong></li> <li><strong>Spanish (es): updated</strong></li> <li><strong>Italian (it): updated</strong></li> <li><strong>Czech (cs): updated</strong></li> <li><strong>German (de): updated</strong></li> <li><strong>Polish (pl): updated</strong></li> <li><em>Swedish (sv): 162 new strings, translator needed!</em></li> <li><em>French (fr): 533 new strings, translator needed!</em></li> <li><em>Korean (ko): 665 new strings, translator needed!</em></li> <li><em>Danish (da): 868 new strings, translator needed!</em></li> <li><em>Russian (ru): 921 new strings, translator needed!</em></li> </ol><p><strong>In case you want to update any of the above translations</strong>, please contact me, for example by adding a comment to this post. You best do not start right ahead to prevent 2 or more people updating the same translation.</p> <p><strong>In case you want to contribute a new translation</strong>, please download <a title="Zipfile containing a template" href="/stuff/lang.msg.zip">lang.msg.zip</a>, read the <a href="/translate">translator instructions starting from step 4</a>, translate the file, and send it to me. Of course, also this time it's a good idea to notify me in advance that you will do the translation. Remember that you don't have to translate all strings at once! You also can just start translating the most important parts of the interface, like menus, the setup assistant, login dialog, chat dialog, and so forth.</p> <p>Coccinella will be so much easier with your translation!</p> </div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item odd"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Wed, 17 Sep 2008 07:43:15 +0000 sander 284 at /translate-0.96.10#comments Design Great Software with Coccinella /design-great-software <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Ok, I admit this must be one of the laziest blog articles I ever wrote. It only consists of 5 parts:</p> <ol><li>First, one big quote from an <a title="Why Free Software has poor usability, and how to improve it" href="http://mpt.net.nz/archive/2008/08/01/free-software-usability">outstanding article</a>: <blockquote cite="http://mpt.net.nz/archive/2008/08/01/free-software-usability"><p><cite>"<strong>Design is high-bandwidth, the Net is low-bandwidth.</strong><br />Volunteer software projects are usually highly distributed, with contributors in different cities or even different continents. So project communications are mostly plain text, in e-mail, instant messaging, IRC, or a bug tracking system. But interaction design is multi-dimensional, involving the layout and behavior of elements over time, and the organization of those elements in an overall interface.</cite></p> <p><cite>When developers are in the same room, they can discuss interaction design using whiteboards, paper prototypes, spoken words, and gestures. But on the Internet, these often aren’t available, making discussions much slower and prone to misunderstandings.</cite></p> <p><cite>Solutions: Develop and promote VoIP, video chat, virtual whiteboard, sketching, and animation software that allows easier communication of design ideas over the Internet. And whenever possible, hold physical meetings for developers to collaborate in person."</cite></p> </blockquote> </li> <li>Followed by two related screenshots of Coccinella:<br /><a href="/whytransportsmatter"><img title="Improve software usability with whiteboard" src="/stuff/adium-whiteboard.png" alt="Adium setup assistant with geeky service selection" width="485" height="274" /></a> <img title="Who's calling?" src="/stuff/calling.png" alt="Make a call dialog (VoIP)" width="129" height="189" /></li> <li>Plus, a related link:<br /><a title="Fluid is a worldwide collaborative project to help improve the usability and accessibility of community open source projects" href="http://wiki.fluidproject.org/display/fluid/Collaborative+Whiteboard">Collaborative Whiteboard Tutorial</a> </li> <li>Then, a smaller quote from Matthew Paul Thomas's article: <blockquote cite="http://mpt.net.nz/archive/2008/08/01/free-software-usability"> <p><cite>"Often these teams don’t communicate with each other frequently. And unlike their proprietary competitors, they nearly all have different release cycles. This makes usability improvements difficult and slow to implement, if those improvements involve coordinating changes across multiple parts of the system."</cite></p> </blockquote> </li> <li>And finally, two links related to the small quote:<br /><a title="Are Linux distributions and car manufacturers simular?" href="http://www.markshuttleworth.com/archives/159">Economic clustering and Free Software release coordination</a><br /><a title="Why to synchronize software releases?" href="/synchronized-releases">The Blessings of Synchronized Releases</a> </li> </ol></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div><div class="field-item odd"><a href="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div></div></div> Mon, 04 Aug 2008 20:20:06 +0000 sander 272 at /design-great-software#comments Sprichst du Deutsch? ¿Hablas español? /german-spanish-reviews <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>Screencasts are fun, especially when they feature Coccinella! ;-) <strong>That's why we like to share 2 screencast reviews: a German spoken one first, and secondly a Spanish one.</strong></p> <!--break--><p>Portalzine.tv machte einen <a title="Tipps und Tricks: Episode 07: Coccinella - Jabber" href="http://portalzine.tv/index?/Articles/1/read/aWQtNzQwLWNhdF9wYWdlLTIt/">fantastischen Screencast</a> von Coccinella:</p> <object type="application/x-shockwave-flash" width="400" height="255" data="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;feedurl=http%3A%2F%2FportalZINE%2Eblip%2Etv%2Frss&amp;file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F969995%3Freferrer%3Dblip%2Etv%26source%3D1&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf"> <param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="movie" value="http://blip.tv/scripts/flash/showplayer.swf?enablejs=true&amp;feedurl=http%3A%2F%2FportalZINE%2Eblip%2Etv%2Frss&amp;file=http%3A%2F%2Fblip%2Etv%2Frss%2Fflash%2F969995%3Freferrer%3Dblip%2Etv%26source%3D1&amp;showplayerpath=http%3A%2F%2Fblip%2Etv%2Fscripts%2Fflash%2Fshowplayer%2Eswf" /></object> <p>Genbeta hizo un <a title="Coccinella: pizarras compartidas y sincronizadas usando Jabber" href="http://www.genbeta.com/2008/01/25-coccinella-pizarras-compartidas-y-sincronizadas-usando-jabber">magnifico screencast</a> de Coccinella:</p> <object type="application/x-shockwave-flash" width="425" height="350" data="http://zappinternet.com/v/megLvuPloB"><param name="allowFullScreen" value="true" /><param name="movie" value="http://zappinternet.com/v/megLvuPloB" /></object> <p>Do you know other screencast reviews of Coccinella? Do you plan to create a similar screencast review in your language? Tell us!</p> </div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div><div class="field-item odd"><a href="/screencasts" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">One minute screencasts</a></div></div></div> Mon, 07 Jul 2008 23:38:19 +0000 sander 253 at /german-spanish-reviews#comments Synchronized Releases in Practice /synchronized-coccinella <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p>After reading <a title="Read about the huge potentials of synchronization for the broader open-source community" href="/synchronized-releases">The Blessings of Synchronized Releases</a>, you probably wonder <strong>how we practically organize synchronized releases at the Coccinella project</strong>. In this article I will give you some insight into our release process.</p> <p><img title="Synchronized flying to next release" src="/stuff/synchronized-flying-geese.jpg" alt="Synchronized flying geese" width="500" height="372" /><br /><br /><em>Credit: <a title="Greg7" href="http://flickr.com/photos/greg7/478871707/" rel="nofollow">Greg7</a>, License: <a title="Creative Commons Attribution-Noncommercial 2.0 Generic" href="http://creativecommons.org/licenses/by-nc/2.0/deed.en">by-nc</a></em></p> <!--break--><h3><a title="#how" name="how" id="how">How?</a></h3> <p>Synchronized releases are implemented at the Coccinella project this way:</p> <ol><li>Since <a title="Coccinella 0.96.2 was released on 19 September 2007" href="/coccinella-0.96.2">19 September 2007</a> we synchronize each 6 months with major Gnome releases.</li> <li>Because only 2 releases each year is too few for a fast-moving instant messaging client like Coccinella, we also provide you with about 2 or 4 additional releases each year.</li> <li>These additional releases in between the synchronized releases are not synchronized to anything.</li> <li>However, we can say that there is a release roughly every 3 months. So, you can at least <a title="Download Coccinella" href="/download">download 4 Coccinella releases</a> each year.</li> </ol><h3><a title="#value" name="value" id="value">Added Value?</a></h3> <p>You can choose:</p> <ol><li><strong>Predictable synchronized releases every 6 months</strong> -- For non-business users, business users, and downstream distributions who would like to <a title="Tom Callaway is trying to package the pre-built binary bits as clean Fedora packages" href="http://spot.livejournal.com/295668.html">include Coccinella in their repositories</a>.</li> <li><strong>Nonsynchronized Releases in between</strong> -- If you can't wait 6 months for new features in Coccinella.</li> <li><strong>Daily <a title="Download daily breakfast builds of Coccinella" href="/breakfast">breakfast builds</a></strong> -- If you want to hunt for bugs in the newest development stuff.</li> <li><strong>Real-time <a href="http://sourceforge.net/cvs/?group_id=68334">development version</a></strong> -- For developers, hardcore bug hunters, and geeks who can't live without last-minute updates.</li> </ol></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item odd"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Sat, 05 Jul 2008 22:55:30 +0000 sander 240 at /synchronized-coccinella#comments The Blessings of Synchronized Releases /synchronized-releases <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><p><strong>People believe the idea of synchronized jumping to releases originates from Mark Shuttleworth.<br />People are wrong!</strong></p> <img title="Synchronized jumping from release to release" src="/stuff/synchronized-jumping-dogs.jpg" alt="Synchronized jumping dogs" width="500" height="334" /><br /><em>Credit: <a title="Xanboozled" href="http://flickr.com/photos/xanboozled/1325199806/" rel="nofollow">Xanboozled</a>, License: <a title="Creative Commons Attribution-Noncommercial-Share Alike 2.0 Generic" href="http://creativecommons.org/licenses/by-nc-sa/2.0/deed.en" rel="nofollow">by-nc-sa</a></em> <!--break--> <p>Back in 2006, the <a title="Eclipse Foundation synchronizes largest ever open-source project release" href="http://www.adtmag.com/article.aspx?id=18780">Eclipse Foundation pioneered synchronized releases</a> with Callisto:</p> <blockquote cite="http://www.adtmag.com/article.aspx?id=18780"><p><cite>The Eclipse Foundation is making history this week with what looks to be the largest ever synchronized open-source project release. The Callisto Simultaneous Release initiative coordinates 10 Eclipse project upgrades [..]</cite></p></blockquote> <p>Only since 2007, about a year after Callisto, Shuttleworth started <a title="Overview of Shuttleworth's points (Akademy 2007)" href="http://kdemonkey.blogspot.com/2008/05/singing-in-tune.html">singing in tune</a>. Nonetheless, the impact was greater as he continued practicing the <a title="The Art of Release" href="http://www.markshuttleworth.com/archives/146">art of synchronicity</a> with <a title="Discussing free software syncronicity" href="http://www.markshuttleworth.com/archives/150">much enthusiasm</a>. Later, the choir grew when others started singing about the <a title="Singer: Tristan Rhodes" href="http://useopensource.blogspot.com/2007/07/benefits-of-regular-release-schedule.html">benefits of a regular release schedule</a>, about <a title="Singer: Meet Barnaby" href="http://updates.storsint.com/wordpress/?p=22">cross project synchronisity</a>, about <a title="Singer: etbe" href="http://etbe.coker.com.au/2008/05/13/release-dates-for-debian/">release dates for Debian</a>, about <a title="Singer: Aaron Seigo" href="http://aseigo.blogspot.com/2008/05/discussing-free-software-syncronicity.html">free software syncronicity</a>, and about <a title="Singer: Tristan Rhodes" href="http://useopensource.blogspot.com/2008/04/synching-open-source-release-schedule.html">synching the open source release schedule</a>.</p> <p>Instead of repeating what has already been said in the above writings, I will focus on explaining the key blessings of synchronized releases. <strong>What are the huge potentials of synchronization for the broader open-source community?</strong> Why did <a title="First synchronized Coccinella release on 19 September 2007" href="/coccinella-in-black">we adopted the synchronization strategy</a>? And why should your project consider adopting it as well?</p> <h3><a title="#marketing" name="marketing" id="marketing">Stevenotes and Windows Launch Events</a></h3> <p>What do <a title="Slang term for keynote speeches by Apple CEO Steve Jobs" href="http://en.wikipedia.org/wiki/Stevenote">Stevenotes</a> and <a title="Not everyone experiences the Wow of Vista, though" href="http://sethgodin.typepad.com/seths_blog/2007/01/wow.html">Windows launch events</a> have in common? Yes, they both result into a flood of publicity. When Steve Jobs speaks, pregnant women's magazines write about it. <strong>When Microsoft spends a little money, the television journal will show us <a title="ParisDailyPhoto: The Launch of Windows Vista" href="http://www.parisdailyphoto.com/2007/01/launch-of-windows-vista.html">impressive fireworks</a> that make New Year's Eve look like a non-event.</strong> All media eagerly report about these happenings!</p> <p>The picture is very different for the open-source world. When a small open-source projects such as Coccinella issues a new release, you may at best see a review by a blogger or by some obscure local computer magazine. It gets slightly better with bigger projects which may attract the attention of several bloggers and a dozen computer related news sites. Even more, the real big projects may sometimes even go a bit further. However, no open-source project approximates what Apple and Microsoft do. No pregnant women's magazine writes about <a title="Firefox 3 Press Release" href="http://www.mozilla-europe.org/en/press/2008/06/17/1171-mozilla-releases-firefox-3-and-redefines-the-web-experience">Firefox 3</a> and the television journal will not be interrupted for a boring interview with some geeks about Ubuntu's <a title="Intrepid Alpha 1 released" href="https://lists.ubuntu.com/archives/ubuntu-devel-announce/2008-June/000440.html">Intrepid Ibex</a>.</p> <p>How can we copy the marketing successes of Apple and Microsoft to open-source? Some may suggest we need someone like Steve Jobs, whilst others would like to spend more money on launch events. They are both wrong! <strong>Trying to copy Steve Jobs or Microsoft's deep pockets is mission impossible.</strong> If Apple or Microsoft notices we are trying to catch up, they will simply improve their key strategic advantages and catching up will become even more challenging for us. What do we have to do then?</p> <p>Community is in what we excel; <em>our</em> key strategic advantage. <strong>To repeat the marketing success of Apple and Microsoft we need to leverage the community. Massive synchronized releasing is the perfect tool to achieve this leverage.</strong> By synchronizing, release related marketing efforts of multiple communities are focused at the same moment and can leverage each other. The rhythm of so much projects doing their marketing efforts at the same moment will shake the Internet. I'm sure the pregnant women's magazine and the television journal will feel these shakes...</p> <p>Yes, massive synchronized release cycles have the <strong>potential to create a bigger impact</strong> than Stevenotes and Windows launch events.</p> <h3><a title="#planning" name="planning" id="planning">Planning Drupal Upgrade</a></h3> <p>This website is still powered by the old Drupal 5. Even though its successor has already been <a title="Drupal 6.0 was released on February 13" href="http://drupal.org/drupal-6.0">released months ago</a>, we cannot tell you when exactly the Coccinella website will be upgraded to version 6. If you are also running a Drupal based website you should have correctly guessed that our website depends on third-party modules. Most of these modules did not had an updated version available at the time of the 6.0 release. Even today there are still plenty of them that have no stable 6.x version or that have no version at all for 6.x! Of course we can look around for alternative modules or we can just drop website functionality, but obviously, both will not contribute to a painless upgrade experience.</p> <p><strong>I chose the above example because it clearly shows you that synchronized releases also benefit non-business users and not only business users.</strong> If Drupal and its third-party modules had adopted a synchronized release scheme, we could have switched shortly after the 6.0 release, without the need to lose time on looking for alternative modules, and with lower upgrade risks. It would also have been possible for us to plan the website upgrade months before the actual release of Drupal 6. For businesses this translates into 3 cost savings: labor cost savings, risk protection savings, and savings thanks to the possibility to plan the upgrade a long time in advance (e.g. hiring additional employees to assist with the deployment is cheaper when it is done a long time in advance than when it is done only a few days before the deployment). Hence, synchronized releasing adds value for <em>both</em> business and non-business users, upgrading open-source software will be easier and cheaper.</p> <p>In the long run, we may see an additional blessing of massive synchronized releases in the planning area. When choosing a release strategy for their software, companies who provide cross-platform software may decide to align their release processes to the platform with the best predictable release dates. Accordingly, <strong>commercial applications, games, and hardware drivers may closely follow the synchronized release cycle of the open-source world.</strong> Compatibility between commercial software and new versions of open-source software thus could be greater than compatibility between commercial software and new versions of proprietary software.</p> <h3><a title="#collaboration" name="collaboration" id="collaboration">Release-Time Collaboration</a></h3> <p>When open-source projects synchronize their releases, they all will at any time be in a similar development stage and thus their priorities will better match. It should be clear that collaboration among projects is easier when all noses are pointed in the same direction. Projects will face the same problems and can better understand the needs of other projects. Hence, discussions can be shorter and projects can move forward sooner. More time can be used for coding and thus productivity will increase. <strong>Open-source projects will be able to provide their users with more new features, they will be able to fix more bugs, and code freezes can be shorter without losing software quality.</strong></p> <h3><a title="#next" name="next" id="next">What's Next?</a></h3> <p>Next week I will write about <a title="Synchronized Releases in Practice" href="/synchronized-coccinella">how we practically implemented synchronized releases</a> at Coccinella. As our experience will show you, adopting synchronized releases does not mean your project loses its freedom. There are multiple ways to implement the synchronization strategy.</p></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/devel" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Development</a></div><div class="field-item odd"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div></div></div> Sun, 29 Jun 2008 22:11:54 +0000 sander 233 at /synchronized-releases#comments Coccinella The Movie /coccinella-movie <div class="field field-name-body field-type-text-with-summary field-label-hidden"><div class="field-items"><div class="field-item even" property="content:encoded"><object type="application/x-shockwave-flash" width="520" height="391" data="http://www.vimeo.com/moogaloop.swf?clip_id=1237134&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=e32121"> <param name="quality" value="best" /><param name="allowfullscreen" value="true" /><param name="scale" value="showAll" /><param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1237134&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=e32121" /></object></div></div></div><div class="field field-name-taxonomy-vocabulary-2 field-type-taxonomy-term-reference field-label-above"><div class="field-label">Story type:&nbsp;</div><div class="field-items"><div class="field-item even"><a href="/sander" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Sander&#039;s blog</a></div><div class="field-item odd"><a href="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div></div></div> Sun, 22 Jun 2008 19:47:37 +0000 sander 242 at /coccinella-movie#comments