Monday, October 25, 2010

Meyer on cloud computing (google docs)

In his blog post, the cloud and its risks, Bertrand Meyer describes a bug he found in Google Docs and uses this case to highlight the strenghts and weaknesses of a cloud-based solution like Google Docs.


Bottom-line: you depend on the cloud provider. If you want to avoid all potential data loss, you have to make an extra backup of your data on local storage or use an online storage service like Amazon S3 as an extra backup. A precondition is that your cloud-based solution (like Google Docs) offers an API so that you can get your data out of the service.


Thinking about this: wouldn't this be a compelling business case: an application that regularly gets all your data out of your Facebook account, LinkedIn, Google Docs, Gmail, Hotmail, whatever and makes an extra (secure) backup of that data.

Tuesday, October 12, 2010

Use Google Docs as download directory

In my last post, I migrated all my documents to Google Docs. If I click a document on a website, my browser downloads it to my local hard drive. Then, I need to upload the same document to Google Docs. Enter this extension for my browser.

The extension scans each webpage for office documents (word, powerpoint and pdf) and rewrites the web page so that the document opens with Google Docs viewer. The latter has the option to save the document in Google Docs.

Right-click menu when extension is enabled. Default behavior is to open in Google Docs Viewer

Sunday, October 3, 2010

Going Google Docs

For as long as I remember, I have been managing all my personal documents with a version control system: first CVS, then subversion, and during the last few years mercurial.

With CVS and subversion, I configured my home router as the version control server. I manually synced changes with the version control server using the command line tools that CVS and subversion provide.

Mercurial is a distributed version control system and fits better with my workflow: I do not need a central server: all computers can sync with each other.

As part of my experiment to migrate all my data and applications to web applications, I uploaded (almost) all my documents to Google Docs.

In Google Docs, I defined everything I work on as a project. Every project gets a folder and the folder contains all spreadsheets, notes, presentations, documents, PDFs and other types of files that are associated with that project. This project-oriented approach is inspired by the productivity methodology I follow.

Google Docs gives me instant access to all my documents from the two laptops I use and our kitchen computer. All my documents are always the latest version and I no longer need to manually sync changes between my computers. Furthermore, synchronization conflicts that occasionally happened when I used a version control system are eliminated.

As of today, I use Google Docs for all my documents with two exceptions: accounting data and LaTeX documents.

  1. Accounting data: I have yet to find a web application that supports the flexibility of my current accounting application. So for the near future, I keep my financial data in a local repository.
  2. LaTeX documents: Apparently, there exists an extension to write and compile LaTeX documents in Google Docs. Using this extension is on my to-do list. 
Moving to the cloud ...

Monday, September 20, 2010

Intro - living in the cloud

I believe that computing can become much easier. One of the mechanisms to make computing easier is to use web applications instead of classic desktop applications. This is the first post in a series of posts that will document my experiences in migrating all my applications and data to web applications

Why do web applications make computing easier? Well, they require no management: you don't have to deal with software updates, patches, new versions, etc. In general: they require no management from the end user's perspective. This is a good thing. As a driver, you also don't care about the management of your car. 

Another advantage of web applications is device interchangeability: I can access my applications and my data, independent of the device I am using.

The biggest downside is vendor lock-in. If Google (or another company) stores all your mails, how do you migrate to another provider? More and more web applications have public API's that can be used to extract your data if you choose to migrate to another provider.

Other disadvantages of web applications include:
  • Poor support for offline operation: the new HTML5 standards do have some support for caching data and application code in your browser to support disconnected operation. However, this only works for applications that operate on small amounts of data and nowadays very few applications have support for HTML5's offline capabilities.Standards such as the File API that provide better support for offline operations are still in development and not yet implemented in today's browsers.
  • Emerging technology: HTML5 and associated standards are an emerging technology. They are promising but not yet fully implemented nor fully standardized.
  • Performance: running applications on a remote server introduces latency. Last mile connections need to get much better and service providers need to provision enough servers to create a better user experience.