Sunday, May 9, 2010

Everything to Everyone

Ian Bogost posted a good article on Apple's third party development policy. The comments focus a lot on cross platform development. Why?

Many years ago, some very smart people at Bell Laboratories saw a problem. When the company upgraded computers, they had to re-write the software. They realized that this could not work over a long period of time. And so they created an abstraction layer.

This abstraction layer separated the application software from the computer hardware. New machines meant adapting the abstraction layer only. Applications ported from one platform to another. Sound familiar?

The idea of cross platform development has existed for decades. All of the programming languages, frameworks, and web applications fail to solve the problem.

Learn From the Past

The abstraction layer from Bell Labs started the modern operating systems with unix. In theory, their operating system worked wonders. In practice, it fractured back into proprietary little domains. HP's unix ran on HP's computers. IBM's ran on IBM machines. And once again, the dream of cross platform withered.

A second group saw this happen. They developed a set of standards for any company calling their operating system unix. This standard is known as POSIX. Software written against POSIX work fairly well across platforms. Or I should say across platforms that support the standard.

You see, it happened again - Microsoft went in their own direction - straying from the POSIX and unix standards. The cycle begins again: proprietary split, abstraction layer, split, abstraction, etc. We're trapped in a circle because we didn't solve the problem.

Me, Myself, and I

Technology can never solve the problem. It's not a technical problem. This is a moral problem. Stop using these silly, cross platform non-solutions.

"But someone else is just going to use them, and I'll be left behind!" Thank you for proving my point. You just made a moral judgment. You cannot change anyone else's morals. You can only change your own. And you are responsible only for your own. Don't change the world, change yourself.

We are not choosing a technical solution. We are choosing a moral value system. Choose wisely.

1 comment:

  1. Dare to dream! Cross platform has been my dream for many years. Whenever I see yet another development platform I think "Here we go again." It seems to me that the only community that still cares about cross platform is OPEN SOURCE.

    Keep the faith. When the rest of the world catches on to open source the glory of cross platform might finally be recognized.

    ReplyDelete