So long Safari?
My answer to So long Safari? on Ask MetaFilter
All browsers have bugs—especially relating to fancy JavaScript stuff. Any truly complex web application is likely to run in to browser bugs, and fixing them takes a whole bunch of time. Bugs in IE and Firefox are pretty well understood, as are the workarounds for them.
Safari has been out in the wild for less time, and also has a smaller number of people testing on it because it only runs on OS X. Here are a couple of issues that Safari suffers from that have affected me in the past:
1. addEventListener doesn’t work in Safari if you try to use it with a dblclick event.
2. preventDefault and stopPropagation don’t work in Safari (this may now have been fixed)
There’s a huge list of other bugs here.
I think you’ll agree that these are pretty obscure problems (so obscure that the vast majority of sites never trigger them). It’s only the modern trend for Ajax/JavaScript heavy web apps that is bringing them to the surface.
Like I said, all browsers have their own DOM/JavaScript bugs—which means you have to debug seperately in each browser. My hunch is that Safari has more JS/DOM-related problems than other browsers at the moment. To their credit, every release of Safari offers huge improvements, they release often and updates tend to be pushed out to Safari users very quickly. But when you’re launching your new hugely complicated Ajax site the temptation to leave the Safari fixes until later is understandable.
In answer to the original question, I don’t see Safari going anywhere. It’s a great browser to develop for, and it’s getting less buggy all the time. The web development community’s shared understanding of its current bugs and their workarounds is growing constantly as well. I think it has a very bright future.
More recent articles
- Lawyer cites fake cases invented by ChatGPT, judge is not amused - 27th May 2023
- llm, ttok and strip-tags - CLI tools for working with ChatGPT and other LLMs - 18th May 2023
- Delimiters won't save you from prompt injection - 11th May 2023
- Weeknotes: sqlite-utils 3.31, download-esm, Python in a sandbox - 10th May 2023
- Leaked Google document: "We Have No Moat, And Neither Does OpenAI" - 4th May 2023
- Midjourney 5.1 - 4th May 2023
- Prompt injection explained, with video, slides, and a transcript - 2nd May 2023
- download-esm: a tool for downloading ECMAScript modules - 2nd May 2023
- Let's be bear or bunny - 1st May 2023
- Weeknotes: Miscellaneous research into Rye, ChatGPT Code Interpreter and openai-to-sqlite - 1st May 2023