Firefox 2.0 'Beta Candidate 1' Released
Krishna Dagli writes to mention that a Firefox 2.0 Beta Candidate has been released to the public. Ars Technica looks at some of the included features such as tab scrolling, anti-phishing measures, and an integrated spellchecker. From the article: "There is an option to search for updates for any extensions that have been broken, but it was not able to update any of the extensions I had installed. Fortunately, Firefox has been integrating many useful extensions (like the ability to drag and drop tabs to new locations) along its development, so this is not as big of a problem as it might seem. The browser seemed quite fast and stable, although I did not perform any benchmarking tests. I found one really obscure bug, where if the user clicks on a help link when a preferences dialog box is open, a new copy of Firefox will load without the user being able to switch back to the original either through Alt-Tab or the Windows task bar."
Flame me if you want, but this just isn't as good as IE 7 beta 3. They are going to need to do better than this to stop IE 7 from steam rolling the browser to under 5% share.
Has anyone tried any of the RC's with the various Google extensions (notebook and browser sync) installed? Any word on how well they work?
NATIVE support for the current standard recommendation of SVG.
Plain and simple. That's the one thing I've been waiting on in a mainstream browser.
Yes, you can get it with betas and prc's but, mainstream, main trunk, production releases that include this are unknown to the public at large.
My office has been taken over by iPod people.
I want it to pass the Acid Test.
Then I would like compliance with all W3C web standards. All of them, starting with XHTML and CSS1 / 2. You can start tacking the others on when you nail that big one.
"If I were bound by all laws everywhere I'm sure I would have committed a capital crime somewhere."
I'm sure Firefox does all the spellchecking work itself. Doing work it doesn't have to is sort of Firefox's modus operandi anyway.
Look at XUL. Creating an XML language to describe user interfaces make sense - it's why GTK+ did it with Glade before the Mozilla Project was even started. But it goes a step beyond that in Mozilla. Instead of using native widgets, XUL is implemented using the browser rendering engine and uses JavaScript event handlers to implement UI functionality. This leaves you with widgets that are look almost native but are just kind of out of place - which is why Firefox widgets in OS X aren't spellchecked by the OS. Plus, thanks to the use of JavaScript, the UI is substantially slower than it has to be.
At a lower level you have the "Netscape Portable Runtime" (still called the NSPR despite the fact that Netscape has abandoned Mozilla). This reimplements the C runtime library. Yes, seriously. Part of Firefox's memory problems are almost certainly caused by the fact that Firefox uses a custom memory allocator instead of the native C runtime allocator which would likely be highly optimized for the local platform. But they also reimplement silly things like the string functions in the C runtime and a bunch of other parts of the C runtime.
Firefox is a prime example of Not Invented Here Syndrome. They reuse practically nothing and rewrite practically everything.
Sorry, but yes it does, at least if you're a business user with a corporate intranet that uses ActiveX as many do. This stubborn attitude among the Moz community that ActiveX == bad, integration with Windows authentication == bad, etc. is exactly why Firefox has such low penetration on corporate desktops, which in turn is exactly why it's so rarely included with off-the-shelf PCs from big name vendors.
Seven deadly sins of successful software development, #5: Believing that what you think the users should have is more important than what the users actually want.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
New functionality
Give Firefox and other browsers
1) the ability to drag a number of files/folders onto a spot and facilitate transfer via method specified by the web page: one file at a time, all files in parallel up to X simultaneous uploads, or the whole shebang as a single tar file (filenames in UTF8 or MIME encoded). All those cool photo sites and people still have to upload one photo at a time, that's dumb.
2) Better support for ajax with some useful functions. a high speed xml parser, zip en/decoder, launch and manage multiple javascript threads, provide optionally encrypted local storage, network with other browsing people in realtime if user allows it, etc. Ability to JIT download and store various signed interpreters (python, perl, parrot, random gamer kernel, etc.) would be extremely neat, too.
3) Improved human-computer interaction (HCI) facility. For example there is a DOM selector somewhere in the debug menu or in the scrapbook which is a little useful for programmers, but most mortals (I'm still talking intelligent people, just not programmers) have no way to do simple things like point their finger at something on the screen to tell the computer or website to do something about it. A simple, highly useable way to point at predefined areas on the screen (in a web page and on the desktop), perhaps using a transparent overlay to help out, would be a vast improvement. None of this otaku gesture shit. Something every user can suddenly get a massive improvement out of.
4)While you're at it, support allowing individuals to specify a URI which holds persistent structured info they want to be able to get at. Like favorite links, addresses, whatever. Support a bunch of ways to get at the data including support for high speed encrypted search,retrieval,storage.There's lots of ways that Firefox could support the development of really useful services, just making it possible to do something not necessarily doing it all itself.
5)Allow a miniapp to run in the system tray and respond to events, write in javascript, or whatever. A clue could be taken from the openlaszlo/dojo work.. and note that the Flash security model is too secure while dojo.storage is looking for storage providers and Firefox needs to provide. I'm for making minimal additions that have maximum effect, no more eye candy that never gets used or brings most computers to their knees.
A marketing attack
There may be a way to use M$ tactics against them. Prepare Firefox code so that it can be easily branded and customized. Make a new version for every computer manufacturer and rename versions as Explorer. Every new computer could have a version of Firefox and the manufacturer might give it priority if say it includes a free user feedback ajax app, etc. Embrace and extend? You just want to make sure Microsoft doesn't willfully throw a wrench onto every desktop making it impossible for Firefox to deliver useful improvements to the user experience.
I have 1.5GB of DDR400 so maybe I'm in the minority, but as long as I've used Firefox (maybe a year before 1.0) I can count the number of crashes on one hand. No doubt there are inelegant programming solutions to many issues with the browser, but they are all but transparent from my experience. And I use about 20 extensions!
There was requirement about "native interface". Only when Opera will learn that double-click used to select text (not to open pop-up menus). When drag'n'drop will finally start working (try to drag URL from location bar to create link, try to drop link to open in new window/tab). When UI will be drawn using host OS (menus are always too thin - provided the amount crap in the menus - they are barely readable, controls don't use system font, etc etc etc) When tabs will be closing in the order they are on screen - not some random order. When tabs would be simply switching by Ctrl-Tab. And finally when about box will be what it is meant to be - dialog box.
Until then, tradition of Opera to break UI rules with every new release, does no good. Opera can called anything - but "native application." Unstandard keyboard shortcuts (easy to mistype), unstandard behavious (always confusing with other applications), etc. "Native application" doesn't mean "picture looks like everything else". Opera's "nativity" - is skin deep only. For definition of what native application I can only direct you (and hopefully Opera's devels) to sources: MS Guidelines for UI development & Apple's HIG & GNOME HIG. Read that before reinventing square wheels. Send that to Opera - probably they do not know about the guidelines.
Mozilla people spend lot of time making sure that people used to various OSs and various UI standards will feel themself comfortable. Specifically goal of Firefox was good integration with host OS - Windows or Linux - even Mac OS X support now improved greately. Br... Somebody stop me. I'm flaming.
All hope abandon ye who enter here.
Exactly! Good grief. that was the number one argument (next to Open Source) against Opera... "it's bloatware!" several years ago. Now, FF users scream "it doesn't have extensions!" ...but the bloat comments are gone.
Actually, Javascript can cause memory leaks in IE as well:
http://msdn.microsoft.com/library/default.asp?url= /library/en-us/IETechCol/dnwebgen/ie_leak_patterns .asp
I haven't tested it lately because I tend to stay away from IE, but a couple of years ago it was quite easy to slow a user's system down while viewing a page in IE by using Javascript to scroll text across the browser's status bar. Many Websites that had tools and toys for Web developers would warn of the danger of using Javascript for scrolling text effects. The effects would be noticeable in minutes rather than days.
* * * * * *
I've had a perfectly wonderful evening. But this wasn't it.
--Groucho Marx
Javascript has a concept known as closures (basically function objects), which when created inherit the scope they were created in, in the form of the scope chain. This scope chain can keep pointing to variables long after a naive reading of the code would seem to conclude nothing is pointing to them (by all references to them having explicitly be set to null). This in turn causes memory leaks. This is not a bug, but is behavior that is mandated by the ECMAScript standards, which firefox tries to aspire to.
I've run into this problem myself in an actionscript (flash) application, where I initially blamed flash for my memory bloat, until I learned that it was my own weak understanding of closures that was the cause.
Since firefox extensions are written in javascript, I expect that a lot of them have memory leaks in the form of ill-designed closures, which would cause the firefox process to bloat, even though the firefox developers are not at fault.
I want to be able to turn on/off javascript on a per URL basis.
FreeSpeech.org