Isn’t it great when things just work? I wish I could claim that everything I’ve ever used on a computer worked great. Obviously this is not the case.
I often think of what happened to the original consumers of many other inventions. What was it like to buy one of the first cars? Apparently it took almost 30 years before the car was standardized by Henry Ford’s assembly line. I suspect that we are still in the early days of the PC lifespan before we see the kind of things that we should be expecting already.
Here’s the point. If I buy a car, I can use that car anywhere that has roads. If I buy a SUV (4wd) then I can potentially go even more places. If I buy a computer, I am automatically limited to certain choices. I can run that program but not this program. I can fit in this application but not also that application. It can get pretty frustrating and it leads to many users just tolerating the solutions provided.
Why can’t there be software that is standardized? The best answer we have so far is the web model. With the web, you can create content that is largely independent of the implementations. Java was the best first answer to this problem of portable friendly code. The good news to the developer was that you could write it once for all Java platforms. The bad news was that you needed to test it everywhere to guarantee it would work. This is old news and forgive the duplication of information.
Okay, back to basics. There is a need to have applications work anywhere. How could this be possible on so many different platforms and configurations?
Well, come to think of it, this is one of the main use cases of Citrix Presentation Server. The clients run on the native platform and the server runs Windows 2003 with CPS. To the user, the application is running locally (hopefully seamless windows is being used). Problem solved!
Actually, there is more. It turns out that Windows 2003 with multi-user support does not always support applications without adjustment. It was just the price of having the machine be multi-user. This is where PortICA/Trinity come in. When Citrix releases Trinity and PortICA (code names for running desktops under a managed environment), it will be possible to support Windows XP Pro in the same fashion. This means that anything that works on Windows XP will work remotely with Citrix ICA clients. This expands the playing field quite a bit. I would guess at least doubling the capacity of what an IT department could do to distribute the execution of applications.
It’s getting late and it is time to close this off. The idea I wanted to get across is that it is possible to standardize on a platform by allowing remote execution of that platform. So, you can standardize on Windows applications by allowing them to be run from anywhere. It doesn’t mean the user loses the native applications on their computer since you can run them along side with the Windows applications. I would say that the long term goal of all this is to blur the lines between local and remote systems so that it is possible for the user to have a seamless experience.
I confess that my view of the world is a bit biased based on my experience at Citrix. However, I am not trying to sell you something (I’m a research engineer, right?) but I am trying to convince you that it is possible to have standardization and flexibility at the same time. I saw this happen a number of times during my reseller days but the most obvious one was Billabong. The art department had Macs and the rest of the company had PCs. With Citrix, it was possible to use Mac clients to access the corporate email without installing anything but the client.
The power of this is often forgotten. Most people take it for granted. The idea of using this to have a way to support standard platforms with non-standard clients is still valid and could actually allow for a mind-shift that would begin the transition to being platform agnostic.