September 15, 2008 6:37 AM PDT

Google Chrome...is Windows inside, which may be a strategic error

by Matt Asay
  • Font size
  • Print
  • 43 comments

In a fascinating post, Scott Hanselman pulls apart the Google Chrome browser to discover Windows inside or, rather, Windows Template Library (WTL). WTL was open sourced by Microsoft back in 2004 and went somewhat silent until now, when it popped up in Google's open-source browser.

Hanselman calls out the reason for WTL's inclusion:

Chrome uses abstraction libraries to draw the GUI on other non-Windows platforms, but for now, what sits underneath part of ChromeViews is good ol' WTL. Makes sense, too. Why not use a native library to get native speeds? They are using WTL 8.0 build 7161 from what I can see.

Speed matters, and getting top speeds on Windows may require using native Windows libraries, graciously offered by Microsoft back in 2004 as open source.

However, not everything came free of charge (and effort) from Microsoft, as Hanselman points out, and it appears from a recent PCWorld article by Neil McAllister that the effort to bring Chrome to the Mac and Linux will be even harder. Hanselman writes:

Looks like The Chromium authors may have disassembled part of the Windows Kernel in order to achieve this security feature [Data Execution Protection] under Windows XP SP2. Probably not cool to do that, but they're clearly doing it for good and not evil, as their intent (from reading their code) is to make their browser safer under XP SP2 and prevent unwanted code execution.

So the Chrome authors have had to cut some corners to make the browser secure on Windows. Microsoft may not like the approach, but as Hanselman notes, at least Google is doing it for benevolent purposes.

Fine. But what I really want to see is Chrome for the Mac (and Linux). For this, however, PCWorld's McAllister suggests that we "shouldn't hold our breath," as the "Mac build is a work in progress that is much closer to the start than the finish." In part, this is because Google needs to code around Windows platform-specific elements like WTL.

All of which means that while Microsoft's open-source efforts may ensure it will take first place in the Chrome bake-off, Google is forcing the early adopters to stick with Firefox, rather than experiment with Chrome. The trendsetting crowd is with the Mac and, to a lesser but still significant extent, Linux, not Windows. (Of course, some data doesn't support this contention.)

It might make sense to aim for the mainstream (i.e., corporate IT, which would get the most benefit from an JavaScript-optimized Web browser), but the mainstream isn't in the habit of trying out the latest and greatest.

Personally, I think Google needs the entrepreneurial CIO and CTO if it hopes to make Chrome stick. That crowd, however, is likely not a Windows crowd. Time will tell if this was a strategic error on Google's part.

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to The Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure. You can follow Matt on Twitter @mjasay.
Recent posts from The Open Road
An application war is brewing in the cloud
2010 the year of cloud-computing...M&A
Canonical shines its Ubuntu light on consumers
Open source became big business in 2009
Will we see an open-source IPO in 2010?
Could Apache keep Google's regulators at bay?
Red Hat's Q3 earnings defy gravity
Canonical's opportunity to simplify Ubuntu
Add a Comment (Log in or register) Showing 1 of 2 pages (43 Comments)
by Thranx September 15, 2008 7:27 AM PDT
It boggles my mind to continue to see posts like this. As much as your mac or linux fans want to dream that your chosen OS actually means something in the market... it doesn't. Chrome is available on Windows first, and maybe Windows only for a long while because Linux and Mac are irrelevant when attempting to gain any kind of market penetration.

Mac's inched up from it's 4% to 5% (source @ w3 : http://www.w3schools.com/browsers/browsers_os.asp ) of web connected machines and linux is even less. Why would anyone spend significant time and resources to develop cross-platform. If it's not going to be a fairly cheap and easy transision it doesn't make business sense.

I'd like to find a news site that isn't mac slanted, one that's based in reality where computing isn't about what's shiniest.
Reply to this comment
by decriptor September 15, 2008 7:48 AM PDT
For this article market share based on browser states might apply. However, I'm pretty sure my 6 Linux servers at home will probably never show up in those statistics. So, in general I'd argue that those statistics are not a good indicator of market share when comes to Linux.

As for the mac side, I think I had heard that there are lots of engineers at Google using the mac. Its kind of surprising that there isn't a mac client.
by rapier1 September 15, 2008 9:35 AM PDT
I agree with you in part but I do think cross platform availability is important if for no other reason than it keeps the more vocal people happy. I do think the author is spouting nonsense though. The entrepreneurial CIO and CTO crowd aren't, for the most part, idiots and they have a tendency to understand their market. They'll generally use whatever platform is best suited for the market to offer their solution. As such they aren't a windows crowd and they aren't a linux crowd or a mac crowd. They're an IT crowd focused on maximizing market share and investor return.
by halfNakedPappy September 15, 2008 9:40 AM PDT
It boggles my mind that you continue to read a blog which bothers you so much.
by Kwasiowusu September 15, 2008 10:11 AM PDT
decriptor : "For this article market share based on browser states might apply. However, I'm pretty sure my 6 Linux servers at home will probably never show up in those statistics. So, in general I'd argue that those statistics are not a good indicator of market share when comes to Linux. "


Yes they are.
Your panthom "5 Linux servers" are irrelevant when compared to the over 70 million Windows PC's sold worldwide every single quarter.
Not to mention millions of people have old Windows PC's that they have converted to print servers and such in their homes as well, a heck of a lot more than those Linux home servers you are talking about.
by Thomas, David September 18, 2008 9:33 AM PDT
You should be boggled because you are obviously dazed, and confused.

#1. Good Practice, means cross- platform development, which means not using a platform specific library. Given the fact that Google is an Internet company, this should have been number one priority.

#2. Bad Practice, well developing with a platform specific library. DOH.

How true is any of this? I'm assuming that the article is reporting the information accurately.
by Thomas, David September 18, 2008 9:39 AM PDT
HAH ... After reading my own comment, i have to disagree with myself. Depends on what the libraries are for. And since I don't know WTL, I can't comment. But if it's a presentation library (used to display windows, buttons, etc), and has nothing to do with core code used for "Chrome", then the entire article is a Rosanna O'danna thing.
by Sesetamhet September 18, 2008 4:55 PM PDT
There is no argument that the vast majority of desktop computer users are using Windows. The question is, is the standard desktop user the most relevant to the purpose of Chrome. Remember that Chrome is an open source project, and the vast majority of open source projects, as well as contributers and developers to those projects are located in the Linux sector. Chrome would get a much faster communal improvement response if it had released first on Linux, allowing for a more completed product to later be released for Windows. All of this aside, it is good programming practice to make platform independent systems, especially if Chrome wishes to challenge Mozilla's hold in the browser world. If Chrome wishes to have a fraction of the number of code developers that Firefox currently has, releasing a Linux version will be absolutely necessary.
by curtismpls September 23, 2008 8:20 AM PDT
"Why would anyone spend significant time and resources to develop cross-platform."

Why would anyone spend significant time and resources to develop for 95% of the market when the same time and resources could yield a product that covers 100% of the market?
by crb0r September 15, 2008 8:27 AM PDT
I can't find the link now, but I read recently that Google are more than happy to let Safari and Firefox be the leaders on Mac and Linux platforms - the renewed deal with Mozilla speaks to that - and want to attack IE's dominance on Windows.

The POV was that Google isn't competing with IE - it's competing with Live Search.
Reply to this comment
by Kev_Orng September 15, 2008 9:37 AM PDT
Who cares... The rest of Chrome is built on WebKit, which means most of it will go back into WebKit, and in turn, Safari (also WebKit) will have all of Chrome's best features.
Reply to this comment
by john55440 September 15, 2008 9:38 AM PDT
According to both IDC and Gartner, Apple/Mac's worldwide market share is in the Others category, behind at least five other companies. According to IDC, 5th ranked Toshiba has a 4.4% worldwide market share, so Apple/Mac's worldwide share is somewhere below that. And of course, Desktop Linux's worldwide market share is even lower than that.

With Chrome, why would Google want to waste their resouces by concentrating on the world's least-used operating systems? Chrome won't gain any market share by catering to them. It's common business sense for Google to concentrate on Windows applications, because that is where the market opportunity is.
Reply to this comment
by Kwasiowusu September 15, 2008 10:07 AM PDT
Apple Mac worldwide market share for the last quarter from both IDC and Gartner came to just 2.9%.
by sousuke88 September 15, 2008 9:53 AM PDT
If were talking about world wide market share, 4% is still a lot of people to exclude, especially when these statistics include business purchases. Apples share is also a lot higher in the consumer and educational markets (infact in this market it leads).

The real point here is that Google touted open source and cross platform support but underneath it seems its heavily tied to Windows graphical libraries.

As a developer on both Mac OS X and Windows I can say that like anything there are advantages and disadvantages on both sides but developing for the Mac is certainly no harder.

Still Google say on their own blog that there will be a mac browser in a couple of months, so this may all be a mood point.
Reply to this comment
by rapier1 September 15, 2008 10:21 AM PDT
While the WTL is not cross platform it is open source. However, the aim doesn't seem to have been to build a cross platform code base for the browser but to create an high speed renderer using the optimal resources available. WTL is really just a presentation interface - something that throws up the buttons and windows and other UI elements. Its fast and lightweight. It makes sense for them to use it rather than running the whole thing through an abstraction layer. If they're smart they'll do the same thing with OS X and use the core UI routines directly. Not sure about linux because you'd have to handle KDE and gnome but that might not be a huge issue either. Its not about cross platform portability of the code as much as its about raw power.
by sousuke88 September 15, 2008 10:30 AM PDT
You're probably right, they would be stupid not to use Core 2D/3D on the Mac and WTL on Windows and then implement an abstraction layer, I know I would.
by odubtaig September 16, 2008 2:22 AM PDT
With Linux you program for the libraries and it doesn't matter what desktop is being run at the time so long as those libraries are installed, programs written for GTK+/Gnome can run just fine if you're using KDE, XFCE, BlackBox or whatever just so long as GTK+/Gnome is installed on the hard drive. Of course, for speed considerations something more lightweight such as OpenMotif or fltk might be chosen.
by jonathaz September 15, 2008 10:38 AM PDT
Sun has built the same thing as Chrome, but using Java instead, called JWebPane. The core is webkit (C++) and the port is Java. They even have used the term "Chrome" to describe it in the exact same semantics as Google has. It was announced and demoed at the last Java One but remains missing in action. If Sun can get its act together and actually release it, expect a multitude of open source browser projects to be released in short order. And JWebPane will be multi-platform to the extent that Java + webkit core is.
Reply to this comment
by benjaminstraight September 15, 2008 11:27 AM PDT
Windows is the operative word
Reply to this comment
by alt117 September 15, 2008 6:24 PM PDT
"Personally, I think Google needs the entrepreneurial CIO and CTO if it hopes to make Chrome stick. That crowd, however, is likely not a Windows crowd."

One could argue that of "Entrepreneurial" CIO's and CTO's" , the market share distribution would be close to the overall Windows/OS X numbers. Depends on how you define it, I guess. And most that don't use Windows use Linux over Mac.
Reply to this comment
by nousplacidus September 15, 2008 10:03 PM PDT
You'll notice that he said "abstraction libraries", and, while without actually looking at the architecture I can't be totally sure, in most cases this means that they've done a good job of decoupling the chrome GUI rendering code based on WTL.

If they've taken the time to decouple their GUI customizations from the other pieces of the browser (Rendering, javascript, plugins, etc) as the quote would have you believe it won't be as painful as the article seems to assert.
Reply to this comment
by unspunn September 15, 2008 10:42 PM PDT
Forgive me, but how else are you planning to render on the Windows platform? Your choices are direct Win32, MFC, or in this case the more friendly WTL. Guess which one firefox uses?

Cut corners? What? Cutting corners is when there is a well documented way to achieve your goal, in this case there was no other way but to use a hack. Kudos to the team for figuring it out.

FYI Codeweavers released ports of Chrome to Mac and Linux today.
Reply to this comment
by odubtaig September 16, 2008 2:16 AM PDT
wxWidgets? GTK+? Qt? There are a number of cross-platform GUI toolkits, wxWidgets in particular is just a layer on top of whichever GUI library is native for the target system (although it probably doesn't support WTL yet).
by feloniousmonk September 16, 2008 6:18 AM PDT
I appreciate the effort you put forth by posting a correction about what Chromium is, but your correction is in fact, incorrect. Chromium is the name of the project that represents the Chrome browser on multiple platforms. Codeweavers has gotten Chromium to run natively using WINE on WINE platforms, but to call it a knock-off is, well, frankly baffling. Spend a minute or two doing research on both topics. The Chromium site itself will tell you all about it, and Codeweavers have at least one blog post by prominent employees on the topic.

Here's another thing: they don't need to "code around WTL." You'll note that Scott says it sits beneath something called ChromeViews. This is what's known in the software world as abstraction, and is absolutely the correct way to go about building cross-platform software.
Reply to this comment
by nousplacidus September 17, 2008 6:13 PM PDT
Made the same point above. I would prefer someone who knows something about software development writing an article like this but such is the blogosphere I suppose. Glad you think the same way I do :)
by Max_Inux September 16, 2008 8:17 AM PDT
Google Chrome is to Mozilla Firefox what Google Chromium is to Mozilla Seamonkey. The latter set is the open source version. Not all code is open sourceable so some things have to be dual maintained, additionally you wont have confusion with open source builds when seaking support if you ask for Seamonkey versus Firefox.

Note that Codeweavers (Google) Chromium is simply a wrapper around Chromium (Or possibly Chrome, I did not spend enough time with it yesterday to know for sure).
Reply to this comment
by lhenkel September 16, 2008 11:32 AM PDT
This is probably a minor point, but I've worked on Firefox extensions. At home I'm Linux-only. Anecdotally, I'd guess there are a decent amount of developers on Linux, so that might affect the extension development if it's windows only.
Reply to this comment
by alegr September 16, 2008 11:35 AM PDT
Must be a slow day. Next news will be "Google Chrome uses Windows SDK BUILD command and SDK headers to build the release". Another news will be "Windows version of Google Chrome calls kernel32.dll user32.dll, gui32.dll and advapi32.dll functions".
Reply to this comment
by HighwayHome September 16, 2008 11:55 AM PDT
"Chrome is available on Windows first, and maybe Windows only for a long while because Linux and Mac are irrelevant when attempting to gain any kind of market penetration."

As a Mac user, I don't give a rat's a**! Due to privacy concerns, I wouldn't use the damn thing anyway. The PCers can have this one all to themselves.
Reply to this comment
by john55440 September 17, 2008 9:43 AM PDT
Finally, something that Mac & Windows users can agree on. (grin) Google's primary business is the collection of personal information for advertising purposes. The company gives me the creeps, and I am not about to have any of their software on my system.
by jacquesaronius September 16, 2008 6:34 PM PDT
CodeWeavers released a port of the Chromium engine (including the front end browser) for linux and mac os x using wine. Although I don't know if it technically qualifies as a port, I thought it was interesting. http://www.codeweavers.com/services/ports/chromium/ if anyone is interested in checking it out.
Reply to this comment
by gggg sssss September 17, 2008 7:17 AM PDT
ROTFLMAO
Soon the internet wont be accessible by Apple nutcases. It will be a better place.
Reply to this comment
by cnetDOTcom September 17, 2008 8:13 AM PDT
This whole blog post seems speculative to me. There's nothing in their "Why we built a browser" (http://www.google.com/chrome/intl/en/why.html?hl=en) that suggests their goal is browser market penetration. The whole Chrome project itself is now open source as well. Personally I enjoy having choices and if a new browser comes to the fore that sets new standards of performance and W3C compliance (thinking of CSS) which in turn drives development of other browsers, then I'm all for it no matter what platform it may be limited to today.
Reply to this comment
by tmullenaux September 17, 2008 11:31 AM PDT
Google should buy Opera.
Reply to this comment
by zedomax September 17, 2008 2:15 PM PDT
Google Chrome unofficial Mac and Linux versions available now:

http://chrome-hacks.net/2008/09/17/chrome-hacked-mac-and-linux-google-chrome-available/
Reply to this comment
Showing 1 of 2 pages (43 Comments)
advertisement

15 sites that went kaput in 2009

Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.

Top 10 news stories of the decade

Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.

About The Open Road

Matt Asay brings a decade of in-the-trenches open-source business and legal experience to the Open Road, with an emphasis on emerging open-source business strategies and opportunities. Matt is general manager of the Americas division and vice president of business development at Alfresco, a company that develops open-source software for content management. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.

Add this feed to your online news reader

The Open Road topics

advertisement
advertisement

Inside CNET News

Scroll Left Scroll Right