Archive for March, 2006

Comet, The Next Step Beyond Ajax

March 25, 2006

Gmail was released on April 1st, 2004. It wasn’t until February 18th, 2005 that Jesse James Garrett of Adaptive Path coined the term Ajax. The same thing is happening all over. Except this time, it’s not Jesse James Garrett; it’s Alex Russell. And it’s not Ajax. It’s Comet.

The Irish Developer Network has Alex Russell’s article about a technique called Comet, “the next step of Ajax.” Ajax is a technique that provides a way for the client to request information from the server without refreshing an entire webpage. Comet is a technique that provides a way for the server to continually send data to the client, even when the client isn’t requesting data. Because sometimes, the server has a lot of information to communicate to the client, and it doesn’t need the client to request anything. Here’s Alex Russell’s augmentation of Jesse James Garrett’s picture describing these technologies:

ajax-fig2

It took ten months after the release of Gmail for Ajax to become a common technology. It took ten months for others to discover what Google was doing and to learn how to implement it themselves. It took ten months to come to the point where the programmer’s brain said, “This web app communicates with the server without refreshing the page. I like that!”

The same thing is happening all over again. Except in a short while, the programmer’s brain will become trained to say, “This web app has a large amount of data that it wants to send to me. The server is continuously sending data to my browser, so it’s there immediately when I ask for it. I like that!”

Several web apps use this Comet technique today:

Let’s take Google Maps for example. If Google Maps used Ajax and did not use Comet, it would behave in such a way that when a user navigates the map westward, the XmlHttpRequest object would fetch the new images from the server without a page refresh. Using only Ajax, you would need to wait for those images to be downloaded to your browser. Sure you wouldn’t have to wait for the whole page to refresh, but you would still see a “loading” image every time. Take one look at Google Maps and you can see that this is not the case! How are those images displayed in the browser seemingly instantly? It appears as if the new areas of the map have been waiting for you to scroll to them! The only way this is possible is if the server had already sent the data to the client. With Comet technology, the server can continuously send data to the client. You might describe it by saying that the client pre-fetches data from the server, but it’s more accurate to say the server is pre-pushing data to the client. And as Alex Russell points out, “the data is delivered over a single, previously-opened connection. This approach reduces the latency for data delivery significantly.”

In Gmail Chat and Meebo, you don’t need to click a check-for-new-messages button to see if anyone sent you an instant message. The server is continuously pushing data to your browser.

In Jot Live, you don’t need to click a refresh button to see if anyone posted any changes to the shared text document you’re viewing. The server is continuously pushing data to your browser.

Google Engineers, you people are so far ahead of the rest, it’s sometimes scary. I can’t wait to see Google Calendar, and beyond.

People and Gmail Problems

March 23, 2006

Seems like lots of people are reporting Gmail problems lately. It’s so drastic that some people are switching to back to Thunderbird or Yahoo. I sure am glad my account isn’t giving me trouble. I’d hate to have to go back to sorting mail into folders and having to delete messages, and not having the conversation view.

DoJ Can’t Have Google’s Data

March 18, 2006

Just as Google’s blog is proud to announce, the judge ruled that Google does not have to give any search queries to the Department of Justice, and that they have to hand over only 50,000 urls.

From page 20 of the official ruling pdf:

With these limitations, for the reasons stated in this Order, unless the parties agree otherwise on or before April 3, 2006, Google is ordered to confer with the Government to develop a protocol for the random selection and afterward immediate production of a listing of 50,000 URLs in Google’s database on the following conditions:

1. In the development or implementation of the protocol, Google shall not be required to disclose proprietary information with respect to its database;

2. The Government shall pay the reasonable cost incurred by Google in the formulation and implementation of the extraction protocol;

3. Any information disclosed in response to this Order shall be subject to the protective order in the underlying case;

To the extent the motion seeks an order compelling Google to disclose search queries of its users the motion is DENIED.

So, according to the ruling, Google now has to write a program that will provide a listing of 50,000 random URLs and the DoJ has to pay Google for their development time. It might seem ironic at first because the DoJ could write a program on their own to retrieve a list of 50,000 random URLs from Google’s databases, but I’m sure Google’s engineers are able to write a much better program than the DoJ could write since the DoJ only has access to functions for which Google has provided a public interface.

All that being said, this is a great win for Google, and for the Internet users in general. It’s sad that Yahoo!, Microsoft, and AOL gave in to the subpoena without fighting back.

Google and Writely

March 10, 2006

I agree with Gary Edwards’ idea that the Google – Writely deal is Pearl Harbor to Microsoft. Google’s acquisition of Upstartle (the makers of Writely) is a strong pull with applications in the left hand’s grip and documents in the right hand’s grip. Google and Writely as a team will encourage the advancement of the Open Document Format, which in turn will fuel the separation of application and documents. From Gary Edwards:

Here’s something to think about. When you do a Google search, do you get applications or documents? Right. The power of Google lies in the reach of their computational forces and the open, robust digital life that is the Internet. For Google to thrive, information must be cut loose from their application ties and set free using open, Internet ready file formats.

Microsoft made their billzillions from tying information to specific application and platform versions, and tying those to hardware and API references, charging a premium for the licenses needed to facilitate the exchange and interchange of documents. Just the opposite of the Internet centric Google model.

Question: Will Microsoft respond by finally cutting their file format loose from the hardened application and platform dependencies so profitable in the past? Or will they let Google and ODF run off with both the monopoly base, and the future?

The 1901 pages of the MSECMAXML specification says just the opposite of what anyone with half a brain would advise Microsoft to do. Where ODF is a wrapper of Open XML technologies, MSECMAXML is a wrapper of XP/Vista dependencies and systems calls.

Looks to me like our friends in Redmond tried to squeeze a good thing for far too long.

The battle is heating up. What would you do if you were Microsoft?

Google Search for Google Calendar

March 10, 2006

If you do a Google search for google calendar, the third result on the third page is a link to http://www.google.com/cl2/. I’d say it’s a pretty popular page considering that the login isn’t working, and Google hasn’t even linked to it yet.

Google Buys Writely

March 9, 2006

As Google’s Blog proudly announces, they have officially bought Upstartle, the creators of Writely, the web word processor.

Google is building quite the alternative to Microsoft Office. Once they finish their alternative to Outlook (by releasing Google Calendar), will Excel be next?

Google Calendar Screenshots

March 8, 2006

Techcrunch reveals some Google Calendar screenshots. Alternately, you can see all the shots in one image here.

From the screenshots, it looks like a very useful calendar app, totally integrated with Gmail. Some features that Nathan points out:

  • Arrington says that CL2 looks like it is a long way from being ready for launch.
  • 200 people are beta testing, and sworn to secrecy.
  • Yahoo briefly had access, but informed Google.
  • CL2 is closely integrated with Gmail.
  • CL2 has subscription feeds for iCal and XML.
  • CL2 has event creation, search, sharing, notifications (including email, SMS, and popups).
  • Google is not just creating personal calendars or group calendars, but creating a searchable events database. Included in that is a public webpage (for public events) to share details.
  • CL2 has keyboard shortcuts.
  • You can choose to make your calendar public or private, or just show what times you are busy.
  • You can add other calendars by searching public calendars, friend’s calendars, holiday calendars, or by entering a public calendar address (iCal or Atom).

Other features I’ve found from the pictures:

  • There will a Weekly view and a Monthly view
  • There will be an Agenda
  • You can allow individual users to make changes to the calendar
  • You can allow individual users to manage the sharing of the calendar
  • When you are invited to events, you can choose how to receive those invitations

I’m pretty excited about the way Google decided to do the invitations. The options for receiving invitations are popups, email, and SMS. Invitations on the go. Brilliant!

The Agenda view looks very interesting. 30boxes is working on a “to do list” and it seems natural to include it within the calendar. It’s apparent to me that Google is learning from 30boxes progress.

It also looks like Google is providing calendars for holidays.

I still haven’t seen a monthly view. And I still can’t determine what the scrolling is like.

Hurry Google Calendar and Hurry Fast

March 2, 2006

Gmail was released on April 1st, 2004. I’ve heard talk that Google Calendar will be released on April 1st, 2006. None of those sources have any credibility though. The only source that has any kind of reliability is Valleywag, (they predicted Google Page Creator) but they haven’t said anything about Google Calendar’s release date.

When Google Calendar finally does come out, I expect it to have almost every feature that Outlook’s calendar has, or an improvement on those features. Right now, I use 30boxes.com for my online calendar, and its interface just doesn’t cut it. It’s nice because it’s built with AJAX, and it has tons of features, but the scrolling on it is terrible. You have to click an up or down button and wait for the next week to load up. It doesn’t take long, but that kind of thing should be prefetched in the same way that a Google Map prefetches offscreen areas of the map. 30boxes’ scrolling mechanism is just like Yahoo! Maps’ scrolling mechanism. It’s the old way of doing things.

You can count on Google Calendar implementing it the same way they implemented Google Maps.