Modular Software… Or Modular Communities?

from the not-really-there-yet dept

If you’ve been around software for any length of time, you’ve heard about the concept of “modular software” (or one of the many other names its gone under). This is because it’s been talked about for almost as long as software has existed. The idea is that programmers would create basic software “components” that others would then take and clip together like legos to build their own offerings. The problem is that this has almost never worked. Sure, maybe a few components here or there, but despite repeated promises, developers often found it was easier in the end to just build things themselves. Of course, more recently, this has taken a web twist — with what was formerly called “web services” having been given a shinier, more marketing friendly name in the form of “Web 2.0.” The NY Times is now claiming that the age of Lego-style software is finally upon us, as this new revolution in software and software development is set to change the entire industry.

It sounds nice… but is it really true? The “changes” in software development that the article notes really have almost nothing to do with modular software. Instead, things like distributed teams and the ability to work from home have a lot more to do with always-on, high speed internet connections and free open-source technologies (which don’t quite fit the mold of modular software, other than setting up the stack on which to develop). There are very few examples given in the article of companies that are really building actual businesses out of these sorts of software “mashups.” It seems like the Times may be missing the point here. It’s not that the software has become easier to develop thanks to open APIs and such, but that software can now connect into online services with much more ease. It’s those services that are not easily replicated. In other words, the challenge isn’t about being able to easily reuse software, but to use the connectivity to tap into resources that can’t just be built (such as communities or large data stores). The problem in the past was that, when it came down to it, the need for modular software was never that great, because it was often easier/better/more flexible to just write your own software. What makes some of these newer offerings more interesting (though, admittedly, the interesting ones are often mixed in with an awful lot of junk) is that they’re able to tap into actual communities and build on top of them. So far, though, there’s been a lot more talk than real businesses to come out of this realm. So, not only is the Times article declaring the wrong thing, it seems like they may still be a bit early.

Rate this comment as insightful
Rate this comment as funny
You have rated this comment as insightful
You have rated this comment as funny
Flag this comment as abusive/trolling/spam
You have flagged this comment
The first word has already been claimed
The last word has already been claimed
Insightful Lightbulb icon Funny Laughing icon Abusive/trolling/spam Flag icon Insightful badge Lightbulb icon Funny badge Laughing icon Comments icon

Comments on “Modular Software… Or Modular Communities?”

Subscribe: RSS Leave a comment
Component Based Software Developer says:

Component based software development has been the methodology behind our software design for the past 4 years, and even though the ideal hasn`t (and probably never will) been reached, it definitely has worked for us. And I know of quite a few other companies for which it has too. Saying that the approach almost never works I think is a bit of an exaggeration.

Mike says:

Re: Component Model works...

I have to agree… to a point. We have heavy re-use of modules at work, but all in-house. I have found that any personal projects I do on my own time, I need to code everything myself. The alternative is to fork over money to someone who has written something that may (or may not) do the things I need it to do.

Once you have a large enough code base, re-usable components make sense. For smaller firms/smaller projects, sometimes it is easier to build from scratch rather than add the overhead of a component architecture.

A way of thinking/life (user link) says:

I’m young, but have been able to work under/with some really good project leads. Even the stuff that I had developed on my own, I found myself naturally making my code more modular (athough it was just used by me). When I worked in a group setting, we had several people work on different components, and our lead preached modularity. It not only creates code that makes more sense, but also reduces mistakes. If you have the same functionality/code in 4 places, creating a single function to handle those four places allows you to, if you find a bug or algorithm tweak to be pushed out to the 4 places at once, and you don’t have to worry about them getting out of sync or forgetting to update one.

Anyway, that was just for our group internals. However, the same concepts can/should be applicable to inter-project/company efforts as well.

I still find myself doing it (and rightfully so), but wanting to control ALL aspects of the code. Writing my own little scripts here and there, instead of finding others and either referencing or importing.

On the other hand, there is not an easy way to find others work, at least for somewhat obscure or specialized types of applications.

Last comment, look at Ruby on Rails. It is a framework architecture that requires you to depend on the work of others. I haven’t used it, and it would be a big paridigm shift from the way that I develop, but those that use it and understand it also understand its benefits. I don’t know who (or even if there is someone) to blame for our overall mindset about control, collaboration and trust. Open source in general fosters some of those principles, but only partially. Oh well, time for lunch.

Add Your Comment

Your email address will not be published. Required fields are marked *

Have a Techdirt Account? Sign in now. Want one? Register here

Comment Options:

Make this the or (get credits or sign in to see balance) what's this?

What's this?

Techdirt community members with Techdirt Credits can spotlight a comment as either the "First Word" or "Last Word" on a particular comment thread. Credits can be purchased at the Techdirt Insider Shop »

Follow Techdirt

Techdirt Daily Newsletter

Techdirt Deals
Techdirt Insider Discord
The latest chatter on the Techdirt Insider Discord channel...