Mac Specs: 2.5GHz 17" MacBook Pro Core2 Duo - 4GB DDR2 SDRAM - 250GB HDD - NVIDIA GeForce 8600M GT 512MB VRAM
Quote:
Originally Posted by giulio
As a developer, I cannot believe people actually use Safari. What a piece of garbage. It's like the next version of IE for mac that never was.
A web browser with tabs and robust security features (including the seen-nowhere-else "private browsing" feature) whose engine handles Java and renders webpages better than Firefox's engine is a "piece of garbage"? I suggest you read up on web browser-specific development before you use your status as a developer of some sort to give weight to such statements.
Yeah. If you have a div with style overflow:auto (or scroll), and there are links in the div, and you put your mouse BELOW the div (in the rest of the page), the link is still active - you can click it, you see it's url in the status bar.
The 'fix' for this, is to wrap that div in a another div with overflow:hidden. BUT, that does not work either! You have to use an iframe instead of a div. an iframe for god's sake! how 1998 is that?!
Also, safari renders form elements all pretty. Which is cool. Unless you are using CSS to pretty them up yourself. And the file upload button... why is it different? Why are we now forced to design pages in another new way to satisfy another browser? It's just a PITA.
I have to use every browser for testing. I run into more problems with Safari than with IE/PC. When I hit reload, it chokes. I have to click in the URL bar and hit enter. Cache gets stuck a lot. CSS renders improperly in lots of places.
People admit that they use Safari, but have to switch to other browsers to do certain things. I don't get it. Why don't you just stay in that other browser that works?!
Firefox.
Mac Specs: 2.5GHz 17" MacBook Pro Core2 Duo - 4GB DDR2 SDRAM - 250GB HDD - NVIDIA GeForce 8600M GT 512MB VRAM
Quote:
Originally Posted by giulio
Yeah. If you have a div with style overflow:auto (or scroll), and there are links in the div, and you put your mouse BELOW the div (in the rest of the page), the link is still active - you can click it, you see it's url in the status bar.
The 'fix' for this, is to wrap that div in a another div with overflow:hidden. BUT, that does not work either! You have to use an iframe instead of a div. an iframe for god's sake! how 1998 is that?!
Also, safari renders form elements all pretty. Which is cool. Unless you are using CSS to pretty them up yourself. And the file upload button... why is it different? Why are we now forced to design pages in another new way to satisfy another browser? It's just a PITA.
I have to use every browser for testing. I run into more problems with Safari than with IE/PC. When I hit reload, it chokes. I have to click in the URL bar and hit enter. Cache gets stuck a lot. CSS renders improperly in lots of places.
People admit that they use Safari, but have to switch to other browsers to do certain things. I don't get it. Why don't you just stay in that other browser that works?!
Firefox.
So you've only described one actual issue, mentioned two vague ones with no explanation, mentioned a really weird gripe that seems like a personal preference on your part (upload file button), and mentioned an issue only you seem to have (reload/cache screwing up?). So I'll address the one issue you described and ask you where I might find a webpage that shows me a case of the overflow not being accounted for so that I might see Safari screw up; I thought this was only a problem in Safari 1, not 2. And I highly doubt many webpages need to be designed in a totally different way for Safari, seeing as it's just as compliant with web standards as Firefox on average and, unlike it, actually passes the Acid2 test.
Also, I would never be able to use Firefox as my sole browser since Firefox is still one of the only browsers I know of that for some reason don't let me access the Java content necessary for me to enter data in my timesheets and get paid; some of us need these web browsers for work purposes. I've never had to switch out of using Webkit for anything thanks to the built-in user agent switcher (everything seems to love you more when it thinks you're using IE6). In fact, for me, Firefox is the only browser that does NOT work for everything I need in a web browser. Then there's the fact that Firefox has yet to adopt Safari's superior use of the zoom button and still lacks proper syncing abilities with OS X for use of autofill and the like. Add to this Firefox's gigantic RAM footprint on all platforms and inferior use of the zoom button on OS X, and you can see why I'm less than enthralled with it. I wouldn't even use Firefox on Windows anymore at this point to be honest, because Opera has surpassed it both in speed and in webpage rendering accuracy. About the only thing I consider worthhile in that browser above others at this point is the ability to download extensions, including ones useful to web developers. I certainly hope 3.0 can change a lot of this, but I'll have to wait and see on that.
Here is the overflow bug: http://www.webveteran.com/temp/overflow.html
Open that in safari, place your mouse under the div, around the "more content here" text. And notice how the status bar shows the url of the links in the above div. Aside from just a nuisance, you can actually still click those links. Very bad if the content below the div has it's own links. Now, scroll that div to the bottom and place your mouse below the div again. Links are gone (they've been scrolled up). So maybe you should see this same behavior if you put your mouse ABOVE the div... buy you don't.
Safari might adhere to standards... but it sets it's defaults differently:
Fieldset: border width, style, color
Input field: uses aqua (see below)
Acronym & abbr: italics instead of dashed underline
Lists: not affected by text-align
Tables: does not support padding
Safari does not style input elements like radio buttons and text input fields, instead using the default Aqua look and feel. Although that is cool for the OS consistency, it leaves designers/developers confused. I'll get a nice photoshop image from a designer, who obviously took screen grabs from Safari. They don't understand that the page will never look like this under any other browser.
Imagine if you will that you create a nice looking site with an aqua theme. Then you view a page with a form in it, in any other browser... it will look crappy don't you think?
The list goes on and on. Just google 'safari bugs'.
This all means is that developers must now add another set of rules to HTML, for Safari.
Perhaps Firefox has a large ram footprint because it's doing all of the work? Safari most likely just hooks in to webkit which is most likely running under the OS. I restarted to do these tests:
(THIS TEST IS REALLY WRONG - SEE LATER POSTS FOR CORRECT NUMBERS)
With only safari open, the system is using 288MB ram, 11 by Safari. After loading 5 pages in frames, Safari is now using 68MB. But my system ram went up to 528. Where did the other 120MB go?
The entire ram tax for loading 5 pages in safari is 177MB.
When doing the same test with Firefox:
FF started off with 44MB ram and went up to 65. The OS only jumped up 60MB.
The entire ram tax for loading 5 pages in firefox is 81MB.
Anything you can do in Safari (and more), can be done with Firefox, with the appropriate extension. And I like it that way. Firefox has everything loaded that I need, and nothing I don't.
Mac Specs: 2.5GHz 17" MacBook Pro Core2 Duo - 4GB DDR2 SDRAM - 250GB HDD - NVIDIA GeForce 8600M GT 512MB VRAM
Wow, sometimes I forget how far behind the release build of Safari is in comparison to the Webkit build I use. I didn't know that the overflow thing was still an issue, but you're right about that. Quite unfortunate.
Yes, Safari does set a lot of defaults differently and does have a different look to most form-related things to be all aqua-ish. At the same time, I don't think anyone actually would design a webpage differently so that it might look a certain way in Safari. I tend to go with the general rule of thumb that web pages should be designed to look a certain way in IE, and if other browsers like to make small modifications to the look, so be it. I find it unfortunate that we do have to use IE as a standard, but it is still sadly the most used one. And again, I think a few of those things you specifically listed might have been fixed in the Webkit build I'm using... so I may be a bit out of the loop on exactly which problems Safari currently has.
And yeah, there are a lot of bugs, but the same can be said for any browser. None of them are anywhere near being perfect. Also, are you sure all that system RAM was being used because of Safari? I would think looking at the virtual RAM might be a better way to judge this sort of thing. I personally have never seen Firefox use less RAM than Safari in total unless Safari has already been open for a long time beforehand (which says something about Safari's RAM-leaking I suppose).
And yes, I do like Firefox extensions. Honestly, I would use the program if it changed just a few things (mainly user interface type things actually, but also some engine-based stuff like the aforementioned Java applet support).
It's been good to find someone that knows so much about web development, actually. I'd be interested in your opinion of the version of Safari that's going to be released with Leopard (or a recent Webkit build for that matter). That said, while Safari has its issues, it's far from being horrible or anywhere near the same level as IE. I think that much was an overstatement, since on average I don't think Safari has a lot more problems than what people consider 'good' browsers, like the de facto gold standard, Firefox, or Opera for that matter.
Also, I'm impressed with what you've managed to do with Ajax and Web 2.0 animations on your website.
Yes you're right, I was exaggerating and overstating. Safari had me very frustrated lately. The last two projects were slightly nightmarish because of it. I feel much better now =)
I would not design a website differently for ANY browser. The way I see it, why should I do extra work because they want to be different?? But, its the browser the client has that dictates my work. Some, in rural areas of the states, need their site to work in IE 5. Not five point five. Five-Oh, on windows Ninety-Eight. YYIIKEESS. "And can you have those nice opacity transitions and ajax controls, too?? Thanks." haha!!
The ram test I did was very quick and not so thorough. I'd love to do a truer test but don't know when I can squeeze in the time. Maybe now?
Thanks for the compliment on my site. It's been fun. And the Javascript audio engine I built has been adopted into Scriptaculous. Very excited.
I re-ran my test, the correct way. Last time i was using Activity Monitor - thats where the extra 120 or so MB ram went. I apologize for the very wrong results!
This time I used only MenuMeters to see the ram/swap usage.
Here is my procedure and results:
Restart
Memory used: 147.4MB (64MB Swap)
Open Safari
Open 5 bookmarks in tabs
Click each tab, scroll every page to the botoom.
Memory used: 170.1MB (64MB Swap)
Restart
Memory used: 145.0MB (64MB Swap)
Open Firefox
Open 5 bookmarks in tabs
Click each tab, scroll every page to the botoom.
Memory used: 165.8MB (64MB Swap)
So there is the difference. Safari/Webkit used 22.6MB. Firefox used 20.8MB
Not much of a difference at all.
Mac Specs: 2.5GHz 17" MacBook Pro Core2 Duo - 4GB DDR2 SDRAM - 250GB HDD - NVIDIA GeForce 8600M GT 512MB VRAM
Ah, I see. I stand corrected on Firefox then. I haven't had much experience with 2.0 to be honest. And wow... IE 5.0?! That just sounds... horrific. That's really cool that your engine's getting adopted into Scriptaculous. The fact you can get sounds working like that without the need for any plugins is just awesome. All we need now is for IE to get up to speed. XD
Well, I don't know what happens to memory usage after hours of use.
Rendering is ok in IE 5. But rollover are a problem because of flickering. So you gotta do all this JS stuff to preload and hold things in arrays and BLECH.
The sounds are actually easiest to implement in IE. I just dynamically create and destroy BGSOUND elements. However, some other browsers do not have native support for sounds. So it gets dicey figuring out the browser, OS, available plugins, etc.
Truth be told, the sound engine does use plugins (if you're not on IE or Opera). However if none is available, it does not report an ugly warning: "Missing plugin, click here to search for a non existent plugin, get frustrated, and turn the computer off" =)