Adam Gomaa has a well thought out piece on the differences between Django and Pylons. If you haven't read it, you should check it out. The gist of the article is that the concept of conceptual integrity really can be the differentiating factor in making a framework really work for the programmer.
Since Satchmo is supposed to be a framework for creating online stores, I think there are things to take away as Satchmo grows. For instance, we all know that documentation is important but this article helps to reinforce it from another angle. This quote -
Brooks says that moving something from being a program to a programming product takes three times as much effort as writing the program itself. This effort is put into documentation, maintenance, refactoring, and stability. This effort has not been put into Pylons.
really hit home for me. I don't like to throw stones but this quote could probably apply to OsCommerce. We need to keep in mind that Satchmo isn't all about cool new features. We need to make sure it is well documented, thoroughly tested and really stable.
One of the most difficult things for me is figuring out when to add features to Satchmo. When we first started, I was willing to add just about anything anyone wanted if I thought that it would make the application more appealing. Now, as more people use it and have suggestions, I find myself trying to figure out what we should add versus letting the end user add. This passage might be a useful guide:
When someone uses a framework - or, for that matter, a programming language - what they are really doing is delegating decision-making to someone who they think will have better judgment.
We need to make sure we are balancing the new features with backwards compatibility and stability. Overall, I don't think we're making any major mistakes but I do think it's important for me to pause sometimes and make sure the project is moving in the right direction.
So, how are we doing? What could we do better?
#1 jeff commented, on January 8, 2008 at 3 a.m.:
You aren't marketing yourselves well enough. When people hear of the great work you're doing, more developers will join.