Google Docs Notifier 2

Motivation
“Does Google Docs notify you when collaborators make changes/edit documents… when you are the creator of the document & you’ve shared it with other collaborators?”

This question was asked in 2009 on the Docs Community (http://www.google.com/support/forum/p/Google+Docs/thread?tid=231452b7671aa264&hl=en). Up to now, this question is still not answered by any Google staff officially. In the previous semester, I released Google Docs Notifer and announced it on the forum. Just within few months after that, I received feedback from three users. They gave me some suggestions and ideas regarding how to improve the Google Docs Notifier.

So, I decided to continue working on this project and finally released the second version of Google Docs Notifier.

Google Docs Notifier 2 Login Screen

Google Docs Notifier 2 Login Screen

GUI Improvement
Unlike the previous version, Google Docs Notifier 2 is done using WPF which allows me to do better GUI. Now its main window is smaller than the previous one. In the main page, user needs to key in their user name and password first.

After signing in, user can view all his unread documents and their updated date, time and person. In WPF, I can customize the listViewItem in XAML so that I can present the information in a nicer and more organized manner. User can easily find out what are the latest documents updated, who modified them and when they are modified.

To make users’ life easier, the app will display the total number of unread documents on system tray as well. So, they can easily find out whether there are new updates in their Google Docs or not.

System Tray Notification Popup

System Tray Notification Popup

Remember Me!
I was asked by a user if I can add in the feature of remembering user’s password so that he doesn’t need to login every time he runs Google Docs Notifier. I answered him yes but I warned him that there was a risk of losing his password easily especially if he run it on shared computer. Finally, I decided to have a checkbox there for the users to make their own choice on whether to store their password or not.

This feature is not that hard to implement. I used one evening to figure out the way to correctly encrypt and decrypt data using the Data Protection API, or DPAPI. There is an article online about how to do this correctly: http://weblogs.asp.net/jgalloway/archive/2008/04/13/encrypting-passwords-in-a-net-app-config-file.aspx.

Unread vs. Unviewed
In Google Docs site, they use the words “viewed” and “unviewed” to differentiate documents which are read and not read by the users. In addition, the users are allowed to mark read documents as “unviewed documents” and unread documents as “viewed documents”.

However, in their API, these two words mean different thing. In the Documents List API, they call newly created documents as “unviewed documents” and the rest as “viewed documents”. This causes the developers can only depend on the updated and lastViewed timestamps to figure out the documents which are not yet read. Hence, in Google Docs Notifier, I use the word “unread” instead of “unviewed”. This means that as long as the document is not yet read, it will be labelled as unread document in Google Docs Notifier, no matter whether it is already marked as “viewed” or “unviewed” in online Google Docs site.

Only Display Unread Documents

Only Display Unread Documents

Conclusion
Google is now developing the third version of the Documents List API. However, the API is only applicable for Java and Python. Their .NET library is still based on the second version, which is order. In addition, arbitrary files are not recognized by the Documents List API, so if they are arbitrary files uploaded to Google Docs site, the Google Docs Notifier won’t able to know that.

If you are using Google Docs and you are also looking for a way to get notified for every new update on your Google Docs, please take a look at my Google Docs Notifier: http://googledocsnotifier.googlecode.com. Thank you very much! =)

Advertisements

2 thoughts on “Google Docs Notifier 2

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s