Thursday, November 15th, 2007
Ajax, Browsers, Running Out of Time
History repeats itself, first as tragedy, second as farce. — Karl Marx
I can remember the day, back in 1994, when I abandoned the Mac for Windows. It was a gloomy, overcast day when I made that bittersweet decision — I was a Mac and Unix nerd all through college — but after my twelfth or thirteenth crash of the day, I had had enough. Photoshop, Netscape, Secure Shell and Word were just not meant to run more than one at a time on Mac OS 7. Had I stayed with Apple through that rough patch I’m sure I would have been slimmer, sexier and happier, but NT 3.51 only crashed twice a day, so my hand was forced. I ran out and bought a PC that very day.
Now I fear history may be repeating itself. Yesterday, I had Firefox 2 for linux crash 5 times, and IE7 for XP crash 7 times. The cause? Too many fat Ajax applications. Zimbra, the whole Google bestiary of applications, Yahoo Mail, etc.. These are all long running applications that I keep open for most of the day. Then all of a sudden the Browser is gone and I have to relaunch and login all over again.
I’m not alone in this. Colleagues and friends report similar problems with Safari/Mac, IE7/Vista, Firefox/Mac. I’ve even checked with a friend that runs the helpdesk for a large firm: reported problems with browsers are up. The only one who seems blissfully unaffected is the lone Opera nerd in my office. He just keeps chugging along with what seem like 200 open tabs.
The cause should be evident to everyone. We’ve taken what was first called LiveScript — a crufty embedding just good enough to validate a form or two — and we’ve abused it into being the foundation for a whole new kind of application platform. The browsers have just not kept up and the situation will only get worse with the accelerated proliferation of Web 2.0 apps.
Help is on the way, in the form of bytecode interpreters and vm’s for Safari and Mozilla, though the future of IE is still cloudy (still, there is a plan to bring Tamarin to IE). But if the new Browser version don’t arrive quickly enough, or if they don’t fully solve the problem of browsers crashing once an hour, then a mass migration to Opera may be the best we can hope for. At worst, content and application producers will opt for more stable non-Ajax alternatives such as Flash or Silverlight.
Ajax and the browsers it depends on are running out of time. If the notion spreads that it isn’t reliable, it will be as dead as the Java Applet, never to be heard from again.












Also, the sky is falling
Something’s wrong with your computer.
I don’t bother keeping multiple web-mail sites open all day (just Google Reader), but I almost never have crashes with Firefox in WinXP or OS X. The only times I’ve experienced such problems in recent versions of FF have been due to buggy extensions, and uninstalling those awhile back fixed the crashes.
If you’re getting browser crashes like that, something’s simply wrong with your box.
@Eric
My initial assumption was that something was wrong with my machine(s). But since I a) am experiencing the same thing on several machines with different browsers, configurations and operating systems b) I’ve validated this with others and c) it happens when several applications are running together (not just Google Reader), this can’t simply be explained away with a “you’re Windows install is hosed, dude.”
What’s wrong with Opera? :-)
“At worst, content and application producers will opt for more stable non-Ajax alternatives such as Flash or Silverlight.”
That leaves only flash – Silverlight has no programming platform you use plain javascript and the browser’s interpreter for Silverlight.
@vbence
If you are referring to Silverlight 1.0, then yes, it has no native scripting capabilities. Silverlight 1.1 is, of course, a completely different beast. Whether it is stable or not is obviously open to debate.
Only if you wildly underestimate how many installs are hosed to some extent. Most are. This is doubly true in the case of Firefox, as it comprises its own install that can easily get hosed when the user keeps adding extensions, especially when they’re buggy.
Now, I’d agree that I wouldn’t expect a web browser to be a general, multi-tasking application platform. However, despite your anecdotal evidence, my experience is that the previous issue is far more likely to be the cause.
Well, Opera is really a great browser. It’s not just the javascript :).
I think a lot can be learned when testing for leakage while running these ‘applications’ all day long on different browsers. It’s just not the kind of testing you’d normally add to the build process, you fix that afterwards.
While browsers vendors come up with ways to make their apps smoother we should focus on fixing our ajax apps, cause a mass migration to opera is not going to happen anytime soon.
@Eric
If I may rephrase: If only people would stop hosing their installs, adding extensions to Firefox and trying to use all of those Web 2.0 apps at the same time, they wouldn’t experience any problems.
If only…
So what’s the matter with a little stability/scalability testing?
There seems to be this hidden assumption among Ajax developers that the old bugaboos of concurrency and memory leaks were the stuff that the backend Java programmers had to worry about. Don’t we stress-test our code too? Are all JS frameworks equally stable and reliable? And is it really helpful to go around saying “Ajax sucks” without actually doing a little software engineering?
JS is supposed to be this little toy that doesn’t mean much, therefore memory usage / performance / stability testing are irrelevant. Huh? Is everything the fault of the browser? Is using Flash going to fix the problem? What have you been smoking?
I disagree with the alarmist tone of the article, but agree the browsers and Ajax apps will improve and become more robust
I have gmail open all day, run my own heavily javascripted app all day (sometimes multiple versions of it – while debugging with firebug) and browse the web. 2 reboots of firefox in one day is on the high end for me. I’m using FF on WinXP. Seems like your experiencing this problem worse than others. Also the average web user isn’t running all this stuff for that long at a time.
Another point: having to restart your browser is nothing compared to re-install your OS (like in the bad days of win95,98 etc). I don’t think people are gonna move back to desktop apps, the problems there are even worse (like loosing all your data!).
Let’s all push the browser manufactures to concentrate on making slim, stable, fast browsers instead of adding new features. Let the web apps inside the browsers add the features and leave the browser lean and mean.
It might just be “my machine” but I am having serious problems opening Flash sites and NOT Ajax sites in fact…
Sure GMail crashes occasionally, but I find my news sites crashing a LOT MORE often due to running flash banners and such things…
So if we’re to experience a “mass migration” due to “Ajax instability” then to migrate from a Ajax to Flash is like migrating from a bonfire to _HELL_…!
Firefox/Mac has been disastrous for me lately… it completely dies with AJAX-heavy sites like a Yahoo mail, Facebook (especially the Chess application), and is much slower using the “new” Gmail. As a web developer, I can’t live without it though.
I know you’ve addressed this in other comments, but I want to add my voice to the chorus in saying that what you are describing is not instability in browsers, it is instability in your OS/hardware stack.
I just conducted an informal poll at the office, and not a single person reported having their browser crash in months.
So I think it is indeed just you.
@Chris S
I guess we have dueling informal polls. :-) Still, we need to be specific in our claims. If your office mates are just viewing nytimes.com all day long, then yeah, they’re not likely to encounter the problems I’ve described. If instead they are using Gmail, Yahoo Mail, etc., all day long then sorry, I just don’t believe you. Also, this seems to be a problem across all major types of OS and Browser combinations, not just for a single company or even a single person. If it’s a problem everywhere or for the majority of power users, then a future where everyone and their grandmother will use rich, Web 2.0 apps to plan their home makeover and plan their wedding on facebook seems increasingly unlikely.
One final point: if you look at some of the Ajax frameworks out there, some of them actually rely on browser bugs and memory leaks. Most of the history management libraries explicitly depend on DOM leaks. Isn’t that a rickety foundation to build on?
I too have become pretty disillusioned with the browser as a platform. I’m told the performance of FF is better on Windows, but here on Linux it’s absolutely abysmal it’s slow and long sessions begin eating untold amounts of RAM.
I’ve switched to Opera for all everything other than work, but my experience definitely isn’t the same as your co-workers. Maybe he can cruise along with 200 tabs open because the javascript simply doesn’t work in Opera. In just a few days I’ve already run into a significant number of sites with bugs ranging from mildly annoying to completely breaking the site.
I can easily write javascript that can hose any browser and make it crash. Very easy to do. I think that’s the issue Dietrich was trying to address. That shouldn’t be possible. Javascript should run in a sandbox and a script should be put down if it misbehaves …
Not a heavy mac or linux user but maybe your blaming the browsers for bad code? I’ve never had my browser crash using gmail or other javascript heavy websites. But i have had ms word crash. I guess people will also stop using ms word.
I do not agree with the tone nor the perception this article conveys. I use Mac, Win, and Linux all day with many applications and never have a problem. I have all 3 OS’s running at home without a problem. I think you problem is with the applications (websites) you are running (browsing). I know some sites are so poorly written that there’s no hope of running correctly on any browser. If you think Flash or Silverlight are going to fix shady code, try going to nick.com (my kids regular that site) and watch your memory usage skyrocket to 100%. The browsers were never designed to run applications, yet the perception is they are. Most of the crash problems you are having will be caused by poorly written (web2.0) sites and if you are on a windows box probably spy ware, virus and you name it.
I’ve had FF2 crashes also, but only with Yahoo Mail. Even that, strangely enough, only happens when I *close* Yahoo Mail. I tried running FF2 in safe mode and it works fine, so I’m guessing that there might be a plugin-bug somewhere. I haven’t had the time to test individual (or groups of) plugins as of yet, but I think I’ve heard of this problem from many people.
So the problem might not be AJAX per-se but bad coding and/or FireFox plugin bugs.
latest firefox clearly buggy. crashes all the time.
It is absolute nonsense to dismiss browser based applications based on some bad implementations (of browser and/or application). Zimbra, I fear, suffers from early adopter syndrome — if you don’t jump out of the gate in perfect form (who does?), the guys who watch, learn, improve will beat you soon enough. Zimbra’s architecture results in a slow and bloated feel to the applications.
I would say the main problem here is the same one that led to the Great Flash Diversion of 1999-2002. Where someone like Josh Davis convinces developers that intertial scrolling and tweening motion is more important than anything else in an interface, and years go by where the brightest (and dimmest) minds of a generation go off and build bloated “frameworks” and “interfaces” that do little other than present eye candy. This is happening now with very bad developers giving up on learning and simply implementing dojo, badly and boldly, presenting a stinky mess for the dogs of trendy analysis to lick up and barf out great proclamations about how bright the future is.
Simply put, if the benefit list of your application is something like “OS like widgets! sliding panes! Ajax!” you are not only doomed, but you should be taken out like old yeller and shot. 99% of the developers working on browser-apps are amateurs, just like they were with Flash, and like all amateurs they are simply copying the code of others and manipulating the fascination of the ignorant.
Browser based applications aren’t doomed. The vast bulk of the developers are. Hopefully we’ll have a nice pruning of the brain tree soon, so that actual software designers can get to the business of improving the experience. And users like our subject don’t have their browser crash because some jackass with a marketing team in one hand and Prototype in the other duped a billionaire investor with draggable windows.
This is an entirely unproductive article. I’m sorry that you are having problems, that sucks. But what you are saying is, “I am having problems, other people I know are having problems, the whole platform is garbage.” What does this accomplish?
There is problem somewhere. If you really want to continue using these web applications (Gmail/Yahoo Mail), try to find the problem, pay someone to find it, or report it to the developers of the application. If you really are that fed up to not even try to do something productive, this is an unfortunate loss for the web/Ajax, and I suppose the alternative is using IMAP with Gmail or something like that.
The browser is a very successful platform that works for many, many people. It does have problems. Developing a rich application like Gmail is difficult and such applications have bugs. If you experience terrible bugs, it is still terrible but it doesn’t necessarily mean that the platform is too.
Do you have a reference for this? I am intimately familiar with the inner workings of Brad Neuberg’s Really Simple History and it doesn’t depend on DOM leaks. Which library do you refer to?
I constantly have Yahoo! Mail, GMail, ajaxian.com, cnn, and at least 3-4 other tabs constantly open in firefox and I have never experienced anything remotely close to browser crashing. Try turning Firebug off once in a while, even Gmail has a warning that it kills your browser.
I even leave Firefox open all night when I leave work, and the next day it still runs like a champ on my fossil of a PC.
@ Dietrich Kappe
We are web developers. We spend our days using and creating the web. I… sorry… *WE* think you are full of hot air.
Nice attempt at moving the goalposts by blaming rickety AJAX frameworks. Pfft.
While I love Firebug, it’s generally the reason FF runs slowly or crashes for me. There’s definitely a noticable difference between when it’s enabled and when its disabled.
I switched to FireFox because Opera kept crashing on my machine (all Linux). Perhaps Opera on Windows is more stable? But I can’t use Opera, it’s ridiculously easy to crash.
I agree on the browser situation though. But let’s not forget that all these applications are written in C or C++. And that language is completely unsuitable for such applications. Pointers, manual memory management, type casting, you name it.
But we can safely predict the situation won’t change.
I don’t know about IE7 (on account of only using it for one or two internal sites that insist on ActiveX) but Firefox’s instability in the presence of potentially bad Javascript caused me to migrate to Opera. I still use Firefox + Firebug for JS development, but Opera is my workaday browser. There’s one or two extensions I miss, but it’s worth it for the stability – nothing annoys me more than one misbehaving website freezing the whole Firefox UI. Of course, if Firefox’s devs ever considered implementing threading…
Hello all,
I think in the future two things will happen; first, the browsers will just get better at handling many web applications open at the same time, but second, I think we’ll be running more of these web applications as standalone processes. That way, if they do fail they won’t take each other down.
You can already run applications in this way today, with Sidewinder, an open source desktop application framework, that does many things, but one of them is to run web apps like Google Reader et. al., as desktop applications, giving them their own window and process. And as you’ll see from The 10 minute guide to Sidewinder, you can even run iPhone applications as desktop gadgets.
Windows only, at the moment, I’m afraid, but development is moving quite rapidly…and it is open source. :)
All the best,
Mark
–
Mark Birbeck, formsPlayer
mark.birbeck@formsPlayer.com | +44 (0) 20 7689 9232
http://www.formsPlayer.com | http://internet-apps.blogspot.com
standards. innovation.
I’ve been using Opera for the last 6 years on many platforms, its far from the last resort portrayed near the end of the post. Its not perfect and is let down and made better in various ways but its still the fastest and most stable browser I’ve used to date despite the hype surrounding FF.
Well, some things that I have run into that could help explain the crashes.
1) If you open a lot of windows in firefox and then close them out (but not all), firefox begins to consume large amounts of memory as it does not release all of the memory from the window that was closed. Once you close out all instances of firefox, it will release, but prior to that, you can easily run up your memory consumption (and the browser gets slow as hell, even with cache set to 0). Run a google search, shift+click each link, let the page load, and close the window. Repeat 30-40 times on different sites, then check how much memory firefox is using.
2) IE does not appear to release memory from XHR requests (and has a huge overhead on them). Doing some ajax work recently, I noticed IE was consuming a huge amount of memory with each ajax call, even after the XHR object is deleted. Pulling a 30k set of data, IE was consuming megs of memory per call that was never released until the browser was closed. Leaving the page changed nothing. So leaving a “constant ping” ajax application open in IE, could easily chew up the machines ram over time.
If only your house didn’t have a power outage about once an hour and your satellite dish hadn’t fallen off the roof, you might be able to watch that movie marathon. But you’re right, it could be from using the picture-in-picture function too much.
I can guarantee you that it’s Yahoo! Mail crashing your browser. It started doing that to me after I ‘upgraded’ to their new interface. Every time I closed the tab it was on or logged out, it crashed Firefox. I switched back to Yahoo! Classic Mail for now.
This is not only a problem for you. My once reliable Firefox is sucking memory like crazy and on top of that gmail is the cause of javascript hangs. JavaScript has had a roller coaster history, it’s only a matter of time before things scale back, unless people start using unobtrusive, well tested JavaScript(hint for google).
It is not just your machine. My once reliable and beloved Firefox is crashing and sucking memory like crazy. Also, Gmail is causing tons of JavaScript errors and hangs the browser.
Does it really matter if it’s the user’s fault for installing faulty plugins? Or spyware removers? Or whatever? The point is that the browser is not an ideal platform for running rich apps. Ext 2 Beta’s web desktop is molasses on my Mac Pro quad-core (Safari) when I launch enough windows (NOT a dig at Ext). Think about how many hoops libraries need to jump through to get things working reliably across platforms. Another case in point: MobileSafari doesn’t have a fast enough processor/whatever to do rich web apps, so we’re getting an SDK to do “real” apps. The web is not a suitable application for rich apps (even though I depend on building them for a living). +1 to Dietrich.
Only if you want to actually solve the problem.
“And users like our subject don’t have their browser crash because some jackass with a marketing team in one hand and Prototype in the other duped a billionaire investor with draggable windows.”
LOL!!! that was fantastic!
I could check my GMail now, and possibly have a memory leak or JS error in FF to deal with, but still see my email, or I could avoid all that trouble and just check Outloo… oh, wait, I left Outlook open at the office… damn… Guess I can still check the web-based Outlook client though. Oh wait… ah, never mind.
http://wiki.mozilla.org/WebRunner
Webrunner/Prism
I think this is the future.
Opera really rocks.
On my job, i need to keep one Firefox window open all day, because the company uses an annoying website to control our development hours, and FF is the only one which have an extension who allow me to put it on the tray.
It’s amazing how sometimes this window simply requires 118MB+ from my machine. At other hand, Opera keeps checking all of my mailboxes and displaying 4~5 tabs without no more than three dozens of megabytes.
Firefox get worse on it’s memory consumption for each release. A reason to keep it on my machine: Firebug wasn’t released for Opera yet :(
But the Opera’s mail editor looks like (and it works like) an optimized , of course. :(
*typo:
But the Opera’s mail editor looks like (and it works like) an optimized TEXTAREA, of course. :(
Thx for your mention of Opera, Dietrich.
Given the various disadvantages of the majority browsers, if you’re a heavy web user, you owe it to yourself to try Opera v9.24 for a few days and see for yourself how sweet it is… ;)
(By the way, Opera v9.50 Beta – codenamed Kestrel – is shockingly fast.)
Web app X crashes. Since web app X is written in language Y, all new web apps should be written in language Z. By the way, did I mention that I was a Z developer? Here’s my card …
… If you have Firefox 1.6, you should visit my website …
mootools rox!
Just a note: Firefox already does compile JS into bytecode (i.e., the Spidermonkey engine works that way). I’m pretty sure I’ve read on some Microsofter blog that their JScript engine also does this, and I have no reason to suspect that Opera doesn’t do the same. In fact, I am quite surprised to learn that JavaScriptKit doesn’t use a virtual machine.
VMs, especially stack-based ones, have been commonplace for dynamic languages for quite a while — the only notable language I know whose main implementation doesn’t use one is Ruby, but this will be addressed on version 1.9, which should be released next month. The big difference for Tamarin is that it includes JITting. This will mostly affect JavaScript 2.0, but I guess they will also perform some sort of runtime type-guessing on typeless variables, similar to what Psyco does to Python.
I have absolutely no problems, running WinXP Media Center 2005 SP2 with Firefox 2.0.0.9 something…
On the other hand, this computer crashes after 10 minutes when running light graphics.
My wittle contwadictowy computer.
@Hudson,
Did you know that Opera has a “hide” function. Just press Ctrl+H and Opera minimizes to system tray.
Sensationalist. Get better people.
@Hudson
Firebug might not exist for Opera currently, but there is a web developer toolbar setup, full syntax-highlighting source editor as well as the Java Console, Error Console and Developer Tools provided by Opera Devs. Dom inspector, etc.
I’ve been using opera for the last 5 years and never been disappointed by it.
Its true thats some web2.0 apps don’t work in Opera. But is that the fault of the browser or the developer?
Anyway the difference between opera 9.24 and opera 9.5b is so huge that i would recommend the beta over 9.24
What a great issue to see on Ajaxian! The real issue here has been going on for over a decade: the web wasn’t designed to do all this shit, but never underestimate the value of a lightweight protocol.
In the late 90s, our designs became too top-heavy and unmaintainable, then CSS took off and we reeled that sucker back in (half-way anyway).
Now we’re seeing Javascript and AJAX techniques hit a similar point of complexity where really really cool stuff is being done on a daily basis, but the whole mess is a bit convoluted and unmaintainable. These problems are being addressed in an organic fashion from all corners of the market, but open platforms take time to evolve. Considering gmail was released just 3.5 years ago, I think progress is actually pretty rapid.
Ok, i keep hearing everyone that i need to open only one site at a time, and not add any extensions on firefox. Maybe i should hop on one foot and bark like a dog while am at it, or call an excorsist to get the beasts out of my pc. But since my first 386 machine where i couldnt open more than one site at a time things have changed. And i want to open 20 tabs at the same time. And i 3 of them to be ajax sites, and 3 to be youtube videos. And i dont want my browser to crash. The dude is right. I have 3 boxes, one of them linux. Crashes on all of them. One doesnt even have extensions installed! So the problem is with the browser. And i’ve tried several. Opera, IE, Safari… As soon as you open more than 5 tabs, things start to slow down.
Well, we’ve got the horse power to handle the load now. Our machines are fast and furious. Only the browsers are falling behind…
Just remember that statistics can be really misleading sometimes. If you’re reading this article you’re probably in the business, so to speak, and conducting a survey at work, where everyone’s interrested in cool Web 2.0 pages and probably use alot of them, might not reflect the general usage of such web pages.
@Ameer:
I already got the CTRL + H thing; unfortunately, as the manual says, this shortcut hides Opera (all windows) and i need at least one window visible :)
The MinimizeToTray extension on Firefox allows me to simply CTRL + SHIFT + M undesirable windows.
@Kyran:
Yes, i used to develop with the Opera’s Developer Console. It’s cool, however, Firebug is a better choice, IMHO; i think on this way because of things like disable one CSS declaration by a simple click on it’s left side, type JavaScript commands which run immediately on console, among other reasons that makes FB more suitable for my projects.
And, above all, i don’t have any additional tab with Firebug :)
(Oh my God, i have typed all this comment on IE7… call me “heretic” :P)
Ha ha ha ha ha ha ha ha ha
This thread seems to be requesting that browsers to perform reliably, on a site dedicated to programming your browser to do new and unpredictable things.
Anyone who reads this site is in a position where they want the browser to be an OS. The browser ain’t an OS, or at least it isn’t a robust multithreaded one that can deal with crashes. No one (except Marat) has grasped the value of an OS, which is that IT CAN RUN BAD APPLICATIONS without itself crashing. This is the request buried in the original post.
This article is truly absurd. Using the convoluted anologies of doom, I have reverted to using Lynx and a text based OS… because as we all know, just like the Mac and Windows, when those were single threaded and did not perform particularly well it doomed the entire windowed interface concept.
Give me a break… No specifics.. just rubbish. While I have certainly experienced browser crashes, it is certainly within the realm of all other applications where I open/close/ interact with on a constant basis.
To speak of specific issues such as threading or memory usage/leakage make sense (and indeed appear here often), but to go on some diatribe of doom really causes you to lose all credibility. Just like everything else in the computer era, things will adapt and improve. It is that simple. Just as that have with countless other things, including the browser itself…
Finally, think back to the original dial-up access to the Internet.. or the horrible experience of Netscape or Internet Explorer 3 compared to the now… Given your doom based outlook, I am shocked that anyone even uses the Internet given the horrible experience.
Well said, Travis.
I think the overall point should be:
JS was once a kiddie scripting language (see debugging with Alert(), which only recently went away). JS has grown up with the browser to be extremely powerful and has been extended in many non-standard and half-supported ways. Now we have reached another milestone where the concept of programming safely for the browser needs to be (and is being) revisited: standardization, ECMAScript 4 discussions, sandboxing, memory allocation… We all seem to agree JS is plenty powerful, and now we have frameworks and techniques that allow web programmers to build truly rich applications.
However, every technology goes through it’s adolescence, where widespread adoption leads to lots of bug discoveries, quick fixes are made, and then the foundation of the product is improved. This is a product lifecycle.
No one is going to abandon teh intertubes, or its flashy, new, cool apps that make users feel cool, and make investors sign checks; the browser and ECMAScript are not dead; and yes, users are used to and will tolerate crashing in order to run the cool stuff they like. See Myspace, for example. Running out of time?? I’m running out of time writing this post when I should be writing the next Google.
Absolutely Travis. What we are trying to achieve is literally over loading the browser like an OS which it isn’t. But from another aspect, if our apps must move forward and be more innovative, the browser itself must be able to catch up with the speed and act more as a platform rather than an app itself.
@Eric – Sorry, you Fail. Completely. Hop aboard the failboat. There’s not something wrong with his computer. Perhaps if you used some real Ajax applications or did some real heavy ajax development for long periods of time you’d notice this happening. Everybody at my workplace experiences it, I expereince it, by the looks of this thread many others experience it.
Which leaves the only options to be that you are a superman with a supercomputer with superpowers, OR, you are a novice who doesnt have heavy enough usage to push your browser to its limits.
Updating the script engines in any way will not reduce crashes. I haven’t seen a script engine crash in years. The thing that crashes is usually the rendering engine due to changes and states in the DOM that the browser manufacturer didn’t anticipate.
I agree with Kyran. If you want to try Opera, try the latest 9.5 beta. It’s much faster than any other browser on the market! And most sites that looked broken in Opera 9.24 are perfectly rendered, now. And it never crashes (well, almost). For me it is so stable, fast and compatible that it has become my default browser, even if it is a beta!!!
Dude, I’m sorry to hear everything keeps crashing in your computer… I’m using Firefox (2.0.0.9 which is the current one) and it crashes about 1-3 times a month… oh yeah and I’m a web developer so I do a lot of Javascript debugging and probably thousands of refreshes a day.
Which Linux dist. and FF version did you run when it crashed last time?
From a JS SysLib coders point of view ( assume I see heavy crashes all the day on all browsers):
(1) I agree that a lot of the libs out there are eye candy. Unfortunately I have the feeling they are developed with only one open browser tab in mind. Same applies to the applications we see. This feature centric point of view in development is emberrassing and in fact it is the reason for so many crashes.
(2) I maintain an asynchronous lib – its all about continuations, but a tad heavier than the code sample presented here lately. Handling browsers resources ( rendering, requesting and processing management ) in my eyes is essential to successfully code heavy apps. So far I have yet to see an application that is built on resource management principles. If you know one, please give me a hint.
(3) I spend the last 2 weeks refactorizing 200 lines of code in my lib. It is obvious to me that no company is willing to spend that money on improving their product at a point where nobody can see it – simply because there is no financial need to do so. We all live with those crashes, and happily keep on using the applications. So why?
The point in it is: we will keep seeing these crashes, because we jump on eye candy. And we trade eye candy for stability and we are happy with it. So we get what most of us desire ( a marketing principle ) and live with the consequences ( a coding principle ).
In
Runtime wars (1): Does Apple have an answer to Flash, Silverlight and JavaFX?
and
Runtime wars (2): Apple’s answer to Flash, Silverlight and JavaFX
I explored Apple’s recent moves with WebKit 3.0 to accelerate the formation of a x-platform alternative to non-DHTML runtimes. It’s not unlikely that Silverlight will remain predominantly Windows-only and JavaFX mobile-centric. Odds are better for Flash/Flex, but it will be eclipsed by OS X on Macs and iPhone and other post-PC devices from Apple to come. I don’t see much that’s a lock-in yet.