Archive for the ‘Google’ Category

Google Open Sources Browser Sync

Google decided to open source it’s no longer supported browser sync extension. You can find the Google Code project here. The other major extension in this category is Mozilla Weave. I’m not sure what (if any) functionality might be gained by combining efforts, though I’ve seen some suggestions around the web to that effort. Anyone dig into that source code?

Google’s on roll with open source lately.

Google Releases Protocol Buffers

Google today released Protocol Buffers. Protocol Buffers is their “language-neutral, platform-neutral, extensible mechanism for serializing structured data”. In general it’s pretty interesting stuff, and looking over the docs, seems pretty well thought out.

I agree XML is bulky and wasteful for the task. There’s a reason why many web developers prefer JSON rather than actual XML when using xmlHttpRequest: XML parsing can be a real performance killer. JSON in my mind is currently the winner in this department since it’s light weight, simple, and a can be interpreted by pretty much any language on the planet (may need to install a module, gem, extension, or include a class). The downside to JSON is that it doesn’t really allow you to define structure. JSON also is still not binary format, so you have a performance penalty to parse the string. The upside is that JSON is rather easy for humans to read (great for debugging). The NY Times even made a database abstraction layer called DBSlayer that interfaces using JSON.

Serialized PHP has become somewhat popular (Yahoo Developer Network API’s support it), but it’s language specific, though interpreters that can read/write it exist for other languages including Perl, Python and Java. It’s also somewhat complicated for what it provides. At a glance it’s a string of garbage until you break it down.

It looks like Google already has support for Java, Python, and C++. It’s only a matter of time before Perl, PHP, and Ruby get support for Protocol Buffers as well.

I could see Protocol Buffers being pretty useful in combination with Memcached.

It’s great to see Google open sourcing stuff like this.

Gmail’s Remote Signout And Logging

Google has recently upped their profile in regards to security and privacy. Last week Google made the subtle change of adding a privacy link to the homepage. This is common on most sites, but avoided by Google because they are very strict about cluttering their homepage. Privacy groups have wanted this for years, so this is a pretty large win.

Today Google announced it’s rolling out the ability to remotely sign out other computers from your Gmail account. You’ll also be able to view the IP address, interface (web, mobile, IMAP, POP3), and time that anyone has logged into your account. This is a groundbreaking change in regards to email security.

Now it’s possible for email users to review the logs and see if and when anyone else has accessed their personal email.

I suspect Yahoo, and Microsoft will be working to copy this feature, perhaps with their own enhancements (invalid password logging maybe?). I can also see Facebook and MySpace rolling out a similar feature in the near future. It’s an easy enough enhancement that provides a lot more comfort and security to the product.

Employers going through employees personal email has been hostile waters for a long time including a recent high profile case. This is certain to agitate that. I suspect there are a few companies who will be updating their policies in the next few weeks to try and protect themselves. There will even be a few who will sue Google claiming libel or that Google’s privacy policy should cover you when you log into someone else’s account provided you have one of your own. This is guaranteed to happen.

It’s a good move by Google. This feature greatly enhances the security of Gmail and puts it in a class well beyond what Yahoo or Hotmail currently provide. This is likely the biggest threat to email other than viruses which they all scan pretty well, and phishing, which they also do a decent job with.

Safari’s New JS Interpreter: SquirrelFish

There’s an announcement on the Safari blog about SquirrelFish, their new JS interpreter. To sum it up:

SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.

Some performance data can be found here, as well as here, which even tests against Tamarin (slated for inclusion in Mozilla2). I think the motive for this move might have been best summarized here:

  1. I can imagine the “performance per watt” power consumption for SquirrelFish is also much lower. Good for my iPhone’s battery life.

Especially with the iPhone going 3G next week which will consume more power, making a web browser be as efficient as possible with CPU cycles not only makes the experience better, but will save battery life. This doesn’t just impact the iPhone as Google’s Android also includes WebKit.

David Mandelin has some analysis and comparison to the Mozilla work being done on his blog.

It’s pretty interesting stuff.

.mac To Become Me.com And MobileMe.com

A few days ago, various websites noted a change in the recently released Mac OS X 10.5.3 that Apple replaced hard coded references of .mac with a variable, as if they plan to change the name at some point in the near future (WWDC 2008 is just around the corner).

Now it appears Apple owns me.com and mobileme.com. The SOA records confirm me.com, though not mobileme.com is owned by Apple. The timing and name strongly suggest the same owner. MarkMonitor.com manages domains for most of the large tech companies including Apple, so that’s to be expected. Remember Apple owned iPhone.org for ages before actually launching the iPhone, so it’s not impossible that this is just a strategic purchase and has nothing to do with a WWDC 2008 announcement.

;; QUESTION SECTION:
;me.com.                                IN      SOA

;; ANSWER SECTION:
me.com.                 77583   IN      SOA     ns1.markmonitor.com. eddingsk.apple.com. 2008052918 28800 7200 604800 86400

;; Query time: 16 msec
;; SERVER: 68.87.64.146#53(68.87.64.146)
;; WHEN: Sun Jun  1 22:17:29 2008
;; MSG SIZE  rcvd: 91

Considering the tight relationship between Google and Apple thanks at least in part to a certain someone, one must wonder if .mac will be replaced by a Google powered service. Google already offers pretty much the entire product line. It might make sense for Apple to just outsource the .mac operation to Google. Apple initially planned for .mac to be partially free (and it was initially), but costs forced it to be a paid only service. Letting Google power it, would undoubtedly be cheaper since Google has an ability to scale is unrivaled.

I’ve got to put together a better list of predictions before WWDC 2008 (as tradition requires). But this is likely one of them.

Usefulness + Speed = Users

As a frontend developer I’ve long argued the magic formula for a good website is:

Usefulness + Speed = Users

This is based on the fact that the best websites on the internet are pretty spartan in appearance. When you look at many of the successful ones (Google, Yahoo, Craigslist, Facebook), they’ve all taken the approach of simplicity on the frontend. They keep the user interface as minimal as possible, and they keep the technology and code as minimal as possible.

An interesting quote from CNet:

The same effect happened with Google Maps. When the company trimmed the 120KB page size down by about 30 percent, the company started getting about 30 percent more map requests. “It was almost proportional. If you make a product faster, you get that back in terms of increased usage,” she said.

Emphasis mine.

Just goes to show that faster things become more than useful to users. They become a convenience. Users don’t really care how it looks or they would have switched from boring Google a long time ago. They just find it so convenient and quick they can’t stop using it.

I suspect this is why digital clocks are so popular.

Roman Numeral Analog Clock

Most people find an analog clock to be “classy”, in particular when there are roman numerals. But when you come down to being practical, they aren’t as quick to read for most people since we rarely deal with roman numerals. The solution used to be using Arabic numbers to increase usability and speed:

Arabic Numeral Analog Clock

This is better, but not perfect. Still slow to read, and your estimating the minutes. These days, we have the technology to produce low cost digital time readouts with Arabic numbers. These are more accurate since they show the minutes, and maybe even seconds, and can be read at a glance with almost no effort.

Arabic Digital Clock

Despite hardly looking fancy, this is what you see in most train stations, airports, etc. The older clocks are still around, but mostly for aesthetic purposes. People are willing to sacrifice looks for convenience. That’s why they walk around with digital watches rather than the more classy ones. Both can be found for cheap, but one can easily be read (even with poor vision, and in the dark).

Simplicity always rules. Unless your a nerd with a binary clock (which is cool).

I suspect this rule also holds true for software. If it’s faster, people are more inclined to use it. People moved from IE 6 to Firefox because it’s faster. Given that Firefox 3 is even faster… I’m hoping this trend will be proven yet again with an improved adoption rate.

Another upcoming test of this principle will be the Apple’s 3G iPhone. Will the average number of minutes browsing the web increase with the additional speed of a 3G network? Will faster performance make people use the device more? I suspect so. I also think it will increase adoption as many people were turned off on the idea of spending that much for EDGE. For 3G, that’s a different story.

It’s really pretty interesting stuff. People often associate usability with user interface design, and never performance. But that data really does seem to point to performance being one of the easiest ways to make a product more usable.

Images: Grand Central Terminal clock © 2004 Metropolitan Transportation Authority, Clock in Kings Cross, LCD Clock Grey via Wikipedia

Google Reader’s Inverted Unread Checkbox

I’m not sure who thought it would be a good idea to invert Google Reader’s “read” checkbox, but it’s confusing, and in my opinion an unnecessary UI change. Way to obscure. Before it “checked” meant it was read, unchecked was unread. Now it’s just the opposite. It could have went either way, but the quiet change just isn’t cool.

Read
Google Reader Read

Unread
Google Reader Unread

Summer Of Code 2008

Google announced the project lists for Summer Of Code 2008. Some of the more interesting projects from my perspective:

Adium

Dojo Foundation

FFmpeg

Gallery

Inkscape

Joomla!

The Mozilla Project

MySQL

PHP

Pidgin

WebKit

WordPress

Google’s Toilet Preferences

Google Bathroom Gadgetry

I wonder if Google’s privacy policy applies to the settings on their bathroom gadgets. That said, I still don’t feel comfortable with any toilet that has an oscillating button.

[Photo Credit: Eszter]

April Fools 2008

As usual, my list of April Fools that I saw today: