> While at Apple, I also led the department developing the Mail, Calendar, Contacts, Messages and FaceTime apps on OS X—as well as Core Services, a set of frameworks familiar to anyone programming for the Mac. My teams did the original versions of some built-in iPad applications. And, of course, I was responsible for WebKit on iOS in addition to the desktop.
Huh. I wish Apple still focused on these apps. Those apps used to be great at the time this guy was there. Nowadays it's all kind of lame.
But yeah these days all the development on desktop seem to go on JS/HTML - partly thanks to WebKit (which was a basis for Chrome later, which was basis of Electron) - which makes the app kind of suck, but honestly the development side is much easier. And people actually use phones in 2023 more than desktop. So, whatever.
They do focus on them. Reminders has had loads of updates in recent years: it's actually a pretty good todo app these days. Mail is updated every year with new features. Messages is key to Apple's services push, and get a massive amount of attention. Calendar and contacts remain a bit crap though.
Reminders was one of the biggest improvements when I moved from Android to iOS. I don't know why Google is so bad at reminders, and maybe it's different now but for years there were various implementations of reminders across multiple apps and services. They sometimes seemed to sync but it didn't seem consistent, and they had different feature sets. It never felt like there was a centralized hub for reminders, it was always just tucked off into ugly sub-menus in various apps and would occasionally move around. I think I used to mainly set reminders from a Google search, where if you phrased the query as a reminder you'd get a little widget at the top of the result with a pre-filled reminder, and you'd click the check to add it. But then at some point they broke that and I can't remember if they ever fixed it. Not to mention the outages that seemed to be not uncommon[1].
Apple's reminders feel like a godsend by comparison. It does exactly what it needs to, and syncs flawlessly between my phone and Macs. I can set reminders through Siri, and it even has a really intuitive way of setting date/time for reminders, where you just type, e.g. "tomorrow 5pm" and it'll highlight the text and give you a suggestion to make the reminder happen then, you click it and it yanks the text out and populates the appropriate time. You can even set reminders to appear when you're messaging a certain contact, and it'll appear within the Messages app in that contact's conversation. And it got even better with the new lockscreen widgets in iOS16, where I can see my reminders for the day front-and-center on my lockscreen. I gotta give props to Apple for their reminders system, cause I didn't even have any sort of expectations in the first place, but it's continually impressed me and become a consistent part of my daily routines.
Honestly I wish there were mail, calendar and contact apps for other systems, as good as apples with solid webdav/caldav support. Thunderbird is kind of lacking in all aspects.
Drive, iTunes and photo sync, and keychain all work well on Windows these days too! Notes, reminders, and the rest of the web apps work well enough too. A windows/gaming pc plus a MacBook is a pretty good combination now.
I don't know if things changed in the last two (I think?) releases of mac os, but up until my late 2013 MBP was still supported, I absolutely loved Mail.
It's by far what I miss the most since I moved to Linux. Outlook for web wipes the floor with regular outlook IME (it's much, much faster) but it's still a pain to use compared to Apple Mail.
If anyone has any comparable solution for Linux, I'd be glad to know. That would be something streamlined, not having to cobble together random different programs for obtaining the mails from an Exchange Online server, some other app for not-quite-fully-working calendar support, etc.
I really enjoyed being able to have a "unified inbox" across multiple accounts.
It was also very smooth, and I didn't have to wait around for it doing who knows what, but this hasn't been an issue with KMail when I used it regularly some 12 years ago (without Exchange, though). Only Outlook ever felt noticeably slow.
Some other creature comforts were great, like integration with quick look (tap space on an attachment, and you can see it in a popup).
I could also have a unified calendar with my personal (Gmail) and work (Exchange online) accounts.
I only had to tell it "this is my exchange account, and this is my gmail account, now do your thing" – and it did, complete with OAuth2 and all.
I haven't tried KMail recently, but last I've seen (a few years ago) it didn't support Exchange online.
Thunderbid had some Exchange support, but it was a bit wonky (around 2019). I don't think the calendar was actually working. Maybe things have improved, I seem to remember there was a major upgrade recently.
Evolution, IIRC, had some kind of support via EWS, but I never "clicked" with it so never tried it seriously. Installing a gazillion gnome packages didn't help its case, either (I don't use gnome otherwise). According to the Arch Wiki [0] it should support mail + calendar through MS's Exchange ActiveSync (which is proprietary, but I don't have an issue with that if it works).
There's a sad irony that WebKit isn't really available to the KDE/Qt ecosystem anymore. The engine that came from KDE is no longer available for use in the KDE platform.
It looks like the Qt side of things doesn't get updated anymore. If you want to use webkit, there are still options, though.
However, in my experience the open source webkit engine and Safari are very different. I don't know why you'd use webkit for anything if Blink and Gecko are available.
Open source WebKit on macOS is practically identical to Safari in behavior. Orion[0] for example ships its own build of WebKit, and it's as close to Safari as e.g. Edge is to Chrome.
Webkit runs on Symbian mobile phones, Playstations, and most televisions. It's a highly portable/ported browser engine that runs in a bunch of 'non-PC' environments. If it has an embedded browser/engine, there's a very high chance it's Webkit.
I used to use Safari as an alternative browser along with Firefox on Windows. It seemed fast at that time. Then Apple stoped releasing Safari on Windows.
I still use Safari on macOS. It seems to retain great performance with great battery life.
Off topic:
What would be cool is if Apple released Safari for Windows (again) and Linux. Ok, probably not for Linux, since Apple doesn’t work well with the desired licensing schemes and since Apple isn’t capable of working with the diversity on Linux to release an end user application.
Safari on Windows and Linux may be probable (not even possible) only in an alternate universe, since Apple focuses on OS support for its applications in (roughly) this order: iOS, iPadOS, macOS, tvOS/homeOS and miscellaneous (this includes Android and Windows). Anything outside iOS seems to get really smaller budgets, smaller teams and very little attention.
Additionally, there is no money in Safari on other platforms, unless Apple does come up with the oft rumored Apple search engine and expands its advertising ambitions even more (considering how poorly Siri has been improving over time, any such search engine would be better not being developed or released at all).
The odd thing is they've been maintaining a partial port of Safari for Windows this whole time - iTunes at least used to use it for its embedded webview.
But aside from that use for it, Safari for Windows would have 100% been a play to try and keep Google from taking over the web, and I guess that didn't matter to them.
There are multiple ports of WebKit (the browser engine of Safari) on Windows [1], but two of them are still more or less maintained:
* AppleWin, Apple's port of WebKit for use in iTunes for Windows. I'm pretty sure it depends on DLLs that reimplements Cocoa APIs on Windows, those DLLs are shipped with iTunes. (edit: one can download the support libraries here [2])
* WinCairo, maintained by Sony and uses Cairo for rendering. Maybe someone can fill me in why is this a thing, since Sony only uses WebKit on the PlayStations.
Maybe because Windows is so commonly used for game development. I wrote up instructions for downloading and running Windows builds directly from Apple, for anyone curious: https://james.darpinian.com/blog/safari-on-windows. It can be useful if you want to quickly test how your page layout might look in Safari but you don't have a Mac handy.
AppleWin only supports the WebKit1 API (the old, single process WebKit), and not anything more modern.
As for why Sony maintains WinCairo, I believe they use Cairo on their platforms, and they mostly use Windows for their dev systems (as does most of the games industry).
I love Safari. It’s been my daily driver since it was released.
I also installed it immediately on Windows. It was great for testing issues and seeing how things would render, but it was not performant.
It seemed to do that same thing as iTunes and QT where it felt like Apple just ported their whole GUI stack on top of Windows. It looked and worked exactly like in a Mac. But that came with a big performance cost.
Even as a big fan I couldn’t stand to use it as my main browser on my windows machine at work. I only used it for testing things. Otherwise I stuck to FireFox.
I’ve always felt like Safari for windows was 100% about the HTML based “apps” before the App Store (so Windows users could develop them) and so companies could test their sites for iPhones without having to buy them when they were still niche/expensive.
As iPhones rocketed to popularity, they didn’t seem to see it as necessary. The popularity of the iPhone alone was enough to force testing. And the iPod touch was there too as a cheaper testing device.
I know it came out 4 years before the iPhone. Maybe it was laying the foundation? I just can’t see Apple truly wanting to be in the Windows browser market.
Yeah, they didn't really want to have a Windows browser, but they were pushing the web as a platform in order to undo the Windows lock on applications.
Whether there is money on other platforms depends more on how popular it'd become on those platforms not really whether Apple starts their own search engine. Safari right now gets ~15 billion/year to keep Google as the default search engine.
No one is debating that. But clearly Google thinks the bribe is a good business decision. Which means they make more money from the users than they pay in the bribe.
I did watch this, and at the time was only a year into using Mac OS X coming from FreeBSD and Linux before that, where I used KDE. So when "KHTML" went up on the screen, I was right there with it.
What a wonderful post! I remember using Konqueror when it was first released, compiling it from source on my FreeBSD desktop. It was super slow and clunky (I had very little ram and a slow swap HDD), but it worked!
Ken Kocienda, “the first Safari engineer”, has a book called Creative Selection [1] released a few years ago. It has a fascinating behind the scene story on how Safari was developed and how KHTML was chosen.
I don’t like the analogous story on sports though.
I use Safari on Mac for a handful of financial websites where I log in with very complex passwords so that I can use the fingerprint reader. Every time I use it, I am disgusted with its klunky interface (for example, the vertical tab solution is hilariously broken). I can't believe that a $2t company is so careless with their apps.
Firefox is a huge PITA to set up right, but once you manage to get it set up with Sidebery, MUC, etc, it works well.
I love how at the time he thought that lacking tabbed browsing was no big deal, since its a broken paradigm anyway. Surely Apple has something better than tabs up their sleeve!
In the time since Safari's launch, Safari's WebKit has completely proliferated. Chrome and Blink came to the forefront and took even more marketshare. We live in a browser monoculture, dominated by the giants. Firefox is just a blip on the radar.
Isn't this what Microsoft got sued by the Department of Justice over? Times are so different now.
Mozilla barely ekes out an existence, and it's only thanks to the good graces of Google. Google's fear of antitrust action, that is.
Mozilla nurtured Rust, and we should all be thankful for that. But Firefox doesn't look healthy, and it's such a shame. I'd welcome a world where Firefox was back at 30+%.
Much of this outcome I believe traces back to Mozilla's decision to drop support for embedding Gecko in non-XUL apps.
Outside of Safari, WebKit's popularity is largely owed to how easily it embeds — regardless of UI toolkit, platform, or language you're working with you can probably embed it, and so WebKit has shown up in countless embedded applications for over 15 years now.
And while Blink isn't designed to embed as cleanly as WebKit does, Chromium can be pared down enough that it in itself can be used as a platform, which we've seen in Electron. While XULRunner was similar in spirit, it was cumbersome and clunky, which is why at one point one of the more popular Gecko browsers (Camino) was instead written with AppKit. Electron isn't exactly an elegant swan itself, but it's considerably more responsive and is arguably easier to write a passable application with.
Embedding being killed also meant that there can only be one Gecko-based browser, because lack of embedding means being chained to XULRunner and prevents other Gecko browsers from being significantly different. So now if Firefox fails, Gecko is dead. If browsers like Camino still existed they could carry on the torch, but now those are gone.
I know that embedding had serious technical issues but I think they were worth solving. By dropping embedding support they threw out the baby with the bathwater.
This resonates with the top comment here when this article was posted originally back in 2013:
> The KHTML library (as wrapped by KFM) was surprisingly usable back in the day on Linux. But who'da thunk it'd turn into one of the most important pieces of code in the world? Congrats to all involved.
Having shipped a XULRunner based app before, I don't think there's any way Gecko could have been Electron. The design of the browser simply was not suited to it. (We put in pretty heroic effort to ship using it anyway, and it did work.)
But Firefox doesn't look healthy, and it's such a shame. I'd welcome a world where Firefox was back at 30+%
As would I, but using Firefox and following its development since 1.5, the outcome is entirely understandable. They chose a dick-measuring contest with Google over sticking to what built its usershare in the first place: user control. Until Google finally kills off competent adblocking, Firefox offers me nothing Chrome doesn't. And it's damned sad. They threw the ten percent under the bus so they could chase that 60% fantasy and this is the inevitable result.
Apple and Google own the platforms. The browser doesn't really matter, so everyone goes with the default that's installed. I guarantee that if all Android devices and Chromebooks came with Firefox by default, and Chrome was not installed, then Firefox would be the dominant browser right now.
> Isn't this what Microsoft got sued by the Department of Justice over?
They were integrating the browser into the OS, wouldn't allow alternative browsers to be installed, and took actions to get websites that would work only on Windows (notably with ActiveX). We don't really see that today.
Firefox is still doing great as a browser, on Android, Linux and Windows it's my first choice. Chrome played a huge role in Firefox's market dhare loss, it used to clearly be the superior browser but now I think firefox is better, lighter on resources, faster and more flexible.
Quite frankly Mozilla was just not competitive enough, even when they had the lead 20 years ago over IE. They did this on themselves and failed to stop the rise of Google Chrome's dominance.
> Mozilla nurtured Rust, and we should all be thankful for that. But Firefox doesn't look healthy, and it's such a shame.
Mozilla had a second chance with Rust and had years to make tons of money out of it or at least lessen their dependence on Google. Instead they literally threw that opportunity away and started chasing expensive distractions.
> I'd welcome a world where Firefox was back at 30+%.
I'm afraid that ship has sailed and Firefox is completely doomed and almost fully dependent on Google's money, especially with their shrinking browser market share. Chrome's dominance will just be more entrenched to the point it needs to be an independent non-profit, governing the browser engine as a standard and not controlled by Google.
> Chrome's dominance will just be more entrenched to the point it needs to be an independent non-profit, governing the browser engine as a standard and not controlled by Google.
I hope the EU/US Government makes this happen _before_ they force alternate browser engines on iOS -- that ~50% of mobile market share is the only thing preserving any resemblance of the open internet right now, and I fear that the lag between those two regulatory actions will effectively gift Google a monopoly on browser engines.
Best thing that could happen for Rust and Firefox at this point is Mozilla being disbanded.
As the only competitor for the status quo their efforts over the past decade have been embarrassing, gets even worse when we look even further back and see how they let IE dominance happen but never forget they existed through that, managed to take back some control then squandered it and let exactly the same history play out a second time while burning money on overpaid no-talent no-vision know-nothing execs.
iOS + iPhone + Safari is the new IE. Every other modern browser supports `MediaSource`, including iPad Safari [0], but not iPhone Safari. And there is not a peep about when it will be supported.
I'm sure Chrome and Firefox issue trackers also have plenty of bugs which will never be fixed - that's just generally what happens with long-running software projects.
Huh. I wish Apple still focused on these apps. Those apps used to be great at the time this guy was there. Nowadays it's all kind of lame.
But yeah these days all the development on desktop seem to go on JS/HTML - partly thanks to WebKit (which was a basis for Chrome later, which was basis of Electron) - which makes the app kind of suck, but honestly the development side is much easier. And people actually use phones in 2023 more than desktop. So, whatever.