July 16, 2009, 8:07 am
A friend of mine is experiencing a little stress in his marriage, and the cause is IT-related.
His wife, Marlene, works for a large company, large enough to purchase corporate licenses of some pretty hefty software. She's doing a little Internet work now, and wants to get a copy of Dreamweaver for her personal workstation to make some web pages. Even though the company's license is all intact and she has the permissions to get the software, it's taken her upwards of two weeks to get the software installed.
And, as any married person knows, when the spouse ain't happy, nobody happy.
Interestingly, most of the problem is not with the application, nor even with the operating system. Much of it is security related. In order to actually get the software, Marlene needs to download it from the company's servers, and to do that she needs to either be in the network or (if she's remote) using a VPN connection. For a variety of reasons, the download server wasn't letting her get the software, as her project deadline approaches, no matter which connection she has. And, because of the license her company has, there was no "boxed" copy for her to just stick in her DVD drive and install.
You might wonder why this is significant for a Linux site to focus on. Perhaps a rejoinder on the perils of proprietary licensing? Sure, that's a fair point: if the application were free and open source, Marlene could have likely downloaded and installed the application from a variety of sources weeks ago.
But not today. Instead, I want to focus on the mechanics of installing software, and why I can't wait for cloud computing to become globally used.
While it is a significant hurdle, licensing differences are only part of the problem people have with getting software on their computers. A larger problem is the installation paradigm itself: downloading/loading a large chunk of binary code onto your hard drive, then turning on a setup routine that lets that code infltrate the operating system, most of the time with positive consequences, but sometimes not so positive.
In my mind, this has always been analogous to eating an entire hamburger in one bite and hoping that I don't get a stomach ache.
This is a methodology that all operating systems have, even Linux. Sure, source-based distros like Gentoo or mixed-source flavors like paldo can make it more palatable by pulling in source code instead of binary, but the overall effect, while mitigated, is still the same; the operating system still has to be made to work with new code. (And now there is an extra onus on the user to compile that code.)
A better way, to me, is cloud computing. Run apps with little or no client code on the device, be it a PC, netbook, or MID. No bulky downloads. Licensing is handled prior to running the app for the first time (since a user can either get the software for free, via subscription, or buy outright). Compatability is handled by whatever the client device is using to interface with the cloud, whether its a browser or built-in layer on the operating system--like another Abobe project: Air.
The cloud will not be a perfect system, of course. This week's revealed hack of Twitter's business info demonstrates that. And while the infiltration of the Twitter employee's Google Apps account was basically social engineering (a guessed security question), it highlights that there are still real security challenges to cloud-based computing.
But speaking as someone who has answered a lot of questions about software over the years for friends, family, and fellow Linux users, software installation is amongst the top category of queries I get, no matter which operating system is being used. The paradigm needs to shift to something thinner for the client.
When that happens, I think we will see a lot of support-related problems fade away, saving businesses a lot of time and money.