lesscode.org


'First they ignore you..' Archives

Software Industrialization Or Software Craft?  10

Cat.: First they ignore you..
24. August 2005

If I were to state that software industry is in crisis, I would be guilty of stating the obvious. The field of software development has been in crisis ever since the early ‘90s, if not even earlier than that.

But what’s important is to realize that nowadays, this crisis has reached major proportions. I know I sound like yet another ‘the sky is falling’ FUD protagonist, but there simply isn’t any other way to look at the problem. A significant number of mid sized and large corporations worldwide have been ‘once bitten, twice shy’ when it comes to making any significant investment in their software practices. Thus, the status quo situation is growing stale at a breakneck pace.

So why am I bringing this up? Simply because I am sensing an impeding tension building up between the proposed practices of software industrialization as opposed to staying with the tried-and-true practices of crafting software by hand.

Software industrialization (you can read more about it here) proponents insist that, in order to get out of the software development slump, we must make a transition from the hand crafted way of developing software to a full blown industrial assembly line model.

Fine. Automate as much as possible, rendering the whole process much more affordable. What could be wrong with that?

But not so fast. At the same time, while we’re getting caught in endless deliberation over whether Microsoft or Java or Oracle or SAP or LAMP or…? should be the worldwide software ‘industrializator’, another light at the end of the tunnel is becoming more and more visible. This light is what I would call the ‘smart servant’ approach.

So, instead of the proposed ‘dumb workforce’ mass industrialization model, an alternative model is being proposed whereby a handful of smart servants should be deployed to accomplish the workload of huge army of faceless, nameless drones.

In other words, instead of generating faceless, nameless reams of cheap software code, the alternative approach offers the possibility of hand crafting very high quality software code that will bring additional power to its users.

The ‘smart servant’ principle claims that it is better to employ a smart person or device, who will be able to accomplish complex tasks upon hearing just a handful of simple commands, than to employ an army of dumb devices who will have to be fed large lists of aggregated complex instructions, to be followed blindly.

The question, of course, is why should a smart servant be a better model?

Before I offer my views on why this should be so, I’d like to pause for a minute, and see if anyone would like to tackle this little challenge?

And so, without further ado, I’d like to now open the floor for a brief discussion on this topic…

lesscode.org is…  3

Cat.: First they ignore you..
09. August 2005

You may have noticed posts by a few really really smart individuals here over the past weeks. I feel like I should explain what’s going on and attempt a basic description of what I hope lesscode.org might become. Keep in mind that this is all very much a pipe-dream at this point.

About a month ago I sent an invitation to a handful of people that I feel have an excellent grasp on the history and potential of the web and IT in general and invited them to post here (I don’t feel comfortable listing names because I don’t want to get everyone’s hopes up). The list was small but the group covered an insane amount of expertise in technologies like PHP, Python, Perl, Ruby, Rails, Apache, HTTP, Web Architecture, XML, AJAX, Microformats, Syndication formats, and much more.

There are a few common threads that I felt ran through the group:

  1. Each person has demonstrated a strong understanding of the web and the tools/principles that underly it.

  2. Each had excellent writing skills and a passion for communicating.

  3. Each had indicated publicly, at one time or another, that they were mildy pissed off at some aspect of the direction being taken by business IT and/or mass media in their attempts to bring more of their operations to the web.

All in all though, there were more things the group did not have in common, such as background, specific technologies, F/OSS vs. Corporate, etc.

I received a truly inspiring amount of support and interest in response but the situation is such that many of these individuals are extremely busy and are already maintaining multiple weblogs. There’s also the small issue of whether this makes any sense. Here we have a web pundit known to advocate the distributed and connection-forming aspects of the web asking others that feel the same way to discard all that and post to one place (why not just throw up a Planet?). It doesn’t make a whole lot of sense on the surface.

The premise is simple: for a certain large aspect of the IT community, we’re too spread out to be heard. Many of the people we want to reach aren’t using the tools and processes necessary (e.g. aggregators, del.icio.us, technorati, mailing lists, etc.) to track discussion and this makes it hard to see that we have a really large overall community collaborating across hundreds of smaller technologies and companies. There’s plenty of content at the lower levels but very little oriented toward the bigger picture. The result is a perception that there isn’t a bigger picture.

One way of overcoming this is to provide a place where individuals can come out of their silos and speak from the position of a larger overall organization, which is exactly what I hope to provide. So here it is: lesscode.org is a loose federation of concerned hackers for web preservation and advocacy. Or, at least, that’s what I hope it will someday become :)

One of the problems I think we’re having is that I gave no guidelines as to what topics should be covered. I did that on purpose because I don’t want to provide a certain type of content, I want to provide a certain type of stage. lesscode.org will be oriented toward whatever topics its posters deem important. This comment from Bill after a post made me realize just how poorly I’ve explained all this:

Ryan, You have no idea. I feel like I just burgled the place!

It’s your place, man! You can’t burgle it.

Complexity, Bureaucracy, Fairness  7

Cat.: First they ignore you.., Then they laugh at you..., Then they fight you...
30. July 2005

The starting line for the first Oklahoma Land Rush, April 22, 1889. (Library of Congress)

Tantek Çelik: “The namespace problem? The short answer is that it’s nothing more than academic chicken-littling. The internet has worked just fine (at many levels, with many applications, specifications) without namespaces. Namespaces try to solve a 1% problem while burdening the 99%, which is always bad economics.”

I disagree. Namespaces can sometimes be a technical hassle, but I’ve noticed that people who rail against them are usually squatting on a set of short strings. Would it be OK for Microsoft to define the meaning of the word “friend?”

Dan Connolly: “There is a time and a place for just using short strings, but since short strings are scarce resources shared by the global community, fair and open processes should be used to manage them.”

If RSS didn’t restrict extensions to namespaced elements, we would have a very ugly scene on our hands by this time. At what point does technical convenience trump social concerns? In this case, RSS favors a little technical complexity in return for less bureacracy and more fairness. Maybe morecode is occasionally worth it.

Where’s your POSSE?  Comments Off

Cat.: First they ignore you..
22. July 2005

If everything works out properly, we should be seeing more of these kinds of organizations:

Portland Open Source Software Entrepreneurs (POSSE) is a local organization of entrepreneurs who rely on and develop OSS to help businesses succeed.

POSSE provides local businesses with access to a wealth of qualified options for meeting their open source software needs. All POSSE members are established companies that adhere to a defined set of industry best practices.

I touched on it a bit in Motherhood and I’ll be talking about it more - the industry is going to start widening way out. We’ll see thousands of small crews providing very targeted services. Screw infrastructure, long live the app - you build a new one each month. We’ll build the infrastructure collaboratively.

A basic level of interoperability with other crews’ stuff will come as a result of adherence to core design principles… Arrgghh, there’s so much to talk about here.

Scoble on Rails  8

Cat.: First they ignore you..
18. July 2005

David Heinemeir Hansson caught Scoble lusting after Rails and Django. I’ve been interested in understanding whether Rails is having the same impact on the .NET crowd as it is having on the Java crowd. If you’re coming from a .NET background, weigh in on Scoble’s comment thread.

The .NET environment seems more locked down than Java’s, which makes it harder for developers to wander outside of the vendor product line. Most people coming from Java have good experience with some form of Linux/Unix and associated tools so the LAMP/friends environment and conventions feel a bit more natural. Perhaps Udell’s advocacy of WAMP can put a chink the armor? I wonder how hard it would be to slap Ruby, Rails, and Ruby Gems or Django and Python into the WAMP click-and-install packaging. This would probably go a long way in getting people to take a look.

Anyway, this comes only a month or so after reports of a new Microsoft strategy to “extinguish LAMP”:

Having products that are engineered to work together–something open-source competitors cannot do–will ultimately make Microsoft products easier to run and more cost-effective over time, said Paul Flessner, senior vice president of server applications.

There you have it folks - we’re incapable of building “products” that work together. Being on Microsoft’s radar means that we’re going to have to be even more diligent in refuting baseless claims about our tools and processes. Luckily, they don’t seem to understand our core philosophy and, like most, see our approaches as quick-and-dirty rather than simple and elegant.

I have a feeling this is going to heat up over the next few months.