A while ago, I posted about the excitement I felt when Google Calendar was announced, although I also expressed some privacy concerns at that time. Well, I’ve been able to try out Google’s approach to organizing my life, and it’s been pretty sweet so far.

The interface is remarkably like iCal, very responsive, and generally not any more cumbersome than I found iCal to be. I was able to import all of my iCal calendars directly into Google Calendar without any hiccups, and if I ever decide to bail, I can export them right back out and load them into iCal. (This might be handy if I know in advance that I’ll be offline for some extended period of time, which does occur from time to time.) And to my surprise, Google renders you a nice PDF of the day, weekly, and monthly views so you can have a more traditional style print out if you find those handy.

So hands down, I give Google a lot of praise for their hard work and can’t wait to see this product come out of beta. I really don’t feel that I’ve fully leveraged even half the features yet, but one thing I’d like to see in the final product is the notion of a todo list. A simple text field of some sort would do, although an iCal style widget where you can check off boxes would be even better. I have my todo lists in their various forms and tend to loosely couple them with my calendar. I’d imagine that lots of other folks do too.

As I’ve been pondering the various ins and outs of sophisticated web apps, a few key features keep coming to mind because they’re either 1) really important, or 2) not as prevalent in web apps as they should be. I don’t claim that these features are the only features or the most important features that are crucial to successful application-centric web apps like spreadsheets and calendars, but I do think they need to be recognized and the development community should give them some thought as interfaces continue to become more standardized and development practices mature.

  • Privacy: There should be a standard practice for encrypting on the client side with JavaScript and having the encrypted text be stored on the server side. This sounds pretty self explanatory, doesn’t it? Nevermind what type of encryption at the moment — we can sort that out later. But let’s agree that this is a must-have core feature that’s absolutely essential. Even a simple hash done in JavaScript just before data is sent out would offer a moderate amount of privacy and set a lot of people’s minds to rest. I haven’t seen any web apps that claim to do this, although I must admit I haven’t looked too hard either.
  • A Copy/Paste Mantra: You can drag objects on your calendar around quite freely, but there are times when I’d like to be able to copy and paste events. This is generally when there’s some irregular event that I can’t schedule in a predictable way, which results in me having to enter it multiple times. I haven’t seen many web apps that have any type of copy and paste mechanism, and I suppose that to an extent many of them don’t need to have one. Still, I expect this will eventually be a problem as the complexity of web apps continues to increase. For example, I don’t see that there’s a way to copy and paste cells in the online spreadsheet NumSum, which in my humble opinion, is unacceptable — but Google Spreadsheets does offer this crucial feature.
  • Scriptable Interfaces: Basically, just allow end users to write their own plugins using some sort of basic JavaScript API. There’s plenty of other places we could take this, but this would be a good start. Google Maps already offers something like this, so let’s see it spread to other apps as well, and eventually, become a staple in any sophisticated web app.
  • Printing and Load/Save Dialogs: I think we’ve come to depend on these core features, so any web app needs to offer them in some form or fashion. Not being able to load/save my data from an application and get it onto a physical medium I can hold in my hand would be a serious red flag for me. Google Calendar allows you to do both of these things and provides you with nice, dynamically generated PDFs for printing. I just mention them here because they’re so important. And by the way, Google Spreadsheets is doing an especially great job on this one as well. There’s even a pretty standard “file” menu available to create new documents, download/save in various formats, etc.

Well, that’s enough chat from me. Let’s hear something back from you. What do you think of Google Calendar so far? What core features do you feel are missing from web apps these days?