By

WebKit and a call for Sanity

Recently, someone was talking to me about Apple, and was telling me about how it's next to impossible to make sure that WebKit was secure and that it was a lost cause. Now, given that WebKit is basically the web experience of most mobile devices, this claim seemed like it required more looking into, and that it'd be a good idea to once again attempt to take a look into the WebKit Internals.

The thing is that there's literally no documentation for the WebKit project beyond some mentions of events in the iPhone SDK docs. WebKit in general is a very ambiguous piece of software, and each version of webkit is different depending on what platform it's compiled for and which features were built. The downside of this is that this is all based on conversations over beer, and a broken Bugzilla.

Given that I'm generally new to browser internals, I would have to say that looking at the WebKit source without any idea of how WebKit works is next to impossible. I've played with builds of Mozilla in the past, and I think that I'll probably keep looking at Mozilla code simply because:

  • The edge version compiles under Ubuntu
  • Mozilla's Bugzilla isn't some secret thing where you have to be working for Apple, Google or some other company to read the bugs
  • Mozilla seems to want people to look at the code

Open Source is great, but there seriously needs to be a "Hitchhikers Guide" to WebKit, and unfortunately WebKit is just not there. I admit that WebKit is a better browser when it comes to embedding it into various devices, but the clear lack of transparency when it comes to WebKit seems to make me think that the person who told me that it was a lost cause might actually be right. Developers need documentation, and the current lack of documentation is rather frustrating to say the least, that and the fact that you seem to have to have a Mac to develop for it, is another reason why I find myself going back to looking at Gecko.

Because documentation and a friendly community actually does matter.