tech

Where Chrome is headed

Really long time since I posted. To those who’ve been checking back, extremely sorry - I’ve been deluged with work, research and job hunting among other things.

What brings me back from the writers’ grave is the release of Google’s Chrome browser. On their blog, they called it a fresh take on the browser, and thats what got me thinking. The browser, as we know it, has improved bit by bit for a long time. I remember when Firefox was called Firebird (pre-1.0 days), and I was floored by this browser which had this neat idea called tabs. Since then, though, every major browser release has been underwhelming and incremental, no matter how well marketed.

I downloaded and played with Chrome for a while. On the face of it, Chrome adds a few more incremental goodies. A slick, fast and light UI. Tab isolation to prevent rogue tabs from crashing everything. Better search integration, faster Javascript, better phishing protection and sandboxing. Similar features have been touted by almost ever major browser upgrade.

It also comes with a couple of annoyances — Windows only (though apparently we will see versions for Mac and Linux), and the download is a downloader which then downloads the browser, and it installs a separate GoogleUpdater process in a hidden location which doesn’t go away on uninstallation.

I doubt that Google would go to the trouble of making an entirely new browser from scratch for all this, though. Especially since they already pay for a lot of Firefox development; all of these features can plausibly be shoe-horned into Firefox. Nor do I think Chrome was developed to challenge any existing browser or to gain market share — Google couldn’t care less which browser you use to click on ads on an Adsense-enabled page. Their code is going to be open source, so they clearly do not mind people borrowing their ideas and making products that are as good or better. In fact, they encourage it.

Three things about Chrome though, are very un-browserish, at least in the traditional sense. One, they seem to have worked insanely hard to increase Javascript execution speed. Google is actually compiling Javascript to machine code, even though Javascript is traditionally interpreted. Moreover, they’re relying on optimizations that assume long-running Javascript applications, like dynamic classes. Which means that they’re guessing which set of objects have the same properties and methods; and constructing hidden classes to represent those objects to enable (I think) dynamic code reuse. Tech pundits, correct me if I’m wrong. Given that modern object oriented developers would be expected to this on their own; this is almost like cleaning up a messy teenager’s room. Essentially, the idea here is to convert Javascript into a language like C# or Java.

Two, Chrome comes with Google Gears built in; this allows Javascript to have locally-installed application-like bindings — it can store state offline on the user’s computer, interact with databases, perform multi-threaded processing. Not something the average webpage is interested in today.

Finally, it’s easy enough for Chrome to discard everything that ties it to even being a browser. There is a mode which can take away the tab bar and the URL bar and leave it looking like a normal application window. Since every tab is isolated in it’s own process, there’s no question of it being affected by other Chrome windows or tabs. Google describes this as a good mode for certain web applications, examples being, obviously, GMail and Google documents.

So is it just me, or is Chrome then one of the pieces of Google’s application development framework? Sure, it’s a web application development framework; but the end-user won’t even need to know that he or she is working on what is essentially a browser. The line between a web application that runs on a browser and sends UI and data to the user (think GMail) and a local application that has its own UI but interacts with a webservice in the background for data (think Thunderbird or Outlook) is becoming finer and finer. It isn’t hard to imagine a “program” which is just locally stored CSS and some Javascript to interact with a webservice like GMail over AJAX that runs on chrome and is for all practical purposes, a locally installed application.

Of course, this extends to any web service. Theoretically, with Chrome, you could start “Google Word Processor” from your start menu; which opens it up in a Chrome webapp Window and lets you work without bothering you with unnecessary details - like the fact that you’re actually working on a browser with local and web storage synchronization. This comes with all Google docs features; your friend could be editing the same document at the same time; and that neat chat window will open up inside the application to let you two argue about British vs. American spellings. Given that there’s offline as well as online data storage, you won’t be dependent on the network being up 100% of the time. Given that Javascript is now compiled to native machine code, it’ll run as fast as any locally installed application. It’s now only up to the developers to compete on features with something like Microsoft Office plus Sharepoint server. The price? Free.

Google’s probably not doing this entirely for consumers like us. PCWorld recently talked about how Google would really like to get into the enterprise space, which right now forms a tiny 2% of its revenue. There’s a huge potential there, especially now that Google has picked off all of the low hanging fruit and much of the higher hanging ones in the consumer search and advertising markets.

One last interesting bit. All of this is open. Chrome, Google gears and its APIs, their fast Javascript engine are all open source. Which means that Google is pretty confident of playing the game well. Confident enough that they’re using the lure of opening up these opportunities to get the market to move to these technologies. And people are taking this up already. Netsuite -->

browsers
tech

Comments (4)

Permalink

Thoughts on Macworld

It’s finally official, I guess Apple’s reality distortion field is wearing off for me. This was the first Macworld that I slept through since 2004, and no regrets.

The most interesting thing to me was that they got a pretty awesome movie rental service out. Includes all movies, at a pretty good price and reasonable rules for viewing. If there was an iTunes store in Singapore, I’d actually become a subscriber for this (I’m not sure if one can access the US store from here). Rentals are almost as cheap as stores, and you have the added advantage of not having to bother about going to a store to get and return media. The upgraded Apple TV makes a lot of sense, and actually it’ll be a pretty awesome device to have - given that you can access Youtube, Flickr photos, video podcasts as well as traditional iTunes content without needing a computer.

Minor updates to the iPhone. Steve Jobs is undoubtedly the greatest presenter in the world - he got applauded for allowing iPhone users to send SMSes to multiple people at once - a feature thats been around on phones for half a decade now. Enough said.

Which brings me to what was in the air at this Macworld - the Macbook Air. It’s certainly not what many people, including me were asking for (as long ago as last Macworld) - a Pro machine thats portable yet powerful - in essence a replacement of the 12″ Powerbook that I still use.

Thin is good, but Apple compromised way too much on thin. Let me put down my premise here - I understand Apple as a brand commands a premium, and with good reason. However, if I’m paying them US$1799 for a computer, I had better get a decent computer. One that I can, say, make my only computer if necessary and it should do whatever I’d need. Is that asking too much?

Lets start with the lousy disk options. Guess what, the consumer looking at the MacBook Air has a “choice”. Option A, choose the slowest drive in the world (80 GB, 4200 RPM). Firstly, 80 gigs? My three year old Powerbook 12″ has a 60 gig drive (5400 RPM), and I had an option to make it 100 gigs at the time. This is ridiculous, especially as Apple clearly has a 160 gig drive on their iPod Classic as well, which is NOT an option on the MacBook Air - I guess it was a slice too thick. But hey, if we go from 0.76″ to 0.8″ we’ll no longer get a thinner laptop than Sony, will we? Secondly, speed. This drive was advertised as “the drive on millions of iPods”, ergo, fast enough to play music - but you know, I might actually want to run like, real software on it. I dread the thought of anyone trying to load up a large Lightroom (or worse, Aperture) photo library onto this machine. Thank God we have a choice.

Option B is to choose the most expensive drive in the world - the 64 GB solid state drive. This is supposed to be really fast - but only costs a thousand dollars. A thousand dollars that could fetch you a whole new Apple Macbook at student price. Not to mention its even smaller than the actual magnetic storage, and lets not forget that OS X eats up close to 10 gigs of space for a full install. Yay for consumer choice.

Optical drive extra - but as Jobs said, we don’t need to watch movies on DVD (we have movie rentals!), we don’t need to burn CDs (we have iPods!) and we certainly don’t need space for backup (why wouldn’t anyone spend US$300 extra on a glorified router plus hard drive that is the Apple Time Capsule?). And we have the option of sharing a drive wirelessly from another computer to experience the joy of installing Microsoft Office 2008 over wifi, as if the process weren’t already slow enough. Fact is, there are people who live outside Cupertino-land. They’ll actually need a DVD drive, and be forced to pay US$99 (though I would hope other brand-drives which are cheaper would work as well).

No ethernet. Which will be missed when you want to configure your brand new router for the initial wifi config. But well, they do sell an adapter for US$29, and though we’re leaking change, we’ll bite the bullet except…

The MacBook Air has a single USB port. The ONE. Like Neo, in The Matrix (sorry, but I couldn’t resist). Why one? What is one supposed to do if forced to use the Ethernet adapter? Buy a hub, of course! So now we have to have an optical drive, a hub, an ethernet adapter - is it just me or is the Air getting a bit more viscous than it looked? Given that most people like to work with a mouse attached, that means the average person will have to move around with a hub all the time, if they so much as want to be able to work with a USB drive sometimes. Would it have been that bad if the Air was a tenth of an inch thicker but had three USB ports?

And no decent video card option, either. All of this ranting though, is only for someone who wants to buy this thing as a primary or only computer - clearly not Apple’s target market. Apple seems to be targeting this at people who already own a primary machine (maybe even two) and the Macbook Air is just for travel, or to be cool. Unfortunately, I’m not one of them.

I can pretty much bet that revisions to the Macbook Air line will be way better than what we have now. SSD will get cheaper and bigger, small hard disks will become faster, and who knows they might find a way to put in a real video card in there. And maybe when wireless USB comes along the whole Air thing will make more sense; as it stands currently, the Air is an experimental concept. All the more reason to wait this one out.

mac
tech

Comments (1)

Permalink

GMail Manager issue with new GMail

Since the new version of GMail has rolled out, the GMailManager extension for Firefox has stopped working. I found a hack on the mozilla forum by PMDv1 which I’ve tested and it works.

find your profile folder
browse to the extensions directory
open the folder named {582195F5-92E7-40a0-A127-DB71295901D7}
open the components folder
Open “gmServiceGmail.js” in your favorite text editor (notepad)
Use the find feature to the following text: “?search=inbox&view=tl&start=0&init=1″ (without the quotes)
Append “&ui=1″ to that text (again, without the quotes)
Save the file, and then restart Firefox! It should now show your unread messages!

tech

Comments (0)

Permalink

They don’t write reviews like this anymore

If you’re a computer science geek, check out John Siracusa’s review of Leopard at Arstechnica.

Its a wonderfully written review which digs deep into the internals of Leopard as an OS, and some really interesting issues right from human interface guidelines to kernel scheduling are discussed. I wish the tech press wrote more often like this instead of churning out simply whatever is sensationalist and superficial.

mac
tech

Comments (0)

Permalink

Moronic beyond belief

That’s me, in case you didn’t already know. While a lifetime of evidence exists, in the interests of brevity, I will only present its latest manifestation. Warning: this is a work-related (read: geeky) rant.

if ( A or B ) // A and B are some valid conditions
{
if ( A ) return x; // x is some valid return value
if ( B ) return y; // y is some valid return value
throw error; // should never reach here, right?
}

There should be absolutely no reason I’d get the error. Yet, I was. And once I got the error, I praised myself for having kept an “open mind” and actually anticipating that the impossible could happen. I enchanted myself with the discovery I was about to make which allowed this execution flow and rewarded myself with a subway cookie.

A while later, after banging my head around trying the complex conditions A and B by hand, I realized that it was impossible for this impossible thing to happen - as any first year undergrad could tell you. I’m doing a PhD and have to keep an open mind and let my brains leak out. That’s my excuse.

What happened was pretty simple. Master Yoda would put it this way: “Putting way too many error messages leads to lost time. Lost time leads to hurrying up your code. Hurrying up your code leads to copying and pasting aforementioned error messages. That leads to confusion about which error message you’re seeing. Confusion leads to suffering. Mmmm?” I sure found that out, after trying for an hour to debug code that was completely and obviously correct.

After this episode, which was actually the least of my worries (ever heard of segmentation faults?), I was wondering why it felt like I’d gone around in a circle a hundred or so times. And that’s when the universe, in a cruel stroke of brilliance, responded through subversion:

$ svn commit
Committed revision 314.

Just one of those days.

programming
tech

Comments (1)

Permalink

Of Tafiti and African names

If I had known that what I’m doing would one day be labeled by one of the world’s biggest companies as “Tafiti”, I can assure you I would have reconsidered a foray into research.

So Microsoft has debuted a beta of Tafiti (which means “do research” in Swahili). I can’t run it yet - of course it doesn’t work on Linux - but from what I’ve read, it can be summed up as “Copy and Paste from the Web”. Couldn’t they find an African word for that? Oh, wait… they did.

I have a theory behind African naming. Quick question: What’s as rare as in the Internet in Africa, other than matter in the universe? Answer: Good domain names in normal languages, of course. In a world where even http://www.wednesdaynightcheese.com/ and http://www.ifoldspacewithmymind.com/ are taken up, it’s not too hard to understand why someone rushed out and bought http://www.thegoodnamesweretaken.com/. And of course, this is true for almost every language in the world which is spoken by Internet accessing folks. We now have no choice but to turn to Africa; our last remaining resource of domain names until someone starts giving them cheap Internet access.

This grows into a rather neat startup idea. Start up a firm and buy domain names and transferable trademarks of words in any and all African languages, even those spoken by now-extinct gorillas in the disappearing forests of the Democratic Republic of Congo. Then start charging exorbitant fees for “brand consulting in the next century”. Your contribution will be to analyze market trends and shifting paradigms to maximize perceived identification with customers for a more human-centric branding strategy.

For example, if MSN and Yahoo join hands in search, the resulting engine could be called “Jomaiglooeghatahata”, an Angolan word for “We tried to beat Google but couldn’t”. The newest iPhone accessory range could be branded “Yootodomiyooto”, a poetic Gabonese word which elegantly translates as “We fleece you some, then we fleece you some more”. The phrase “Inev Idiv Iciv Ucho”, hailing from Burkina Faso, would serve as the perfect momentum-giving tool to Operation Iraqi Freedom, conveying unequivocally “We came, we found nothing, we keep getting hit and now we’re stuck”. And… well, you get the picture.

The business, of course, could use a professional sounding catch phrase like “Roonimoondonakagutu”, which in an ancient Namibian dialect that means “We know it sounds ridiculous, but trust us it works.”

There. I was planning to do all this myself but I decided to give it away. I feel generous today. No not lazy, generous. Go and make your billions. Drop me a penny or two after.

fun
tech

Comments (8)

Permalink

Computers have lost it

This just in:

Earlier in the day, Apple released a 32MB Keyboard Software Update v1.1.

In a brief set of release notes, the company said the software allows its new aluminum keyboard to take advantage of the special features.

I once had a computer with a 40 MB hard drive. And now keyboard firmware updates take up 32 MB. God help us all.

tech

Comments (0)

Permalink

Pidgin 2.1 on Fedora 7

Yum just updated pidgin to version 2.1, but I got the following error.

$ pidgin
libnm_glib_nm_state_cb: dbus returned an error.
(org.freedesktop.DBus.Error.ServiceUnknown) The name org.freedesktop.NetworkManager was not provided by any .service files
pidgin: symbol lookup error: pidgin: undefined symbol: purple_core_ensure_single_instance

Turns out pidgin 2.1 has a dependency on libpurple 2.1 which somehow got past the package managers. Works fine after doing “yum update libpurple”.

(via)

linux
tech

Comments (3)

Permalink

Swivel - Flickr for data

Swivel graph screenshot

I came across Swivel today, and it’s a fascinating place. It’s a repository of publicly-uploaded data (and corresponding auto-generated graphs, it seems like) on anything under the sun. Today’s front page shows me interesting graphs on the falling US contribution to physics, top reasons why books get banned, and airline accidents and fatalities over the years.

The graphs are all Javascript (mouseover actions over a bar show the actual value), and there seem to be some basic manipulations you can do because of this. It’s still not very clear to me how they intend to ensure the reliability of data as service use increases, though. And I’d like for the graphs to be embeddable in web-pages as well as exportable in various (Swivel claims all data is Creative Commons).

research
tech

Comments (0)

Permalink

Better Gmail extension

Although I’d vaguely heard of it before, I just tried it out, and it’s great. If you use Firefox, the better gmail extension is a must have! Some of the things are really useful - like Saved searches (I’ve actually written feedback to Google to include this feature) and displaying the unread message count first in the title bar. I like their “Super clean” skin as well (except that it doesn’t skin the Saved searches box).

Here’s a screenshot (click to view large):

2007-07-20-164807_993x607_scrot.png

browsers
tech

Comments (0)

Permalink