In a recent article over at MyBroadband, Alastair Otter says that the end of the OS is nigh. I couldn't disagree more. His argument is that cloud applications along with browser innovations will replace our normal applications. He argues that cross platform compatibility of those cloud applications will be the push (not eliminating OSs but making the choice of one over another inconsequential). I see a few problems.
There is a large segment of computer users who, much like myself, will never want to trust their data to some large company miles away. Such users will typically also crave control of their applications. Cloud "apps" are anything but open source. For one, half of the application isn't even on my computer. Secondly, the data is either on that same server hoarding half of my app, or it's replicated across all of my devices.
Beyond such issues, we have the telcos to worry about. Data connections are getting more expensive at our mobile carriers, and the threat of the telco industry making access metered is even more frightening. Until telcos become honest companies, and until our municipalities quit handing telcos local monopolies/oligopolies, I fear the cloud idea may be more threatened than the traditional OS. As it stands, I can use very little bandwidth if needs be. Should we be forced into a cloud computing model, that is impossible. It is also worth noting that access speeds vary with location, and parts of the planet have very little connection capability at all. In all of our wealthy, industrialized nations of the western world, we feel that the internet is this omnipresent technological marvel. It's almost impossible to go without it... elsewhere in the world the internet is known but not used on a daily basis by a countless number of individuals.
Next, we have a segment of users who would never be able to use cloud computing devices for their work. CAD people, digital artists, music production folks, programmers, DBAs, and anyone who types more than 140 characters. Your first issue is the keyboard. All of the groups listed typically depend upon being able to input data in a more precise manner than what a capacitive touch screen will allow. For them, a mouse/trackball and keyboard are essential. Next comes graphics power, when using a desktop or laptop it's easy to get your hands on machine with an AMD Radeon HD 69xx or NVIDIA GT-whatever, and this is not so on phones or tablets. Processing power is also lacking on these mobile form factors. There is no ARM processor than can come close to the power of even a Core Duo or Athlon 64. Today we have the Core i3, i5, and i7 from Intel and the Phenom II series from AMD. These processors are advanced to a point that ARM will likely not reach for the next decade or so, and when ARM does get there will its power requirements still be so low? The kind of power offered on our desktops and laptops cannot be offered by a tablet or phone. Frequencies and core counts are not all that matters in a processor. The Phenom II X6 is a hex core processor that is commonly found at around 3GHZ. While that's awesome... the Core i7 will devour it in benchmarks tests even though the i7 is a quad core. The number of gates, complexity of circuitry, hyper threading of the i7 all give it a clear advantage over the p2x6. This advantage is even more severely noticable with Intel, AMD, and VIA over ARM.
The kind of performance demanded by many resource intensive applications cannot be offered by cloud "apps". This is a rather simple issue. You have the overhead of your OS, the browser, and the application framework (some interpreter, runtime, or vm for the dev language used) before we even get to the horrible "app" you want to run. At the same time, data has to be ferried over the internet from your device to some server. You really think that this can compete with a traditional application? In order to get decent performance developers have been gutting functionality. Hardly a trade off I am willing to make.
Could we see classes of machines? Classes of users? Sure. We already do. The relatively low quality and low performance machines sold at big box stores service those who use their computers to play games or visit Facebook, and the rest of the computer using world either have machines custom built using premium components, or build their machines themselves. With laptops, serious users have moved to business class machines where while the components are similar the build quality is higher and the warranty is far better. Perhaps, the PC will only see a rise in quality as people jump ship to type their 140 characters on their tablets or phones taking away the place for a $250 laptop in the market.
Whatever decision the market comes to, I am sure it will piss me off in some way.
1. Tablets and phones don't have the kind of hardware required (graphics power, processing power, amounts of RAM, keyboards, accurate pointing devices) to perform the duties of the average laptop or desktop. 2. The "app" can never match the performance of a traditional application on the same hardware if forced to offer the same level of functionality. 3. Giving up freedom for convenience is likely a bad idea. You are handing your freedom over to your cloud solutions provider and your telco. Does anyone even like telcos? 4. Half of the planet doesn't have a good enough connection.
The only argument people can give me in favor of the cloud is the convenience it offers. Is convenience really that important? If you don't buy anything I just said, remember this: people like HP's now dead line of phones and tablets because of webOS (and the cheap price tag), they like Apple's iPhones and iPads due to iOS (and the fact that they don't feel like cheap plastic knockoffs of themselves), and people like Android phones for the Android OS (and lack of Apple). Even on those, the OS is the selling point considering that most "apps" are available on all of the platforms and the OS determines how things are organized and presented.