To Cloud or not?

In my many years of developing software I can’t recall a more contentious issue than whether data is stored in the cloud or not. This is evidenced in the comments (1, 2) to my recent blog posts and in other communications.

People fall into two camps, they are either strongly against having their data stored in the cloud or they are quite happy to have it there and look forward to the benefits therein.

The former group sites concerns over security of their data, a feeling of loss of ownership, the inability to access their data if they don’t have an internet connection and concerns about the cloud provider going out of business, which are all legitimate issues. As for security, strong data encryption makes it very difficult for others to access.  The company  going out of business is an issue regardless of whether data is in the cloud or not.

On the flip-side the benefits for applications and content in the cloud are clear:

  • you can access your data from any PC anywhere in the world.
  • you can collaborate and share information with others (if you want to).
  • someone else ensures you data is safely and regularly backed up.
  • you don’t need to install any software.
  • you can use any operating system (Windows, Mac, Linux) on any hardware and use Tablet’s to access content.
  • you don’t need to do regular software upgrades. you are always using the latest version of the software.
  • you don’t need to worry about your PC failing and being unable to access your information until it is repaired/replaced and software and data restored. Or worse being lost or stolen.
  • you don’t need to leave a PC turned on 24/7 wasting electricity and costing you money.

This still leaves one big issue: “the inability to access your data when you don’t have an internet connection”. My feeling is that this is much less of an issue than it was say 5+ years ago with ubiquitous internet access now common place. That said there are still times when we may not be connected, such as in an aeroplane or out and about in no-mans-land.

It remains clear that some people will not use the cloud for certain applications or content. I think this will change with future generations who are used to having everything in the cloud and being connected 24/7.

Taking these concerns on board I see several solutions which I did touch on, on some of my blog comment replies. The main one being the ability to install the software locally and access it as a personal cloud. This gives you full ownership of your content, but loses most of the significant benefits I listed above. By personal cloud I simply mean software that is installed on a specific PC, whose content is accessed from that and other PC’s using a Web Browser or other application.

Another possibility which I personally find intriguing, is for us to bundle up a small low cost computer and the software into one package. If you follow the low cost, small form factor (SFF) computer area at all, you will most likely have heard of the Raspberry PI, which is a  basic $25-$35 computer. More powerful SFF computers are available from $50-$100, with these being better suited to my use case. You would simply connect this to you Local Area Network (LAN) either via. an Ethernet connection or WiFi, plug in a USB Hard Drive and turn on the power, and away you go, with access via. your favourite Web Browser.

The benefits of this packaged hardware+software solution could include:

  • you can access your data from any PC anywhere in the world.
  • you can collaborate and share information with others (if you want to).
  • you don’t need to install any software.
  • software upgrades could be handled by a service we offered.
  • you can use any operating system (Windows, Mac, Linux) on any hardware and use Tablet’s to access content.
  • it uses far less power than a conventional PC making it cost effective to leave on 24/7.
  • all data is kept on a local hard drive, so you are in complete control.

Again I find this an intriguing solution, one I’d personally welcome, however I have no idea what level of interest there would be in the general marketplace.

A final possibility is to create a local application that is simply installed as a Web Browser Extension. There are lots of Browser Extensions around that do lots of interesting things, however there are fundamental issues with this approach. The main problem is that the database capabilities built-in to web browsers impose serious limits on the amount of data they can store. Further the current state of browser database engines is a mess with different browsers implementing different and incompatible database systems. And they  don’t stack up all that well against fully fledged database systems.

Browser Extensions suffer from other problems as well. We have to write, maintain and support quite different extensions for each Browser. Extensions have a bad habit of breaking, as new browser versions are released. And not all Browsers support Extensions (IE, Opera, Tablets?).

In my ideal world I’d have an application like Surfulater running locally as well as in the cloud. The local version would be used whenever I was unable to access the Internet. It would be automagically synchronized to the cloud application the next time I was connected to the Internet. Conversely all updates done on the cloud application would be synchronized back to my local application.  And the local application could be installed at multiple premises in different locations, with them all being kept in sync. This gives me the best of all possible worlds. It is however the most complex and costly solution to produce and deliver. (I wrote about this back in Dec, 2010).

Of course there is even more to this I could cover, but that’s enough for now. As always I welcome and look forward to your comments.

-Neville

PS. In reviewing various related communications I noticed a request for a Portable version of Surfulater (ie. one that runs on a USB stick.) Isn’t using Surfulater as a Web application in the Cloud the ultimate portable version.