Saturday, February 23, 2008

New cut of Nitro

As you may know, I am the main developer behind the Nitro Web Application Framework. Nitro is almost a 3 year project now, and sadly it seems to have reached a dead end. The code base is unnecessarily complex and not documented while former active developers have switched to competitive frameworks due to my pathetic efforts to nurture the community.

For quite some time now, I am evaluating the situation and the limited success of the project. I have compiled a list of reasons of 'what went wrong'. This list, will be the topic of a future post, a ...postmortem if you will. That's right, the forthcoming Nitro/Og 0.50.0 release will be the last release of the project as it is.

I 'll still use 0.50.0 for my current projects, after all it's a flexible and robust framework that works great for me. In parallel, I am designing a prototype for a new cut of Nitro, this time implemented on JavaScript (and a little bit of Java) with quite different design decisions and methodology. The new Nitro (tentatively called N2) will incorporate everything I learned about programming for the Web and the management of open source communities over the last 3 years.

More details on this new project will be the topic of yet another post, so stay tuned ;-)

5 comments:

tea42 said...

I think it would be a shame just to throw the whole project away. With a little effort the project is still a viable one. And I think it is a mistake to start a whole new project with the same name --you'd just carry over the feelings about the old project, and force the old project out of a name. But of course, if no one is willing to work on it then it's a moot point, and it will end up in the trash heap anyway. I'm willing to work on it --as you know. But I certainly can't do it alone.

To be frank, I believe the project has ultimately died mainly b/c it was micromanaged to death. You made it very difficult for others to get tight with the code. You often made big changes without talking to anyone else about it first, and you seemed to make design decisions not based on good coding practices, but on "gut impressions". Plus, because you are using the project in production, you have become more concerned with not braking anything rather then fixing anything. That's what branches and versions are for! But they were never really used. I recall long ago someone saying on ruby-talk that they would not touch Nitro b/c the project's development process was flawed. Clearly they had a point. I just always thought it would ultimately get better.

I blame myself partly too though. I spent too much time considering "best designs" rather then just getting things to work. Sorry. That's my lesson learned.

William said...

Hi all ...

How is everyone? It is a good news, not so good news post from George. Perhaps if one gets to a 0.50 it is time to take stock and assess the options "from that point on". A wise move.


Then on the other side of the coin are some 'project management' level questions that most openSource projects take a long time to come to. Where there is data available, 20% to 40% of projects come to bear fruit. That means for every "Ruby on Rails" there are (statistically) between 3 and 4 to similar frameworks 'in gestation'.

You will get varying numbers, by and large the old 80:20 rule, rules. I find the interesting thing about all this is that the ratios are technology neutral. It my name were Marx, I'd say it is a "political challenge".


There are posts on these matters all over the place. My intention is to bring the consideration for post-mortem back to oversight issues such as Roadmaps, Function points, Procuct Information and (imho an under-supported technology of) Release Management.

I love "Nitro 0", it was/is something I've been actively seeking. From my personal perspective I've was looking forward to Nitro 0.5 as a stable baseline for my own experiments.

I'll be looking forward to the "N2" future. Hey George, perhaps you can call it "Nitrous". *lol*.

... Will

elathan said...

That's sad, but it's not the end of the world. I am curious, why you are killing the project instead of giving to it a last try? Since, you already know that by imposing a strict leadership could drive things to the wrong side, why don't you leave the project to the developers/volunteers to push it further?

BTW, are there any success case studies in using nitro for real world business (besides your pet projects)?

ANW, hope everything go well with your new vision! :-)

Regards,
Elias

pihentagy said...

Hi!

I tryied a mini project some time ago, but the lack of tutorial kept me away from using it.

I am sad, however, because it has some unique features, but without extensive documentation...

qweaq said...

wow gold!All wow gold US Server 24.99$/1000G on sell! Cheap wow gold,wow gold,wow gold,Buy Cheapest/Safe/Fast WoW US EUwow gold Power leveling wow gold from the time you World of Warcraft gold ordered!fanfan980110

wow power leveling wow power leveling power leveling wow power leveling wow powerleveling wow power levelingcheap wow power leveling wow power leveling buy wow power leveling wow power leveling buy power leveling wow power leveling cheap power leveling wow power leveling wow power leveling wow power leveling wow powerleveling wow power leveling power leveling wow power leveling wow powerleveling wow power leveling buy rolex cheap rolex wow gold wow gold wow gold wow goldfanfan980110
sdfs