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.


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.

Surfulater V3.41 was released on 25 March 2011

Some things such as blogging have gotten a bit away from me of late and I am here now to somewhat belatedly let those who may have missed the automated update notification, now that Surfulater V3.41 was released back on March 25th.

V3.41.0.0 is an update to work with the latest Web Browsers from Mozilla and Microsoft, namely Firefox Version 4 and Internet Explorer Version 9. It will also work with older versions of these browsers and continues to work with Google Chrome.

My next blog post (out tomorrow) is titled “Why Google Chrome is my Web Browser of choice.”

Have a great week everyone.

Google Chrome integration and more in Surfulater V3.40.0.0

Google Chrome Context Menu

Another new release of Surfulater is now available, Version The big news in this release is full support for the Google Chrome Web Browser, enabling you to capture content from any page using Chrome, along with complete web pages etc.

Google Chrome Context Menu
Google Chrome Context Menu

This works in the same way as our other Surfulater Extensions for Firefox and Internet Explorer, by adding Surfulater to the Chrome right click context menu. For some background on the Chrome Extension see my previous post.

The next important new feature in this release is the ability to remove HTML markup from article content. There are times when captured web page content includes styles and formatting etc. which simply add clutter and we don’t want. Remove HTML Markup comes in handy here and lets you choose various types of markup to remove, including all HTML markup.

The menu shown below is available whenever content is being edited.

Editing context menu showing Remove HTML Markup.
Editing context menu showing: Remove HTML Markup.

I suggest you try each of the menu options to see the result. You can always press Escape to Cancel the changes and keep the original content.

A perennial problem that a very small number of people have is the inability to add new articles from their Web Browser and see images in existing articles. This is typically caused by either Firewall or Anti Virus software blocking access to Surfulater’s built-in Web Server. I’ve written about this issue before here and here. Well it happened again recently to a new user and this time I decided it was time to write some code to check access was working and notify the user if not, preempting some frustration on their part and support requests on ours. I’ve also added a new Troubleshooting section to the Surfulater Help which provides assistance with this issue.

A nasty bug which was introduced in the last release has also been fixed. It was related to the new capability added in that release to enable articles to be dragged from the content window to the knowledge tree. The result was a random, very difficult to reproduce crash. An big thanks to the various folks that sent in the crash reports.

A variety of other issues have been addressed including some Unicode issues with Knowledge Tree Filters. They are all outlined in the V3 Release Notes in the Help.

As always we trust you benefit from the work we’ve done in this release and look forward to your feedback and suggestions. The Surfulater Download page is where it’s been for a while now.


A Google Chrome Extension for Surfulater arises

Requests have been coming in for a while now for a Google Chrome Extension that would enable integration with Surfulater, as we do for Firefox and Internet Explorer. We didn’t want to rush into this as we had no idea whether Chrome would gain traction and because there were capabilities missing from Chrome Extensions that we needed for Surfulater.

Time has passed and Chrome’s popularity continues to rise (I can now see why). For us software developers the good news is the Google team behind Chrome keep working on its Extension programming interface, recently adding the missing features we need for the Surfulater Extension.

What all of this means, is that I am pleased to report, we now have a Surfulater Chrome Extension that is 86% complete and in testing so far, is working very well indeed.

In fact I’d have to say this would be the best extension we’ve developed so far, largely due to the great job the folks at Google have done in designing Chrome’s Extension interface and the way Chrome extensions work.  Also Chrome’s debugging capabilities seem smoother than other browsers. Overall it has been a pleasure developing the Surfulater Chrome Extension and Plugin, which isn’t something I can say for the other Web Browsers.

Google Chrome is a very interesting product, which along with important new functionality in HTML5 and future developments that Google is working on, opens the doors to new and interesting ways for folks like us to create and develop products. I understand the folks at Mozilla are making fairly major changes to Extensions in Firefox V4, however I’ve not yet had time to look into this. There is no doubt in my mind that they have quite some catching up to do, compared with Google Chrome. It will be interesting to see if they can pull it off.


Knowledge Tree Filters have arrived in Surfulater Version

My last blog post was about the new Surfulater Knowledge Tree feature that allows items in the tree to display text in bold, and italic and use background and foreground colors, so tree items can have a greater visual impact. I also hinted at an ulterior motive behind this, which I can now tell you is related to the big new feature in today’s Version release, which is Knowledge Tree Filters.

Knowledge Tree Filters enable you to choose specific items and only those items to display in the tree. This lets you quickly drill down and locate a set of items of interest and then work with them, while everything else remains hidden out of your way. You can filter by Folder name, Article title or Tag name. For example you can elect to display only articles whose title includes “energy”. I have been using this constantly while developing and refining it, for well over a month now and I have to say I am finding it very, very useful indeed.

Let me start by showing you the new Knowledge Tree Filter user interface panel which lives at the top of the Knowledge Tree bar.

Knowledge Tree Filter Panel

As you can see it is quite simple and hopefully self-explanatory. You pick whether you want to filter by Folder Titles, Article Titles or both and then type the text to filter on. Filtering occurs as you type with the results displayed in the Knowledge Tree.

This is a screen shot of the enhanced Knowledge Tree for the sample MyKnowledge database without any filtering applied.

Knowledge Tree with no Filter applied

Now the same tree filtered by Folder or Article Titles which contain the text “energy”.

Knowledge Tree filtered by

Notice that the tree items that match the filter term “energy” have the matching text highlighted, in the same way search matches are highlighted in articles in the content window.

Only articles that include “energy” in their title are displayed. The ‘Folder-Article’ counts displayed in gray are the total number of articles in the folder, not the count of filtered matches. So the folder “Solar Power” has 4 articles, but only two match the filter and are thus visible.

Two folders “Solar Power” and “Pending Reading” do not include “energy” in their title and therefore do not match the filter as such. However they do contain articles that match and because ‘Search in: Articles’ is checked, these matching articles and thus their folders are shown. All other folders and articles are excluded or filtered out.

Knowledge Tree filtered by

In the screen shot above ‘Search in: Articles’ is not checked and the filter is therefore only applied to Folder Titles. You can see that only two folders match and these are highlighted. Furthermore because the Articles filter is off no checks are performed on article titles and all articles in the matching folders are included in the results.

Knowledge Tree Filters can be used with all of the Tree views, not just the Folder (normal) view. These final two screen shots show the Chronological view filtered by “march” and the Tags view filtered by “power”.

Filtered Chronological Tree   Filtered Tags Tree view

Each Knowledge Tree view retains its own independent filter settings and filter status.

The Filter on/off button button turns the filter on and off and the Filter collapse button button collapses and expands the Filter panel. See the Surfulater Help topic: Power Features | Knowledge Tree Filters for more information.

As I mentioned at the start I’m finding Knowledge Filtering a most welcome new feature that lets me quickly locate and see a specific set of articles. I hope you find it as useful as I do.

Other updates in this release include support for Windows 7, several Vista specific issues fixed, an update to the Firefox Extension, updates to use new versions of third party libraries, another reduction in the Surfulater.EXE size, some more performance improvements and various bug fixes. Full details are in the Surfulater Help | V3 Release Notes topic.

This sparkling new release can be downloaded from the Surfulater Home page or Download page. We look forward to your feedback and suggestions on this new release.

Knowledge Tree Makeover

I’m nearing the end of development for the next major Surfulater release which includes two important new features and I want to preview the first one for you now.

An enhancement that people have been asking for is to improve the visual characteristics of items displayed in the Knowledge Tree so that for example bold or italic text could be displayed, making specific tree items stand out from the crowd and therefore be easier to locate when scrolling or paging up and down.

I’ve actually taken this a step further and have enabled tree items to display HTML so that what you see in the content window, is what you now see in the tree. This means text foreground and background colors along with bold and italics now appear in the Knowledge Tree.

This screen shot shows an article with its Title highlighted using background and foreground colors as well as bold and italic text and its corresponding item in the Knowledge Tree with the same visual markup applied.

Knowledge Tree displaying HTML text

I’ve also highlighted some folders and other articles. One other thing to note is the article counts to the right of each folder are now displayed in Grey instead of Black, making them a bit more subtle.

You have always been able to set the images displayed for each tree item and now with the ability to set the appearance of the text, you get full visual control of tree items. Further it lets Surfulater highlight items of specific interest, as the need arises.

Apart from our users wanting this, it was needed for the other even more important new feature coming in this release, which you will hear all about soon.