oreilly.comSafari Books Online.Conferences.


AddThis Social Bookmark Button

First Look: OmniWeb 5 Beta

by Michael Brewer

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, which I consider a pretty wide site, with the drawer open.

OmniWeb 5 really uses space effectively
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
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

Related Reading

Mac OS X: The Missing Manual, Panther Edition
By David Pogue

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 work
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
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
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.