Operating System Relevancy and your $2,500 Smart Client

Operating System Relevancy and your $2,500 Smart Client

Summary: It may seem wasteful to have a $2,500 machine run Rich Internet Applications, but the real power of your computer is that it is fast enough to run non-native code. It may seem like an expensive smart client, but it opens up the possibility of OS independent applications.

There is an interesting post today on Slashdot about native languages versus interpreted languages which run in virtual machines or use just-in-time compilers. The question posed was whether or not native code has a future when (while it allows for much more low level control) the interpreted languages provide an environment that is just as powerful while maintaining a level of cross platform and being easier to develop in.

I've thought about this issue a lot. Our machines are becoming so powerful and they will only get better. With that power, it seems silly to be developing Rich Internet Applications that are taking all of that power and simply serving a glorified web application. Microsoft's answer to this is WPF. It's a very hardware intensive environment, but the effects are stunning and the UI possibilities are very intriguing. It seems to combine the processing power of your computer with the ubiquity of the internet.

computer_smalll.jpgHowever another way to think of the $2,500 that it gives you the ability to run applications written in a variety of languages. Programming something in Java or Flash used to mean a significant performance hit, but as the machines have gotten more powerful, that performance hit is getting smaller and smaller. Because you have a powerful computer, the operating system you run becomes less important. Developers can bank on the fact that when they build something using the interpreted languages, it will run on your powerful machine.

The web has provided a layer of abstraction over the operating system, but it remains trapped in a browser. Rich Internet Applications can come along and take the browser out of the equation and directly connect the web with the PC. When that happens, it won't matter what operating system you have, only that you have an internet connection. And when you don't, taking an RIA offline will be easy because you can harness the power of your $2,500 smart client to run cross-platform applications offline.

In the end, developers are going to realize that they can take advantage of the people who have built native code to run compilers and virtual machines. In a world where processing power is cheap, but development time is expensive, it makes economic sense to build applications quickly using cross-platform interpreted languages. Economics wins out every time.

Flickr photo courtesy of Aphrodite

Topic: Software Development

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


1 comment
Log in or register to join the discussion
  • OS Maturity

    Ryan - I've been thinking about this one a bit, along with the
    history of how operating systems have developed.

    A lot of younger people probably don't remember but 'back in
    the day', before GUIs, you ran one program that took over your
    computer. Your OS didn't really do much - managed the disk /
    tape, loading programs into memory and some display libraries.

    Early GUIs were a revelation - you didn't need to quit one
    program to use another (although you quickly ran out of
    memory). You could cut text from one program and paste it into
    another. Of course you couldn't actually run two programs at the
    same time, but it looked like it.

    Eventually we got to today's true multi-tasking systems.

    Then along came the web. Not really designed as a system for
    writing apps (hence having the separation between HTTP, which
    was, and HTML). But web applications were financially
    compelling - enough to offset the pain of writing them. So we
    were cast back to the 1970s dumb terminal model.

    I think current RIAs advance us to the 80s - you're still at the
    level of opening up individual applications that don't talk to each
    other. Solving this one is going to be interesting (there are good
    security reasons we disable cross-site cookies and data, and an
    RIA clipboard could be abused in that way).

    Of course this is probably 'good enough' for most people. Most
    people really do use one app, then another, and probably aren't
    bothered their RIA doesn't support scripting from their OS.