First Look: OmniWeb 5 Beta
by Michael Brewer
02/03/2004
OmniWeb
has endured a roller coaster ride from Day One. It was an early browser
to run on Mac OS X, in part thanks to its NeXT heritage. Omni provided
strong competition for the default browser of the time, Internet Explorer.
Soon, other browsers came on the scene that offered the same or better
performance than OmniWeb and were more standards-compliant to boot.
OmniWeb went from rising star to sinking moon because some grumbled that
it was too slow and its features were out-of-date. The Omni Group had already
committed to a rewrite of the rendering engine for the next version
of OmniWeb when Safari was first announced. The Omni Group weighed their
options and finally decided to release OmniWeb 4.5 with the WebCore
and JavaScriptCore framework--byproducts of Safari--to satiate their
users. Then they could bring out OmniWeb 5, leveraging Apple's frameworks
along with big user-interface enhancements. It's been a long time coming,
but OmniWeb 5 is now available as public beta.
Tabs (Well, Sort of)
When talking about OmniWeb's most visible new feature, I'm going to use
the term "tabs" because that's what The Omni Group is calling them right
now, and I don't want to cause any confusion. That being said, I hope
they change the name of this feature before the final release
because they don't look anything like tabs. Many users will not intuitively
connect the feature with its description. And to some degree this name
does a disservice to The Omni Group, too, by making it sound like it's just
another implementation of tabs, when in fact it's different ... and better.
One of my favorite things about OmniWeb's multi-document implementation
(tabs) is the way it preserves vertical space. Everyone's monitor is
wider than it is tall. And most every page out there is much taller
than wide. Those lucky enough to have Cinema
Displays have a surplus of horizontal space. Unfortunately, I'm
not lucky enough because I reviewed OmniWeb 5 on my 12-inch iBook. But I still appreciate the vertical space savings. On my iBook I can have
my Dock on the left, OmniWeb open with the tab drawer on the right, and
still have a page that is wide enough for most content and narrow enough
for comfortable reading. I can even fit all of MacDevCenter.com, which
I consider a pretty wide site, with the drawer open.

OmniWeb 5 uses space effectively.
As you can see, I get maximum use of the height of my iBook's little
screen, which really makes it easy to scan and read the page. I've got
the status bar hidden, small icons in the toolbar without labels, favorites
bar hidden, and thankfully no tabs taking up my precious space.
There's more to OmniWeb's tabs than conservation of space, though. There
are two views for displaying tabs. The standard thumbnail view provides
the best way to instantly recognize a page. You've got a nice thumbnail
of it with its title in a caption. If, for whatever reason, you want to
see even more tabs at a glance, you can change to list view, which is
similar to Finder's.

Two ways to organize your drawer for viewing open documents.
OmniWeb's tabs are drag-and-drop and copy-and-paste capable. You can
drag-and-drop tabs between OmniWeb drawers and windows. Command plus double-clicking
on a tab will open it in a new window. You can copy a tab, open a new
window, and paste it into the location box and the page will load there.
Paste the tab into the content of the window or the drawer and a new
tab is created for that page.
The same thing works for URLs copied from other sources such as Mail.
I've suggested to Omni that they enable copy-and-paste to work from
OmniWeb to other applications as well.
OmniWeb also places a dot in the close button of the window when more
than one tab is open in it, which serves as a good visual indicator even
when the drawer is closed. And when you do close a window with multiple
tabs open, OmniWeb prompts for confirmation before carrying out the
command.
Bend the Site to Your Will
They've added site-specific preferences to version 5 of OmniWeb. This
is a feature I've asked for in the past, and I'm glad to see it.
Omni's implementation of it works well. I would, however, like to have
the option of viewing these in an inspector panel instead of the new
window pane feature that Omni added with this release.
Using this feature, you can change any number of preferences from what
you've already set globally. Have you ever ran across a site that had
fonts that are just too small for comfortable reading when most others
are fine? OmniWeb allows you to handle this in a couple of ways. You
can choose a font style from their predefined list or customize them
and specify the typeface to use, as well as a maximum and minimum size.
Or you could just choose to use the text zoom preference for that particular
site.
Ad-blocking is also controlled by site preferences. I like this because
I can choose to block images and inline content from third-party sites
on most sites. Then on sites like Apple's where I want to load those
images because they're usually hosted by Akamai,
I can change my site preference. Popup blocking is included the individual
site preferences so you can actually allow popups for specific sites
as necessary.
Other site preferences include international preferences; whether or
not to allow JavaScript, Java, or cookies; where to download files;
image loading; and even form auto-completion. Very handy.
Workspaces: Better than Your Cubicle
I love the Workspaces feature of OmniWeb 5. I used to do something similar
in Mozilla. I would set up a Bookmarks folder full of bookmarks that
I would use for a particular task. When I needed to focus on a task
in Mozilla, I would open that folder in tabs and it would immediately
load all of the documents along the tab bar. That was a wonderful way
to get all of my reference sites for a particular project up quickly,
but it had a few drawbacks. You couldn't look at two of the pages at
the same time because they were all stuck in the tab bar. And there
wasn't a good way to preserve whatever I'd been doing in Mozilla before
opening the new bookmarks into tabs.
OmniWeb's Workspaces feature overcomes all of that. Workspaces can keep
track of every window open and all of the thumbnails you have open
within each window; unfortunately, drawer state is forgotten after
you quit the application. So I can have a collection of highly related
pages in thumbnails in one window, and other windows that I may wish
to view side-by-side to get the full picture.
And preserving other work? Since this isn't the final release of the
software, I have encountered a few bugs. I crashed shortly after playing
around with the Workspaces panel and checking the "Save Windows" box
for the default workspace. When I restarted OmniWeb, all of the pages
I had open were there waiting for me.
It doesn't stop there, however. Each workspace has a function key assigned
to it. Just hit an F-key and your current workspace (full of Mac rumors
sites, shall we say) vanishes and is quickly replaced by sites that
will endear you more to your boss (like a few good Java references
pages).
I decided to turn off the Save Windows option on the default workspace
so that starting up OmniWeb is just like starting up any old browser.
But I've got it turned on for all of the other workspaces so I never
have to worry about losing my important pages, even after a crash.

Manage your documents for projects more effectively using OmniWeb's
Workspaces feature.
I haven't been able to actually use the snapshot functionality of Workspaces
because it isn't functional in the release I tested. But here's how
it's supposed to work. You can take a snapshot of your workspace either
by using the Workspaces panel or the Workspaces menu item. You can then
return to this snapshot at any time by using the rollback function via
the same methods. The snapshot will also be used for restoring your
workspace the next time you run the browser.
One drawback of Workspaces is that source editor windows are completely
ignored by the workspace manager. I created one workspace that had a
couple of web pages and save workspaces turned on. I then selected View
in Source Editor from the View menu and had three windows open.
When I switched to another workspace the source editor window was still
displayed in my current workspace. No matter what workspace I switched
to, the source editor was still there. I finally switched back to my
original workspace that was set to save windows, and quit OmniWeb. When
I started OmniWeb, my two web pages came back but the source editor
was nowhere to be found. Every type of window that OmniWeb can spawn
should fit into the Workspaces model, not just web pages.
View the Source, Luke
Speaking of the Source Editor, I do like Omni's approach to this
feature. Unlike some other browsers, you can edit the source with it.
Actually, I'm using it to type this article. It does a wonderful job
of colorizing the code. And it can also reformat your HTML in one of
two ways. The first way is actually called reformat and it beautifies
the HTML, making it easier to read and tabbing everything properly.
The other reformatting option is called compact, and its function
is to squeeze all of the unimportant whitespace out of the file to make
it quicker to slurp down the line. Source Editor can even tell if the
page you're editing is being served by your local web server. If it
is, OmniWeb knows to save it to the local file system for you. Sadly,
when you select Redisplay in Browser from the View menu, it redisplays
using the file: protocol instead of http:.
The Source Editor also has an option for viewing as received from the
web server or as processed by OmniWeb. This allows you to see the output
of client-side scripts in the Source Editor if you wish.
There is also a JavaScript console that shows all of the functions that
are executed on the page. It also has a text box that allows you to
call functions on the page manually or evaluate on-the-spot JavaScript.
It isn't as nice as Mozilla's JavaScript debugger, but it is better than
what Internet Explorer for Windows gives you. The Omni Group said that they
included this because they used it internally and liked it, but I'd
love to see them put more effort toward improving this feature. Reporting
line numbers would be a good start.
Bookmarks that You'll Use
The bookmarks system has seen a lot of changes since version 4.5. OmniWeb
now has a bookmarks interface that at first blush seems very much like
Safari's. But there are a lot of cool things just below its surface.

Get the latest news.
One of the things that had me itching to try out OmniWeb is the RSS
reader built into the bookmarks system. When you're browsing a site
that has an RSS feed on it, a button is displayed on the status bar
that allows you to subscribe to the page. This will add a news-feed
bookmark. You can then set an interval to check for updates just as
you can with other normal bookmarks. The only difference is that not
only does it tell you when the site is updated, but it shows you all
of the children news items on the site and gives you direct links to
them. I think I am going to enjoy having RSS feeds integrated with the
browser into one application. If you don't see yourself paying for a
browser (they should be free, it's in the constitution!), think of the
money you would otherwise spend on a news aggregator.

Really, really simple syndication.
Another feature that OmniWeb has over Safari (and any other browser I've
seen) is a search box in the bookmarks interface. This box allows you
to search on the names of your bookmarks and notes that you've entered
into the bookmark's info. Oh, and it also searches the page's content.
I'm going to repeat that for effect. It also searches the page's content.
It indexes page content when you visit a site, which is why in my experience
this is very snappy.
Another cool feature is the collections that are available. You can kind
of think of them as predefined searches. OmniWeb has an Address Book
collection, just like Safari. But it also has your most-visited bookmarks
shared via Rendezvous,
and sites with changed content. You can also drag any HTML file into
the collections pane to get a list of all links within the document.
In a similar fashion, importing a bookmarks file from another browser
creates a collection that is updated every time OmniWeb is started, so
that it will always have a fresh list of links.
You can use the search box to search any web site with a search form, even ones that use POST. It was so easy to add Netflix's library to
my search box; you can do this from the status bar as well. Auto-fill
supports multiple sets of data (home, work, etc.) and now handles forms-based
authentication from the Keychain. The really nice thing about this is
that OmniWeb was able to use the web site authentication that Safari
stored in my Keychain. OmniWeb also supports resumable downloads from
the download window. And the Edit menu has a new item called Paste From
File that will be handy when I have a problem with some code and need
to post it to a forum.
Surfin' OmniWeb?
One thing that was highlighted while using OmniWeb is a mistake Apple
made when going from Jaguar to Panther. In order to set OmniWeb as my
default browser, I had to ... open Safari. That's right, the Internet
preferences from the previous version of Mac OS X have been removed and
we're left with a horrible method of setting system-wide Internet application
protocol handlers. This is a huge error on Apple's part. One that I
hope is rectified in later versions of Mac OS X.
There are a few things I don't like about OmniWeb either. I hate being
in a text area of a web page and trying to use the Mac OS X standard
Command+Left to go to the beginning of my current line, and instead I
go back a page. This really stands out in the Source Editor where Command+Left
does nothing since there's no history to move through. OmniWeb should
definitely use Command+[ and Command+] for going backward and forward. Also,
all windows should be considered part of a workspace, not just windows
that contain web pages. Overall, though, OmniWeb continues its tradition
of having a really well-thought-out interface. And with this release
they're bringing some refreshing new power to web browsers.
Michael Brewer
is a developer based near Charlotte, North Carolina. His interests include web development of various flavors, databases, and Java. One of the off-shoots of these activities is his website Brewed Thoughts.
Return to the Mac DevCenter.