Adaptive design for weblog software; Drupal evolution
On interconnected, Matt Webb is thinking about adaptive and evolutionary design in terms of software architecture in order to discuss considerations for the design of weblog software. In this discussion, he discusses the benefits of a pull model of Unix software design, which focusses on the development of small independent pieces of code that make up the software ecology. Matt describes the software components and abstraction layer within this sort of ecology and how they should function, relate and interact with each other to create an ecology that allows for adaptability and evolvability.
These concepts for a weblog platform/environment clearly describe the ecology that has developed out of the Drupal community. Hidden to most users of our Drupal systems is the open development community that lives largely in the development mailing list which shares and corrects bugs, pores over feature enhancements, discusses core and contributed modules and their interoperability, and continues a thread of discussion about how Drupal should be evolved. The core functionalities of this system have been refined slowly and over recent months new and added effort is finally being given to interface issues as a new group of UI designers have joined to bring usability issues to the fore.
Drupal has been an interesting project for me to watch from the inside. I work in an organization with strong roots in Unix application development, which prides itself on its evolutionary design process. This process, however, is one that involves a small team of programmers that independently create elegant applications that interoperate somehow. But how the magic that takes place behind the scenes is not readily apparent to those outside that team. For me, seeing how the colloborative team of Drupal openly shares its ideas and code to evolve and improve an open source application has been very satisfying for me. Over the past year that I've been involved with Drupal, this group has seemed to slowly grow, but has not lost sight of the core functionalities and integrity of the project. With some of the planned usability enhancements, the project becomes more and more ready for wider deployment and use. When it gets there someday, I'm sure an interesting article about Drupal development will want to be written.