Google Chrome Beta - Linux Version Not Available Immediately?
Posted by: Colin MacKenzie
on September 15, 2008 01:11 PM
Well, I'm sort of surprised no one has brought up any of the development aspects on this, so I will. [In case anyone cares, I'm a software developer with experience in C, C++, Java, JavaScript, HTML, Perl, Ruby/RoR, and VBScript (worst year of my life), with focus in Web, GUI, OpenGL, OpenAL, and client/server networking in most of those languages. GLSL is a language, technically, so I'll mention that as well.]
In a nutshell, Google's approach makes perfect sense. That the unit tests run from the command line means that the logic is in place - that is, the code that figures out how to read the HTML file works. The problem comes to GUI development. Designing a Graphical User Interface (a window) on Windows is completely different from designing one for *nix. We're talking about writing the same code twice, because it's so different. They could probably have used SDL to build the outer frame, at least, but they'd still have to use the native GDI libraries for all the labels, text fields, buttons, etc. - that or write/plug in their own, which is a can of worms in itself (trust me!). It just makes more sense to use what's already in place. Programming in this context - especially in C/C++ (Chrome's language) - is very much a practice of playing nice with the evil giant's tools, like it or not.
So why not program the *nix version first, or even concurrently? Might make sense to you and I, and it's certainly appealing. The fact that Google uses *nix so extensively themselves almost certainly means their developers would prefer to program for *nix, and they probably make liberal use of the virtual environments (MSYS, Cygwin, etc.) when they run under Windows. The answer to this question, then, has been posted repeatedly above, and has everything to do with economics. I would like to add to those illustrious points, however, that if Google had released Chrome to the *nix community first, then most people would not be able to use it, and would completely overlook it when the Windows version is finally released. When people get the idea that your product can't apply to them, they tend to shut you out long before you get a second chance to tell them, "Wait, it works now!" -- The *nix community will check back and see, because they know it is coming, and if it doesn't, then someone will probably port it anyways. But the average Windows users? Well, there's a reason they're still on Windows.
Google Chrome Beta - Linux Version Not Available Immediately?
Posted by: Colin MacKenzie on September 15, 2008 01:11 PMIn a nutshell, Google's approach makes perfect sense. That the unit tests run from the command line means that the logic is in place - that is, the code that figures out how to read the HTML file works. The problem comes to GUI development. Designing a Graphical User Interface (a window) on Windows is completely different from designing one for *nix. We're talking about writing the same code twice, because it's so different. They could probably have used SDL to build the outer frame, at least, but they'd still have to use the native GDI libraries for all the labels, text fields, buttons, etc. - that or write/plug in their own, which is a can of worms in itself (trust me!). It just makes more sense to use what's already in place. Programming in this context - especially in C/C++ (Chrome's language) - is very much a practice of playing nice with the evil giant's tools, like it or not.
So why not program the *nix version first, or even concurrently? Might make sense to you and I, and it's certainly appealing. The fact that Google uses *nix so extensively themselves almost certainly means their developers would prefer to program for *nix, and they probably make liberal use of the virtual environments (MSYS, Cygwin, etc.) when they run under Windows. The answer to this question, then, has been posted repeatedly above, and has everything to do with economics. I would like to add to those illustrious points, however, that if Google had released Chrome to the *nix community first, then most people would not be able to use it, and would completely overlook it when the Windows version is finally released. When people get the idea that your product can't apply to them, they tend to shut you out long before you get a second chance to tell them, "Wait, it works now!" -- The *nix community will check back and see, because they know it is coming, and if it doesn't, then someone will probably port it anyways. But the average Windows users? Well, there's a reason they're still on Windows.
#