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.

Surfulater, Next Generation Part 2

Moving on from Part 1 I want to show you some of the new applications user interface and discuss how it works and differs from Surfulater. Let’s start with a screen shot of the entire application.

On the left is the new hierarchical Tags Tree. The top Navigation Bar lets you select a Knowledge Base, change the content window view from summary to full-article view, Add an Article and perform actions for the current user. It also displays some status information.

The right pane is the content window. Various Buttons and Toolbars are displayed at the top, depending on whether you are editing content or operating on it. This screen shot shows the editing toolbar. Articles are displayed below this area.

At the top of each article is a button to toggle between showing the article in full or in summary and a button to select the article for bulk operations such as Move to Trash, Archive etc. Next comes Date created followed by the set of Tags for the article, followed by the articles content.

The separate Hierarchical Folder tree, Tags Tree and Chronological views have been replaced by a single new Tags Tree. Tags are hierarchical and can be as deep as you want. Tags can be edited, with changes reflected in all articles instantly. I’ll discuss tags further in Part 3 of this series.

Also note that the Tags tree no longer includes the articles associated with a tag. This drastically reduces tree clutter, making it quicker and easier to move around. The content pane shows all selected articles and the summary view effectively shows what the old tree did without the duplication.

The content window shows all articles for the selected tag in Chronological order. I may well add other sort options, such as alphabetic by article content.

To edit an article you simply click inside it, no more pencil click to switch into edit mode. And edits are saved automatically as you type.

I’ve tried to extract the essence of what is in Surfulater and simplify it as much as possible without sacrificing functionality. What you see here is the result of that pairing down to a much less cluttered, easier to approach and understand user interface. And most importantly a user interface that is very much at home on a touch based tablet device like an iPad as well as your Desktop PC.

Stay tuned for Part 3 where I’ll show you parts of the new user interface in more detail. Following that I’ll get onto some of the more exciting new capabilities.

Surfulater, Next Generation Part 1

Three years ago I thought all the talk of the death of Desktop Applications was well and truly premature. I’d spent my entire career developing desktop applications and as far as I was concerned there was no way web/browser based applications could or would supplant my much beloved desktop applications any time soon.

It turns out that three years is a very long time in the computing world. All around me peoples use of computers is changing, as is my own. Certain categories of Desktop applications will be around for many years to come, but many others will move into the Browser with nothing to install locally and all benefits that entails.

There are several extremely good reasons for this seismic shift, which has in my mind been largely brought about by the advent of smart phones and their incredible popularity, along with Tablets like the iPad.

We now expect to have access to our information wherever we are and  whenever we want. You could be visiting aunt Mary, be in the car on a road trip or having a coffee at your local cafe. The days of being tied to a Desktop PC “to do stuff” are over, gone the way of the dodo.

And this is precisely why development of the Desktop version of Surfulater has essentially come to an end. Surfulater users want to be able to access and work with their Knowledge Bases from any PC or Tablet anywhere on the planet. They don’t want to be tied to their Office or Home PC to use it and they don’t want to have to copy Knowledge Bases back and forth between PC’s to keep them in sync. It is simply all too restrictive and too hard.

So it is time to move forward to the next generation of Surfulater, one that you can use on any PC, be it a Mac, Linux or Windows as well as on Tablet devices such as iPad’s and Android. Where your information is in sync across all devices, without you having to do anything. And where it is available to you wherever you are whenever you want. And does not require installation, and is always the latest version.

This is the future of Surfulater as I see it, that you want and that we are working on. Great progress has been made so far this year, to the point where I am using it instead of Desktop Surfulater most of the time. But (there is always a but) there is still quite a ways to go.

In my next post you’ll get a peak at the user interface and I’ll talk about the fundamental changes that have been made, largely based on your feedback, our own usage and following current development trends. I’ve already taken the screen shots so expect to see part 2 soon.