Drobe logo

NetSurf progress reviewed


Published on 12th Jan 2008, 15:39:23, source is drobe.co.uk
By Chris Wraight

Chris Wraight takes the open source web browser on a whirl-wind tour of the modern Interweb

Review - For a minority platform, RISC OS still has a surprising number of arguably good-quality applications and tools available. There are good, actively maintained graphics, design, audio, diary, email and messaging programs out there, as well as serious development tools, such as the GCCSDK. Nonetheless, there are key omissions too. The most serious of these has always been, from a typical user's point of view, the lack of a web browser and a media player capable of coping with the full variety of content on the Internet. The NetSurf project is an attempt to address part of this problem. This review summarises the progress made so far, and looks forward to what might be possible in future.

What is it?
NetSurf was designed from the start to be an open-source, collaborative effort. From humble beginnings on the Iconbar forums, it is now one of only two active browser projects on the platform, the other being the Firefox port.

The task of writing a modern browser for any platform is far from simple. RISC OS machines are relatively slow, and native developers lack the vast resources available to those on rival platforms such as Windows and Mac OS. However, there are some pluses amidst all the gloom.

Due to the hard (and mostly unsung) work of the GCC team and allied developers, it is easier than ever before to use libraries and tools from Unix-like platforms on RISC OS. This offers the potential to simplify the process of writing complex applications, both in terms of reusing code written for other systems, and also by enabling the actual business of compilation to be carried out on much faster computers.

The NetSurf project is one example of this kind of development model. As well as RISC OS-specific code, the project also makes use of components from other open-source projects, and is available for Unix-like systems too. Some of its functionality is provided by third-party libraries and modules, such as the component that does the job of fetching web pages from across the Internet. The advantage of this is that such libraries can be used by other projects, freeing up scarce developer time for new work.

First impressions
The first thing you notice about NetSurf is the professionalism of its appearance. Like the old Computer Concepts applications, a lot of care has been taken over its look and feel. It includes various sets of program icons, each designed for a particular version of RISC OS, and users can install their own themes to give the program a make-over. These little things really make a difference, and the sensible menu layout and clear dialogue boxes make using the software a pleasure.

Like most RISC OS applications, once you've ensured the support modules are in the right place, NetSurf runs 'out of the box'. If you follow the few simple instructions on module installation carefully, with a fast Internet connection you'll probably be up and surfing in about five minutes. From the Choices dialogue box, you can control the usual settings, such as connection types and language. The button bar provides access to the most common functions, including the management of bookmarks - or a 'hotlist' as it's called in NetSurf.

Some aspects of the user interface seem a little eccentric on first acquaintance. For example, to load a hotlisted page, you drag an icon from the hotlist window on to the open browser, rather than selecting it from a menu. But this behaviour becomes natural very quickly, and is certainly in keeping with the general RISC OS desktop philosophy. Other actions, such as URL completion in the address bar, are implemented in a much more familiar manner. Some nice features are, as far as I'm aware, completely unique to NetSurf, such as the in way in which is displays thumbnails of pages you've just visited. This innovative addition certainly makes retrieving the web page you were last at five minutes ago much easier.

My overall impression is of a well-designed, mature user interface. Certainly many commercial packages would do well to follow NetSurf's lead.

Screenshots
Click on a thumbnail for a larger image






Browsing performance
In order to test performance, I decided to try out four different types of website, each being one that the average RISC OS user may find useful: RISC OS-centric sites, information sites such as the BBC and encyclopaedias, shopping and auctions sites including Amazon and eBay, and entertainment sites including YouTube.

In each case, I used a recent development build from the time of writing: December 16, 2007. This may be more up-to-date than the 'stable' version 1.1 release, but by the time you read this article, the development build I used has probably been superseded by a new one.

First, I started with RISC OS software developers' home pages. These tend to be the least challenging design-wise, but they are some of the most useful websites for RISC OS users. Most free software for the platform is downloadable from somewhere or other now, and being able to access programmers' sites is pretty important. As you'd expect, given that most of theses pages have minimal frills, NetSurf performs very well here. It's fast by RISC OS standards, and pages come out looking very swish.

I noticed that NetSurf appears to use the RISC OS font system, and text on pages can sometimes appear slightly larger than expected. Occasionally this can alter the way a website's design hangs together, but it's a relatively minor thing. On more complicated sites, such as RISC OS Open's, some slightly odd-looking layout choices are made by NetSurf, although the page is still completely legible and works as expected. In general, mainstream computing sites are handled extremely competently by NetSurf. Unlike older browsers, it is quite capable of handling CSS styles and other modern layout techniques.

Information sites present a slightly sterner test. One of the most popular, BBC News, includes all sorts of fancy streaming media sections with the help of JavaScript. By and large, though, NetSurf does a very good job at getting it right. There are some layout glitches, and the pop-up sections in the middle of the page are all exposed at once, but everything is legible, and all the article links work as expected.

With such a graphics-heavy page, NetSurf is noticeably slower, as it seems to wait until all the graphics are loaded before finally displaying the page in its entirety. While accepting that there's probably quite a lot of behind-the-scenes processing going on, I do wonder if the page rendering could be a little quicker on sites such as this.

The Guardian website, on the other hand, is a complete mess. Having looked at the source, I'm really not sure why. It is ostensibly an XHTML site with bits and pieces written in JavaScript. However, it's not obvious to me where the culprit lies. NetSurf handles pages within the site in a much better way, but it's obvious that some modern sites still completely throw the layout engine. You can still access most of the pages, but it's not a happy experience.

Web standards and RISC OS
In the early days of the Internet, most web pages were written solely in simple HTML. Despite many limitations, HTML's basic nature made it relatively easy to write suitable browsers. On the Acorn platform, a flurry of different products emerged to take advantage of the growing online community of websites: Webite, WebsterXL, Browse, Oregano and Fresco were some of the popular ones.

Unfortunately, straightforward HTML standards were not destined to last. Popular browsers on other platforms, such as Netscape and Internet Explorer, added proprietary extensions to vanilla HTML to provide whizkid effects and support more dynamic content. It became increasingly difficult to add support for some of these complex features, and web standards became messy and inconsistent. Acorn browsers fell behind the curve, unable to access many of the more useful and interesting corners of the Internet, and development stopped on many of them.

Since the worst period of the 'standards wars' is over, things have settled down somewhat. However, modern browsers still need to be able to deal with three core technologies: the original HTML (albeit in more modern versions), CSS (a system of controlling the appearance of the HTML on a web page), and JavaScript. All three are now extremely complicated in themselves, and require a sophisticated browser to make sense of the interactions between them. To make things worse, all things web-related move extremely quickly, and the situation is certain to keep evolving. As a result of these cumulative difficulties, most Acorn-era browsers have now fallen by the wayside.
How about shopping? The first port of call, Amazon, was a complete dream. The pages load quickly, look good, and there were no hitches in moving around. I didn't actually complete a transaction, but I'm assured items can be purchased from the online store with NetSurf. The other big hitter, eBay, was also a great experience: it looked good, rendered quickly, and seemed to work fine.

So, with some trepidation, I moved on to the entertainment sites. YouTube is one of the most popular video playing and sharing sites on the web, and I was expecting a Guardian-style mess when I loaded it. But, in terms of layout, NetSurf copes surprisingly well. Indeed, everything looks more or less the same as the Firefox rendering of the site with one notable exception: you can't play any video. Obviously a fairly major flaw. But this, of course, is not really NetSurf's problem. Its job is to present the pages to the user and ensure that the video content can be accessed by a suitable video player - whether provided as a plug-in or a standalone application. It would be great to have in-browser video playing in RISC OS, and its omission is a major issue for the platform. But you can't blame the NetSurf team for this one.

Assessment
So, a brief and unscientific survey. From this, and other browsing experiences with NetSurf, what's the verdict so far? That rather depends on what your criterion of success is. If you expect NetSurf to do everything that Firefox can, you'll be disappointed. Some sites will come out mangled, others will be reduced in functionality. But if you accept that NetSurf is a work-in-progress, and operating on a very slow and feature-lacking platform, then I'm frankly amazed by the standard of rendering recent NetSurf versions achieve.

Depending on your needs, you really could use NetSurf as your main browser, and it would be a pleasant and productive experience for many people. Certainly it knocks spots off most other native RISC OS browsers, and in some areas, notably the GUI and CSS handling, it even challenges the big boys.

Of course, the big stumbling block is JavaScript. Where NetSurf falls over, it's mostly because of its absent JavaScript support. Love it or hate it, there's no getting around this problem, and a modern browser really needs to have it. The problem is that providing support for this technology is not at all trivial. Unlike HTML content, which is mostly static, JavaScript can control and alter all sorts of things in a web page, and the browser needs to have a sophisticated rendering model to be able to cope. Interpreting the JavaScript language is one thing; integrating this with the browser's layout engine is quite another.

There are other annoyances: there is currently no disc cache implemented, which I do find a little surprising. So every time a page is requested, everything is loaded from scratch when it could be quicker to pull a cached copy from the hard disc. Given NetSurf's occasionally cumbersome rendering speeds, this is a bit of a pain. Implementing a cache would really speed things up for frequently-visited pages. And also, HTML and CSS layout are by no means perfect, even if most of the time they're very good. So there's plenty for the team to work on despite the very encouraging progress made so far.

All things considered, NetSurf is a magnificent achievement. Its collaborative development model, open source nature, and use of technologies from other platforms, is surely the way forward for RISC OS. It's one of the very few success stories for the platform in recent years, and deserves to go from strength to strength.

Prospects
So that's the state of play right now What can we expect from the future. NetSurf is being actively developed, so we can cautiously hope that it will continue to improve. One of the most exciting aspects of the project is its porting to Unix-like systems. Although the GTK version is currently less fully-featured than its RISC OS parent, it has already begun to attract attention from the large open-source community. This can only be a good thing. Much of NetSurf's operation is platform-neutral: the rendering engine and potential JavaScript handling fall into this category. So getting input from open-source programmers into the GTK stream holds the promise of directly helping the RISC OS version too.

Otherwise, it's important not to expect miracles too soon. From peeking at the developers' mailing list on the NetSurf website, it's clear that the team do have big plans for improvements, including preparatory work on JavaScript. There is, quite properly, no timetable for this, and anticipating a giant leap forward in time for the Wakefield Show would probably be unwise.

However, it's by no means impossible that 2008 will see substantial improvements to an already impressive little browser. If competent RISC OS C developers were looking for a project to help take the platform forward, they could do worse than get in touch with the NetSurf team, whose work really does deserve all the plaudits it's been getting over the past couple of years.

Without it, I suspect there would be even fewer people reading this review than there are already.

Links
NetSurf website
Chris tested NetSurf on a RISC OS 4.42 A9home and VirtualRiscPC running RISC OS 4.03.

Related articles
NetSurf bags GBP10K investment from Google
Google funding offered to NetSurf project
NetSurf banner lost in post

This article has been linked to, or is available in the following formats:  
 
 
 
 
 
[Printable] [Digg this] [Blog search]


Design and concept (c) Fudgecake Design, 1999 - 2001. Content (c) The Drobe Team, 1999 - 2006. See www.drobe.co.uk for more information. For non-commercial personal use only.