Nov 262007
 

While we’d all like to know whether your door is open or closed this holiday season and you’d welcome us for a pop-in visit, what we’re referring to here is architecture. In his recent Advisor, Ken Orr, Fellow, Cutter Business Technology Council, discusses some of the benefits and drawbacks to open and closed approaches to architecture. His comments are reproduced below, and we’d very much like to know your thoughts.

Should architectures be closed? Or open? Or some combination?

Are there certain types of architecture that should be one or the other?

What do you think of Apple’s developer environment for the iPhone? Does this mark a change for Apple?

Do you agree with the contrast Ken makes between Steve Jobs’s closed approach to architecture and Tim Berners-Lee’s open approach to the Internet?

How should user interfaces be defined and augmented? Are they/should they be dynamic?

Steve Jobs: Architecture, Platforms, and the Big Picture, Part 2

In my last Advisor (see “Steve Jobs: Architecture, Platforms, and the Big Picture,” 25 October 2007), I talked about Steve Jobs and “closed architectures.” A number of things have transpired in just two weeks. The first is Apple’s announcement of its developer environment for the iPhone. Also, the developer community has been hard at work opening up (aka hacking) other Apple crown jewels. The most recent example of this activity is the announcement that some developers had found a way to run Apple’s latest operating system release, code-named Leopard, on a plain old PC.

I received a couple of very thoughtful replies to my last Advisor. For example, John Schmidt from Wells Fargo wrote:

In theory it should be possible to have an elegant architecture with a consistent and simple user interface that is also open — but in practice it’s really hard to do. This is one of the reasons we have all become so accepting of the Microsoft windows idiosyncrasies — we “expect” PCs to hang and crash. One of the underlying reasons is that the idea of plug-and-play components for software systems (i.e., dynamic systems) just isn’t as deterministic as for other kinds of physical structures and we will as a result always have some measure of chaotic behavior.

I for one admire Steve Jobs for keeping a tight control of the architecture and for maintaining its integrity. It’s a beautiful architecture and is a lot more predictable than most other computer systems. If that means it needs to be more closed than we might ideally like, then I’m prepared to accept that trade off.

My response to Schmidt went something like this:

Dear John,

Like yourself, I am a great admirer of Steve Jobs and his architecture. Like you, I also took away a lot of lessons from Fred Brooks and his writing on architecture from his experiences developing IBM’s OS/360. Being really old, I actually saw some tragic architectural failures play out at IBM during that period when people took shortcuts that actually invalidated the basic hardware/software architecture that Brooks and Amdahl and their teams had put together.

What I wanted to do in this series of opinions was not to criticize Steve Jobs’s contribution to architecture but rather to contrast his approach to that of Tim Brenners-Lee and others in developing the architecture of the Internet. Closed architectures, for which Jobs is the poster boy, make it possible for the internal folks to guarantee performance, reliability, and security. Everything just works together. Jobs and Apple have shown how well that works. Clearly, Jobs is a master of user interfaces as well.

Open architectures are a clearly articulated set of well-defined interfaces that allow large numbers — and in the case of the Internet, millions of people and organizations — to (independently) build things that “bolt on” an evolving framework. (By the way, I argue that the reason that the PC architecture, even with an inferior hardware/software architecture, became dominant, was IBM opened up the PC architecture.)

The lesson to be drawn from these two approaches is that that they are both very, very valuable. Some architectures need to be closed and some ought to be open. Our core (mission-critical) systems need to be closed (reliable, secure, accurate, auditable, etc.), while our interfaces with our users ought to be open. The central IT groups have to be able to deal with both.

In the next Trends Advisor, I will further explore the concept of architecture as a mechanism of providing a framework for development, maintenance, and, most importantly, communication.

avatar

Cindy Swain

Cindy is the Managing Editor for Cutter Consortium's eight subject resource areas and for Cutter Benchmark Review. She works with Cutter's Fellows, Practice Directors, and Senior Consultants to secure Cutter's research content and oversees Cutter's quantitative survey efforts.

Discussion

  3 Responses to “Open or Closed?”

  1. avatar

    >> Should architectures be closed? Or open? Or some combination?

  2. avatar

    From my perspective (as a CIO), for critical systems I prefer architectures that do not leave me stranded in an investment dead end. The more closed the architecture, the greater the chance this will be so. In commodity markets where substitutes and alternatives abound, openness is less of a factor.

    There is a difference between architectures that are open to competitors and architectures open to customers only. In the ERP world, we have more of the latter, which tends to give us the ability to manage some of the risk of being left in a technical cul de sac. While considered “closed” architectures, some ERP systems should probably be thought of as more open than closed, mostly due to the large collection of consulting companies that customize the ERP solution. ERP solutions do not feel “closed” to me.

    In this case of the the iPhone, since Apple isn’t really focusing on the corporate consumer, I don’t care if it is closed. Once the iPhone shifts over to the enterprise market, Apple will need to have more openness in the architecture. They do not own enough smart people to figure out all the complexities of corporate niche markets. They will need a channel and the channel will need to see the innards.

  3. I agree with Vince about the desirability of open architectures where possible. I’m going to write in my next Trends Advisor about the way Architectures and Platform fit together in the long run.

    I think that it is clear that open, popular architectures, like the Web have major impacts. But, it is also important to recognize the role that market share has in spurring innovation. The architecture of Google Maps for example is fairly tightly controlled by Google, but the innovation has been amazing since Google has worked hard to expose critical interfaces.

    I think as organizations see the market impact of controlled architecture that they will be more and more open to the idea.

    Ken Orr

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>