ReadWriteWeb brings news from on high of a new web browser headed from the hills (or from Google’s headquarters). They report that Philipp Lenssen received a comic book in the mail that was drawn by Scott McCloud (author of Understanding Comics) which “details” out the plan for the new browser, currently named “Chrome.” He’s scanned the entire thing and put it here for now.
One of the problems Google suggests they’re addressing by creating a new web browser relates to the current threading model used in web browsers. JavaScript is single-threaded. Occasionally, this can unfortunately cause a poorly written application to hang the browser — as it’s blocking other threads from executing. So, Google’s engineers are suggesting a new model, where each browser window is actually its own process.
(I’ve hyperlinked all of the images back to their source if you should want to see a larger version).
They don’t talk about how they’ll manage the user interface if multiple processes are actually responsible for the downloading, rendering, etc. other than to mention that each tab is responsible for the tab and the content.
It’s not clear how application switching (like ALT-TAB or the equivalent on OSX) works in this model.
Right now, in Firefox, I’ve got about 15 tabs open and another 10 or so in a few Internet Explorer windows. What they’re saying that instead of the single process for each application, that there will be some “uber” application controlling each distinct browser window. Hmm.
I wonder why they couldn’t make multiple threads work within a single process? I see how they don’t want one bug in one tab to bring down other tabs, but this introduces a lot of extra moving parts and cross platform complexity. Google hasn’t done too much related to actual installable applications to date (a few, but the majority of their expertise is in writing web applications). So, they have yet to prove they can write such a beast.
Interestingly, Google’s browser is planned to limit pop-ups to the browser tab that created them. So, they won’t pop out of the window, rather they’re constrained.
If you’ve created an application which uses pop-out browser windows (for good and not evil purposes), this may be a deterrent to your users.
The comic doesn’t mention how other applications can take advantage of the following behavior. They’ve enabled some “mode” which can reduce the browser chrome to the bare minimum, making their web applications feel more like a regular application.
Hey! They admit there’s more to life than just HTML and JavaScript!
Although, because of their security model, there’s a subtle hint to plug-in creators:
Cross process communication … they’ve created some model by which a plug-in would actually run within a separate process from the main browser tab process. I can’t help but think that there’s a reason why computer chip manufacturers need to continue to innovate — as engineers are pushing the boundaries of performance and expected application isolation to create an entirely new development model. At least on the Windows platform, if you take two optimized code bases, both doing the same work, but one that requires out of process communication, the out of process communication will always be SLOWER. You can make it fast — but it will never be as fast. So, there went a tiny bit more of your battery life. Sorry.
They’re adding Google Gears directly to the browser.
Welcome to Google’s operating system.
It’s a brilliant tactical move. Avoid the desktop operating system war entirely. By staying out of that war, they don’t need to spend time on mundane, yet challenging tasks, such as hardware driver management, application compatibility, virus scanning, releases, documentation, user interface design, API design, upgrades, etc. That’s several thousand people that can be doing something else. (Yes, they could have started with Linux — but, in my opinion, and my experience, Linux is STILL years away from any sort of mass adoption, and even having Google behind it won’t do enough quickly enough). Google doesn’t need people to “switch” anything but their web browser. If they created an operating system, they’d need applications, games, etc for the platform. The cost for a user to switch is high. Who would install it and support it?
Android is an interesting play, however very different than joining in the desktop operating system wars. By building it from scratch, they’re able to set standards and create an API. Phones, unlike computers/laptops/desktops, are relatively disposable and inexpensive in the current market — unlike a desktop or laptop computer. The investment is less and the consumer’s expectation of a computer or laptop is more of an investment rather than a toss-away electronic gadget. It remains to be seen whether they can be truly competitive in the phone market. It’s a big market, but the existing players aren’t going to stand aside and let Google walk over them without a fight.
By skipping the desktop operating system wars, they jump to the thing that is the core of their business model: The Internet. The web is a platform. Google has the pieces in play from Google Gears to a new development platform (App Engine). Here’s their chance to create a shell optimized for their empire.
How will the browser manufactures react? Will Google actually ship a browser? (Creating and drawing a comic book is a long ways from actually shipping a final version of a new web browser). Will Google include by default links to their web properties and will there be an easy way for others to extend them — or …?
The bad part for web developers everywhere — at what point do you add YET ANOTHER browser to your tests? It’s based on WebKit (the foundation for Apple’s Safari)– but it will need to be tested as a whole different browser.