Saturday, December 20, 2008


Imagine a 3-dimensional integrated development environment. When you launch the IDE, instead of being presented with a flat screen of files to edit, you connect to a server that hosts a 3D representation of the application. Components could be represented by different shapes, and the size of a shape might indicate the amount of code in the module. Colors could indicate the state of the code, whether it's green for a clean piece of code or red for an unfinished piece.

Imagine you can zoom and pan around the application to find the module you wish to work on and double click it to open the traditional file editor. The 3D window would update the view to indicate you are currently working on a module.

Now imagine a team of coders all connected to the same server, coding on the same application simultaneously. Imagine as each coder finishes a piece of code the 3D visual of the application updates to reflect the new feature. Imagine you could watch the application grow in real time. Imagine you could zoom into a module that is being coded and watch the developer work in a kind of virtual pair programming environment where you could chat with the coder as they type their lines and suggest ideas or changes to make.

Imagine how that would change software development.

Sunday, April 27, 2008

Ghosts in the Machine

We are the new ghosts in the machine. Our lives are now inside the virtual world on the other side of the screen. TV couldn't do it. Talk radio gave us the first glimpse of it. But, the internet has succeeded completely in creating a world that matters to us.

How many of us get up in the mornings on weekends, have breakfast and head straight to the computer? I do it, I confess. There's simply nothing here that needs my attention. Nothing here that gets my interest. And so, I come downstairs, turn on these screens, and look out there. Are we all doing it?

Work is no different. Our work days are spent staring into the screen too. Contact with our co-workers is done via email or instant messaging. We produce the results of our work in a virtual world, and nobody ever sees them.

Are we all just turning away from our lives and searching the murky world of the network for something meaningful? Is there anything meaningful out there? Or in there? I'm starting to have my doubts.

We live in an isolated world now. Never before have people been so disconnected from each other. Look at the rise of phone and online dating services. You wouldn't see these things advertised on TV if they weren't making money. People need connections to other humans, and if they are turning to these virtual versions of human contact, they can't be getting it in "real life".

What does this say about us as a species? What if lab rats stopped socializing with each other and started spending their days and nights in front of walls pushing buttons? Would we call that sane behavior? We would think there is something wrong with them. We'd euthanize and dissect them to see if we could find the source of the strange behavior.

The scary thing is, I don't think it will ever change. We're not going to turn off our radios. We're not going to turn off our TV's. We're not going to turn off our computers. As a species, we're not capable of that kind of discipline. We're hooked. We need them now to survive.

One of the big internet providers started limiting bandwidth usage by their customers this month. They made a lot of people very unhappy. Just the idea that they might get less internet had them crying out foul. Less connection. Less world.

What a strange thing it is to be human now.

Saturday, January 19, 2008

Lean Software Development Model for Web Applications

Last year I created what I call the Lean Software Development Methodology. This is a software development process based on Lean Manufacturing techniques. I created a Value Stream Map to illustrate the process and published it on my company website.

I have since let my company wrap up since I am no longer carrying on the business, but I wanted to publish the diagram on my blog for posterity.