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.