How to Build a Better Browser
TuringTest writes "Interface designer and IE ex-developer Scott Berkun
writes an essay on basic principles of web browser design, moved by the recent presence of Firefox and Opera in the headlines. Gives plenty of design constraints and guidelines, some insightful, some debatable. Personally some features that I'd like to see in my browser include colaborative filtering (a.k.a. del.icio.us integration), a unified tool for history+bookmarks in a single list (filtered by keyword tags), and automatic generation of keywords for the bookmarked pages (something that Open Text Summarizer can do)."
You mean like adhering to the W3C standards? You mean like not having your own proprietary code floating about?
Start with those two issues then get back to me.
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
While I'm actually relatively indifferent if someone's site uses Javascript or DHTML that Firefox doesn't support, it is aggravating to have a single, badly-coded web page take out that browser window and everything else I was tabbing to at that moment, especially if I hadn't bookmarked what I was looking at. In this sense, Firefox has unwittingly upped the ante on application crashes, since you're more likely to have more pages browsed to at any given moment than with MSIE.
Don't get me wrong: I love Firefox and I have no plans to switch back to MSIE. But I would definitely suggest one of Firefox's greatest weaknesses would be the stability issue. At this point, anything to prevent the browser from utterly disappearing when it hits a malformed (or whatever) page would be a welcome addition to the code.
Plugins are the bain of the web. The web is about delivering content to the browser and enabling the user to view the content as desired. Plugins, are the realm of over zealous 'web designers' and marketing types who cloud content with branding dogma.
UNIX/Linux Consulting
I'd like to see a searchable history feature. I may hit 500 web pages in a day, and trying to remember on what page I read something can be a maddening experience. It would be great to be able to search the cache.
Let's get our priorities straight here! I NEED a browser that will cover the tracks of my pornsurfing with just the press off a button. Just a big red panic button that will wipe out all cookies, history, pic cache related to smut. What browser developer can deliver this!? I must know!
bookmarks, if they were searchable i think that would be a big improvement. i collect so many they get hard to manage.
Personally what I'd like to see is something with no bloat. I don't need mouse gestures, tabbed windows, themes, skins, bookmarks, etc. What I need is a browser that displays images quickly, doesn't crash, isn't a haven for malware, looks identical to how IE renders pages, isn't by Microsoft or the Firefox team (as both browsers suck IMHO), and still lets me get what I need done 110% of the time.
I also want it to take up a miniscule amount of RAM. Not everyone has more than 256MB and we shouldn't be expected to.
It's a funny thing: any web programmer sees any web browser as a programming platform, not an app. But at the same time the rest of the planet sees the web browser, and most web sites, as just another kind of application. The conflict makes browser design tough: it's impossible to invest in the end-user experience and the developer experience to everyone's satisfaction (a burden consumer OS developers have). Hell, even if you were only trying to do one of those two things, you still wouldn't be able to do it to everyone's satisfaction.
This dichotomy exists, but does it necessarily mean that you cannot incorporate the two? "Programming Features" can be made transparent to the user -- only web programmers need to be familiar with them. The user doesn't care what browser or document properties you can access... all they want to see is content. So let's say you had a really good developer engine in the background - the user doesn't need to see that.
Furthermore in today's web-browsing experience you cannot divorce one from the other. A web browser HAS to be a programming platform if it needs to support things like DHTML or run Javascript. Saying that it's difficult to do, is no excuse.
Or maybe I'm reading this wrong.
Vivin Suresh Paliath
http://vivin.net
I like
Fun aside, that's a real problem with current interface designs. Online bookmark sites manage this by adding a "private" checkbox to entries, but I would like to see a more fine-grained publishing classification (i.e. personal, for friends, for work, for the world).
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
Kindly allow me to run more than one copy of the browser, please!
I have three screens, each with its own root window. Mozilla will only allow me to run one copy, and is only smart enough to attach to one root window. Thus I can only have browser windows on one screen at a time.
I think you misunderstand the author when he calls security and stability "red herrings". We're speaking theoretically on web browser design - the author basically claims that if security and stability ever become major marketing points, then the whole market has failed to meet minimal standards. "security and stability" are basically a given once you are talking about UI design.
The fact that Firefox can gain ground on IE based on security (spyware, exploits) shows that IE isn't meeting basic software quality control. The fact that Gecko still has rendering issue is the same. The fact that both MS and Mozilla.org think of these things as advocacy issues (Make spyware illegal! Stomp out IE specific pages!) only ignores the problem.
Firefox as far as I have seen and seen from others using is rock solid if you do a couple of things:
- If you used any pre-release version, uninstall the previous version. Key/value pair settings can and do change causing erronious behavior. This can get goofy on Linux but you can minimize the goofiness by hanging onto backups of the ".mozilla" directory and carefully pushing in stuff you need. Of course my preference is to export the booksmarks and start over.
- Plug-ins are "the heel" for any browers including Firefox. Limit the usage of plug-ins to a bare minimum and definately don't install plug-ings you feel iffy about. If the plug-in goes south then it often has an effect on the framework. As a tangent to the first point, using pre-release FF version of a plug-in is also a receipe for disaster.
Purely anectdotal, FF seems rock solid. You can also make IE extra flakey by installing all sorts of weird things as well (the last time IE crashed it came from the Google toolbar!). At this point it seems that both products are rock solid frameworks where most problems come in from the outside.
That, my friend, is called an (X/D)HTML renderer, not a browser.
A web browser, by definition, helps you browse web sites, not only view HTML pages.
Tabbed browsing, mouse gestures, themes and skins, etc., just make the whole browsing experience a lot more pleasurable.
Better solution:
:(
Browser uses standard HTML/xhtml/xml format for its bookmarks.
Browser is capable of using this file from anywhere, including through http, or from a local file.
Bookmark management is still done through the browser interface, but the location of the bookmarks becomes browser independant.
For the http version, you would want a simple server side script to handle through http requests all the bookmark management (edit/add/delete/move around etc). There is no reason for this to be a complex script; you could put it on your own site, or have it on a central site, it should be your choice. You can even SSL and/or password protect your bookmarks, should you need to.
This simple system could even (gosh!) be cross browser and cross platform (its only an xml file, all it needs is a standard format, developed independant of each browser and then used by some or all)
This would give you bookmarks that could be accessed from multiple machines no problem.
For those who don't want http bookmarks, its just an xml file; put it on a floppy disk, USB flash drive or even your bluetooth mobile phone and take your bookmarks with you when you travel.
By default the browser just uses a local file in its app directory, so no visible change for those who _don't_ want common bookmarks.
All common sense.
All great for the end user.
Will never get implemented by ANY browser ever, I'll bet you
Did you read the article? You are in the minority. You would be the person who writes their own browser for their own needs, and it would be unsuitable for almost everybody else on the planet.
You are looking for a custom-fit in an off-the-shelf computer world. It is similar to demanding that your girlfriend be a rich, nymphomaniac supermodel who models lingerie in Paris and Milan during the week, but plays Doom3 and mods cases on the weekend. Doesn't exist.
Look at your list: No tabs. This is considered by most to be basic functionality. No bookmarks! Come one here. Nobody is forcing you to use them, but bookmark code might take up 10K, if that. I would hardly consider bookmarks to be consideree bloat. The only solution for you is to become your own tailor. You will need to get down'n'dirty with a compiler and write your own (or hack something that already exists, but you don't like firefox, so I am assuming that anything Mozilla is out also).
I can agree with you on themes, skins, and mouse gestures though.
"-1 Troll" is the apparently the same as "-1 I disagree with you."
I'm thinking what the GP means is that it'd be useful to search inside the cache, ie look for all recent documents still in the cache that contain the words "Linux drivers femdom spanking pictures", so you can get to that USB fetish page you were looking at but can't remember the URL of (to use a bizarre example, seriously though you can probably think of something useful.)
It'd be useful if this tool works when the browser has crashed too (Firefox and other Netscape successors have a habit of invalidating the cache after a crash. I understand why, but while I don't want potentially corrupted cache entries coming up in place of URLs I'm visiting, the usefulness of a search is theoretically not diminished by such a situation.)
You are not alone. This is not normal. None of this is normal.
Imagine that everyone got a free TeeVee with every home/apartment. Now imagine that anyone with a bit of time could create a TeeVee station that worked with the free TeeVee. The people who didn't know what they were doing would make their stations compatible with the free TeeVee because they have it, and so does everyone they know.
Then their boss at work says, "make a TeeVee station to display information about our department." Because they all have the free TeeVee at work, that's what they use to view their station.
Finally, some upstarts (long-haired, unwashed, obviously communist, punks) say, "Hey, we have a TeeVee that is also free, but it is UHF/VHF compliant, and you won't get all those annoying commercials and stuff! Oh and people won't break into your home if you watch certain stations!
The masses look at these upstarts with wonder and bewilderment. Just what is this UHF/VHF that they're talking about? All they want to do is watch TeeVee, and what they have works fine. Oh sure, every once in a while, Cousin Midge's son (who is a TeeVee wiz) comes by and complains that there is always a nest of mice or other creatures in the living room ("They get in via the TeeVee," he says), but he always cleans them out and you give him a fivver for his troubles. Sometimes the TeeVee doesn't work, but if you wack it on the side enough times, it usually straightens out, but it seems...slow lately.
Yeah, right.
Thanks for clearing that up. How could we all have been so stupid as to think that we know what we need? In the future, anytime I feel the urge to form my own opinion of my needs, I'll be sure to consult you straight away.
isn't a haven for malware, looks identical to how IE renders pages,
Right away, I can tell you that's not going to happen. IE's rendering engine is buggy, quirky, broken. Furthermore, the bugs, quirks, and breaks are often specific to each version of IE (5.0, 5.5, 0.0, 6.01, etc)
Therefore you're not going to get anything that renders "identical to IE" unless you embed IE's rendering engine itself. Which is obviously do-able, but there goes your "isn't a haven for malware" requirement. Either you live with IE's fucked-up "unique" rendering and malware facilitation, or you don't. You don't get to pick and choose. Sorry, that's the way IE is.
The only possible solution I see is to have some kind of constantly-updated web proxy that scans all web traffic and removes any known exploits or malware from the HTTP traffic before it reaches IE. Then perhaps you could have your broken IE rendering engine with "safety" from malware... but when you tack on the proxy server, there goes your "no bloat" requirement.
Are you understanding how IE (and its rendering engine) is simply a shitty, broken, answer yet...?
If you are willing to give up your insistance on IE's broken rendering engine, you have a couple of possibilties. One, you could try K-Meleon, a Windows-native Gecko-based browser that's "slimmer" for those of you without monster amounts of RAM.
Another option, if your primary objection to Firefox is the memory usage, is to give Firefox another shot and reduce the amount of pages it caches in RAM. It's still kind of high, but you can restrict it to around 30-40MB usage this way.
I don't really get your other objections to Firefox. Mouse gestures are an optional component, you don't have to use the tabbed windows or themes if you don't want to, and I'm baffled by your insistence on a browser with no bookmarks... it's not like browsers MAKE you use them, and why on Earth wouldn't you want them? You *like* typing in huge URLs?
OtakuBooty.com: Smart, funny, sexy nerds.
He was the designer of IE4 + IE5. I remember they were both lightyears ahead of Netscape in terms of interface, look + feel, and rendering engine at the time. So I don't think it would be fair to bash him that way.
I guess one mans bloat is another mans feature. I'd suggest you switch to Lynx, though, it is about the most featureless, unbloated browser in existence.
Seriously though, when I think of bloat I think of the monolithic suites, like Moz and Netscape. I really don't see FF as bloated, I see it as rather streamlined, and see most of the bloat as features that actually do make browsing more pleasurable/productive.
Why would a minimalist spartin browser be a good thing? Sure, the simplicity aesthetic is nice, but so is functionality. I like the fact that my car has a CD player, even if it is not strictly necissary. I like that I can have all open pages nicely displayed on the top of the window. I like that I can use gestures to save me from sweeping the mouse to the top of the screen, or using keyboard shortcuts. I like the little search app, it saves me typing, and thus time.
I think that there is an optimal level between features and bloat. If you have enough features, or keep them optional (ala FF), then you have a good browser that meets the needs of the user, but if you start adding features that only the developers find neat, and no one else cares, then you run into bloat. I like the extension ideology of firefox though, where you let the user decide what is neat. There are times where I have bloated FF to hell on my own, and there are other times when I get down to the bare minimum needed for comfortable browsing (mouse gestures).
I really find your opinion ungrounded, though. You are such a small market that you should think about programming your own. A majority of people would opt for pleasure over strict minimalism. Strict minimalism serves some intangible good, I'm sure, but no one really cares. And who can blame them?
A patriot must always be ready to defend his country against his government. -edward abbey
First I cannot believe the author is advocating bloaty, useless things like side-bars?
Sidebars are useless- why would you need to see a list of links permanently in the window you are browsing? The so-called theory this is based on is merely a bunch of assumptions that all lead to one simple solution... If you want to build a theory on navigation- go take some cognitive psychology courses, and do some real studies.
Research & Annotations... How much more unnecessary can things get? Why not just create a bookmark folder and save the website, or if you are using OS X create a PDF of the page. I personally do not want to be switching constanly between my web-browser/organizer and a text editor while I'm writing an essay.
RSS as an over-rated concept? I don't think so.
This essay is just flat out wrong. You cannot improve the user experience of the WWW by adding stupid features like side-bars and research tools-- RSS may not be innovative alone, but how browsers and search engines are using RSS is innovative-- Safari RSS, and Firefox Live bookmarks are time-saving, useful features.
The innovation will now come from the WWW itself. Google is a great attempt at centralizing information while making it easier to access, sites like Google and protocols like RSS will be the source of major usability innovations- not browsers.
I think it's time the author gets his head out of the '90s and looks at the browser as a simple conduit to information, and not a tool for organizing the web.
Geez, just look at his HTML. If you're afraid, let the Validator look at it for you: plain results (4.01 Transitional), forcing charset, forcing HTML 3.2.
What are standards good for, anyway? Just use your monopoly to push your nonstandard browser and do it your way.
Prescriptive grammar:linguistics
I find the "no" button useful for sites I haven't visited for a while and am not quite sure of the password. Then I can type it in and see if I've remembered it right, click no, and if it's right then log out and in again and the second time click yes. Then I don't end up possibly saving an incorrect password.
The problem is incompatible database interchange formats. XML lets people exchange data among applications without sharing any design in common, except the loose XML standard. That's why it's appropriate to integrating these standalone components into flexible new applications. What data format would *you* use to integrate these components, with independent APIs, as the arrive on the scene?
--
make install -not war
I've wished for a long time that browsers would correct misspellings in top level domains. It would be great if I could hastily type "slashdot.rog" and it would figure out that I meant "slashdot.org".