Sherfari revisitedJAN 20 2003
In response to my post on building a better browser, several people argued for the Unix approach to software design: build apps that do one thing well.
Q: What is this one thing that a web browser should do well?
A not-so-good answer: Judging from the comments about my post, most experienced browser users & software developers would probably say that a web browser should download and display HTML documents quickly and accurately. In the same way that cameras are designed to transfer real-life scenes to film, that is technically correct and helpful to remember when it comes to implementation.
A better answer: Let's apply the Unix approach so that it makes sense from a user-centered design standpoint rather than at the application level**. Web browsers help people find and share information on the web. Sherfari was an attempt at envisioning a browser that does this better than the current crop of browsers by adding the capability to do a few things that people commonly use the web for. Some cried "bloat", but as long as application features and capabilities are useful and appropriate to an application's function (the "one thing"), there's no bloat.
The web offers so much information and so many opportunities that there is much room for the addition of features to improve the browsing experience without creating a bloated application. With their iLife apps, Apple has demonstrated the restraint and ingenuity necessary to build balanced applications that are powerful without being overwhelming. Let's see them apply that to their web browser.
** Here's what I mean by that. If you were building tools to help people to send and receive email, ham handedly applying the Unix approach solely from an application point of view might result in one app to receive mail (or perhaps two separate apps: one to get IMAP mail and one to POP it), another app to write mail, and yet another to send it. But from a user-centered perspective, one application to do all those things (and more) makes more sense.

jkottke28 20 2003 9:28PM
More on bloat, using a few of Apple's own applications as examples. I wanted to put this in my post above, but it didn't really fit in anywhere.
Why does iPhoto contain the capabilities to order hardcover books of prints and publish HTML pages of photos? They seem like unnecessary features in an application built for storing and organizing digital photos. But iPhoto's purpose includes sharing digital photos with other people, along with storage and organization. So it makes sense.
iTunes connects to an online service to retrieve song information when a CD is placed in the drive, an unnecessary feature for listening to music. But that feature adds useful context to the listening experience and makes ripping MP3s much easier as well.
If you think of a web browser like Safari as a program to download and display HTML documents quickly and accurately, the history, bookmarks, Rendezvous support, and even the Google search bar are unnecessary. But those things (although the utility of the Rendezvous support remains to be seen) are helpful enough in supporting the primary goal of the application to warrant inclusion in Safari's feature set.