There are several reasons that I think will prevent the consumer market moving to a pure cloud computing (software as a service) model for all their computing needs:
- Hardware is cheap enough that consumers can rely on local storage, memory and processing power for most applications
- Security/privacy concerns about the cloud
- To deal with occasions where not networked (which happen more often than cloud computing advocates would like to admit)
The extent of local/cloud is likely to vary per consumers. For example, some will be happy to use Google Docs for word processing, whilst others might want an install of LibreOffice on their local machine. The combination of local/cloud per application will probably be unique to every user.
We will need seamless parallel running of locally-run and cloud-based applications, and also of cloud-based operating systems and local-device-based operating systems. The ultimate goal of this would be that all available applications, all running applications, and all files would be available to the users via the same set of menus, with a small icon indicating that the application is running on, or the file is stored on, the cloud or local device.
For example, across the taskbar cloud-based applications would sit side-by-side with locally-run applications. Users could jump between cloud-based applications and local applications with alt-tab. Users could start cloud-based applications and local applications from the start menu (or equivalent). Users could browse local and cloud-based files in the same file manager (this already works with Dropbox). And users could manage their applications with a single package manager (install this application on local machine vs register this application for your cloud OS).
The ideal is that data is only shared to the cloud as necessary, and fully at the consent of the user.