Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Chrome News: Mac and Linux Beta, Extensions and Web Sockets

Chrome News: Mac and Linux Beta, Extensions and Web Sockets

This item in japanese

Google Chrome’s latest additions are: Chrome Beta for Max and Linux, Extensions for Windows and Linux, and Web Sockets. 

Chrome Chrome for Mac is deemed as fast, secure and stable as the Windows version and it uses Mac’s look and feel. It uses some of the Mac OS features like the spellchecking service, the Keychain Password Management System, and the security provided by the OS’ sandbox. Gears is not yet available for Chrome/Mac, but only for Firefox/Safari/Mac.


Google Chrome for Linux uses both the Gnome and KDE desktop environments and the usual package manager for updating itself. 50 developers outside of Google has helped with this open source project. Gears is not yet available for Chrome/Linux but only for Chrome/Firefox.


Another much desired feature that was lately released is Extensions. Still in beta, the gallery already contains more than 300 extensions and many more will probably be added since anyone can submit one under an agreement. Extensions are available for Chrome Windows and Linux, but not for Mac which is to follow soon.

When published, each extension receives a 30 chars ID automatically generated by Google based on a public/private pair of keys. A Chrome Extension file (CRX) contains the public key associated with the extension, a signature of the extension’s content generated using the private key, and the content as uploaded in a zip file by the user. Chrome verifies the signature using the public key when the extension is installed or later when an automatic update is received. That secures the content assuring the user that the extension he is using comes from the original publisher. Extensions can be hosted on other sites, not just Google’s, with a slight modification of the manifest file in order to point to the appropriate URL for updates.

Everyone will decide what extensions he prefers, but an ad-hoc Top 10 list looks like this:

  1. Google Mail Checker - Displaying the number of unread messages in one’s Google Mail inbox.
  2. RSS Subscription Extension – Subscribing to a feed with one mouse click.
  3. Google Translate – Automatically translating pages into the language of choice.
  4. Google Wave Notifier – Displaying the number of new waves.
  5. AdThwart – Blocking adds.
  6. TwitterBar – Tweeting directly from Chrome.
  7. – Listening to music.
  8. Facebook for Google Chrome – Reading Facebook updates in a different format.
  9. Chrome Gestures – Commanding the browser with the mouse.
  10. Xmarks Bookmark Sync – Synchronizing bookmark across different computers and browsers.

Web Sockets

Part of the HTML 5 in-the-works standard, Web Sockets enables web applications to have bidirectional communications with server processes without having to rely on long polling. For the same purpose, developers have used XMLHttpRequest but with the cost of increased complexity because it relies on long GET commands. After opening a Web Sockets connection, the web application can send messages to the server using send() and registers an event handler to receive messages. Communication is done using the Web Sockets Protocol which:

enables two-way communication between a user agent running untrusted code running in a controlled environment to a remote host that has opted-in to communications from that code. The security model used for this is the Origin-based security model commonly used by Web browsers. The protocol consists of an initial handshake followed by basic message framing, layered over TCP. The goal of this technology is to provide a mechanism for browser-based applications that need two-way communication with servers that does not rely on opening multiple HTTP connections (e.g. using XMLHttpRequest or <iframe>s and long polling).

Chrome starting with version available through the development channel is already having Web Sockets enabled and working. It remains for server applications to start using it.

Rate this Article