Saturday, February 25, 2006

Incremental Code Integration - Getting Projects Done Like a School of Anchovies

I look forward to the day when one subscribes to the development projects' code that one is interested in.

Imagine if everyone's (public code) SUnit tests' results are published in RSS.
When the developer gets green on the important SUnit tests, you get the notice in your "source code progress" aggregator (and a copy of code if its not too big, otherwise get a link to it).

Then, if you want to, you import the code to a safe copy of what you are working on and run your SUnit tests on the integrated code and programmatically post the errors (or positive results) in your own RSS feed. If the developer really cares, they could subscribe to your results feed. The aggregator helps mitigate interruptions and disruptions to programmer thought process.

This sort of closes the loop nicely, more tightly, and more programmatically than public broadcasts alone. Seems a natural for the collaborative nature of Croquet. Big code compatibility breakage lights-up the net like a Christmas tree. Because small changes are quickly shared as in a feedback system, it allows the group to more quickly move together in an aggregate direction and remain a unit ... something like how a massive school of autonomous fish can swim together in a school as if they were a single organism.

Beyond "incremental compiling" ... it's "incremental code integration", more fine grained than any project or .cs file making the rounds. It's also loosely coupled like the net itself. Unsubscribe anytime. This also lets the developer know how popular their projects are. It also makes it easier to share popular project development code "sets of subscriptions" between "friends of friends" automating it rather than just passing along a link to a site homepage or a copy of outdated code.

This might even be a nice chargeable, hosted service if open source folks care to post minute slips of changed code that pass their Unit tests to the service.

Any opinions?

2 Comments:

Blogger Howard Stearns said...

What is the fundamental problem that you want to solve?
* staying up to date on project's source code?
* encouraging code reuse?
* encouraging object reuse?
* developing a culture of sharing?
etc?

6:34 PM

 
Blogger Darius said...

In a word, avoiding a harvesting/integration bottleneck, which will become more of an issue as Croquet allows more and more people to add desirable ad hoc enhancements (and perhaps domain specific enhancements relevant to a large domain).

A decentralized, massive multi-user, blended application/developer environment will need a rapid, decentralized way of integrating and distributing enhancements yet keeping compatible with the core team's standard.

To help mitigate, prevent, or reduce the issues such as those raised here:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/100040.html
and here:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/100027.html
and here:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2006-January/099237.html
and some recent stuff on the difficulty of internationalization e.g. Small-land.

10:23 PM

 

Post a Comment

<< Home