Even the intention of Apple building it's own web browser seemed weird, Apple had failed at a previous homebrewed browser (Cyberdog), why not just build on top of what Mozilla had already done?
I remember Apple stating that Konqueror's code was much more leaner, faster and modern. I've always wondered if the birth of Safari was an early sign that Apple was interested in developing the pieces missing for an internet device. Safari seemed like a godsend foresight from Apple when they released the iPhone, but I can't help wonder if it was planned this way all along.
We built our own browser because we didn't want to depend on another company for a critical application.
We built our own browser engine because we wanted to use the technology in more things than a browser.
We built that engine small and fast because Bertrand Serlet would have shot me if I had done otherwise. :)
You have to remember that Mac OS X itself was smaller in those days. Not iOS small, but considerably smaller that it is now.
After the initial success of Mac Safari, there was a time when I was second-guessed by some for choosing KHTML and KJS as the basis for WebKit. When we decided to do the iPhone, I was suddenly a genius again. :)
That's just the way it works in the real world.
To drive home Don's point about how secret Alexander was: I was given official access to Marklar months before Alexander. Since there was no Rosetta at that time the Intel builds of OS X had no bundled web browser (and porting Chimera or Mozilla were clearly nowhere on that team's priority list at the time, for obvious reasons). I was eventually given access to Alexander largely because I was doing enough Intel related work that it was necessary to have access to a browser on my Intel machines.
I believe, in retrospect, Apple's Maps.app will be considered in the same league as Safari. It may have had a rougher start than Safari, but I think it's a great program.
And to continue the parallel, it would have probably been better for apple and everyone else if apple had just used the gecko engine for their browser.
In what way?
WebKit seems to have enjoyed some success since then... since Chrome toppled both Internet Explorer and Firefox.
It's goal was "bug-for-bug compatability with IE" so that you could run Mozilla / Netscape on websites that weren't updated / weren't ever going to be updated.
KHTML / Konqueror was effectively "strict-mode-only" not caring (as much) if sites broke, but implementing things "as sanely as possible".
Firefox was Mozilla with a sane UI on top of it.
Mozilla UI was trash because goofballs in suits kept ruining it by pushing for "site-specific-themes paid for by advertisers" which caused the "chrome" to be incredibly buggy / slow / etc.
WebKit / Safari was Apple delicately picking up KHTML, making the "hard" decisions to implement some things poorly / hackily / different / more quickly than the "purist" open source KHTML volunteer developers had envisioned.
They actually handled it overall quite well, as opposed to their other forays into open-source land (kernel / darwin, cups, etc).
WebKit is excellent now because it didn't have to start with that bridge step, and had speed / correctness / isolation as a focus from the start. So even though WebKit is the current "leader", it owes a lot to Mozilla for doing the hard grunt-work that allowed it to take cover behind the big lumbering dinosaur and come out unscathed on the other side.
Either way according to Wikipedia, Don had forked KHTML/KJS in 2001 (which pre-dated the first public release of Phoenix by a year or so), so his choices were to hack SeaMonkey into something suitable or to start from somewhere else.
You can change the world from a growing startup without having to fear for your career at every turn. You can have fun without being afraid. Imagine that!
Apple was an excellent place to work and I had a great relationship with Scott, Bertrand, Avie and Steve. Nobody was going to shoot me. AFAIK. :)
A little feature I still miss was that you could navigate up in URL hierarchy by alt+up, just like in file-browsing mode (not sure if it's still supported by today's Konqueror).
By comparison, KHTML was not really a serious project. It had a few developers, but nowhere near the scale of what Mozilla had. Thus, when they forked it to do their work in secret, only a couple people complained.
You'd be surprised at the negative impact that a large number of developers can have on the quality of a software project.
To make matters worse, unlike Microsoft's version, the Mozilla version needed to support multiple OSes and multiple compilers.
Because of that, I believe Apple's claim that the choice for KHTML was on technical grounds.
(I don't remember whether Mozilla already used XUL at the time. If so, that could have been another argument for choosing KHTML)
OpenDoc, on which it was built, failed, but even that, I would not call a complete failure. It may have just been bad timing (of the Newton vs iPhone kind). If you are looking for a large hobby project: I would love to see something OpenDoc-like today running in a browser. Require viewers to be freely downloadable from e.g. GitHub, but allow developers to sell their editors, and see where it gets.
Then again it doesn't seem Apple do that very often, cough Do not disturb cough ;)
Definitely a case where it wasn't the destination so much as the journey that was interesting. :)
Not for me, I prefer doing stuff (like typing this inane comment right here) to hearing about trivial things others did. In this case, even the cliff's notes are kinda "meh".
*Edited for the benefit of Alfred.
Geez. This may come as a shock to you, but the fact that a lot of people use Apple, Microsoft, Google, Facebook or whatever doesn't mean squat to me when it comes to find things "fascinating"; sometimes big isn't beautiful, sometimes it just means someone can't stop pushing people into their pie hole, and that some people actually stand for that. I don't fucking care if either of those parties understand or like my comments, and your "being a dick" is my "not being one".
Sure, WebKit is a nice rendering engine in parts, it's prefix-infested bullshit in others; but when it comes to browser UI and options, Safari isn't even mediocre. Even if it was the best it would be that way for selfish, needy reasons. It's kinda like I don't even care how IE10 is going to be, I won't use it nor develop for it. The awesome thing about convictions is that you don't need the approval of people who don't share them.
I found that fact to be the most interesting part of the article. The list of other Class A holders is also interesting: http://www.aturtschi.com/whois/neta1.html
Pixar has a large block too... I wonder if Steve had something to do with it?
Does that mean that if you set the date of your computer back before 2003, the user agent will become Internet Explorer?
Obviously this must have been a feature of Safari 1.0
Safari, on the other hand, was unexpected.
Apple 10 years ago < Apple now
No real information is released with these hardware model numbers that's not already reasonably known.
The only exception is for devices that people might think are end of life, or unlikely to get a refresh soon.
For instance, the Mac Pro may start showing up in logs, and that would be news, because it is so rarely updated... or it would be news if Tim Cook hadn't said that they planned to release an update (in 2013? not sure when he said it would be.)
So, knowing that iOS 7 (8, 9, etc.) are under development doesn't give away any of the secrets-- eg: what the special features of those OSes will be.
Wasn't Safari/WebKit largely based on KHTML in the beginning? This doesn't say it wasn't, but seems to imply that there was a separation of the two that was more complete than it really was.
I realize the OP is in a better position than I to know exactly what the reasoning here was, but it seems like reporting yourself as KHTML when you are largely based on the KHTML rendering engine would just be a sensible and practical thing to do outside of all this cloak and dagger stuff.
(Granted, I doubt there were very many websites, if any at all, that gave a rat's ass about special cases for KHTML compatibility).
There actually were some sites (in Europe, as I recall) that behaved a bit better when "KHTML" was in the user agent string.
I also included it as a nod to the original project. I wanted to show respect for the fine work of Lars Knoll and the other contributors.
On a side note, is it still true that Apple has an entire /8 block of IP addresses? I know that a variety of companies where given them, but I was under the impression that large portions of most had been bought back/given back for use elsewhere?
The only people to return /8's have been Stanford, the DoD, and a few defense contractors (BBN and Boeing).
KHTML had almost no market share - it only ran on KDE, and most KDE users used Firefox. Nothing recognized its user agent string, so reporting "KHTML" would have been as ineffectual as reporting "Safari" or "WebKit".
Actually at the time this is referencing Firefox didn't exist (Gecko did, but Firefox didn't). I'm well aware of the history and why browsers trick out their user agents. If you want to go one level deeper, look no further than the fact that IE still pretends to be Mozilla because of the early days when they were late to the party.
As mentioned before, Firefox didn't even exist at this point. And KHTML itself actually predates Linux Gecko by a few months as well.
Don Melton forked KHTML/KJS internally in 2001, and announced the work to KDE at the beginning of 2003... GMail wasn't released until 2004!
eg. he says "the names of other browser engines", not "the name of the browser engine our code was originally based on".
The "like Gecko" part is a bit of a red herring here and mostly irrelevant, as that is simply what KHTML/Konquerer used in its own UA ("KHTML, like Gecko").
"That allowed me to tweak the string for maximum compatibility with the websites of that time. Which explains why the Safari user agent string has so much extra information in it, e.g. KHTML, like Gecko — the names of other browser engines."
I interpret that as KHTML and Gecko are names of other browser engines that are listed in Safari's user agent string for compatibility purposes.
The user agent was something like "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; sv-se) AppleWebKit/85.7 (KHTML, like Gecko) Safari/85.5", which people would have quickly correlated to Apple, not matter what IP it came from.
Sure , they wouldn't route back to an Apple IP address but then who's to say Apple doesn't browse via proxy/vpn somewhere?
Did this get you in any programming troubles in the long term?