How do you get an application to run with the same aesthetics and functions, wherever it is? Does this mean learning a new programming language? And what about hardware & software implications?
These questions have seen the birth of Rich Internet Applications, or 'Web as Desktop'. Sure, it's easy enough, hop to a URL, log in, and there you have a suite of online apps. Nothing to download, and chances are if your computer is modern enough, no plug-ins to install. The main argument against these, however, is lack of power - can a script in a web browser really manage your hard drive?
Of course, some companies design programs for running on different platforms. Take Microsoft & Apple, for instance; although MSN Messenger for Mac is freely available, it isn't as feature rich as the current Windows Live Messenger, just as Mac iTunes is (slightly) more advanced than its Windows counterpart. Emulation is out of the question, because a) Advanced tools cost money and b) Free emulators, such as Darwine, require too much user input, and are generally buggy.
So what presents a viable solution? For true consistency, programs can't be written on existing Windows or OS X architectures, because taking a program from one environment and placing it into another will simply result in nothing. For the same program file to be truly cross platform, a new framework for programs to be built upon must exist, and that itself needs consistency.
Lucky for us, things like that exist. Although still in testing, three technologies are making it possible to write programs that will run on different operating systems; Adobe AIR, Microsoft Silverlight, and Mozilla Prism. If a success, we could see a boom in applications just requiring the 'middleman' framework, with no specifications of O/S, browser etc.
Incidentally - and just as a side - ies4osx is a project that has made it possible to run Internet Explorer 5, 6, & 7 on Mac OS X. Could this be another idea to maintain application consistency?



