Chrome Dev Hits Version 7; Native Client Part of Release
thechromesource.com
thechromesource.com
Chris Rohlf from Matasano did a great blog post, The Security Implications Of Google Native Client, that compares the NaCl approach to ActiveX and Java -- and included beautiful diagrams to boot! Unfortunately the images appear to be broken on the Matasano blog [1] but I've found a PDF'd version [2] that contains them in all their glory.
The post came out of the Matasano team's entry in the Native Client Security Contest [3] that Google held early last year. The Matasano team ended up taking second place behind Mark Dowd / Ben Hawkes [4]. All those guys are 'rockstars' in the security industry.
So, Google has thought deeply and tried hard when designing NaCl's security. They a care enough and are switched on enough to run a security contest that was well received by the industry (rare). A number of mega-brains-on-sticks found issues back in May '09 -- hopefully they have all been addressed.
It looks to me that Google has done a good job at learning from past mistakes when implementing NaCl and it should be different. No doubt there will be further security issues found but then again, name a framework that is free from flaws?
[1] http://chargen.matasano.com/chargen/2009/8/27/the-security-i...
[2] http://beefchunk.com/documentation/security/the_security_imp...
[3] http://code.google.com/contests/nativeclient-security/index-...
[4] http://code.google.com/contests/nativeclient-security/index....
While it is always risky to introduce anything new, that is a price we pay for progress. And that is true for anything - at this point, I don't think using it would be too much more risky than using a new javascript engine, for example. Aside from never trying anything new, what else can we hope for?
Also, I will point out that even in the dev channel it is still disabled by default. So there is some time yet for the security to be evaluated, to see if there are any endemic problems.
As far as I know it silently auto-updates across major versions as well as minor. The automatic updating of Flash 10.x that got linked on HN a little while ago is a great example of how this is good. A widely publicized hole in Native Client could turn it on its head quickly. It's a gut reaction on my part, but distributing Native Client to Chrome's user-base feels premature. It's only been an acknowledged project at Google for what, less than two years? I recall hearing about it at I/O 2009, and I'd wish they'd let it bake a while longer.
Isn't this what ActiveX was all about? We all know what happened in that instance.
In other words, is there a chance that other browsers might implement it in the future as well, allowing web developers to write client-side applications in any language that can compile to native code, not just Javascript?
If so... the day when one can actually write and deliver any type of application through the browser, with no penalty, might actually be on the horizon.
People have talked about how webapps are going to kill traditional software for the next decade. If the relevant browsers implemented this, could it finally actually happen?
I would say that the difference between webapps and desktop apps will disappear.
http://groups.google.com/group/native-client-announce/browse...
They might actually pull off this web apps store idea.
http://nativeclient.googlecode.com/svn/data/site/pnacl.pdf http://www.chromium.org/nativeclient/native-client-documenta...
It's interesting that Internet Explorer, which came out in 1995, is on version 9 while Chrome which came out just two years ago is already on version 7.
-
Edits below to address the downvotes:
Maybe I didn't communicate my point clearly. I certainly didn't intend to knock Chrome - I use it along with Safari as my primary browsers.
My point was more to say "come on guys, 7 versions in 2 years while everyone else (FF, IE, Safari, Opera) has had one or two?".
Maybe I'm biased because I worked at a software company years ago who wanted to communicate their product was as mature as the competition's and skipped straight from version 1.0 to version 4.0. An no, I'm not implying Chrome is less mature than others.
Chromium version #'s are four parts: major.minor.build.patch. Of these four parts, major.minor are "marketing" controlled. The other two parts, build.patch are engineering controlled and related to the Chromium branching strategy.
Chromium develops everything on trunk. Typically, once a day, they increment the build #. The build #'s are part of their branching process. Once a branch is cut, its build # is fixed. Instead, only the patch # is incremented on that branch, again about once a day.
So for example, the current stable release is milestone 5. This was built from the 375 branch. So the full version # is 5.0.375.127, which indicates that about 127 days have passed since the 375 branch was cut as you can see here:
http://src.chromium.org/viewvc/chrome?view=rev&revision=...
Chromium hasn't made much use of the minor part of the version #, the notable exception being 4.1.
Also, historically, Chromium has aimed to release a new major version every 6 months. But they announced recently that they plan to move to an even shorter release schedule:
http://blog.chromium.org/2010/07/release-early-release-often...
So if you think it's got high versions now, just wait. I notice that even though milestone 6 is only in the beta channel, the dev channel already has milestone 7 loaded in it:
http://omahaproxy.appspot.com/
tl;dr: Chrome versions move fast because they have a major milestone release every 6 months and soon the versions will move even faster.
Software versioning never made much sense in the first place.
"Oh, you're running Firefox''3.5''? my Chrome is on version 7"*
(*note, I have overheard pretty much this exact conversation)
Also, do you imagine that Chrome 7 is not as advanced and has not seen as much improvement as IE 7? If you look at the advancements made with each Chrome revision, they are as significant as, if not sometimes more than, the differences between major versions of Firefox or IE.
They're a signal to IT folk to measure progress, and at least the perceived value of an upgrade (1.0 to 1.1 is a small change compared to 1.0 to 2.0). There's also expectations of compatibility. Files made with 1.0 should work with 1.1, but 2.0 might have breaking features that need to be looked into deeper.
Of course this varies with every single piece of software. You're right that for Chrome, it doesn't matter nearly as much, because updates are automatic. I just find it very interesting to see some software shoot up quick (maybe a 1.0 after 6 months), and then other software takes a lot longer (vlc taking years and years to hit 1.0).
I would really like to switch but I miss treestyle tab in Firefox.