The Economist magazine ran an article on Dec 19th, 2006 which is sub-titled – “Consumer technologies are invading corporate computing”.

The main story is about the head of IT at Arizona State University and his adoption of Google Apps for Your Domain which includes Google Apps for Education. The Apps For Education site has a page which includes quotes from various folk, including someone from Arizona State.

While that’s an interesting story, and one I think will be interesting to see play out at CQU (at least for those of us who work there), it’s only part of the bigger picture.

The bigger picture includes a continuing move up the abstraction layer, and as the sub-title of the article suggests, a change in where innovation is coming from.

The Abstraction Layer

The history of computing is replete with continual moves up (and across) the abstraction layer/spectrum.

The 50s saw very low-level hardware manipulation required to do useful things with computers. Slowly we moved up the abstraction layer, in programming with machine language, assembly language, Fortran and associates – slight move up to C++ and Java and then scripting languages.

The advent of component-based software, to me, is a sideways step, a dead-end. Why? Well let’s take a look at part of the Wikipedia page.

A simpler definition can be: A component is an object written to a specification. It does not matter what the specification is: COM, Java Beans, etc., as long as the object adheres to the specification. It is only by adhering to the specification that the object becomes a component and gains features like reusability and so forth.

To me that means, the component must be written in one of the specifications: COM, Java Beans, etc. Once written it cannot be easily reused in other “specifications”. To get full use of the component approach the organisation typically picks one of the component architectures/frameworks (i.e. COM, Java Beans etc.) and then, because of efficiency concerns, is stuck with that framework. It cannot make use of components written for any other framework.

The spectrum of choice available to the organisation is limited by a technical decision. The tail is wagging the dog.

I believe we’re reaching a stage up the abstraction layer (levels might be a better term) where the simplicity provided by having a single component framework is more costly than the benefits associated with being able to adopt any service that best suits business needs.

For me, that’s where scripting languages come in. Especially languages that focus on be eclectic, on being the glue that brings services/software together.

This approach is starting to be demanded because of the next observation.

The driving force behind innovation

In the good old days, as the above Economist article argues, all the innovation around computing and the Internet came from defence, research or higher education organisations. In the late 80s/early 90s, the cool Internet stuff was all happening in these organisations.

That is no longer the case. It’s coming from the consumer world. The consumer, and their needs, is driving the innovation and requirements of IT.

In the old days IT support divisions within organisations gained some leeway in terms of service, as they were the only show in town. Those days are long gone. There are many shows in town and that competition is driving ease of use and usefulness of the applications.

IT support divisions, especially those in Universities, cannot compete with Google. They don’t have the resources or skills. They never will.

IT support divisions will have to move up the abstraction layer, change what they do.