[Catalyst] RFC: The paradox of choice in web development

Kieren Diment diment at gmail.com
Sun Feb 15 21:13:48 GMT 2009


On 16/02/2009, at 7:31 AM, Octavian Râsnita wrote:

> From: "Jay Kuri" <jayk at ion0.com>
>> I think it's a mistake to try to compete with Rails for the newbie.
>> Some large percentage of newbies will never do anything more than
>> occasional tinkering if they stick with web development at all.  We
>> have limited resources and we don't want to waste our time there.  To
>> make Catalyst accessible to the rails-like newbie, we have a TON of
>> work to do and it's the wrong direction, in my opinion.
>
> I think most of Catalyst users agree with this.
>
> I think Catalyst shouldn't target the market of small personal web  
> sites stored on free web servers, or on $5/month web servers.
>
> But I also think Catalyst shouldn't target only the very big sites  
> like Amazon or Ebay, but all the software companies that create web  
> applications for their clients, but of course, the serious software  
> companies, not those that have 1 or 2 developers.
>

I've written two single-user  run-the-dev-server-to-get-the-front-end  
apps with Catalyst in the last 4 months or so (using Catalyst rather  
than a gui toolkit because 1.  I don't know how to program a real gui,  
and 2.  the apps functions are both very closely coupled with the  
www).  One is a simple web publishing tool that once I've written the  
developer docs I will open source this week.  The second is a text  
mining tool that integrates with Zotero ( http://zotero.org whose 45  
table database schema I have to interrogate, and integrate with a much  
smaller metadata-database) I need to polish this a little bit more  
before I can release it into the wild.  Oh yeah, both these apps work  
on OS X, Windows and Linux systems, and as the user base are windows  
users on managed desktops, I've even got an installer that will  
reliably get my apps deployed without bugging the administrators.

So my point is that Catalyst scales well at both ends.  9 million  
requests per day?  Make sure you've got some competent systems  
architects on your team.  Single user app?  That's a pretty simple  
deal if you have a developer or small team who understand the problem  
space properly (as a lone gun I've found that feature creep is my  
biggest enemy).  Once you're through the learning curve, Catalyst's  
flexibility is a sunk cost, and the subsequent learning that you have  
to do is generally much more closely related to the problem space for  
your app than the mechanics of the framework ( I think this is  
noticably different with other less flexible frameworks).  So the goal  
of the book we're writing at the moment isn't a walk-through tutorial,  
but a set of materials designed to get you from raw beginner through  
the entire catalyst learning curve as quickly as possible  - i.e.  
minimising the cost of the learning curve.

My experience watching IT projects (I am not a real programmer) is  
that project success is frequently a function of the size of the team  
- there's a sweet spot or somewhere between 3 to 5 developers where  
productivity is maximised.  Once you get over 10 develoers then it  
seems to me that there are too many parts in the system, and you get  
bogged down by friction.  I think java, .net and maybe python are  
probably more suitable for large teams due to the relative  
inflexibility of the syntax, and the verbose approach to semantics -  
this provides some compensatory lubricant for large teams.  OTOH I  
think that perl can't be beat for teams at the ideal size  - Ruby is  
competing in this space, and we'll see how they go over the next  
decade.  Oh if you have a large project + high levels of political  
input + not directly related to government  revenue collection  
activities = FAIL :)


More information about the Catalyst mailing list