Safari’s Web Inspector
The WebKit team announced the list of participants they’ll be working with on this year’s Google Summer of Code today. Of particular interest to me was this applicant. Anyone who does serious web work can attest to the difficulty of debugging anything in Safari, meaning that most web developers have pretty much given up and develop in Firefox full time. This is such a shame, since Safari is almost universally a better browser — it’s faster, it supports more of the things I care about, and for all the reasons Gruber listed (and more), it’s the browser I use personally.
The thing is, the WebKit team has known for some time that they have serious issues with debugging. In fact, I’ve been told better debugging support is the number one requested feature. We saw some attention paid to the issue with Drosera, but it turned out to be nothing more than lip service. Our code brings Drosera to a halt in seconds, as do most of the complicated sites we’ve tried it on. Safari desperately needs a profiler, stack traces, and someday step through debugging. Even beyond advanced tools like what Drosera promised and what Firebug has, WebKit fails on some of the most basic levels. This bug is damning. It should be a P1. Any callback function (read: any AJAX request, event handler, etc.) fails to report the error it encounters. Almost every error in our code base is reported as “undefined” by Safari.
Keishi, you’ve got an important job ahead of you. You’ve been tasked with doing what might be the most important thing the WebKit project has done in a long time. Safari has been kicking ass in pretty much every other area, but it’s ignored by web developers precisely because it’s so cruel towards them. I wish you the best of luck in doing this project, and if you’re looking for feature requests, I’ve got at least a million. At the top of my list? Solve the most important limitation of Firebug — not properly recognizing anonymous (eval’d) code. I have high hopes for what this could be by the end of summer, and I’ll definitely be following the progress.
June 7th, 2008 at 10:10 am
I just discovered the new debugger in the webkit nightly build. Has a long ways to go to catch firebug, but I was able to break, walk through code and dump variables in the console.
There is also a profiler which I was unable to get to produce actually timings, but it looks like its close to working.
I had the same problems with Drosera (incredibly slow) and found it unusable. I think next time I have a safari bug to fix I’ll give the new inspector a shot.