What’s new under the sun? Cloud computing. It’s the notion that one ought not care which computer or computers do your computing work for you, as long as that work gets done to your own satisfaction. In principle, it’s a pretty good idea. After all, it’s the final product of your computing that you care about, not how it gets done. But as ever, the devil is in the details.
There are three obvious issues: coordination of data among multiple devices, data security, and obsolescence.
The newest of these issues, arises from the ownership of multiple devices. If a person has a smart phone, a tablet, a work computer, and a home computer, how does one coordinate all the data among all these devices? Since each device can talk to centralized devices across the internet, it makes sense to use such devices to coordinate data. The solution is to provide each user with a centralized account which runs a rule based engine that manages how information moves from one device to the other. There is much to think about in the implementation of such an engine, but all the functionality can be defined and implemented in one centralized location. Problem solved.
The two remaining issues are more problematic. One is data security. It’s a big topic that gets a lot of attention. The fundamental issue is that if all one’s data lives on one’s own devices and if one takes adequate precautions, that data stays private. The counter argument is that because cloud computing depends on data security, companies that offer cloud computing services can actually provide much higher levels of data security than does the average user with a home computer and an internet connection.
There are lots of arguments on either side of the issue, and it is possible that there might be more than one good answer. Sometimes a central location is best, provided it is effectively guarded. Occasionally local storage might be much safer. The nature of your security needs depends on the nature of your data. Back in the 1980’s when I first started thinking about these issues a friend said, “If you want foolproof data security, keep your data in a device that has no physical connection to any public network.” In other words, if you don’t want someone to gain control of your nuclear reactor, make it physically impossible for someone to login remotely.
The second issue gets no attention, but deserves to get a lot more. Durability of function. The opposite of instant obsolescence. Cloud computing, implemented badly, can lead to things not working that once did. And that’s bad.
Many years ago I started making a wall calendar for my wife. I used Adobe Illustrator to make 31 day templates for seven types of months, then edited them with the month’s name then deleted extraneous days. Then I’d type in text for special events like anniversaries and birthdays. Next, I’d use a color printer to print photos from the year’s events. Finally, I’d assemble everything. It was a painstaking process that often took two or three hours. My wife loved the product and has asked for a calendar each of the last ten years. Four years ago when I discovered Shutterfly I was pleased with how quickly I could put together a calendar. The quality of the photos was almost as good as those I printed. And once I had entered everyone’s birthdays, the system remembered them from year to year. The whole process was easier and faster.
That’s a problem. When one purchases a computer and the software necessary to cope with one’s own particular computing tasks, so long as the hardware functions the tasks get done. I still have Adobe Illustrator and a color printer, so I could still do this the hard way, even though I have used “the cloud” for many years. However, when one purchases a computer and uses software that lives in the cloud, whether the software works is a matter of chance. If a software designer makes an “improvement” that causes the solution to become unavailable to your computer, you must either stop using the service or buy a new computer. That’s not okay.
Imagine buying a new car not knowing whether it would be completely barred from all roads and public thoroughfares next year. What if it could travel in east and southbound lanes but not in west or northbound ones? Or what if it could go everywhere but within the ten mile radius of your house? It’s a crazy idea. But that’s how cloud computing can work. If one is to spend to buy an expensive new car, one expects to be able to drive it pretty much anywhere. And if one buys a new computer to perform specific tasks, one does not expect those tasks to become unavailable for simple, arbitrary reasons.
That’s a special hazard of cloud computing.
One could argue that the whole issue of new features not running on old platforms is an old issue. It’s not new to cloud computing. Ever since the first Apple II was made obsolete by the first Mac new features in new operating systems have made older computing hardware and software less useful by comparison. The problem is almost ubiquitous for web designers. How does one design web sites using the best newfangled tools without causing people with trailing-edge browsers to lose functionality? What about all those iPad users who don’t have access to Flash?
It is one thing to cause a user to wish for features and functions he did not previously imagine and use this as leverage on his wallet. It is quite another to promise and deliver on one set of features, then later to render them inoperable on older equipment but operable on newer equipment. And to do so in the name of “improvement.” The former is the brisk cadence of a market-driven economy to which we march. The latter is a form of extortion. Fine as the line might be, it must be drawn.