Main      Site Guide    
Message Forum
The Incompetence of Browsers
Posted By: Sam, on host 216.240.148.181
Date: Monday, October 8, 2001, at 13:18:15

Why are browsers the worst put together software applications on the market? I can't think of a particular type of software application that is more consistently buggy and awful.

The "streaming text" feature in RinkChat, currently disabled pending correspondence about Dreamhost regarding a conflict with their server load monitoring software, is implemented with numerous browser-specific hacks and workarounds to make it usable on as many platforms as possible.

In the course of developing the streaming text feature, ahmoacah and I put the script through exhaustive testing procedures on more browsers than I can count. We tested numerous versions of Netscape on Windows, UNIX, and the Mac; numerous versions of IE on Windows and the Mac; multiple versions of Mozilla on the PC and Mac; and Opera. (For fun, we tested Mosaic, Lynx, w3m, and emacs in w3 mode, and these were unusable, but excusably so.) We found NO browser that worked as it should. NONE.

Later versions of IE have redraw problems. IE 5's could be solved by sending redundant javascript codes at timed intervals, but IE 6's redraw problems remain. IE 3 doesn't support the required javascript calls, but there was functionality it should have supported but didn't: it never prints the last line in the buffer. Netscape 3.x and 4.x on Windows came the closest to working smoothly without hacks, but it has a bug when you refresh manually in that it never repaints the screen. Netscape 6's scrolling controls don't work, and it had to be sent the redundant javascript codes that IE had to get. Netscape 4 didn't scroll right and sometimes failed to put up a scroll bar at all; this, too, was fixed with ridiculously redundant javascript codes. Mozilla doesn't obey the javascript scrolling commands. Opera doesn't either, doesn't always display text properly, mucks up the refreshing of the user list, and drops focus from the input box in spite of the fact that javascript codes continually tell it to put
the focus back on the input box.

The HTTP refresh header is handled differently by different browsers. Versions of Netscape prior to 6 start the timer in the HTTP refresh header after the page finishes loading. Netscape 6, IE, and Mozilla start it as soon as the refresh header is seen.

Just to get HTTP refreshing to work with "normal" RinkChat is a challenge. Depending on your browser, it will be sent one of three different sets of code to handle the refreshing; each browser requires a different one. IE 5.5 and 6 require a different syntax in the HTTP refresh header than other browsers and choke on javascript reload commands. Opera, even in MSIE mode, requires Netscape's refresh code. Netscape won't refresh properly if javascript is used in addition to an HTML tag to mark the spot in the messages window that it should scroll to. Older versions of Netscape will stop refreshing if you resize the window.

Mac browsers are trash. No Mac browser works well with RinkChat. Netscape chops off lines you enter after a certain short length, and IE will periodically turn the input frame into an error, which happens for not entirely known but assuredly stupid reasons. Opera for the Mac is ridiculous.

So the code for RinkChat is littered with browser-specific code, and I haven't even cited all the examples. Are HTTP and Javascript THAT difficult to support? Is it SO hard to make a browser that work, that no browser does?

RinkChat is not all that complicated. Load page. Scroll to latest messages. Reload every X seconds. Why is this functionality so hard?

Replies To This Message

Post a Reply

RinkChat Username:
Password:
Email: (optional)
Subject:
Message:
Link URL: (optional)
Link Title: (optional)

Make sure you read our message forum policy before posting.