Firefox 3 Plans and IE8 Speculation 274
ReadWriteWeb writes "Information about the next versions of Firefox and Internet Explorer suggest that the two biggest browsers are heading in different directions. Mozilla has published a wiki page detailing its plans for the next version of Firefox, codenamed 'Gran Paradiso'. Among the mandatory requirements listed for FF3 are improving the add-on experience, providing an extensible bookmarks back-end platform, adding more support for web services "to act as content handlers" — all of which show that Firefox wants to be an independent information broker rather than a simple HTML renderer in its next version. Also in the works is Microsoft's IE8. According to ActiveWin.com, a Microsoft official at CES told them that work has already begun for IE 8 and it may be released as a final product 'within 18-24 months'. Looking ahead, it's obvious that IE will continue to hook into the advanced functionality that Vista offers."
features (Score:2, Insightful)
Re:What's up with the code names, anyway? (Score:4, Insightful)
Don't confuse news from third-party sources with news from the developers. The people that wrote this article are not on the team. Mozilla simply doesn't keep their development plans a secret. (They created a publicly accessible wiki.)
Internet Explorer 8 (Score:5, Insightful)
Does that include the ability to only run on Vista?
Re:features (Score:5, Insightful)
Re:That old saying about SMPT (Score:1, Insightful)
Does IE included a email client? Or does an IE client use the IE rendering component?
extensible bookmarks back-end platform ? (Score:2, Insightful)
Can somebody translate this to English?
Re:What's up with the code names, anyway? (Score:3, Insightful)
The reason is because code names are cool and they want to call it a really cool code name.
KFG
Re:features (Score:4, Insightful)
Re:What's up with the code names, anyway? (Score:4, Insightful)
It also makes it clear that it's not for public consumption. If you called it "Firefox 3 Alpha 1" you'd have tons of Firefox fanboys rushing to download the "latest" version of their favorite browser. Firefox versions that don't carry the "Firefox" name aren't ready for prime time; labeling them differently sends that message.
Re:features (Score:5, Insightful)
It's hard to relate to your statement since you provided no concrete arguments or examples. In fact, it sounds as if you were implying that the sheer fact that there's a new release and therefore new stuff coming up means that the application is getting bloated. Perhaps they should halt the development, so not to introduce more bloat, huh?
Re:Mozilla now doing embrace-extend? (Score:3, Insightful)
If Firefox starts supporting, say, hCard and hCalendar by making it possible to send the data to the Thunderbird address book or the calendar app of your choice, there's nothing to stop Opera, Apple, or indeed Microsoft from doing the same thing. Other browser developers don't have to reverse-engineer the features, or sign an NDA, or pay for a patent license.
Embrace is good. Extend is OK too, when done in a way that makes the third step, "Extinguish," difficult to do.
Bah. (Score:2, Insightful)
On a similar vein (Score:5, Insightful)
All this seems to point to vertical desktop space being overutilized and horizontal desktop space being underutilized. So why force tabs into vertical space? Give me the option to put them on the side(s).
Re:Oh boy, here we go. (Score:2, Insightful)
Hmm sounds like a spot-on description of the 'install procedure' of applications on OS X
Re:That old saying about SMPT (Score:2, Insightful)
What Bloat? (Score:3, Insightful)
Other than that it's improving the functionality and usability of things that already exist, or building a simple framework that will let other systems (extensions or webservices) provide additional features like microformats and identity management.
They are not bundling a mail client, chat client, html editor, voip phone, or anything else, so stop implying that it's becomnig just like Mozilla.
Re:What Bloat? (Score:3, Insightful)
You are confusing a broker with a client (and webservices with internet protocols, but thats for another post). Just like a stock broker doesn't consume the stocks he works with, neither will Firefox consume the data or services. It will just provide a way for content on a web page to be passed directly to a program or service you want to consume that data. Look at Firefox's RSS options, it has a very rudimentary RSS viewer, and has options to add the feed to an external program or web services from google or yahoo. Essentially Firefox will act as a data router, passing data between the web and applications of your choosing, without needing to operate on that data. Since there is already something similar in the codebase (the RSS example), this should cause very little bloat.
Re:features (Score:3, Insightful)
Large caches can remain in RAM and the only reason not to keep them there would be if you wanted to ensure persistence across sessions or you were running out of virtual address space. Otherwise the operating system should really be doing it's job in swapping out unused portions of memory to disk on your behalf.
That's not to say that a program can't take some consideration in its allocation strategies to maximize efficiency. For example if a program was just blindly calling new or malloc (assuming C/C++ here, given we're talking web browsers that's basically the case) then presumably those allocators would be doing their best to not fragment memory across all allocations. But for a web browser you really want to not fragment memory across significant user-accessed boundaries.
One simply idea is you have all data structures related to a web page to be allocated in 1 continious chunk of memory. That memory would be mmap/mmap2/VirtualAlloc/brk/sbrk's depending on your poison of choice and then handed out in suballocations for various things related to the page. Because the memory is contigiously allocated the OS, after detecting those pages haven't been used in a while, would swap that out to disk.
In the end you get exactly what you want: your large cache is on disk. But it's only on disk if you're using your memory for something else, otherwise it's in RAM. Best of all the developer didn't have to write code that: dealt with how much memory there was on the system, and how much they should keep on disk, write code to write it out to disk, read it back from disk, deal with navigating to a page which might be on disk so you have to check, first reading back in it's date/time to see if you actually should refresh the page, and if so then go and read back to the page, and have algorithms to reconstitute all your data structures, and then deal with the inevitable feature requests to enable cross-session caching, and fixing all the bugs that come out of this featutre, and finally keeping all these pieces in sync as you evolve the program.
Instead all that needs to be written is a dumb memory allocator (really, it's just incrementing a pointer and returning the previous value - allocate a new set of blocks if you run out of space) that has easy life time management rules (page going away? just free all the blocks). Even better the dumb allocator provides assurances that you don't leak memory. When a page is dead it's allocator is destroyed and all memory associated with it is freed. Forgot to free some suballocation along the way? No problem, the allocator freed it up anyway. Now, maybe this isn't how web browsers are working these days. But one would hope their creators are masters of the art and are applying techniques like these to leverage all the great facilities of modern OSes: in this case paging.