Learn to Read Graphs or Go Home

(this is a rhetorical post to Code Hard or Go Home, ’cause the amount of bullshit in the post is so much that you can call it almost a “cesspool post” instead of “blog post”)

There is one thing I really don’t like: Percentages, because it’s so easy to mess with the information in a single message. If one product suddenly jumped from 10 users to 20, you can clearly say that it “had a 100% grow!” and call it “the fastest growing” product in its niche. Sure, the other brand with 100.000 users will have a hard way to debunk that, as the message is, for all cases, right.

The other is graphs. Because they show, in a nice way, number without reveling what they mean.

Like the ones John Siracusa used to veiled show that Chrome is better than any other browser.

But let’s break this to show how much bullshit there is in that so you can tell this guy to join Atwood and Jeremy Khan and move to farm and stop spreading misinformation as fact.

The first thing wrong, right out of the bat, is how he portraits Open Source communities[1]. You can pick any other open source project, Python, GNOME, KDE — you know, the ones that basically wrote the story on how to open source projects — and see that, way above every project, there is a leadership (Python have Guide, GNOME have the GNOME foundation and KDE have the KDE foundation). Dunno about Guido, but the people in the GNOME foundation, which drives the force behind GNOME, organize, divide resources, help developers with timelines and give some ideas on how to proceed in the next version but they barely do any changes (those are left to the developers themselves). And they still manage and “own” the project.

(I know, for a fact, that Guido reviews a lot of PEPs and give opinions about those, but I’m not quite sure how much “changes” he does in the Python interpreter these days, so I’ll keep that out of the discussion for awhile. And feel free to correct me here.)

The second wrong thing are the graphs, with wild claims about what they mean. I’ll prove this by reading the graphs in a complete opposite way: If you look at the second graph, you can see that Google have a huge turn-around of developers, while the number of people working on WebKit at Apple is almost steadily. This means that the Apple team probably knows the code a lot better than the Google team.

Stopping here for a second just to say that I, too, can be completely wrong: Apple could have a constant turn-around of developers, keeping the number of those almost the same during all the time while Google may have a core of developers who drive the most of the “Android Green”[2] team. Just saying that to point that, absolutely, this guy needs to learn how to read graphs, ’cause those just tell about numbers and not what those mean.

Now, back to the first graph (which blends with the paragraph just above it): Google had more commits. This means they contributed a lot more, right? Well, if that’s the fact and Google really “contributed” to the project, why the WebKit devs claiming they can finally get rid of code that is specific to Chrome? This may actually mean another thing: Google was already fucking with WebKit to do what they want instead of play ball with all the other developers. In that case, the WebKit developers are more into “open source” philosophy than Google, ’cause they accepted things they wouldn’t need just to keep the ball rolling.

And stopping again to prove the point that that’s what I’m reading and distorting to prove my point that Google is the bad guy in this instead of going after the facts. It could really be that Google, while adding new features, had to open space for its own extensions. But I could also point that, just a few paragraphs later, John points that Google didn’t play ball with the open source community when they decided to not to contribute the multi-process architecture back to WebKit. So I can, once again, point that Google never really did embraced the open source nature of WebKit and was, all the time, just fucking it up.

“But I look at those graphs and wonder.”, he says. Well, yes, I look at those graphs and wonder: Do you have any idea of what you’re talking about?

And then there is the anecdote of Safari crashing more than Chrome. Well, fun fact: I thought ArenaNet botched a patch and was constantly sending reports and was almost furious that they never fixed. Then the NVidia settings panel crashed and I realized it was my system that was botched, not the game. I can also add that, along with Safari, in this year Pwn2Own, Chrome was the first browser to fell (with a bug that they don’t to tell anyone and sell to be exploited around); Firefox fell only on the third day. So yeah, I can claim that while John keeps pointing that Chrome is super-duper secure, Firefox is light years ahead ’cause it took longer to crack and, then, this whole debacle is pointless and Firefox clearly won.

But, then again, I’d be doing slight distortion of facts just to prove my point. Exactly how John did with his whole post[3].

But why do I mention the story of my botched system? Because your Safari crashing more than your Chrome means absolutely nothing. It could be a gazillion different things that prove absolutely nothing. The guy could be running Safari with extensions (yes, they exist) and Chrome with absolutely nothing and the extension is preventing Safari from running flawlessly and the pages stop responding to protect the browser itself. It’s like people that claimed Firefox was slow and bloated compared to Chrome, when they had a pristine copy of Chrome while their Firefox had more than a dozen extensions.

And I can cite again, using John words, that if Google was really into open source, they wouldn’t refuse to contribute to the multi-process architecture and Safari could have better protection. But hey, they didn’t and you have to ask what was the point of the claiming that “Google chose to participate in the existing WebKit community” when they clearly didn’t.

You know, for a guy with a blog titled “Hypercritical”, this guy is pretty full of bullshit instead of being critical to his own writing. Maybe it’s a sarcastic title, meaning people that read that are not really critical…

Edit: Forgot to mention this: If the Google developers have “already proven” they are capable, why does Chrome is second in number of hacks inside jQuery, just after IE? This just helps my point that, since the start, Google was just fucking with WebKit code.

Still edit: And just breaking this paragraph to point that this doesn’t mean your choice of browser is wrong. The fact that Google seems incapable of being a real open source contributor (which is more than just “post commits with code”) doesn’t mean the feature you really like in Chrome is bad and you should feel bad (in Zoidberg voice). It just mean that you don’t need to pick a graph, read it completely wrong just to have some affirmation on your choice.

[1] And I’ll give him credit for at least telling the correct story behind WebKit.

[2] Yes, I saw what you did there. It was not clever, by the way.

[3] And did that with a bunch of links, nonetheless, just to look like a Wikipedia page and give some street cred to the post (including an “already proven” link that actually just goes to the Chrome page without proving a damn thing!)

I Don’t Support a WebKit Monoculture Deux

Things in the internet space are weird.

First you have a guy telling that he would support a monopoly in the browser market (which I fully raged against). And then, out of nowhere, one of the jQuery guys come out and tell everyone that they are tired of doing hacks to avoid WebKit bugs — which finally sparked the Chrome/WebKit team to fix said bugs, which was even celebrated by John Resig himself.

But the thing is: Ok, the WebKit team fixes the bugs. Does that mean that they can simply remove said hacks?

The answer is a loud “no”. Because WebKit is not a single browser; it’s four, with a fifth coming around. Chrome, Chromium, Safari for OS X, Safari for iOS and, soon enough, Opera (and we still need to see how many versions of it will appear — although I believe that there will be at least a desktop version and a mobile version).

If tomorrow the Chromium team releases a WebKit version with all the fixes, will my Safaris (iOS and OS X) finally be updated? I don’t think I need to answer this, right? This just proves how “not smart” (to play nicely) the “WebKit monoculture guy” is: The fact that it’s being support by two different companies, with two different release timelines, is actually creating a fragmentation of the WebKit market (something that you should be used to if you use any Google tool, apparently).

I’m not a full time hater of everything WebKit. Firefox got a lot better since Chrome showed up, but the fact that some many people are brown-nosing it is simply sad. Chrome had some good ideas, but it’s far from being the “awesome browser to rule them all” like everybody is claiming.

Mac OS applications are not very friendly

Long before having a Mac, I learnt about it interface and the Application/Window relationship on Mac OS.

You see, there is a fundamental difference between Linux/Windows application and Mac OS application. While in the first two the window is the application (and closing the windows, closes the application), on Mac OS it is not quite like that: you can have an application running without any windows (it would still show on the task list and it would have a menu on the top, but you may have no windows at all.) It makes sense for some applications to don’t have any windows, as it makes sense for some applications to simply disappear if there are no windows open.

Examples: if you are using some text editor, when you close your window/document, it really means you are done? Maybe not, maybe you just want to close that document before starting a new one. In this case, it makes sense to have the application still running. The same goes when you have more than one document open: displaying it as two separate windows make them independent of each other and you can choose how to work with them (that’s something it took years to Microsoft to realize and dump the MDI [multi-document interface] Word was using since it was called Word.)

So, basically, what you have on Mac OS is that every document should be a window and closing all documents don’t close the application.

One of the things that annoys the hell of me is trying to use Mac OS applications in a Mac OS way. One example is Safari: If you follow the idea behind the window/application Apple introduced, you’d have one Safari window for each site. The thing that annoys me on that is that there is no visual feedback about what it is doing. Firefox have the spinning circle, Safari has nothing. To make it display any feedback, you have to enable tabs, which means you’d start opening tabs for every page, which is not the way you should use this. And, to be honest, have a single, dangling tab just to display a damn spinning circle is quite stupid.

Mail.app is another application that completely fails on user feedback. I have some 20-something filters and my IMAP server is not that fast. So, when I start the application, it does nothing. Then it beeps. And displays nothing. And then, suddenly, it displays the mail counts. And there is this space in the sidebar which says “Mail activity”. A completely lost space which could be used to display, for example, “Retrieving your email”, “Applying filters”, “Checking new mail on folder X”.

Other applications simply decide not to follow the window/application metaphor. One example is PhotoBooth. I really like to take a picture of me from time to time and update my 15-something social networks site (well, from “time to time” more likely to be “every year or so”.) The thing about PhotoBooth is that, if you close the window, the application closes too.

Software Update is ever worst. If it doesn’t find an update, it displays “There are no updates” and, when you click “Ok”, it simply disappears. No window, no application, no nothing. What kinda of user feedback is that? Show the user that the update list is empty and let the user close the window or the application. Like every other Mac OS application.

And, on top of that, all those applications where produced by Apple itself. And I won’t even comment about iTunes, which doesn’t even follow the default theme you’re using.