[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