Saturday 5th March, 2022 - The WebKit browser engine lineage
Another week of great javascript, tech and web development links
Hello and welcome to my newsletter!
Another season 2 instalment…
The intro I just spent ages writing got deleted by Substack, so no intro from me this week :(
Ok since I wrote the above paragraph yesterday, I made some progress on my static site generator, so here’s a small update on that. Basically I completed the first successful render of my linkblog. It’s early days, the generated pages don’t have any styling yet, and it’s only with sample data, but it proves that the ssg can render fairly complex websites. That’s a big deal, because it means all the pieces are working well together, pretty close to as intended.
Here’s a screenshot of the main page:
For some reason the picture editing app decided to add some sort of vignette effect while I was cropping the image, which is why it looks weird. Oh my days, it’s an uphill struggle for every darn thing sometimes!
No matter, the key thing is that the ssg can render websites :)
But the issue I’m currently facing is that anchor links are not behaving as expected.
The HTML produced is based on recommendation from w3schools, and looks good to me:
<!DOCTYPE html>
<html>
<body>
<h1>Archives<h1>
<h2>archives ></h2>
<ul>
<li>
<a href=“/archives/2021”>2021</a>
</li>
<li>
<a href=“/archives/2022”>2022</a>
</li>
</ul>
</body>
</html>
But when clicked, Safari tries to open the following url (domain redacted):
https://[domain-redacted]/archives/“/archives/2021”
I even tried replacing the breadcrumbs delimiter from > to @ in case that was messing with the html parser. Coding is 95% denials, rejection, and plain old cruelty.
Is it a browser bug? Surely not. What is going on?
The whole thing is somewhat ironic given the focus of the rest of the newsletter today.
Hopefully some food and water at some point today. That sure would be swell.
HEY! Stop being cruel world!
Enough about my life…and on with the newsletter…
Focussing on a great podcast I listened to this week:
John Gruber Daring Fireball interview with Ken Kocienda (Ep #339)
Ken was a long term Apple employee, and one of the original developers of the WebKit rendering engine. Based on Linux’s KHTML, it went on to power Safari and ultimately the Chrome and Edge web browsers.
They reminisce about how things were back then, when it wasn’t at all obvious which direction the web would take, it wasn’t even obvious that Apple should develop a browser. This is one of the things that makes interviews like this so fascinating. With the benefit of highnsight things can seem really obvious, but if you get into a time machine and go back to visit pivotal moments, you’ll see that when you are in the moment, things are anything but obvious.
A story of duck tape, and jamming in code just to get something working so they could form the beginning of a vision of the future. Ken went on to develop to keyboard for the original iPhone.
Some other topics discussed:
They were behind big time
Code had to be as fast or equal to proceed
How to do more with less
Optimising to offset new features
The slowness of the web at the time
Steve just said it had to be fast
Super double secret NDAs
iPhone & iOS & UiKit
Project Builder (precursor to XCode)
Touch screen UI “walabi” prototypes
Scrambling and experimentation
Look at the touches and try to figure out what the user wanted
Finger scroll optimisation
How the Software Engineering and Human Interface teams interacted
I hope you enjoy!
That’s all from me…
Best reguards,
Mark
Consider becoming a patreon, any support would be very much appreciated
Thanks for reading!
If you liked this newsletter you might like my blog, daily linkblog or experimental podcast :)
I’m a freelance web developer, consultant and automation engineer, consider hiring me!
Have a great weekend and a fantastic next week!