Firefox 3.0 Makes Leap Forward
Kurtz'sKompund writes "Mozilla has announced that Firefox 3.0 has passed a major milestone! The Places feature has been added to the alpha client slated for release next week. Places is a complete re-work of the bookmarking and history browser functions. It was at one point slated for Firefox 2.0, but will instead see release in Mozilla's next major version. '"We enabled the Places implementation of bookmarks on the trunk," said the Places team in a post to the Mozilla developer center blog. "Although there is still much to be done, this is an important milestone for us." Firefox 3.0 alpha 5 is scheduled to launch June 1. Because Places uses the open-source SQLite database engine to store and retrieve bookmarks and history entries, it's incompatible with earlier Firefox editions' bookmarks. Alpha users must convert their existing entries, Mozilla developers said."
Until they decide to remove it and delay it until Firefox 5 (after they skip 4)
I'm not the usual jerk that complains about FF's feature bloat, but I wonder if this new feature is optional.
Consider it a feature. They want to test all the memory in the machine for you ! Now that is what I call good folks.
All joking aside , isn't it on the bug tracker a lot ? I thought that the whole reason for this write was to fix the various memory issues before they moved on ?
This package Does Not Contain a Winner
The Mork file format was one of the most braindead database systems ever. Coding to access it is ridiculously difficult.
Mork is dead... thank the gods.
However, the Mozilla SeaMonkey suite doesn't yet have SQLite. Will it be unable to share bookmarks with the new Firefox? Or will it get SQLite before Firefox 3 is released?
For anyone wondering what's going to change in FireFox 3.0 (Wikipedia quotes):
The largest known change for Firefox 3 is the implementation of Gecko 1.9, an updated layout engine. It will also provide CSS3 columns.[90] Firefox 3 will include features that were bumped from Firefox 2, such as the overhauled Places system for storing bookmarks and history in an SQLite backend, according to the wiki.
Also, what's expected to come in FireFox 4.0 (also Wikipedia):
On October 13, 2006, Brendan Eich, Mozilla's Chief Technology Officer, wrote about the plans for Mozilla 2.0, the platform on which Firefox 4.0 is likely to be based. These changes include improving and removing XPCOM APIs, switching to standard C++ features, just-in-time compilation with JavaScript 2 (known as the Tamarin project), and tool-time and runtime security checks.
Full Tilt
I'm looking forward to this going gold for just one reason: some of the sites I visit frequently have a particularly in-your-face usage of auto-refresh which pisses me off (i.e. insisting on re-loading just when I'm in the middle of reading a particular paragraph). FF 3.0 (I heard) is supposed to be able to block this...
It's a very lightweight C library which basically enables "on the ground" SQL queries and such. No client/server mechanisms to worry about, no middleware (other than sqlite.dll, and even then you can just take the source and compile it in), and the security of the database is handled by security permissions on the file. That's right, "the" file. A single file contains the schema and data.
It fully supports transactions and is appropriately ACID. For someone who's had his Firefox bookmarks hosed before, this is very welcome for me.
The benefit of this will [hopefully] be fully searchable bookmarks and easy to move the bookmarks around to other computers.
I've used it in the past and it's been great for me. Check it out: http://www.sqlite.org/
More Twoson than Cupertino
SQLite is developed for embedding so it is miniscule (less than 250KiB). It was already included in Firefox 2.0 so it does not add any size to Firefox 3.0. It also allows for some interesting ideas that are being played with for the new release, like site annotation and full text indexing.
Oh, and, it's fully cross-platform public domain, too. The database file is also equally portable. ^^-b
More Twoson than Cupertino
Details.
SQLite by itself, I imagine, won't. How much else they do with it may or may not.
Tagging? Sorting in more ways than alphabetically? Adding notes, relationships/links, sharing bookmarks, grouping, etc. These are off the top of my head, I'll stop here before this post tips over into buzzword land.
All posts resembling the pattern “why don't they fix this problem instead!?” are off the mark, irrelevant, and just plain whiny. Just because some new feature is being added does not mean your pet peeve is going completely ignored. There is more than one person working on this thing, and as remarkable as it may seem, many software development tasks can be done in parallel! Imagine that: doing more than one thing at once on a project!
Why bother.
SQLite has this name because it is... lite! It has a very, very small footprint. By your comment, I can tell you have never used it. I have. It is designed to be small and easy to embed into an app with out requiring a bunch of resources.
General, you are listening to a machine! Do the world a favor and don't act like one.
I love Firefox ( or Iceweasel as it is called on Debian ) but I am running a fairly streamlined xfce install and currently fire.. err... Iceweasel, is using about the same amount of memory as the rest of the system combined. I know there are other browsers, but I really do like Iceweasel, except for the memory footprint. Seeing that I only use a fairly small subset of the features it would be nice to have a light version with just the essentials. I wouldn't suggest axing the features other users love and depend on, but perhaps provide an alternative for those of us who really don't need an advanced database for our 3-4 bookmarks ?
PS: It would also be nice if Firefox didn't highlight "Iceweasel" as a typo.
Craft Beer Programming T-shirts
Where are the times when it was a quick and lightweight browser I loved? Today... Konqueror > FF.
Adding new features is not automatically a bad thing. It does not intrinsically slow down a program or make it cumbersome. Of course, these are two possible side-effects, but are not always certain. With good practices and architecture, new features are a boon, not a bust. Also, think of all the things the computer on your desktop does right now. Would you rather it have the functionality of a machine from a few decades ago because people complained that expanding its usefulness was counter-productive? Let products evolve, let engineers innovate, and let the process for coping with the consequences work.
I cannot believe some of the mundane topics Slashbots will harp on these days. Get over it and try adding some useful dialogue to the stories instead of bitching about things you do not understand or understand only as a result of experience with one particular vendor in Redmond.
Why bother.
Regular ass-bookmarks? Ew.
As a user of multiple computers (work, home, friend's house), I use del.icio.us and the Firefox plug-in for it, and all my bookmarks are stored in a database that I can access from any computer. That's superior to this new "improvement". I think browser developers are really scraping the bottom of the barrel, looking in vain for "the next big thing". I'd rather see work done on useful plug-ins. That work well with existing browsers, than see a new browser that has some improvements of debatable worth that break the old way of doing things entirely.
Nothing to see here. Move along.
This lightweight, fast, simple database eliminates many of the headaches associated with using a full-on SQL installation, and works just as well for most of what most developers and users need.
If you're a Perl geek, like me, you will find this Perl module for seamless SQLite interface to be a power tool. The next time you need to get something working by morning, and it's 2am and the person "in charge of databases" hasn't called back, you'll be thanking it.
technical writing / development
I felt the same before i tried tabs for a while, "I can't see anything wrong with just opening a new window for each new link i want to open separately".
I wouldn't judge it before i try it for a while.
Craft Beer Programming T-shirts
It's also worth noting that native form controls for Mac OS X were enabled yesterday, something Firefox's Mac users have been clamoring for since the 0.x days.
You think a SQL db that only takes up 250K is significant? Geez, what do you have like 4MB of memory? The SQLite DB is already in FF 2. So it will not add anything to FF 3. However, the bookmarks will now just take advantage of SQLite, which they currently do not. This will give you plenty of ways to sort your bookmarks and store more info for each bookmark. For example, in FF 2 you can give a bookmark a keyword. This way you can just type that keyword and go to that URL. I use can type "/." and press enter and get to /. with no clicks. I have a lot of keywords setup for my most used bookmarks. Bookmarks in FF are more than just list of strings. They have a URL, name, keyword and description. One big problem with bookmarks in FF 2 is the inability to sort properly. FF 3 should fix that now that FF 3 will be able to use Order By to sort how the user likes.
General, you are listening to a machine! Do the world a favor and don't act like one.
Have you ever used a Linux music player such as Rythmbox or Amarok? These use SQLite, and do exceptionally well with dealing with a sizable database. Basically, SQLite is what MS Access was *supposed* to be in terms of a portable database file format, but instead it is a very good, successful implementation.
Firefox currently stores bookmarks in an XHTML file so it currently uses an XML parser to load bookmarks, I don't think you'll notice any negative performance hit from SQLite.
Bookmarks were strings 10 years ago, now they are multi-field records, especially things like live RSS bookmarks. The hole point of the "Places" component is to give more state and functionality to bookmarks and history.
I also think the SQLite engine is going to be used for the new client-side persistence framework which does need database capabilities, so it would be there regardless.
http://www.mhall119.com
How do you know it has memory leaks? Seriously, have you done a exhaustive memory profile? Opening a few webpages, closing them, and looking at MemUsage in the task manager before and after is hardly conclusive. Of course, I am assuming you are doing this, but if you have concrete data, please share. I can leave Firefox running for weeks averaging 50+ tabs at all times.
I have never had my profile corrupted with Firefox. I use Firefox on WinXP, OS X and Linux and keep my profile in sync with Google Browser Sync. However, if your profile does get corrupted, the bookmarks file should be fine since SQLite supports standard RDBMS constructs to keep the file from being corrupted. Since SQLite uses a regular file (like Access, but much, much better), you can just copy it to where ever you want as a backup.
General, you are listening to a machine! Do the world a favor and don't act like one.
Firefox users want a browser that displays webpages. A browser that is fast. A browser that doesn't hog the whole computer's resources. A browser that never leak hundreds of megabytes after an hour of usage.
:(
Adding a whole new bookmarks system is nice, but does the user-base need it ? Or at least does it need it more than it needs a stable and fast browser ? I honnestly don't think so, and I'm sad seeing Firefox going farther and farther from it's initial goals as an Open Source project
____
nico
Nico-Live
Just because you don't see the problem doesn't mean that it doesn't exist for anyone else. I regularly see Firefox go above 250 MB of memory, and nothing short of closing it entirely will get that memory back. And despite what you claim, it's not the cache, because according to the documentation for the "browser.cache.memory.capacity" config key, Firefox is only using 18 MB for its cache. According to what you say, I should never see Firefox go over about 75MB, but it's very rare for it to be using less than that unless I've restarted it within the past hour or two.
I don't complain about the problem because honestly, I don't mind closing Firefox out every other day or so to free up the memory, but I do complain about people who deny it's a problem because it doesn't happen to them.
If I don't put anything here, will anyone recognize me anymore?
sqlite is vary resistant to corruption. In fact, the only way you're likely to see it is if Firefox for some reason tries to touch the databases with its own code rather than sqlite. Further, a simple command line query will dump everything.
Even the phrase "launching a SQL database" indicates you're thinking of SQLite the wrong way.
A better way of thinking of it is this: Mozilla developers are removing thousands of lines of code with an unknown number of bugs for a simple data storage mechanism used in thousands of software products, including embedded systems. SQLite works. In fact, it works astonishingly well. We're gradually using it to replace most data storage in our own products.
The thing I don't like about this change is that bookmarks.html is the ideal homepage. It's a web page that's stored locally, has no ads or extra junk, and has a list of links to the things that you personally want to get to regularly, updated automatically. The biggest thing I missed when I used Konqueror for a while was that it couldn't render its bookmark list in the browser window. Of course, it should be easy enough to have an extension generate a nice file from the bookmark database every time it changes.
I hope it makes a small leap backwards. Ever since a couple of weeks before fully upgrading to Ubuntu 7.04, when I run Evolution 2.10.1 and Firefox 2.0.0.3, after a few hours (or maybe a lot of GUI and HTTP events), some combo memory leak fills my 512MB RAM and starts crazily swapping. I have to kill both apps and restart them, recovering their sessions.
Even if they just had watchdogs that could restart and recover session state, they'd be more useable.
--
make install -not war
Where's all the hearty IE bashing that I've come to know and love around here?
Firefox is going to rapidly transform from a primarily agrarian economy dominated by peasant farmers into a modern, industrialized communist browser?
Slightly disreputable, albeit gregarious
Reuters uses javascript to refresh and refresh blocker only nukes the META tag type of refreshing. The combination of refresh blocker and noscript does the trick here.
I was ready to correct you on the difference between open source and public domain, but upon further reading, you're right: it's completely public domain. They'll sell you a license if you really must have one for some reason, but it's available for downloading and embedding for any use you want to put it to. Kudos, dev team. That's pretty cool of you.
Dewey, what part of this looks like authorities should be involved?
One thing that bugs me about software in general, and open-source in particular, is this constant need for developers to change things just for the sake of changing them. "This way is better!" they'll say, but really, it isn't. When is "good enough" just plain good enough? When I upgrade to the next release of Ubuntu, for example, I don't want to be forced to re-learn all the software I knew and develop new habits just because someone decided it would be cooler if it worked differently.
Case in point: GAIM/Pidgin. When I first switched from Windows to Linux on my desktop I switched from the "official" IM clients (ICQ and Yahoo) to GAIM. But I had to retrain myself to use control-enter to send an IM, rather than tab-space (tab to move my focus from the text-entry box to the "send" button, space to "click" the button without using the mouse). This key combination worked in all the official clients, but GAIM couldn't be configured to use it. I liked being able to embed newlines in my IM's using just the enter key, so I didn't want that to be my "send" key. So I retrained myself. Fine; I'm willing to make compromises.
But now the new GAIM/Pidgin comes along and, oh, hey, guess what? You can't configure it to use control-enter to send any more! No more embedding newlines with a simple enter key press! Nope, that's not the "right" way to do it! And remember that send button? The one that was so handy every time you just had to go to the mouse to teach the built-in spell-checker all those words or acronyms it didn't know? Well, that's gone, too! It, too, was the "wrong" way to do things. No, there's only one right way, and that way is to send using the bare enter key, embed newlines with control-enter, and never, ever click a "send" button. So now I have to retrain myself yet again. Thanks, guys.
So apparently that's what's happening with Firefox now, too. The concept of history and bookmarks, which is perfectly fine and has been since NCSA Mosaic, is now uncool. No, it needs to be replaced with something else. And if I don't like it I need to suck it up and just take the time to completely revise my work habits! 'Cause some basement-dwelling, self-appointed God of Computing said so, I guess.
I really don't mind change. I welcome it! But I want to be able to change on my terms, not someone else's. I took to tabbed browsing like a fish to water, if you'll pardon the cliche. But nobody forced it down my throat. And I'm getting pretty goddamned sick of developers forcing these things down our throats just 'cause it's the "next big thing." I'm a geek, too, and I love playing with computers just for the hell of it. But I also use computers as tools to accomplish other things, and I don't need my software getting in my goddamned way.
Has firefox completely failed to meet it's original goal if I am contemplating a bribe to some developer friends to compile a stripped down version of firefox so it doesn't use so many damned system resources?
Left running for 24 hours, with google homepage and gmail up, I am looking at about 1GB of memory used.
This just does not seem reasonable to me, but I'm a minimalist.
Pretty Pictures!
What a fool believes, he sees, no wise man has the power to reason away.
kind of like the way gmail tags e-mails? You can have folders that are tags, and any bookmark that matches that tag will show up. when you create a bookmark, you can choose from a tree of all the tags you have. You organize tags into trees so that they display well from a menu. There probably already is a plug-in for that (right?), probably should just fold that into the main code...
There are many easy to use tools for working with SQLite files.
A single file contains the schema and data.
Personally I wouldn't be too worried about the memory footprint, but I guess this means that they're dropping the text based configuration files in favour of a binary format? - If that's the case, I sincerely hope they'll reconsider, from The Art of Unix Programming:
When you feel the urge to design a complex binary file format, or a complex binary application protocol, it is generally wise to lie down until the feeling passes.
I had hoped that the mess that is the Windows Registry had taught people to avoid odd binary formats if at all possible...
Or another long-standing bug: Firefox's apparent inability to print layered transparent PNGs, such as the type used for the route-line overlay on Google Maps.
Seriously, go try it. At least on OS X, you don't even need to print, you can just hit the "Preview" button from the Print dialog, when looking at a Google Maps "print view," and it'll show you the route-line-less (and therefore pretty damn useless) map that it's about to print. It does the same thing on any other page that uses overlaid transparent graphics in layers.
It's well known and extremely annoying, but apparently the FF devs don't care about printing bugs?
It's unfortunate, because it just makes FF seem very much 'unfinished' when, in order to print a map from one of the more popular sites on the Internet, you have to use an alternate browser. The same thing works just fine in Safari on Mac OS X, or IE on Windows.
They need to stop adding new features and fix some of the bugs that have been around for months or years.
"Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
Congratulations, I've never seen the word 'asshole' captured into a single post so succinctly!
what you are missing is
1 the sqllite engine is already present
2 they are yanking out the older crusty Mork/Xml/Vhatever code
3 they are using this to simplify things and enable cool things like throwing your bookmarks online (obsoleting the 12 bazillion bookmark sync extensions)
Any person using FTFY or editing my postings agrees to a US$50.00 charge
Firefox 3 includes a cycle collector to handle these memory leaks in extensions, as well as some remaining memory leaks in Firefox itself.
What a fool believes, he sees, no wise man has the power to reason away.
Well I don't know about memory leaks but the Downloads dialog is a fucking disgrace to efficiency. Download 50 or so things and the entire programs slows very noticeably.
I remember a few years back when I first upgraded to a version of Firefox/Firebird/Phoenix (forget what it was called at the time) which used the Downloads dialog and instantly the whole thing slowed to a crawl. Why? Because I'd never cleared my downloads cache before and the brand new Downloads dialog had about 2000+ entries in it. I think simply opening the dialog took a couple of minutes and the Clean Up took about five minutes. All for what is essentially just a listbox! God knows what would happen if they ever tried to make the Downloads dialog useful by doing crazy things like telling you when a download failed to actually download anything.
OK, rant over. I like Firefox for the most part but that has really pissed me off for a long time. Glad I finally got that off my chest.
Spelling mistakes, grammatical errors, and stupid comments are intentional.
It's quite informative that the Mozilla site displays the results of a micro benchmark to show their competitors in a bad light after their history of memory issues. Its a worthless comparrison and anyone with profiling experience can tell you how easy it is to produce skewed micro benchmarks. At this stage everyone is aware there have been memory issues with Firefox and one silly micro benchmark does nothing to change this.
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
What I like about sqlite is that it's public domain (not even BSD licensed or something). But still people call the developer and ask for a license. He assures them that no, they don't need a license and it's all public domain. Usually the reply is something along the lines of "yeah sure, but what does a license cost". So he sells them a license :-)
8 of 13 people found this answer helpful. Did you?
You can also use "%s" in conjunction with keywords which makes them even better.
bookmark keywords
I use this all the time. For example "flix clerks" will do a netflix query for me. I use this even with google and have the search engine box disabled in the UI. Because the cursor location defaults to the url area when opening a new tab/window, I find this easier (you don't get the history of search terms like with the search box though, I'm not sure that's always a bad thing).
I see a word I don't know? double-click word, copy, cntl-t, d space, paste, enter - bam, it's very quick and I only use the mouse to select the word.
I can't remember.
What a fool believes, he sees, no wise man has the power to reason away.
No, you can't open it in your text editor...
Ah, emacs. http://www.emacswiki.org/cgi-bin/wiki/sql.el
Okay, maybe that's not quite what you meant, but it's close.
Places still writes the bookmark.html file.
It just doesn't read-it anymore (but you can tell it to import it back if you like)
BTW, sqlite stores everything in one file so nothing is really changed
if you wan't to save, you just have to copy one file
if you wan't to move/copy you profile, it's just a file to copy
it will be much more robust, powerfull and allow new things to be done.
also the sqllite code is stable and field tested by hundred of projects so it's a very good idea to reuse it instead of using some mozilla only solution.
"know of three or four projects clinging to SQLite despite various problems it causes, some of which are deemed features."
I would like to hear what projects these are. I have been considering SQLite for a project and would like to know any possible problems.
EA David Gardner -"... but the consumers have proven that actually what they want is fun."
No, that remark is just plain stupid. Stupid as in 'being lacking in information, knowledge or the ability to understand facts'.
:)
:)
But, you probably meant to say "Using a database for bookmarks would require me to learn something trivial about a different (and more functional) way of storing information so that I can continue to play with my toys the (arcane) way I am used to". Or something like that.
Seriously, I hear you. I've sometimes been glad that the Bookmarks were in text files. I could do 'stuff' to them. But, it sounds like there are still going to be ways to get to the information. Maybe slightly more involved than popping open vi or notepad, but very doable. And a small price to pay for functionality, performance, features, etc.
Try to not be a luddite, eh?
In Nature, stupidity is a capital offense. In human society, too many get off with less than a warning.
My histories tend to not be more than about ten pages or so per tab, and I frequently close out tabs as I finish with them, even if they were only used for one story. What I will do often on a site is Ctrl-click on multiple stories on a page and then read them in sequence, closing out each story as I finish with it. It's my belief that closing that page should result in all memory associated with that tab being freed, but when testing that by watching memory use as I close the tabs, there is little or no change in the overall memory usage, and that strikes me as something that should be addressed.
There may be a fix (I think I know what you mean with the in-memory caching), but I'm not going to do that because when in forums, I will often jump back several pages, and I don't need or want them reloading just going back or forward. Besides, if I have to look up a method to do it, then it's not something that I'm likely to want to be sending my parents through, and that's an important point, especially since they have much older, slower systems than do I.
You can never go home again... but I guess you can shop there.
Ah, memory leaks when gmail is open. Now maybe we can discuss an actual, confirmed memory leak for a change. Of the six reported leaks with gmail, four are fixed in Firefox 2.0.0.3 and two seem to be Firefox 3 only. If you can still reproduce a memory leak with gmail up in Firefox 2.0.0.3, you should file a bug report to make sure the problem gets addressed. A browser using 1 GB of memory after a day of use certainly isn't reasonable. It sounds like a problem that should be fixed ASAP. Filing the bug report, including a set of steps to reproduce the problem, is the first step to getting it fixed.
What a fool believes, he sees, no wise man has the power to reason away.
I guess you don't know anything about an embedded DB? SQLite makes "sacrafices" for the sake of low footprint/performance. For example, SQLite, treats all fields the same. Where a normal RDBMS would do checks to insure data type, SQLite, skips those things for speed/footprint.
Before you "cry wolf" over some technology being put into Firefox, why don't you read up on it? Hell, SQLite has been around for a long time. The feature-set is well known. Oh, and if you are using Firefox 2.x, well, guess what, SQLite, is a part of Firefox 2.x.
And you whole "point" about using a relational DB to store "flat data" is just silly. Firefox keeps a lot of info about a bookmark. That has to be stored somewhere.
Since SQLite is already a part of Firefox 2.x and since there have been no problems with the SQLite in Firefox 2.x, it seems safe to say that Firefox 3.x should keep SQLite and actually take advantage of the great SQL support.
I would love to be able to sort my Firefox bookmarks with no hassle. However, that is not currently the case.
Bitching about some technology that you do not understand is pretty chee-see IMO.
With that said
General, you are listening to a machine! Do the world a favor and don't act like one.
Regardless of how "light" this is, it really sounds like feature creep to me.
Regardless of how you feel, sqlite ( or BDB) will be faster than trying to parse text files or xml files for the amount of config settings in Firefox.
It's a good idea.
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
Well, since firefox has the "Undo Close Tab" feature, I'm pretty sure that it doesn't release all the memory when you close a tab. I'm not sure when it does release the memory, or if it's possible to disable undo close tab so that memory will be cleared when closing a tab.
Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
When did I call it a memory leak? The only time that I mentioned a leak in this thread was when I was referring to another poster's mention of a leak in NoScript (which someone else said had been fixed).
I referred here to the way that Firefox handles memory, which may include leaks but also may include unnecessarily holding onto memory long after it's practically needed. There's little reason to hold onto the last ten tabs closed per window, plus their entire contents. Even if that's seen as a necessary feature, at that point it's best not to hold onto cached information, and it should simply be a list of links, which even with expanded information shouldn't hold cost more than a megabyte. Disabling holding onto that memory should not require an extension or an about:config change; I should be able to find it in the Options dialog box, which AFAICT does not have any such options.
I have no problem with a browser holding onto memory in the currently open tabs. That's behavior I expect in all browsers to a certain extent.
You can never go home again... but I guess you can shop there.