Monday, October 23, 2006

Google Docs & Spreadsheets - a review

This post has been updated with some corrections


When I first read the article in the Associated Press (October 15th) about Google releasing its word processing and spreadsheet programs for free on their web site, it piqued my interest. I was happy that there would be a free tool for students to use to write their research papers and resumes. Even with the student discount programs, Microsoft Office is still expensive for cash-strapped students. While OpenOffice is a very good option for free word processors, it can be a task to download (except for Linux users, sinc OpenOffice comes with most distros of Linux). I was also happy that there was an easy tool to allow teams to easily collaborate on one document. On the other hand, I was concerned about security since this package was on the Web, and the documents are initially published on the Web. Plus, certain people, such as professors and future employers, demand that the documents that they receive are in Microsoft Word format.

So I decided to try Google Docs and Spreadsheets for myself.

The Test

In order to use Google Docs & Spreadsheets, you have to sign up for Google services, which is free to do. Sign-up is very easy - it took me about 5 minutes to do.

I focused my test with the word processor. It was very easy to use. If you are used to using Web text editors when you are publishing blogs or writing messages to a board, you will be able to use the word processor easily. It took me about 10 seconds (yes - 10 seconds) to get used to the interface. It was very intuitive.

One of my concerns was that future employers, as well as professors, usually accept documents in Word format only. No worries - Google Docs and Spreadsheets has added capability to download your document to your local machine in Word, OpenOffice, or RTF format! Plus, you can upload your own OpenOffice or Word documents to Google Docs and Spreadsheets.

Another concern that I had was security, since with Google Docs and Spreadsheets, you are working on the Internet. The good news is that Google Docs and Spreadsheets has features to allow you to control who can view and modify your documents.

I had two "cons" with this package:

  • If I wanted to develop a graphically robust document with fancy layouts, I couldn't do it with Google Docs and Spreadsheets.

  • There is no way to download the document in PDF format - I have to download the document to my machine in Word format, and use my Adobe Acrobat plug-in to convert the document from Word to PDF. Note: I understand that there may be some "hoops" that Google may need to jump in order to be able to convert the documents to PDF.

    Correction: I have just noticed that the Google Docs and Spreadsheets package does allow you to download to PDF format - hooray!

However, these are very small "cons" that won't prevent me from using this package.

The Verdict

Based on what I've tried, I really liked the package. It was very easy to use. The package gives me the ability to download my work to my local machine in case I needed my document in Word or OpenOffice format. I also like the portability of the tool. If I'm working on a paper, I don't need to haul my laptop or my flash stick everywhere. However, this tool won't cause me to get rid of Word or Acrobat yet. I still need Word for more complex (fancier) publications, and I need Acrobat to publish my tutorial documents in PDF format. (Not anymore! Google Docs and Spreadsheets package does allow you to download to PDF format.)

If you need a word processor to write papers and create resumes, give this package a try.

Monday, October 9, 2006

Phone Number Validation - The Next Level

If you are computer programmer or an aspiring computer programmer, more often than not, you will be required to write some kind of application or web page which requires a phone number. There are a number of code snippets on the web in the language of your choice on how to verify whether the number entered by your end user is actually in the correct format (for North American standards, it's nnn-nnn-nnnn, where n is a number). Some snippets are even clever enough to translate letters into numbers based on their placement on a phone pad.

While this method of phone number validation is good enough for most business cases, this method is not enough in other business cases. For example, what if you are writing a call center application or a web site which collects information for sales people to contact as a potential client/customer? If I entered 111-111-1111, it is in a valid format (North American standards), but it is NOT a valid phone number according to the North American standards. (Sales people get really annoyed when they get a lead for the lad himself, Mr. Hunt, at phone number 111-111-1111.) It's a good idea to familiarize yourself with the telephone number standards while writing your program.

If you are writing for one market in mind (ex: the US or Canada), it's relatively simple to do. In that case, you only need to familiarize yourself with North American standards. However, if you are writing for an international market, it can get tricky. For example, according to the North American phone standards, area and city codes cannot start with a 0, but according to the UK phone standards, area and city codes can start with a 0, which can be dialed within the UK.

Learning about the telephone plans will give you information about:

  • The valid format for an area code (a.k.a. the numbering plan code) and city code (a.k.a. the Central Office code).

  • Valid area codes

  • Reserved codes used only by the phone company

  • Valid codes for toll-free numbers

How you code the validation is up to do. Here are some ideas:

  • If you are using an object-oriented language, you can create a class that performs this action, since the validation code can vary depending on what standards you are using.

  • If you are not using an object-oriented language, create a routine that can be "included" or "referenced" in your program.

  • In North American, some companies offer a free file download of the valid area codes used in North America. You can download this file and store in a database table. Then, validate the area code against the table.

Would you like to read more? Here are links to the UK and the North American phone plans: