Unique-ISH Features
Or perhaps "Uniquely Feature-ish", which could be shortened to "U-Fish", which would be oddly appropriate as a double-entendre... What the hell am I talking about?
When I finished the initial draft of the Galleon Forum ports article where I showed side-by-side samples of code from several popular ColdFusion frameworks plus my own blasphemy, I included a section toward the end of the article titled "Unique-ish features". Once or twice over the years, I've been asked what I think are the "unique features" of the onTap framework and I've always said oh well the SQL library (ORM) and the XHTML library and I may have mentioned one or two other things... but in the article I made a point of mentioning that there really isn't such a thing as a "unique feature". There are only "currently unique features", meaning that it hasn't been replicated or ported to any other contexts... yet. Any feature can be ported to whatever framework or other context where you want to use it.
I realize that I'm going to have to edit that section again. If you look at the list of features, you can see the obvious bias in the list of features and I'm pretty sure I'll be adding some to the list for ColdBox and Model-Glue because I overlooked them (or wasn't aware of them). But what I really overlooked is that I made no mention of the goals of each framework project. The onTap framework has a goal of being a full-stack framework, that's no secret. It is that way because that's what I feel is most helpful to me personally in producing what I feel are good solid application very quickly. There's a fair amount of the same kind of "bells and whistles" stuff in ColdBox as well. I personally perceived Model-Glue as being fairly sparse, although that may be because I wasn't interested in the IoC or the scaffolding at the time.
And then I noticed an article on Peter Farrell's blog about feature requests for the next version. I'm going to quote Peter here so you can have a better idea what I'm talking about:
YOUR SUGGESTIONSFeedback from users of any project is the only way we can develop software that works for you. No suggestion is too stupid to be said here, but don't be offended if we question if it is in line with the core values behind Mach-II. This is our job ;-)
We have no plans to introduce "full stack" features into Mach-II. By "full stack" we are referring to things such as built-in ORM (since it's easy to integrate ORM already via a plugin or ColdSpring) or scaffolding. So please hold back suggestions that would clearly make Mach-II into the next Rails for ColdFusion project. If you're in doubt about the category of your suggestion, then please offer it up, but don't be offended if we categorize the suggestion as "full stack".
So if you were to put the timelines of these projects, mine, Model-Glue and Mach-II all out on a sheet side by side, you might see lots of little dots on the map for the onTap framework showing where little helper features were introduced or enhanced and maybe a few less on the line for Model-Glue and then the line for Mach-II would be pretty sparse (though they do add features). And you might think "oh Mach-II isn't very actively developed". But that's misleading because their scarcity of features isn't an indication of the amount of time the team devotes to that project. Indeed the Mach-II team are also devoting time to other related things like training and I understand they were doing some training in the hotel just before cfobjective. The fact that their "feature list" is sparse is much less an indication of their involvement with the project than it is an indication that they have a very specific goal to keep the project from becoming inflated with lots of ancillary code. They want to keep the project small, that's their goal.
Long story short, it's not entirely fair to view the list of "unique-ish" features the way that you might see them in the product comparisons on the back of a box of software where the manufacturer shows a long list of features with a column for each of their competitors and check marks next to each feature showing how their product has more than any of the other products. If you want a project to which very large amounts of forethought are devoted to each new enhancement and the project itself is kept small and you can "grab it and go" and it doesn't make you download all sorts of things you're not going to use, then Mach-II would be a very good choice.
And then you can integrate it with DataFaucet to use for your ORM. ;)

There are no comments for this entry.
[Add Comment]