Incorporating Machine Learning into Firefox 2.0?
blakeross asks: "I will be doing research this summer at Stanford with Professor Andrew Ng about how we can incorporate machine learning into Firefox. As we work to finish up Firefox 1.0, we're also seeking ideas that will make Firefox 2.0 blow every other browser out of the water. People who come up with the best 3-5 ideas that involve the use of machine learning will win Gmail accounts, and if we implement your idea you'll be acknowledged in both our paper and in Firefox credits. Your idea will also be appreciated by the millions of people who use Firefox. We'll also entertain Thunderbird proposals. See my weblog post for more details; I'll read all comments posted in response to this story or to my weblog."
...a browser that doesn't have machine learning in it. Seriously, Firefox is slow enough for me. What on earth would you possibly need "machine learning" for in a web page browser? I'd immediately switch back to Opera (I don't use it simply because input forms lag during page-loading, some sort of multithreading issue).
That kind of automatic crap is the same sort of stuff people would bitch about if Microsoft put it into IE. I mean, do you really want your browser actually learning anything about you? Imagine the havoc it could wreak, especially if trojans started fucking around with it.
Just give me the leanest, meanest browser out there. That's all Firefox 2.0 needs to be. Not a damn learning machine. Sheesh.
>> we're also seeking ideas that will make Firefox
>> 2.0 blow every other browser out of the water.
>The competition: Internet Explorer, Netscape, Lynx,
>and Safari.
>I'd say it's already pretty much covered...
I would have to agree that FireFox is pretty much the best browser today. But the performance on older hardware isn't much better than that of a new build of Mozilla. Also, the move to GTK2 and feature-creep are slowing it down futher.
Safari on the other hand is very basic and very fast. Try it on a 300 MHz G3 to see what I mean. Apple did a great job of making a basic browser out of Konq/KHTML. I would **LOVE** to see a similar app for X11 (so I can run it on Linux, Solaris, and IRIX). Konq Embedded is close, but it's lacking some important features and isn't as fast as it could be.
Long live FireFox--but keep it slim!
Does anyone else get the feeling that they are adding this just for the sake of it or so they can say they have it? I mean when you have the technology before any useful uses for it then clearly there is something wrong.
I think that creating a good browser though gimmicks is a poor long term strategy and seriously doubt this route will turn up anything useful. Ideas should be so simple and obvious and inspire us to say 'who dont we have that already?!' not something we search for!
Whoa! Good call! That's an awesome, basic feature that could easily be added to FireFox without bogging it down.
(So many of the other suggestions so far would make FireFox slow to a crawl. Lets keep it lean and mean, please!)
Isn't this going about things backwards a little?
To me this sounds like a clear case of "technology X is really cool. Let's find some reason to include it in product Y." Which often means that product Y becomes much more complicated than it needs to be.
How about first looking for a list of browser "needs" so to speak. What would make the best browser? What current deficiencies to browsers have? And so on. Then, if you really want to, try to figure out if any of these problems could be solved with machine learning.
Don't just inject a technology into a product because it's cool. Make sure there's a real need for it.
Who said Freedom was Fair?
Make it an extension only!
Seriously, it would be a really neat feature if some of the suggestions posted here were realized... but this whole idea screams of bloat bloat bloat. What makes FireFox so appealing for some (including me) is it's compactness and lack of bells and whistles. The FireFox project FAQ echos these sentiments: It's small, fast, simplified, nothing other than what you need. "Just a browser"
Don't let feature creep ruin it!
=Smidge=
I hate it when anything software tries to "predict". I don't want it. Please make sure it has an OFF button. Seriously. Thank you.
Do NOT bloat the browser.
Want to add crap? PLUGINS!
Hate me!
...Is to make it very easy to turn whatever machine learning features incorperated into 2.0 off totally, with minimum fuss and searching.
It is my firm belief that then #1 rule of UI design is that the program should should look and act consistant. And the number two rule is that the program should never assume anything, or perform any action without the user explicitly telling it to (barring sane default behaviors that will fit > 85% of the users). Every ML feature I have ever seen breaks #1 and #2 with reckless abandon by changing something to make it more 'friendly', which in turns makes it less friendly because I don't know _exactly_ what to expect from my program.
Looking at the comments on that weblog, I can not find a single idea that does not either violate my top two rules, or would otherwise annoy me to no end. If they have to add that to Firefox then please, let me turn that crap off in three mouse clicks or less.
This is the only suggestion so far that really seems worth making the browser larger (and hence, slower).
You have enemies? Good. That means you've stood up for something, sometime in your life. --Winston Churchill
Here's an example:
Bayesian filtering
Thunderbird wouldn't be the same without it. Does it drag your system to a halt? Nope.
I'd be awfully surprised if anything real CPU intensive would ever be installed into Firefox by default. Give these guys some credit.
Ironically, the word ironically is often used incorrectly.
Adding what passes for "machine learning" to a user interface usually results in something that does the right thing some of the time, the wrong thing some of the time, and you can't figure out why.
Bayesian spam filtering is becoming like that. At first it worked, but it's breaking down under the rising percentage spam.
Have it learn where I am saving which files and offer up that directory as default. If I am saving all pictures into one directory and all movies into another it should know that.
I want virtual folders in my mail. These are "live" queries like "all mail today" or "all mail marked urgent". As I mark metadate on the email they will show up in the proper virtual folder.
Full text search of all email.
Choice of multiple home pages. It learns when I want my home pageX and homepage Y.
Roaming bookmarks!!!. While I am at it roaming everything including profiles and preferences. The ability to carry my email filters from location to location would be awsome.
A network install where the administrator can set global prefs and install global plugins. I also want the option to override the users preferences and lock them out of certain setting.
It should learn to adjust my font size (and other settings?) based on site. If a web site always puts tiny print then I want the fonts larger only for that site. Perhaps have it learn "ugly" sites and put my default styles instead.
Auto proxy. I want to feed a list of proxy servers and have it switch randomly (even from one site to another). Think of this as super privacy.
Ability to arbitrarily morph the the incoming text stream using regexp or javascript. This would allow me to roll my own weird crap.
Make XUL 50 times better. Make it so it's trivial to use XUL to make database front ends. Give me a great GUI builder for it.
I have lots more ideas but that's enough for now.
evil is as evil does
Extension. It's why that framework exists.
Don't ask me if I want to remember a username/password combo until AFTER the login has been successful.
Spoon not. Fork, or fork not. There is no spoon.
Firefox needs an option to make the browser detect, and work around, user-interface abnormalities in poorly-designed websites.
It's fairly well-established that the best user interfaces are the ones where there is no discrepancy between what the user thinks is going to happen, and what actually happens.
When a user single-clicks a link, the link should open in the current window. Always. Any other behaviour (such as opening a new window) causes the user to be frustrated (or at least slowed down).
Similarly, when the user middle-clicks a link (or shift-clicks or whatever), the link should always open in a new window/tab. No oddities like "javascript:gotosite()" or "http://path/to/exact-same-page.html#" should happen.
Unfortunately, there are a lot of misguided website authors that think they're being helpful by doing non-standard things in an attempt to anticipate users' needs. This means that you'd need some type of machine-learning in order to work around these problems at the browser level.
I imagine this would be done in a way similar to how SpamAssassin works.
I frequently adjust different aspects of my browser for different sites. Adjusting the window size/position, bump up font size by 10%, allow/block images, whatever.
I'd like a system that remembers those adjustments, and not only reuses them when I return to the same site, but applies them again where appropriate. 'Where appropriate' is where machine learning comes in.
plus-good, double-plus-good
thats in reference to modifying currently executing code in tight loops. that used to be a common way to avoid branching back in the day.. nowadays if you have to use a conditional jump in a tight loop its usually not faster to try and work around it.
lately the term "self modifying code" is commonly attributed to dynamic code generation (it does sound cooler), but dynamic code generation is still the best way to accomplish many things and nothing intel says about "self modifying code" applies to dynamic code generation techniques.
anyways, what your parent is speaking of is neither of these things. loading only the code that is required is a technique known as "late binding" and is a great way to modularize an otherwise bloated application.. I think firefox is already on this path with its extensions. hopefully they remove more extension-like features from the main app and implement those features in extensions, perhaps ones that are installed by default.
bite my glorious golden ass.
That would be kind of useful, if I wasn't currently drifting away from browser-handled bookmarks and instead using a customized start page using CSS-generated menus, in which you can fit anything from links to the Google search <form>.
hmm, that would be a nice feature - a start page generated from your bookmark folders, utilizing meta-bookmarks (which are in fact HTML snippets). Add customizable CSS and a name like about:start and I'd be sold.
And if you want to cram a learning algorithm into that, make the code that generates the start page sort the folders and bookmarks by how often you use them.
USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)