Wednesday, October 17, 2007

Software the Ultimate

If you're a language geek of any sort, you should really be regularly reading Lambda the Ultimate (er - "language geek" of the digital variety, that is - you freak-ish polyglots can go elsewhere). Of course, if you are one, you're likely already there, so the reference here is redundant.

That said, there was an excellent post from a few weeks ago that any futurist should embrace as a foundational principle (uh - IMHO :)). That principle, emodied in an argument about the base nature of programmable circuity, is that "Everything is software - the rest is just wiring". At some point, this will seem like a obvious thing - we'll wonder how anyone could have ever imagined it differently (and I'll bet some already do :)).

The most dramatic public demonstration of this is the iPhone, of course, where the "hardware" interface (input keys, etc.) is configured on-demand, programmatically (i.e. in "software"). But, the rise of the Programmable Processing Unit (the "PPU", whether called the CPU, GPU, Embedded processor, or whatever) has been underway for a long time - implicitly masked in the rise of "Edge Processing Capacity": smart devices of all sorts (phones, fridges, routers, blah blah ...), presaged by the Personal Computer itself.

Not there haven't been some promising mis-steps (Transmeta Crusoe comes to mind) - but it is the path. Most industries today, including Video, are full of single purpose, limited function ASICs, and that will change.

A few trends contribute directly to the idea, and value, of "Software-as-Hardware":
  • Specialization of function delivering a higher quality experience: think IMDb v. Yahoo Finance v. Google. And if you don't believe even Google believes this, ask yourselves why they have CodeSearch, Google Finance, and the like.
  • Aggregation of access points: think PDA/laptop/cell phone, or TV/Internet and Game console convergence - I don't mean "connectivity" here, but your physical access point to digital services.
    This is driven by what I think of as "the Lazy IT" principle required for mass commoditization: You just don't want to manage - that is, administer, install, update, and (in the case of portable access points) carry - all these access points.
    Sidenote: Mobility of access as a proxy for personalization will be an interesting trend to watch here.
  • The rise of what I call "Content Engineering": data driven design systems (think HTML, Flash, and to a lesser extent Java, .NET, etc.) enabling richer and more dynamically flexible relationships between content and services providers and their end users. The essence of this practice, on-demand delivery, is at the heart of what drives the move to progammability.
Another future wrinkle will be as our devices (access points in this context) become even more configurable. We see a *tiny* bit of this with some fun phone form factors (say THAT 5 times fast), but I think piezo-electric stuff (and/or some karmically related technologies like digital ink, or the like) will drive some dramatic application innovations that create significant behaviour shifts in next 8 years.

Imagine what it'll be like if your apps or content can change not just the surface, but the shape of your terminal.

Power consumption impedances (in the "laws of physics" sense), I think, are the only unknown blocker, versus greater programmability. Though perhaps there are creative ways to solve even that...

Of course, its not entirely impossible I'd feel differently if my title were "Chief Hardware Architect" :)

Labels:

5 Comments:

Blogger Pat Meenan said...

This post has been removed by the author.

October 18, 2007 8:55 AM  
Blogger metamerist said...

Interesting post.

A thought along similar lines...

When it comes to the success and failure of technological devices, the calculus of human preferences is a fascinating and often puzzling thing.

Touch-Tone phones led to the demise of Rotary, but the vast majority of people (myself included) seem to prefer analog watches over digital. I can't imagine myself ever preferring an iWatch with an LCD display over the "real" thing.

I suspect the aesthetic value--extent to which a watch functions as jewelry--outweighs any benefit I might receive in terms of a more accurate digital reporting of time.

Given factors of utility, tangibility, perceptions of realness, etc. it's difficult to predict where choices will fall. The earliest commentary I remember on this (long before Norman's Emotional Design) was in John Naisbitt's 1982 book Mega Trends in the chapter on "High Tech High Touch."

In retrospect, Naisbitt offered a number of prescient thoughts in the chapter. I believe he released a follow-up book addressing the idea in greater depth, but I've yet to read it (too many books--too little time).

October 22, 2007 8:29 AM  
Blogger Sree Kotay said...

Hm - the analog watch point is interesting. Personally, I think its an aesthetic "holdover", much like an analog speedometer - I'd bet, "best" case, you see hybrids within a generation (the current set is still a tad ugly IMHO)

Still, your point is a good one - personal style doesn't follow any dictates of predictabilty (or sensibility :))

October 22, 2007 10:51 AM  
Blogger metamerist said...

Sree, a couple of book recommendations, in case you're interested and haven't read them.

First, Henry Petroski's "The Evolution of Useful Things..." My guess is you're already familiar with it, but what I find interesting is Petroski's evolutionary perspective on the development of many everyday artifacts over the course of hundreds of years (forks, paperclips, etc.). It's amazing how much trial and error was involved in many ordinary things we take for granted as simple and obvious. It's also fascinating to see how such things have fared through various waves of fads and fashions. An intriguing question, of course, is where software is going, where it will wind and what fads and fashions it will experience in the future. Software isn't an object of Petroski's inquiry, but I think his analyses raise interesting and intruiging questions relative to the evolution of software.

Secondly, George Basalla's "The Evolution of Technology." Frankly, I haven't read it solidly from cover to cover--it's more more academic and turgid--but I do find myself going back to it from time to time, and if you've got the shelf space and find yourself wondering where technologies might go, it's an interesting scholarly analysis through the eyes of a historian of technology. It's a good catalyst for thought on the subject.

If you have to pick one, I recommend Petroski first. (He has authored a number of great books.)

October 22, 2007 9:36 PM  
Blogger Sree Kotay said...

Haven't read either - thanks for the recommendations :)

October 23, 2007 10:11 PM  

Post a Comment

Links to this post:

Create a Link

<< Home