I am Joannes Vermorel, founder at Lokad. I am also an engineer from the Corps des Mines who initially graduated from the ENS.

I have been passionate about computer science, software matters and data mining for almost two decades. (RSS - ATOM)


Entries in web (25)


The quest of the fail-proof hosted service

There isn't many 100% reliable hosting providers; yet when I buy an hosted subscription plan, I expect no less than a 100% uptime services.

So far, I have discovered only two fail-proof hosting services

  • blog hosting, not a single issue for more than 3 months of service.

  • Subversion hosting, not a single issue for almost 1 year of service.

Such a quality of services is truly worth to be mentioned and praised.

Mar132007 review: reducing the PAD pain

There are a lot of things that are simply wrong in PAD files. My previous experiences of PAD file submission for Resx Editor and Lokad ASP.Net Sales Forecasting were just terrible. I did end up submitting my PAD URLs at random for hours to hundreds of crappy directories (because most online directories do not even work) without knowing whether this work would actually lead anywhere.

Three weeks ago, it did bargain 80 euros or so and gave a shot to and it saved me much more time that I would have even imagined.

Automated PAD guidelines analysis

The first and foremost added value of Submit-Everywhere (S.E.) is not submission, it's PAD proofreading. Basically, once you've published your PAD, S.E. starts performing guidelines checks on your PAD file. The process is very similar to what is performed by FxCop for .Net code but transposed on PAD files. The issue is not too achieve a valid PAD document (which is almost completely trivial) but to achieve a well-designed PAD file. In this matter, I found out that S.E. had quite a lot of smart guidelines (ex: create a dedicated e-mail address for each PAD submission); after my initial submission I have been correcting more than a dozen of elements in my PAD file based on the S.E. suggestions.

Massive PAD submission

S.E. is not lying about its massive submission, S.E. is really submitting your PAD file to hundreds of websites. Actually, many websites require some minimal human intervention to validate the submission; and S.E. is precisely taking care of that for you. In addition, once the submissions are done, you receive a summary that recaps the status of all submissions; and most importantly, the reasons why you software did end-up rejected from certain directories. The most common reason for being rejected is that your product does not match the scope of the directory (some directories are specialized on video games for example).

As a final note, I would add that outsourcing your submission work to S.E. is really painless. The process is e-mail driven, you get an automated e-mail containing some instructions (usually a suggested change on your PAD file), you follow the instructions and finally you reply in order to get the next instructions. Each e-mail is self-explanatory which makes the process really simple to follow.

Until a better PAD standard is devised, Submit-Everywhere is definitively a must-have if you do not want to be driven nuts by PAD submissions.


What's wrong with PAD files

There are quite a lot of things that are just simply wrong in the IT industry nowadays, I have already discussed the case of the Google Adwords, let's move to the subject of PAD files.

PAD stands for Portable Application Description, it's an XML format designed by the shareware industry to facilitate the submission of software products to software directories. The idea is pretty simple and pretty nice. As a software manufacturer, you create a PAD file for each one of your products; then you publish this PAD file directly on your website. For example, when Lokad did release its first open source product named Lokad Sales Forecasting for ASP.Net, I have created (and submitted) a PAD file for this application.

Submitting through cut-and-paste

Before PAD, you were just manually submitting your product description to every software directory of the web. Now with PAD, you're still submitting your product description to every single software directory on the web; but the submit operation is now (usually) restricted to a single operation: cut-and-pasting the URL of your PAD file. The support for PAD among the shareware/freeware distributor industry is really impressive. I would guess that over 95% of the freeware / shareware industry now supports PAD files.

But the only thing really impressive about PAD is its absolute lack of design.

When the XML design makes no sense

As a software producer, you don't need to manually generate your PAD file, you got a free editor for that. Yet, I don't think I have ever seen an XML schema that is so massively adopted while being so poorly designed.

They are so many issues with PAD that it's actually hard to even summarize the topic. Following a quasi-random order, the main PAD issues would be

  • You need to specify the size of your software in bytes, kilo-bytes AND mega-bytes (File_Size_Byte, File_Size_K AND File_Size_MB). Don't you think that this information is somehow redundant?

  • The requirement description is restricted to OS version. What about required 3rd party software like DirectX or .Net?

  • Open source (or source availability) is not part of the fields; furthermore it is not really possible to use PAD to describe open source software.

  • Software components / library cannot be described. It does not really "fit" the PAD template.

  • The software category field make no sense; a tag based system (think would have been some much simpler AND so much more efficient.

  • No (X)HTML support for your description fields. Your software description ends up plain text. As a result, big lump of texts (like the 2000 characters description) are almost totally unreadable.

  • No consistence in XML tags naming
    • some tags are UPPER_CASED

    • some tags are Camel_Cased

    • some tags are explicit Program_System_Requirements

    • some tags are abbreviated Char_Desc_45
  • The localization makes no sense (localizing a software ~ translating the software + adapting to the regional settings)
    • only the Description tag can be localized.

    • not possible to localize the other fields like contact or support emails, like the screenshot.

    • no encoding specified upfront in the XML file.
  • The company address fields makes no sense for non-US locations (State_Province only apply to USA/Canada).

  • Why hard-coding the cost in US Dollars (Program_Cost_Dollars)? There are a lot of currency out-there. Then why not being able to support a price list? (list of currency/value).

  • The Download URL section is just moronic. You can specify up to 4 download URLs (why 4?) and the each URL gets its own special tag with no naming consistency
    • Primary_Download_URL / Secondary_Download_URL / Additional_Download_1 / Additional_Download_2

    • why not simply providing a URL lists?
  • The screenshot section is restricted to a single image URL. Why not a list?

  • No extensive mechanism for the affiliate programs (because the list of affiliate programs is hard-coded).

Note that all those suggestions would have made PAD easier to document, to produce and to consume.

Then some high-level criticisms could also be made

  • no mechanism to link to other PAD files (especially useful to support software versions).

  • no persistent mechanism using Global Identifiers (especially useful to detect replicated PADs).

  • no mechanism to retrieve the PAD files by simply crawling the web (think XML feed links in HTML pages).

Summary: PAD has been designed by junior high kids (probably)

Based on the previous elements, we could say that the PAD authors had no clue about

  • XML design: tag naming is random, data structures like lists are ignored.

  • Web design text readability is not a concern, screenshots are unimportant.

  • The world outside of the USA: utterly naive attempt to support internationalization.

  • Software industry: operating systems are the only components worth to be mentioned.

Still, I think that a Portable Application Description is based on a good idea, but it would really need to be re-designed from scratch.


WetPaint is far too expensive, migrate or die

WetPaint is a hosted wiki solution. Although Wetpaint still lacks from "professional" wiki features like being able to insert custom HTML or scripts, it's a nice, simple wiki application with a great look&feel. I have triedWetPaint, I did even use it for while for; but looking back, it turned out to be a really BAD move. I have finally manually removed all the content from my wetpaint wiki (because there is no "Remove my wiki" feature available); and I have migrated all the content to, a wiki powered by ScrewTurn.

It can be argued that moving to ScrewTurn may not be the optimal solution (they are tons of open source wiki software available out there, see the wiki matrix ); but moving away from Wetpaint is the only solution that can be considered if you fall into the WetPaint trap. Yes, to all the people using WetPaints, I strongly suggest to re-consider and start thinking about moving your wiki somewhere else.

WetPaint owns your traffic

For those who thinks that wetpaint is a "free" wiki, it's not. It's neither free as in "libre" nor free as in "free beer". Wetpaint inserts Google Ads in your wiki without providing a paid subscription plan to remove them. Let's look at the problem this way: if the traffic of your wiki stay low, then any $2/month hosting solution will be sufficient to host your website; but if your web traffic starts to go up, then WetPaint takes 100% of the advertising profits generated by your content.

No matter how you look at it, the content of your wiki is worth more than $10/month, the price to get an hosted wiki. As, Jacob Nielsen pointed out long before me, free solutions have terrific costs. If you think that the wiki that you are starting is not even worth $10/month; then starting a wiki might not be a good idea in the first place.

You end-up advertising for your competitors

The worst part of the WetPaint ads is actually the accuracy of the Google Ads system. Indeed, the Google algorithm are really efficient to optimize the ads displayed on your wiki. But what are the ads the most relevant to your wiki content? Well, it's simply the ads of your competitors. Choosing WetPaint means that you are granting your competitors the right to advertise on your website.

This is the WetPaint trap; and I have been sufficiently foolish to fall for it for almost two weeks. Actually WetPaint people are smart, thus, as long as they are able to track you (through Cookies), WetPaint don't display any ads. The longer it takes to realize the situation, the more painful the migration. Migrate now or you will soon experiment the true cost of this free application.


What's wrong with Google AdWords

I have been using AdWords for quite a time, having setup ad campaign both for (freelance translation marketplace) and for (business time-series forecasting). And, being both a AdWords consumer (yes I do click on ads) and an AdWords publisher, I must say it’s quite surprising to see a company weighting hundred billions of dollars, with a business so crippled with long-lasting intrinsic issues. Please note that this post is not a complaint against Google, they are quite good at what they are doing; my point is that the AdWords business model is really weak against adversarial behaviors.

Adversarial behaviors

First, let me clarify what I mean by “adversarial behavior” here. Put very simply, it’s a situation where an actor (can be a company, an individual) does not play by the rules (can be the laws, can be ethics, can be traditions) and attempts to exploit system weaknesses for its own profit with no overall benefits for the society as a whole. I would oppose this behavior to a “constructive behavior” where an actor attempts to make profits by building wealth with a positive overall benefit for the society.

Typical adversarial behaviors includes stealing, cheating, lying. To avoid those issues, most modern societies have laws to fight those behaviors. On the web, the situation gets more complicated. Not because law does not apply to the internet (which is totally untrue) but because laws gets really complicated to enforces. For example, if you’re caught stealing $10000 to your neighbor, you’re in trouble. But what happen if you’re caught stealing $0.001 to 1,000,000 people from 30 countries over the worlds? Well most probably nothing is going to happen, because nobody is going to complain for 0.1cent.

Such situation is precisely what is causing spam. There are a lot of spammers; the impact of each spammer is low on the global scale, but all together the spammers are a real pain for everybody. E-mail as it has been designed several decades ago is super weak against adversarial behaviors. Yet, also the problem is very well known, it’s still quite easy to mess up, see the Coding Horror story about trackbacks .

The Google AdWords case

It has been quite a lot introduction, but the point I will defend here is that AdWords are almost as broken as the e-mail system to fight adversarial behaviors. Let’s review what I get for “open source ecommerce”, I have pasted below the result obtained at 2007-01-07

Sponsored Links

Ecommerce Open Source
Open an ecommerce website or an
eshop. Try free!

Open Source Ecommerce
1000’s of Great Programmers Bidding
Fast & Simple Project Outsourcing.

Open Source Ecommerce
Find the Top Links on
Open Source Ecommerce

Open Source Ecommerce
Open Source Ecommerce?
Get More Helpful Free Info Here.

Ok, what’s wrong with this listing? Actually the first result is just a blatant lie, is absolutely not featuring any open source solution (just check their web site if you do not believe me). Well, try to do that on a National TV show, and I am pretty sure that you get a class action the next morning. The second ads, for, is also a lie but I would say that it’s lesser lie since it can be argued that nothing prevents you to find freelancers to customize an open source ecommerce application. Google can’t be accused of willingly carrying lies, certainly they do not. Yet, they can discard their responsibility. Both and are lying here, but their behavior is not totally adversarial, they do both provide added-value solutions for their customers.

The two next results are more subtile but also more perverted. Those two links, and are not real website but just a super aggregation of advertising links. Yes, they do not feature any content, they just gather a huge amount of sponsored links into a self generated web directory (I suspect the directory architecture to be actually nothing more than the directory itself). Actually, what ever link you click in those websites is a sponsored link. I guess that the business idea is to buy cheap Ads from Google (notice that they are not the top results) and to sell random clicks from lost web visitor that happen to get to their website.Those trash websites represent a very significant percentage of the Google AdWords results (I would be on 20%).

Even Google is guilty

Just for fun, let’s see what we get for “make money fast” on Google (results obtained 2007-01-05). Note that the results are split in two sections, the first section being displayed before the actual search results, the second section being displayed on the side at the right of the search results.

Make Money Fast Have a website or blog? Earn revenue with Google AdSense.

Europe Trade LTD. 0.3% up to 4.5 % daily. Risk Free Short and Long Term Investments


Sponsored Links

Learn to be a super affiliate
Better Quit yr day job. It works!

Want to Make a Fortune?
Make $55,000 to 1,000,000 a Year!
Guaranteed success! - $49

Fast money work at home
Ultimate wealth package
try your luck and make1000’s


Sharemoney Investing
up to 385% return for 7 days
real short plan investment

Make Money Online
Secrets To Make Money Online
Revealed In Ebook. Free Download.

Make Money Online Today?
You can once you know this secret
Free audio shows how to get started

Well, I am quite astonished that Google put an ad titled “Make Money Fast”. To the people of marketing dpt. of Google Inc: Under-promise and over-deliver! and Don’t be evil!, anybody remember? Frankly, I will not even bother to review those links, they are all crap.As a conclusion, please don’t get me wrong, this post is not a Google bashing. Any company that will go in this direction (online automated Ad marketplace) will encounter the exact same problems. The “naive” technical solution (i.e. AdWords in its present state) is directly leading to this situation. Also no laws and no regulations will solve this situation. IANAL, but in France, I am pretty sure that there are enough laws to condemn every advertisers listed in this post.