Coccinella - Various /various Others en 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 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 Facebook Going XMPP - Never Support Walled Gardens /never-support-walled-gardens <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>It was announced yesterday that <a href="http://developers.facebook.com/news.php?blog=1&amp;story=110">Facebook Chat is soon going to use the open standards XMPP</a>. This means that in the near future you will be able to use Coccinella and any other XMPP client to connect to Facebook Chat. We don't even have to provide you with a new Coccinella release, thanks to the merits of open standards.</p> <p>When reading this great news, I remembered that not so long ago <strong>Adium and Digsby <a title="Facebook Chat in Adium, on May 8th" href="http://adiumx.com/blog/2008/05/facebook-chat-in-adium/">announced</a> <a title="Facebook Chat In Digsby!, on May the 1st" href="http://blog.digsby.com/archives/37">support</a></strong> for Facebook Chat. Obviously, the support they added is for today's closed Facebook Chat protocol, not for tomorrow's XMPP based service. Both applications already support the open instant messaging standard XMPP since long. This means that these projects would have had support for Facebook Chat anyway if they just had a bit more patience. <strong>I wonder how frustrated these developers currently are</strong>, now that they know that their brand fresh code will become obsolete even before it gets in a stable release.</p> <p>So, in fact, instead of using their scarce time to implement sexy new features that are interesting for all their users, <strong>Adium and Digsby developers wasted their time</strong> to support a walled garden protocol of which the wall fell ultra fast. I must admit that I now have a small grin on my face :-)</p> <p>However, I also have a bad feeling. <strong>What if not only Digsby and Adium were so fast in adding support for the closed Facebook Chat, but also others such as Pidgin, Trillian and many others?</strong> Would there still have been enough pressure on Facebook to make the decision to switch to XMPP so fast? I guess XMPP support wouldn't have been that urgent for Facebook any more.</p> <p>I hope these developers have learned their lesson: <strong>never add support for new walled garden networks</strong> to your client. Wait as long as possible and direct all requests from users who are requesting support for a new walled garden system to the owner of walled garden. If you don't do this and try to attract users away from other instant messaging clients, by adding support for a walled garden network, you may get frustrated when this network switches to XMPP. Plus, your support reduces the pressure from users on this walled garden network to open its entrances. All in all, what you thought was a feature, in fact is a misfeature.</p> <p>If waiting not helps to get a walled garden to show its flowers to the public, you can better use server-side XMPP transports. <a title="Why transports matter" href="/whytransportsmatter">Transports have several strategic advantages over native client support</a>, they provide basic interoperability to please your users, when shaped to die fast they don't lead to much frustration, and they do not lead to competition amongst multi-protocol clients based on the numbers of walled gardens they support. <strong>Better compete on <em>*real*</em> features.</strong></p> <p>To conclude, I also hope that developers who are still adding new features in multi-protocol clients for the Yahoo and ICQ/AIM protocols are aware that they can <strong>experience the same frustration as described</strong>. Indeed, these two walled garden networks <a title="AOL adopting XMPP aka Jabber" href="http://florianjensen.com/2008/01/17/aol-adopting-xmpp-aka-jabber/">are</a> already <a title="After AOL, Yahoo! is also experimenting with XMPP" href="http://www.process-one.net/en/blogs/article/after_aol_yahoo_is_also_experimenting_with_xmpp/">experimenting with XMPP</a>.</p> <p>The future is XMPP. Walled garden networks are finally getting a thing from the past!</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="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div></div></div> Wed, 14 May 2008 21:23:30 +0000 sander 232 at /never-support-walled-gardens#comments A Fool's Guide to Bypass Openfire's Client Control /bypassing-openfire-client-control <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>Today the Openfire Team <a title="New open source plugins with enterprise features are now available" href="http://www.igniterealtime.org/community/blogs/ignite/2008/05/13/new-open-source-plugins-with-enterprise-features-are-now-available">announced</a> the open sourcing of the Client Control module for Openfire. This module promises it "allows to specify which XMPP clients are allowed to connect to the server".</p> <p>In this guide I will give you instructions about how you can bypass this restriction and always use Coccinella. Don't be afraid that this tutorial will be too difficult for you! Thanks to Coccinella's flexible branding features, even a child can do this. No, you don't have to recompile Coccinella or apply some difficult hacks. It's only a matter of adding 1 small line to Coccinella's preferences file and then restarting Coccinella! <strong>Read further to see how easy it is to bypass OpenFire's Client Control module</strong>.</p> <img title="This could have been an improved version of Psi but it isn't" src="/stuff/psi-or-coccinella.png" alt="Coccinella pretending to be Psi" /><!--break--><ol><li>Locate Coccinella's preferences folder on your platform: <ul><li>Windows: <kbd>C:\Documents and Settings\UserName\Application data\Coccinella\</kbd></li> <li>Windows Vista: <kbd>C:\Documents and Settings\UserName\AppData\Roaming\Coccinella\</kbd></li> <li>Mac OS X: <kbd>/Users/UserName/Library/Preferences/Coccinella/</kbd></li> <li>Linux: <kbd>/home/UserName/.coccinella/</kbd></li> <li>Portable Coccinella, the folder <kbd>CoccinellaPrefs</kbd> in the same folder as the Cocccinella executable</li> </ul></li> <li><p>Use your favorite text editor to add the following line to the preferences.rdb file (replace "Psi" with another client name when it is also blocked):</p> <p><code>*appName: Psi</code></p> </li> <li>Restart Coccinella; if all went right you will see that the window title changed to "Psi" and you will be able to connect to a restricted OpenFire server. </li> </ol><p>As this short tutorial shows, <strong>the kind of protection that the OpenFire Client Control module promises is so weak that even a child can bypass it without problems!</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="/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> Wed, 14 May 2008 13:21:42 +0000 sander 231 at /bypassing-openfire-client-control#comments Choose Your Hosting Service the Harvard Way /harvard-way-to-choose-hosting <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>Update: VistaPages <a title="Bad hosting service lead to slow growth and made VistaPages an easy takeover prey" href="http://www.itbusiness.ca/it/client/en/home/News.asp?id=49450">has been sold</a> to Millennium Data Systems (HostMDS).</strong></p> <h3><a title="#evil-to-hell" name="evil-to-hell" id="evil-to-hell">From Evil to Hell</a></h3> <div style="float: right; width: 240px; margin: 0 0 10px 10px;"> <img title="Hi, I'm Chucky. Wanna play?" src="/stuff/evil-chucky.jpg" alt="Evil Chucky doll" width="240" height="180" /><br /><em>Credit: <a title=" luisvilla" href="http://flickr.com/photos/maguisso/1045480909/" rel="nofollow"> luisvilla</a>, License: <a title="Creative Commons Attribution 2.0 Generic" href="http://creativecommons.org/licenses/by/2.0/deed.en" rel="nofollow">by</a></em> </div> <p>Less than a fortnight ago, I wrote about <a title="Is the Gmail and AIM integration Evil?" href="/gmail-aim-evil">evil</a>. This week, I write about hell and how <strong>Harvard's insights will help you to avoid a customer hell</strong>.</p> <p>But first I want to add to last week's evil story that I was informed by a <a title="Justin Uberti Kirkland about Google Talk + AIM" href="http://juberti.blogspot.com/2007/12/google-talk-aim-now.html">reliable source</a> that <cite>'Google would have preferred <a title="Federation of IM networks" href="http://www.imfederation.com/">XMPP Federation</a>, but that AOL was only willing to agree to a multiprotocol approach'.</cite></p> <p>This is no traditional review. Information is made as generally applicable as possible so that <strong>you can perfectly read this review without having any interest in a <a title="VistaPages home page" href="http://www.vistapages.com/" rel="nofollow">VistaPages review</a> or whatever web host review</strong>. Hence, you may call this a 'tutorial review' or whatever you prefer.</p> <!--break--> <p>As a last introductory item, <a title="Coccinella project members" href="/people">we</a> want to excuse for:</p> <ul><li>the <a title="VistaPages was incapable to fix dns issues in a durable manner" href="/dns-garbage-issues-vistapages">severe website accessibility issues</a> you may have encountered before we switched hosting provider,</li> <li>the long downtime the Coccinella project website suffered last summer, and</li> <li>the fact that our communication regarding this downtime is not as instant as you may expect from us.</li> </ul><p>We also thank all worried visitors who contacted us regarding last summer's downtime.</p> <h3><a name="review" id="review">The Short VistaPages Review</a></h3> <p>As you probably hate reading long reviews, I will try to make a very long story as short as possible. If you are not interested in the VistaPages review, you can just <a title="Web Hosting Providers and the Customers Who Hate Them" href="/harvard-way-to-choose-hosting#harvard-business-review">skip to next section</a>.</p> <p>On the 22th of July our account at <a title="VistaPages website" href="http://www.vistapages.com/" rel="nofollow">VistaPages</a> was suspended for the first time. No notification was given! Although I could persuade VistaPages to revert the suspension, this took several hours. VistaPages said we used too much resources. As we didn't want this to happen again, I asked VistaPages to provide me with sufficient information so that we could fix the issue. However, VistaPages never gave sufficient information.</p> <img title="VistaPages suspended the Coccinella website" src="/stuff/vistapages-review-graph.png" alt="Graph showing unreliable VistaPages hosting service" width="531" height="125" /><p>Thanks to the unwillingness of VistaPages to cooperate, I made the wise decision to backup the Coccinella website at my own computer. Only 1 week after the first suspension, VistaPages repeated the awful customer experience as can be seen in the above graph with visits stats. One difference though: VistaPages did not wanted to bring the Coccinella website online. They told we had to upgrade to VistaPages' not so cheap VPS service if we wanted to see our website back. <strong>So yes, the local backup really was a wise decision! B-)</strong></p> <p><a title="The people behind Coccinella" href="/people">Mats</a> was thinking about just paying for the VPS as that was the only way to get the website online very fast. Even though my personal website also was plagued by the suspension, I refused Mats to accept the upgrade offer. <strong>VistaPages' held a pistol to our head and that's not the way of doing business that should be rewarded with more money.</strong> Thus, we started looking for another hosting provider and we found <a title="Our current hoster" href="http://wiki.jabber.org/index.php/Florian_Jensen_Application_2007">Florian Jensen</a>, our new hoster. As he is a member of the <a title="The XSF defines instant messaging standards" href="http://www.xmpp.org/">XMPP Standards Foundation</a>, we were sure the Coccinella community would not be fucked again.</p> <p><strong>We still wanted to give VistaPages a last chance.</strong> Therefore, I asked VistaPages if they were interested in cooperation. I informed them that we found another web hosting provider, that we could move within hours if necessary, that we would be indebted our community (you) to write the review you are reading now, and that we would have to inform Canadian authorities regarding our horrible experience (done). This is the reply I got from VistaPages, including all spelling errors...judge for yourself:</p> <blockquote><p><cite> Hello Sander,<br /><br /> Your Top is showing nothing, and to bad for this that i was the one on the server in that moment suspending accounts.<br /><br /> Why only your account and also another one, there were two accounts when the load was up, is having problems with mysql, and the other one with spamd, i tell you why, because the other guy was spamming around big time, and your mysql databases were crashing the mysql server. from your top, you can not see anything, were are the processes that your site were running at that moment, the connections to the mysql server?<br /><br /> Also, stop sending replies about vistapages customers, when you should take care of your site and your problem, if there is one. Not go in front and start threating a company with whatever words, when you are not sure you are right. All this words will mean nothing if there is something to combat them, and more to it if there are facts.<br /><br /> So, in the end just try to focus o the issue, but if the next reply will contain a threat to the company or to one of the employees just don't reply at all, because this is not a way to do business, and more to it, it is just not good enough for 3-5$/month .<br /><br /> Thank you!<br /><br /> ----------------------------<br /> Florian N.<br /> Sr. Systems Administrator<br /> VistaPages, Inc.<br /><a href="http://www.vistapages.com/" rel="nofollow">www.vistapages.com</a><br /><br /> Refer a friend to VistaPages and earn free months! Ask us how :) </cite></p></blockquote> <p>Obviously, <strong>this 'customer friendly' email settled everything!</strong> Within hours the Coccinella website was up and running at our new hosting location. Note that we actually paid VistaPages 35$/month and not 3-5$; no refund was given for 19 other months. Remark that Florian N. is not Florian J., our new hoster. Also note the funny line at the end of the signature!</p> <p>The reason why it took so long to inform you about the downtime of the Coccinella website is that I had to struggle until last week with VistaPages to get my personal website transfered to another host and registrar. Leaving VistaPages is hard, be warned!</p> <p><strong>Please do not hesitate to contact me for more information about VistaPages</strong> if you were thinking about choosing them as your hosting service. You also can contact me for 'exodus tips' if you plan to leave VistaPages.</p> <h3><a name="harvard-business-review" id="harvard-business-review">Web Hosting Providers and the Customers Who Hate Them</a></h3> <blockquote cite="http://harvardbusinessonline.org/hbsp/hbr/articles/article.jsp?value=BR0706&amp;ml_action=get-article&amp;articleID=R0706E"><p><cite>Wittingly or not, many companies encourage customers to make bad purchases—with the result that their profits depend on their most dissatisfied customers. [..] <strong>Why, then, do so many companies infuriate their customers by binding them with contracts, bleeding them with fees, confounding them with fine print, and otherwise penalizing them for their business?</strong> Because, unfortunately, it pays.</cite></p></blockquote> <p>'<a title="First page of the HBR article" href="http://harvardbusinessonline.org/hbsp/hbr/articles/article.jsp?value=BR0706&amp;ml_action=get-article&amp;articleID=R0706E">Companies and the Customers Who Hate Them</a>' is an insightful article written by Gail McGovern and Youngme Moon, and published in the June 2007 edition of the <a title="Wikipedia: Harvard Business Review (HBR)" href="http://en.wikipedia.org/wiki/Harvard_Business_Review">Harvard Business Review</a>. Even though the article is not focused at web hosting services, the insights are extremely valuable for examining web hosting providers. Therefore, I would recommend anyone who is interested to enter the hosting market to read the full article.</p> <blockquote cite="http://harvardbusinessonline.org/hbsp/hbr/articles/article.jsp?value=BR0706&amp;ml_action=get-article&amp;articleID=R0706E"><p><cite><strong>Deep dissatisfaction is further manifest in relentless customer churn. [..] This level of turnover requires companies to engage in endless, aggressive customer acquisition, including extravagant spending on advertising.</strong> </cite></p></blockquote> <p>The above quote is very interesting. My belief is that McGovern and Moon's article is not only useful for business, but also for customers like you! <strong>To choose your hosting service the 'Harvard way', you should compare advertising of hosting providers. Forget about comparing features of hosting packages! The advertising strategy of a hosting business reveals the amplitude of the 'suck factor' of the service.</strong> If a hosting provider needs a large advertising budget to compensate for high levels of <a title="Wikipedia: Customer attrition" href="http://en.wikipedia.org/wiki/Customer_attrition">customer attrition</a> and large amounts of bad word of mouth like this, you better avoid that hosting service. The service will never be worth whatever amounts of <a title="A Yottabyte is much larger than a Gigabyte" href="http://en.wikipedia.org/wiki/Yottabyte">Yottabytes</a> of web space and data transfer are promised. You even should be careful when the service is free. The next section will give some practical measures to detect evil web hosting providers that have a hard time acquiring new customers.</p> <h3><a name="checklist" id="checklist">Web Hosting Checklist</a></h3> <p>This checklist can be used as a tool to <strong>detect web hosting providers you should avoid.</strong> All measures may give you an indication whether or not a hosting provider requires aggressive advertising to keep up with high customer defection rates caused by an unsatisfactory service. Don't get influenced by a cheap hosting service with lots of features, simply avoid a hosting service depending on big advertising spending to stay in business. The more positive answer you get in the following list, the more reluctant you should be.</p> <ol><li><strong>Affiliate Program</strong> - Does the hosting provider have an affiliate program? Is this program promoted on the front page on a very visible location? Is the hosting provider <a title="$70-$100 per VistaPages sale on September 2006" href="http://www.webhostingtalk.com/showthread.php?t=546736" rel="nofolow">desperately</a> <a title="Up to $100 per VistaPages referral on September 2007" href="http://www.webhostingtalk.com/showthread.php?t=575575" rel="nofolow">looking</a> <a title="Up to $100 per VistaPages sale on June 2007" href="http://www.webhostingtalk.com/showthread.php?t=613696" rel="nofolow">for</a> <a title="Can't VistaPages persuade its hosting customers?" href="http://www.webhostingtalk.com/showthread.php?t=637206" rel="nofolow">new</a> <a title="VistaPages seem to need affiliates very hardly" href="http://www.webhostingtalk.com/showthread.php?t=645741" rel="nofolow">affiliates</a>? Did the affiliate program <a title="Minimum and maximum of VistaPages' affiliate program was much lower" href="http://www.webhostingtalk.com/showthread.php?t=372477" rel="nofollow">get better</a> over time?</li> <li><strong>Awards</strong> - Does the hosting provider <a title="Awards of VistaPages" href="http://www.vistapages.com/whyvista/awards.php" rel="nofollow">prance</a> with its awards? Can you <a title="hosting-review.com is a fraud" href="http://digg.com/tech_news/hosting-review.com_is_a_fraud">find scandals</a> regarding the review website which gave out the award? Can you trust the review website? (<a title="Web Hosting Reviews - Can You Trust Them?" href="http://www.articlecity.com/articles/web_design_and_development/article_786.shtml">general rule: no!</a>) Does the domain owner of the review website hide behind a <a title="Method to find out who's behind these domains at Wikipedia" href="http://en.wikipedia.org/wiki/Domains_by_Proxy">proxy service</a>? <a title="Whois is a good tool to find hosting review scam" href="http://www.whois.sc/">Who is</a> the hoster and/or registrar of the review website domain, the hosting provider? When not hidden behind a proxy service, you may be able to see that the domain owner lives in the <a title="Someone in Toronto, just like VistaPages" href="http://whois.domaintools.com/hostreviewsite.com" rel="nofollow">same city</a> as the hosting provider, and furthermore, you discover the <a title="Alfez Velji worked for Hostingplex" href="http://forums.hostingplex.com/archive/index.php?t-917.html" rel="nofollow">owner of the review website</a> worked for the same hosting provider as the <a title="Kaumil Patel worked for Hostingplex" href="20040324114704/http://www.kaumilpatel.com/">CEO of the hosting provider</a> you are looking at!</li> <li><strong>Headquarters</strong> - Does the hosting provider have a <a title="VistaPages headquarters" href="http://www.vistapages.com/company/company-overview.php" rel="nofollow">nice picture</a> of its headquarters on its website? Is this really a picture of the headquarters of the hosting provider or is it a picture of a <a title="VistaPages.com - A Nightmare Story" href="http://www.webhostingtalk.com/showthread.php?t=536657">Canadian post office</a>? Google Maps can be a very helpful tool to find <a title="Mail Boxes Etc has the same address as VistaPages" href="http://maps.google.com/maps?f=l&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=mailboxes&amp;near=Toronto,+Ontario+M5H+4E7&amp;ie=UTF8&amp;om=1&amp;ll=43.679294,-79.377937&amp;spn=0.053632,0.160847&amp;z=13&amp;iwloc=A&amp;iwd=1&amp;cid=43648830,-79385648,3386547736058250935&amp;dtab=0">Mailbox companies</a> and thus helps you to detect how professional the hosting provider in fact is.</li> <li><strong>Customer Testimonials</strong> - Does the website of the hosting provider have a separate section with customer testimonials? Did the hosting provider found it worth the money to <a title="VistaPages registered a separate domain for customer testimonials" href="http://www.vistapagestestimonials.com/" rel="nofollow">register a separate domain</a> to boost search engine page ranking (SEO)? <a title="VistaPages testimonial: offline" href="http://www.theultimatefighterfansite.com/" rel="nofollow">Did you</a> <a title="VistaPages testimonial: spam" href="http://www.crapplications.org/" rel="nofollow">actually</a> <a title="VistaPages testimonial: spam" href="http://www.getting-lost.net/" rel="nofollow">check</a> <a title="VistaPages testimonial: spam" href="http://www.home-pc-medic.com" rel="nofollow">if the</a> <a title="VistaPages testimonial: broken" href="http://www.powerpackedpc.com/" rel="nofollow">testimonials</a> <a title="VistaPages testimonial: spam" href="http://www.gsyardsales.com/" rel="nofollow">are</a> <a title="VistaPages testimonial: spam" href="http://www.screen-dreams.net/" rel="nofollow">pointing</a> <a title="VistaPages testimonial: only 1 page, fake?" href="http://www.claydehn.com/" rel="nofollow">to a</a> <a title="VistaPages testimonial: domain does not exist any more" href="http://www.dj-ruckus.com/" rel="nofollow">real</a> <a title="VistaPages testimonial: down" href="http://www.mmmrags.com/" rel="nofollow">website</a>? The <a title="Good tool to find sensible information about a hosting provider" href="">Internet Wayback Machine</a> is a useful tool to see what was on these websites before they <a title="Our webhost went under and the whole site was lost" href="20070521203737/http://www.powerpackedpc.com/" rel="nofollow">went down</a>. Do you find people telling on their own website the provider you are interested in <a title="VistaPages does not seem to rule" href="http://www.google.be/search?q=%22vistapages+rules%22" rel="nofollow">rules</a>, or <a title="VistaPages sucks" href="http://www.google.be/search?q=%22vistapages+sucks%22">sucks</a>?</li> <li><strong>People</strong> - Does the website of the hosting provider contain many photos of professional looking people? Does these pictures make the company look like being a trustworthy business? Does it look like these pictures did cost a lot for the hosting provider?</li> <li><strong>Marketing Tricks</strong> - Are there advantages if you choose for a <a title="VistaPages gives huge discounts for longer billing cycles" href="https://billing.vistapages.com/order/orderStart-shared.php" rel="nofollow">longer billing cycle</a>? No subscription fee, for instance, or lower monthly fees, or something else? Such advantages may indicate that the hosting provider is unsure about themselves; they know the chance may be high you want to leave as soon as possible.</li> </ol><h3><a name="earn-money" id="earn-money">How to Earn Money From Unethical Hosting Companies</a></h3> <p>As can be deduced from the Harvard Business Review article, hosting providers who suck benefit financially by doing so. At least in the short term it pays. Nonetheless, <strong>due to huge customer attrition rates, unethical hosting providers like VistaPages have large advertising budgets.</strong> And this is exactly the weak point you can exploit to earn money!</p> <p>Affiliate programs and sponsorship are of key importance for bad hosting providers to compensate for huge customer attrition and to restore reputational damage. Hence, the <a title="Definition: willingness to pay" href="http://en.wikipedia.org/wiki/Willingness_to_pay">willingness to pay</a> of unethical hosting providers is <em>extremely</em> high in this area. Bloggers and open-source communities like you and me me are worth their weight in gold for them. We have a very valuable reputation of trust! <strong>To restore their reputation, unethical hosting providers may want to pay you much more than the value of the sales you can bring in!</strong> Negotiate with the hosting provider to squeeze the money out of them. Let them pay for your reputation! Let them pay more than ethical hosters!</p> <p>Of course, you may simply not want to take the risk your reputation being tarnished by accepting the unethical money. Therefore, establishing your own <a title="Practical guide to create your own ethical sponsorship policy" href="http://www.corporatecritic.org/EthicsandSponsorship/ethics1.htm">ethical sponsorship framework</a> may be a good way to protect your reputation of trust. Another solution, the easiest option, is to refuse any kind of sponsorship from people outside your community, like we do.</p> <div style="float: right; width: 300px; margin: 0 0 10px 10px;"> <img title="A Painful Experience" src="/stuff/barbie-bondage-vistapages.jpg" alt="Bonded Barbie puppet to represent VistaPages bondage" width="300" height="323" /><br /><em>Credit: <a title="Dale Gillard" href="http://flickr.com/photos/dalegillard/262171851/" rel="nofollow">D. Gillard</a>, License: <a title="Creative Commons Attribution 2.0 Generic" href="http://creativecommons.org/licenses/by/2.0/deed.en" rel="nofollow">by</a></em> </div> <h3><a name="conclusion" id="conclusion">Conclusion of the VistaPages Review</a></h3> <p>For God's Sake, we advise you to <strong>avoid VistaPages at any cost!</strong></p> <p>As <a title="Evil business experiences of consumers" href="http://consumerist.com/">The Consumerist</a> already suggested to <a title="Committed to customer dissatisfaction, VistaPages" href="http://consumerist.com/consumer/customer-service/vistapages-must-really-hate-having-customers-181801.php">hit Kaumil Patel in the face</a>, it is probably a good idea. Personally, I loathe violence, though <strong>VistaPages and Kaumil Patel seem to enjoy being hit in the face</strong> as is written on the VistaPages website:</p> <blockquote><p><cite>We treat you the way we want to be treated by our service providers! (<a title="Top 10 reasons to choose VistaPages...yeah right" href="http://vistapages.com/whyvista/top-10-reasons.php" rel="nofollow">source</a>)</cite></p> <p><cite>I am really proud at the fact that VistaPages has offered customers the support and service that we have (<a title="Kaumil Patel says..." href="http://www.vistapages.com/company/mission-statement.php" rel="nofollow">source</a>)</cite></p></blockquote> <p><em>Note for the service providers who treat VistaPages: please <strong> give VistaPages and Kaumil Patel (CEO) the treatment they are begging for</strong>; get inspired by the Barbie picture!</em></p> <h3><a name="trusted-vistapages-review" id="trusted-vistapages-review">Other VistaPages Victims we Trust</a></h3> <p>This list is meant to be an up to date list of stories of other VistaPages customers we trust. <strong>Please contact me by email or instant messaging to initiate the trust verification process in order to get listed.</strong></p> <ul><li><a title="VistaPages managed to piss off a customer" href="http://consumerist.com/consumer/customer-service/vistapages-must-really-hate-having-customers-181801.php">VistaPages Must Really Hate Having Customers</a></li> <li><a title="A clear case of customer abuse" href="http://consumerist.com/consumer/top/vistapages-curses-off-customer-180768.php">VistaPages Curses Off Customer</a></li> <li><!--<a title="Month long ordeal trying to get Vistapages to unlock my domain" href="http://www.sschauer.com/2006jandec.htm">-->Vistapages sucks... worst host ever<!--</a>--> (link broken)</li> <li><a title="Unsatisfactory record" href="http://mwco.bbb.org/WWWRoot/Report.aspx?site=160&amp;bbb=0107&amp;firm=1133854">BBB Reliability Report about VistaPages</a></li> <li><a title="it is bullshit - especially the 'customer satisfaction'" href="http://www.hahaha.com.au/weblog/index.php?thought=1034"> web host to avoid</a></li> </ul><h3><a name="rules" id="rules">Comment Rules</a></h3> <p>One of the purposes of this article is being a trustworthy review and guide for people searching a good (and maybe cheap) hosting service. Therefore, no 'flamewar review' is desired in the comments regarding web hosting companies. Hence, comments containing any of the following are <strong>not allowed</strong>:</p> <ul><li>Links to websites of hosting providers</li> <li>Links to review websites including review blogs</li> <li>Names of hosting providers or review websites/blogs</li> <li>Unethical content with any evil purpose</li> </ul><p>Use your own blog or contact me personally instead for such comments! If I find your email useful, I may add your comment. Note that I'll be the <a title="A quote found many times in VistaPages Terms of Service" href="http://www.vistapages.com/company/tos.php" rel="nofollow">sole and final arbiter as to what constitutes a violation of this policy</a>. <br />@Kaumil Patel of VistaPages: for <a title="VistaPages is offering money to remove negative web hosting reviews" href="http://hostjury.com/blog/view/65/oh-dear-web-hosting-industry-how-low-can-you-go">1,000,000 EUR</a> we may think about removing this article from this website. :o)</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="/website" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Website</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 class="field-item even"><a href="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div><div class="field-item odd"><a href="/risk-reduction" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Risk reduction</a></div></div></div> Wed, 19 Dec 2007 14:20:45 +0000 sander 148 at /harvard-way-to-choose-hosting#comments Gmail + AIM = Evil? /gmail-aim-evil <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>Gmail supports AIM. That's good news. Err, it's bad news! This is an <a title="Don't be evil" href="http://en.wikipedia.org/wiki/Don't_be_evil">evil feature</a> and in this article I will write why Google is evil.</p> <h1><a name="lie" id="lie">A Shameful Lie</a></h1> <p>First, Michael Davidson, a Googler, writes in the <a title="gmail get's evil AIM integration: crazy evil" href="http://gmailblog.blogspot.com/2007/12/gmail-chat-aim-crazy-delicious.html">announcement</a> that </p> <blockquote cite="http://gmailblog.blogspot.com/2007/12/gmail-chat-aim-crazy-delicious.html"><p><cite>'Google has been committed to open standards and interoperation for instant messaging. So when our friends at AOL agreed to let Gmail users talk to users on their network, we jumped at the chance.'</cite></p></blockquote> <p>This is a shameful lie and an abuse of the <a title="Bruce Perens definition of open standards" href="http://perens.com/OpenStandards/Definition.html">term 'open standard'</a>: <b>no open standards are involved in the evil Gmail feature</b>. Gmail behaves like a normal AIM client. The AIM servers still talk a proprietary protocol and so does Gmail; nothing changed. So, we are still talking about <a title=" Walled gardens redux by Antepo, now Adobe" href="http://antecipate.blogspot.com/2006/10/walled-gardens-redux.html">walled gardens</a> in instant messaging.</p> <p>Google's current move with AIM support in Gmail is in no way comparable with their recent <a title="OpenSocial" href="http://code.google.com/apis/opensocial/">contribution to the destruction</a> of <a title="Pull down the walled gardens @ BBC" href="http://news.bbc.co.uk/1/hi/technology/6944653.stm">walled gardens</a> in social networks.</p> <h1><a name="curse" id="curse">A Curse for Adoption of Open Standards</a></h1> <p>Technically, Gmail now became a multiprotocol client implementing a proprietary instant messaging protocol. Google thus promotes the use of the proprietary networks by allowing their users to connect to this walled garden.</p> <p>As I wrote a few months ago, <a href="/whytransportsmatter">multiprotocol clients are a curse</a>:</p> <ul><li>Multiprotocol clients are a curse for interoperability.</li> <li>Multiprotocol clients hinder adoption of open standards like XMPP and SIMPLE.</li> <li>Multiprotocol clients even hinder their own adoption!</li> <li>Multiprotocol clients explain why "the Firefox of instant messaging" does not yet exist.</li> </ul><p>More details about these these tough claims can be found in the section <a href="/whytransportsmatter">Why a Curse and Why Transports?</a> of that article.</p> <h1><a name="notfair" id="notfair">Not Fair to other Instant Messaging Services</a></h1> <p>Google's agreement with AOL is a coalition between 2 incumbent players. Such a partnership is an <b>evil entry barrier</b> to make it more difficult for other players in the market to compete on the same level. Both Google and AOL restrict the market by this move. This is not compatible with <a title="Google's Don't be evil motto in its Code of Conduct" href="http://investor.google.com/conduct.html">Google's "Don't be evil"</a>.</p> <h1><a name="fix" id="fix">How to Fix</a></h1> <p>If Google want to restore it's reputation for not being evil, it should process the items on this TODO list:</p> <ol><li>Excuse for the wrong use of the term 'open standard' in the announcement</li> <li>One of these: <ul><li><a href="/whytransportsmatter#wishlist">Use transports</a> instead, to achieve the AIM integration as a means to achieve #2</li> <li><b>Get AOL to adopt XMPP for server-to-server interoperability</b></li> </ul></li> </ol><h1><a name="misfeature" id="misfeature">Others who Think it's a Misfeature</a></h1> <p>Other bloggers who also don't like the AIM feature:</p> <ul><li><a title="Omega's blog" href="http://gregoire.menuel.free.fr/blog/?p=10">AIM n’utilisera pas XMPP</a> (in French)</li> <li><a title="Aaron Toponce's blog" href="http://www.pthree.org/2007/12/08/google-is-now-officially-evil/">Google Is Now Officially Evil</a></li> <li><a title="hsorbo's blog" href="http://hsorbo.no/node/203">Gmail + AIM and it kinda sucks</a></li> </ul><p>This list will be updated when you provide me more links.</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="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div></div></div> Thu, 06 Dec 2007 15:08:47 +0000 sander 138 at /gmail-aim-evil#comments 8 Years and More: The Roots of Coccinella /birthday8 <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"><table><tr><td> <img title="Birthday balloons for Coccinella" src="/stuff/birthday.jpg" alt="Birthday balloons for Coccinella" /><br /><em>Credit: <a title="Darwin Bell" href="http://flickr.com/photos/darwinbell/395970074/" rel="nofollow">D. Bell</a>, License: <a title="Creative Commons Attribution-Noncommercial 2.0 Generic" href="http://creativecommons.org/licenses/by-nc/2.0/deed.en" rel="nofollow">by-nc</a></em> </td> <td valign="top"> <p>Exactly 8 years ago, on the 1st of December 1999, the first official release of an application called <em>Whiteboard</em> was released. In 2003, Whiteboard was renamed into <em>Coccinella</em>. <a title="Nice Happy Birthday movie" href="http://youtube.com/watch?v=yj6cbM-h8xg">Happy 8th birthday Coccinella!</a></p> <p>Read on for a more complete history of 'the beginning' and to read about Coccinella's birthday presents.</p> </td> </tr></table><!--break--><h1><a name="before-era" id="before-era">The 'Before Coccinella' Era</a></h1> <p>Somewhere in 1998, Jeremie Miller <a href="http://www.xmpp.org/about/">started working on Jabber</a>, a project that gave birth to innovative instant messaging protocols which are used today in an increasing number of instant messaging applications, including Coccinella. In <a title="Strange enough this date is not available on pidgin.im nor on Wikipedia!" href="http://sourceforge.net/potm/potm-2002-10.php">November of the same year</a>, another well-known instant messaging project named Gaim (now <a href="http://pidgin.im/">Pidgin</a>) was started.</p> <p>In January 1999, the Jabber project was <a title="Slashdot: Open Real Time Messaging System" href="http://slashdot.org/article.pl?sid=99/01/04/1621211">officially announced</a>.</p> <h1><a name="birth-roots" id="birth-roots">The Birth of Coccinella's Roots</a></h1> <p>Throughout 1999, the Tcl community worked on a Jabber client called zABBER and a Jabber client library called JabberLib. We do not exactly know when these projects were started, though we found a development snapshot of zABBER which was released on the 12th of April. Note that the original <a href="http://waster.8m.com/zabber/index.html">zABBER website is still online (!!)</a> and <b>screenshots and snapshots</b> of this prehistoric software can still be downloaded. In September 1999, the <a href="19991104022137/jabber.org/developers.jab">tcl.jabber.org site was created</a>. This was the <a href="20000119153731/tcl.jabber.org/">home of the Jabber Tcl/Tk Team</a>.</p> <p>For those who are interested, I tested the latest zABBER release and it <em>still works</em> to some extend (connecting, presence, receiving messages, replying to received messages) with some of today's Jabber servers...8 years of compatibility of the base Jabber protocols which were still in heavy development in 1999!</p> <table><tr><td> <h1><a name="birth-coccinella" id="birth-coccinella">The Birth of Coccinella</a></h1> <p>As already said in the introduction, the first official release of Coccinella was <em>Whiteboard-0.90</em>, <a href="http://coccinella.cvs.sourceforge.net/coccinella/coccinella/CHANGES?view=markup">released on the 1st of December 1999</a>. We don't know when <a href="/people">Mats</a> actually started working on Whiteboard, but maybe he can add a comment to this post with a guess and/or additional interesting details he still remembers about 1999... B-)</p> <p>You may think Coccinella always has had support for the Jabber/XMPP protocols but this is not true. On the 27th of January 2002 (<a title="The first submission of the Jabber protocols to the IETF as an Internet-Draft was made in a month later!" href="http://www.xmpp.org/about/history.shtml">coincidence?</a>), Whiteboard-0.93 was released. This was the first release '<cite>adapting to the jabber XML IM server system</cite>'. The peer-to-peer "Whiteboard protocol" was only removed earlier this year, in <a href="/coccinella-0.96.0">Coccinella 0.96.0</a>. Also, it would be cool if Coccinella could adapt to a good whiteboarding XEP...which first should be made of course. See also Mat's related <a href="/memo/sync">memo on synchronisation</a>. /me pokes the XSF. ;-)</p> </td> <td> <img title="Balloons for Coccinella" src="/stuff/PureImagination.jpg" alt="Balloons for Coccinella" /><br /><em>Credit: <a title="Kristopher Tate" href="http://flickr.com/photos/findyourownpath/409704275/" rel="nofollow">K. Tate</a>, License: <a title="Creative Commons &#10;Attribution-Noncommercial-No Derivative Works 2.0 Generic" href="http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en" rel="nofollow">by-nc-sa</a></em> </td> </tr></table><h1><a name="cheat" id="cheat">Cheating</a></h1> <p>Implementing Jabber support was not as tough as it could have been <a title="Standing on the shoulders of giants" href="http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants">thanks to the work done</a> by the Jabber Tcl/Tk Team in 1999 and beyond. Mats 'simply' could recycle the JabberLib client library made by this project (<a title="JabberLib home" href="/JabberLib">Mats' fork of JabberLib</a>). Five months later, on the 3rd of July, the <a title="...which celebrated its 5th birthday this summer" href="http://tkabber.jabber.ru/birthday-5">Tkabber project repeated the same trick</a> by forking JabberLib for a second time. So, today there are 2 separate forks of the original JabberLib. This also means that these are probably (correct me if I'm wrong) only 2 active Jabber-only clients which have such mature Jabber roots.</p> <p>Besides that, there are at least 2 projects using Mats' JabberLib fork. However, which projects these are and more details about these projects will be the topic of a further blog post as this one is already getting too long :-)</p> <h1><a name="presents" id="presents">Birthday Presents</a></h1> <p>We have 2 presents for Coccinella's birthday. First, there is the updated website design including <a href="/node/111">Néstor Díaz's new logo design</a> (do you like it?). Secondly, there is a secret present which will be revealed tomorrow. So, stay tuned!</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="/website" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Website</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 class="field-item even"><a href="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div></div></div> Sat, 01 Dec 2007 20:20:46 +0000 sander 134 at /birthday8#comments Your art contributions are welcome /node/111 <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><img src="/stuff/logo.png" width="496" height="112" alt="some of Néstor's work" /></p> <p>As you can see above, <a href="http://www.grupoikusnet.com/">Néstor Díaz</a> did a great job with creating nice Coccinella art. However, he has no time these days whilst the Coccinella experience still could be improved by more art contributions. So, do not hesitate to <a href="/people">contact us</a> or to add a comment if you are interested in contributing art!</p> <p>PS: of course other contributions are welcome as well ;-)</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="/various" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Various</a></div></div></div> Tue, 16 Oct 2007 18:59:57 +0000 sander 111 at /node/111#comments Why Transports Matter /whytransportsmatter <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><em>This is an open letter to all people related to the content of this article. So, you better read everything to see if that includes you ;-)</em></p> <p>Instant messaging clients like <a href="http://www.pidgin.im/">Pidgin</a>, <a href="http://www.adiumx.com/">Adium</a>, <a href="http://www.miranda-im.org/">Miranda</a> and <a href="http://kopete.kde.org/">Kopete</a> combine support for different instant messaging networks in one program. They often also support platforms that are not supported by the official client software. Therefore, these so-called multiprotocol clients are seen by many as a good thing for interoperability. However, I strongly disagree on this. Instead, my analysis sounds the opposite way:</p> <ul><li>Multiprotocol clients are a curse for interoperability.</li> <li>Multiprotocol clients hinder adoption of open standards like XMPP and SIMPLE.</li> <li>Multiprotocol clients even hinder their own adoption!</li> <li>Multiprotocol clients explain why "the Firefox of instant messaging" does not yet exist.</li> </ul><p>In this article, I will explain these tough claims. Also, I will elaborate about a possible strategy for those who would like to <a href="http://nugget.livejournal.com/97081.html?thread=259129">get rid of closed non-interoperable instant messaging networks</a>. In short this strategy is simple: we need to render the <a title="other example of walled gardens" href="http://news.bbc.co.uk/1/hi/technology/6944653.stm">walled gardens</a> pointless by destroying the reason they are more profitable than open networks.</p> <h1><a name="curse" id="curse">Why a Curse and Why Transports?</a></h1> <p>In this section, I will tell you why multiprotocol clients do not help much to fight closed networks. Not much, as a lot of resources are <em>wasted</em> in these projects which could otherwise be used in a more effective way to get rid of closed networks in favour of open networks. Without closed networks there would be a very friendly and innovative environment suitable for the emerge of "the Firefox of instant messaging".</p> <p>Ok, but what is the right way to fight closed networks? The right way is a combination of several dedicated XMPP clients with some darn good transports. Transports are server-side gateways that allow XMPP clients to connect to closed networks <strong>without</strong> any significant effort like reverse engineering or designing a multiprotocol architecture. To be more clear about this abstraction, transports translate the language of the XMPP client to the language of a client on a closed network without the XMPP client knowing that language.</p> <p>Time for the core of this article...Why transports matter:</p> <ul><li> <p>The <strong>quality</strong> of support for open standards like XMPP is lower in multiprotocol clients than in dedicated XMPP clients. This can be easily explained by the increased complexity of the software to support multiple protocols, but this is only a minor point that can be solved by having enough eye balls to catch bugs. More important is the fact that XMPP is less used by geeks compared to popular closed protocols. Hence, there are more eye balls looking for bugs in closed protocols support than to catch bugs in XMPP protocol support.</p> <p>Compare this with instant messaging clients dedicated to the open standard protocol XMPP. First, these clients don't need a complex multiprotocol software architecture. Second, their reason to exist is XMPP support. Thanks to this dedication, the quality of XMPP support is more likely to be much higher than that of unfocused multiprotocol clients. A bug that breaks XMPP support is a major issue in XMPP clients whilst it is a less major issue in multiprotocol clients as these clients will still be usable for other protocols.</p> <p>Transports matter because they force end users whom mostly use closed networks to contribute their "eye ball capacity" to XMPP support.</p> </li> <li> <p>The <strong>'instant messaging experience'</strong>(or innovativeness) of multiprotocol clients is lower than that of the official clients for the closed networks. They run behind because of the required reverse engineering, the complex software architecture, and the tendency to only support features common to the majority of supported popular networks. They tend to <a href="http://blog.bluendo.com/ff/which-interoperability">limit their feature set to the least common denominator of its constituents</a>, which can be very small. They cannot influence the future of the underlying protocols as these protocols are controlled by the companies owning the closed networks. Where is the room for innovation? There is no room for this as multiprotocol clients simply can <em>never</em> take over the lead of the official clients in designing the future of the closed protocols.</p> <p>Dedicated XMPP client projects instead, fully focus on a single protocol that is extremely well documented and thus don't needs any reverse engineering. Moreover, XMPP client projects <a href="http://mail.jabber.org/pipermail/standards-jig/">can have their say in the future of the underlying protocols</a> and even can <a href="http://www.xmpp.org/extensions/xep-0001.html">propose their own protocol extensions for standardisation</a>. That's an open door for unlimited innovation!</p> <p>Transports matter because they allow XMPP client projects to fully focus on innovation without losing interoperability with closed networks and without being influenced or hindered by the closed networks. Transports allow XMPP clients to lead the instant messaging world, instead of following the closed networks owners, like multiprotocol clients tend to do. The later can be compared with Mozilla: no focus, complex, not sexy, following the leader(s), not popular, and so forth. The combination of dedicated XMPP clients and transports could become like Firefox: focused on open standards, innovative, taking over the leadership position, very popular, and so forth.</p> </li> <li> <p>The <strong>image</strong> of open source multiprotocol clients hurts the broader open source image. Open source multiprotocol clients do not lead in their environment and are seen as poor extracts of the official clients. Unfortunately, this poor image of being a follower instead of a leader means the public will associate open source alternatives by definition with poor extracts of the real thing. Hence, people even may not try XMPP because of earlier unsatisfying experiences with multiprotocol clients.</p> </li> <li> <p><strong>Choice</strong> on closed networks is created by multiprotocol clients. Multiprotocol clients allow people who for some reason cannot or do not want to use the official client to connect to closed networks. This choice also reduces the vulnerability of closed networks to malware. You may think these are all good things, but in fact they hinder adoption of open standards like XMPP.</p> <p>Imagine a world without alternatives to official clients for closed networks. All people who are today contributing to the multiprotocol part of multiprotocol client projects would focus on XMPP and server-side transports. Client projects wouldn't be forced to do urge releases due to some compatibility change in the closed network protocol. Development would be totally independent from the closed network owners. Focus can be directed to innovative client features in the XMPP world. All end users using one of these clients in combination with transports would use XMPP. So, every user would contribute to the maturity XMPP, even if they only want to communicate with people on closed networks!</p> <p>Transports matter because they can lead to more and higher quality choice in the XMPP world. More choice because the existence of very good transports make it more interesting to create XMPP software. Higher quality because all end users will use the XMPP code, even if they only use their XMPP client to connect to closed networks.</p> </li> <li> <p><strong>Flexibility</strong> of multiprotocol clients is extremely low. Multiprotocol client projects are bloated. They need testers for all integrated protocols. The complexity of the multiprotocol architecture needs maintainance. Large changes in the support for one protocol are not easy if this could break support of other protocols, and if they make such changes they have to do this very carefully. Multiprotocol client projects tend to first add features common to all integrated protocols instead of adding innovative features.</p> <p>Compare multiprotocol client projects with XMPP client projects. Look at the number of innovative protocol features in multiprotocol clients compared to XMPP clients. Also consider how many coders are involved in the different types of projects. The following statistics from ohloh.net about contributors over the entire history of the project can help you. Of course, these numbers are not 100% accurate at all (e.g. some projects give translators commit rights whilst others don't), but still, the significant differences give an indication:</p> <table><tr><th>Multiprotocol Clients</th> <th>XMPP Clients</th> </tr><tr><td>Pidgin (33), Kopete (100), Adium (52), Miranda (22)</td> <td>Coccinella (3),Tkabber (2), Psi (7), GOIM (5), Spark (10), Gajim (19), JWChat (3), Bombus (1), Freetalk (4)</td> </tr></table><p>The fact that there are more active dedicated XMPP clients in the wild than there are active multiprotocol clients says a lot about the required community size to sustain a less complex but focused XMPP client.</p> <p>Transports matter because they move the maintenance burden and release burden (no forced releases) away from the client projects. They increase the projects' flexibility and development speed (less and shorter testing periods, less complexity). They move away the eventual legal issues in some countries from the client project to a server project which is more suitable to benefit from today's globalised world. A country eventually can forbid multiprotocol clients, but it never can forbid inhabitants to use a transport service hosted in another country without being punished with a trade war by other nations as this would be a trade barrier in services.</p> </li> </ul><h1><a name="solution" id="solution">The Solution</a></h1> <p>Multiprotocol clients should become single protocol clients. To accomplish this goal I propose to "steal" community of multiprotocol client projects in favour of XMPP software so that their 'community resources' will become insufficient to sustain a complex design for multiple protocols. We also can ask them to drop support for closed protocols, but I'm afraid they will just laugh at us.</p> <h1><a name="tactics" id="tactics">The Tactics</a></h1> <p>To "steal" community of multiprotocol client projects, he reasons why end users chose multiprotocol clients should be eliminated. Currently, I see two constructive ways to do this:</p> <ul><li> <p>Help the <a href="http://winehq.org/">Wine project</a> to support the official clients. In this way, the hard task of reverse engineering and maintaining the proprietary protocol code becomes less urgent for people who contribute to multiprotocol clients, and they may stop doing their hard work. Also, end users will be more happy on their new platform as they can stay using the client they are used to. They can use all features of this closed network...including all misfeatures of the client. If this end user wants choice, he has to install an XMPP client.</p> <p>Note also that official instant messaging clients for closed networks are strategically an interesting target for the Wine project. Instant messaging clients are probably the most important application of younger people. These people like to experiment with new operating systems. However, they face huge switching costs as they cannot run the instant messaging client their friends use. The switching costs are higher if they need to use an alternative client as they need to learn a new interface for their most important application, and because the alternative multiprotocol client probably does not has all features of the official client.</p> <p>As a side note, you can see why the Mac OS X version of Windows Live Messenger can't be compared with the Windows version. You also see one of the reasons why Microsoft will not adopt XMPP soon: it hinders youngsters to switch to non-Microsoft platforms. But if the Windows version of Windows Live Messenger can fluently run under any platform thanks to Wine, Microsoft loses a good reason to not adopt XMPP. Note that I do not say they will per se adopt XMPP afterwards!</p> </li> <li> <p>More and better transports are needed to allow XMPP clients to compete effectively with the key feature of multiprotocol clients: interoperability with multiple closed networks. Multiprotocol clients can't innovate as fast as XMPP clients can (see above), so we can <a title="Judo Strategy to tackle multi-protocol clients and then closed networks" href="http://hbswk.hbs.edu/item/2373.html">tackle them on the interoperability feature which is XMPP's core feature</a>. </p> </li> </ul><h1><a name="wishlist" id="wishlist">Wishlist for Transports</a></h1> <p>Currently, there is lot's of room for improvement of transports in XMPP land. Because transports are a key feature in the success of Coccinella and other XMPP clients, we would ask the broader XMPP community to improve the current situation regarding transports.</p> <p>Wishlist for transports:</p> <ul><li> <p><strong>Focus on reliability of service</strong>: uptime, hot code update, fail-over, clustering to bypass blocking, and so forth.</p> </li> <li> <p><strong>Focus on reliability of compatibility</strong>. Fast deployment of fixes for protocol updates by the closed network owner is what we need. The faster transports are updated, the more expensive and thus the less interesting it becomes for closed network owners to change their protocols to block alternative software.</p> </li> <li> <p><strong>Focus on basic interoperability features only</strong>. Text messaging and presence should be the focus. Other features are not important and only make it harder to maintain "reliability of compatibility".</p> </li> <li> <p><strong>More closed networks</strong>. Transports should cover all closed networks.</p> </li> <li> <p><strong>XMPP based ideology</strong>. Transport projects should favour the XMPP world in the first place. "What XMPP feature will I map to the closed network today?" instead of "What closed network feature will I map to the XMPP world today?" XMPP protocols should be written first and only after that we should look if they can be mapped to closed networks, we should not write XMPP protocols to get similar features as the closed networks have. Taking the lead means not copying features, instead it means innovating with unique protocol features.</p> <p>Also, transports should be friendly only to people on the XMPP side of the gateway. People on the other side of the gate should get what they have chosen for: no openness, no help, and a bad experience. For example, an error message should sound "You cannot send this file to your contact because your software is not interoperable. Please contact &lt;name of network owner&gt; for more information." instead of "You cannot send this file to your contact because your contact does uses an XMPP client. Please consider switching to XMPP to fix this issue.". When the XMPP user wants to send a file to his contact on the closed network it should sound: "We are sorry but this file cannot be send because your contact uses a chat system that is not interoperable. Please consider to ask your contact to switch to the open XMPP. This issue cannot be fixed without the help of the closed network owner. May we therefore also ask you to sign the petition on &lt;URL&gt;? By supporting this petition, you ask the owner to open its closed network and by this offering a better service to you. This interoperability issue can't be fixed without their help". </p> <p>As you can see, with a difference in approach we can forward all troublesome interoperability experiences to the real responsible instances (the owner of the closed networks). In this way end users will not associate the issues to XMPP and they may even understand open standards fanboys! This can mean a big thing for the image and popularity of XMPP.</p> </li> <li> <p><strong>No lock-in feature of a server</strong>. As is normal in good open standard communities, any lock-in is seen in the XMPP community as evil because it is bad for the emerge of the open standard. Lock-in also can be the root of a software monoculture. We also don't want that. Luckily, server projects are making their components <a href="http://www.tigase.org/node/1279">compatible</a> with <a href="http://www.process-one.net/en/blogs/article/epeios_write_a_module_for_an_xmpp_server_once_run_it_everywhere/">other servers</a>. And hopefully, <a href="http://www.igniterealtime.org/community/blogs/pocasts/2007/09/11/external-vs-internal-gateways">this server</a> will follow soon. But we are not there yet.</p> </li> <li> <p><strong>Shaped to die fast</strong>. Transports' main goal should be to die as fast as possible. If a transport project dies it may mean the related closed network became open or went offline! Transports should be tools of <a href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/files/academic/Couseoverviewandcases-JudoS.pdf;jsessionid=GZ2Z3AMUO4TROAKRGWCB5VQBKE0YOISW">judo strategy</a>:</p> <blockquote><p>The central message of Judo Strategy is that [instances] facing more powerful opponents should avoid head-to-head struggles and other trials of strength. Instead, by employing speed, agility, and creative strategic thinking, they can shape the dynamics of competition in ways that prevent rivals from taking full advantage of their superior strength. At its most effective, judo strategy can even transform an opponent’s apparent advantages into strategic liabilities that undermine his or her ability to compete.</p></blockquote> </li> <li> <p><strong>Sexy software</strong>. Transports should become sexy software projects with a nice website, good documentation, a good community, easy installation and configuration, and so forth. But this item is obvious :-)</p> </li> </ul><h1><a name="about" id="about">About me</a></h1> <p>In case you want to argue on my thoughts, consider all next facts before you reply:</p> <ul><li>I am no real coder; my speciality is copy-paste coding :o) and other ways to contribute to open source projects</li> <li>I like open standards</li> <li>I like XMPP</li> <li>I like unlimited choice in all XMPP software</li> <li>I don't think XMPP software is so good it can't be improved</li> <li>I don't believe Coccinella is so good it can't be improved</li> <li>I also like other XMPP clients; monoculture is evil</li> <li>I like successful open source projects like Firefox and Ubuntu because they increase popularity of the broader open source world</li> <li>I don't want multiprotocol client projects to die, they just should become dedicated to only one open standard (preferably XMPP)</li> <li>I prefer Konqueror over Firefox, but I also like Firefox</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="/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, 17 Sep 2007 16:25:30 +0000 sander 94 at /whytransportsmatter#comments