flameytag:blogs.perl.org,2009-11-03:/users/flamey//3742010-07-30T11:37:26ZA blog about the Perl programming languageMovable Type Pro 4.38Why so puzzled?tag:blogs.perl.org,2010:/users/flamey//374.8082010-07-30T08:55:06Z2010-07-30T11:37:26ZI'm really surprised that many Perl people are still puzzled at why Perl web apps aren't as popular, and there isn't as many of them as PHP's. Guys, in order for a Perl app to build up userbase it... *...flameyhttp://www.sochi-travel.info/
I'm really surprised that many Perl people are still puzzled at why Perl web apps aren't as popular, and there isn't as many of them as PHP's.

Guys, in order for a Perl app to build up userbase it...

* Must run on low cost shared hosting

There are ALOT of non-programmer people who are trying to run their own web projects and are starting up with ready, free solutions, that they want to minor-customize themselfs or are willing to pay a little to get small customizations. They most often not doing it for money, or are hoping to get some in the future, but don't have a clear idea on how to at the beginning. And most of them never will make any money, but more people try - more succeed, And those who don't succeed, pass on their accumulated knowledge. Anyways, so, they just get cheap/affordable hosting -- THESE are WordPress, phpBB, etc. users.

To Perl project to compete for these people, this means no mod_perl, no Catalist, no shell access to install modules that need compiling, etc.

Also, keep in mind that most shared hostings still have Perl 5.8.8 installed.

* Minimal dependencies

Because many hostings don't have interface to let you install modules from CPAN, or have strict restrictions on memory/cpu time usage and some modules won't complete the install even if there's an interface for CAPN installs (as in latest CPannel versions). Some hosting providers won't install additional modules for you in large numbers (1-2-3 ok, but more -- too much support, besides, some providers don't have Perl gurus in support).

* Should be Free

Obviously. Why pay if there are free alternatives? People are willing to live with less features and no support if they don't have to pay. Make money on support (once it gets popular), hosting, ads, etc... maybe on something specific to your app. But as far as I can tell, most popular web apps were not started to make money.

* Must be eazy to install

Absolutely. Upload, maybe set some permissions. Thats it.

* Must be eazy to configure

Stuff like simple looking URIs. PHP can really go without it, but for Perl.... most hosting providers won't let you run Perl scripts outside cgi-bin, and people don't understand the need for having "cgi-bin" in URI. Mod_rewrite is enabled on virtually every shared hosting account these days, so make it so that user installing the app doesn't need to manually edit the config files.

* Code must be maintainable

Because people will want to customize it, whether you like it or not (and you better like it, if you want your app to be popular).

So, can a Perl project become popular among masses? I belive it can. But it may require more effort from developer(s): less dependencies on CPAN (or include needed modules in our destribution), don't assume user is competent in Perl (in fact assume he doesn't know anything about it), add eazy to understand installation/config instructions, help others customize it by providing answers to their questions (oh, and, I think, people don't like mailing lists and irc that much these days. setup a forum, where knowledge will be accumulated and be always available to pass-by-ers).

Popularity among regular users brings interest from developers looking to make extra buck or gain some personal fame via customizations/plugins/themes/etc. Also, successful small tools end up in corporate world too one way or another. And the tools are written in specific languages, and thats how they become popular. I always thought all of theis was obvious....

So, keep these items on mind when you think up a great web app idea.

Or don't.

Continue writing code for enterprises, get your bi-weekly paycheck, and stop worrying about why Perl lost to PHP.