Drobe :: The archives
About Drobe | Contact | RSS | Twitter | Tech docs | Downloads | BBC Micro

NetSurf progress reviewed

By Chris Wraight. Published: 12th Jan 2008, 15:39:23 | Permalink | Printable

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.

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.

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.

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.


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

Previous: Create your own wall calender on RISC OS
Next: January news in brief


Viewing threaded comments | View comments unthreaded, listed by date | Skip to the end

Nice review. I think it is fair and accurate, thanks. :)

I have a few comments to add.

You can simply double click on items in the hotlist to open them in a new browser window. You can also select an item (or group of items) and use the Launch Selection toolbar button or menu option to launch them.

On the Guardian site, the problem is that NetSurf is ignoring almost all the CSS. It is within @media all { ... }, which NetSurf doesn't yet support. If you do a full save on the Guardian site, and delete the @media all { ... } bits from the stylesheets, NetSurf can render it quite neatly.

I use NetSurf to order items from Amazon.co.uk regularly and have not had any problems.

 is a RISC OS Usertlsa on 12/1/08 4:17PM
[ Reply | Permalink | Report ]

Also, about the graphics-heavy-page comment, you can make NetSurf render the images it has downloaded so far by adjusting the width of the window. This forces NetSurf to lay the page out again.

 is a RISC OS Usertlsa on 12/1/08 4:22PM
[ Reply | Permalink | Report ]


Thanks for these comments - useful stuff.

Re the layout issue, I wonder if NetSurf could automatically re-flow things during a long download, say every 5-10 seconds. Like I suspect many people, I keep the NetSurf window in the same place most of the time, and manually re-sizing it just to update the display is a bit of a faff. In addition, to reiterate a point made in the article, I assume a disc cache would substantially alleviate this problem. I have no idea how tricky a job this is, though, nor whether it's high on the current list of priorities.

 is a RISC OS Userlym on 12/1/08 5:56PM
[ Reply | Permalink | Report ]

Is there a standalone webcache solution for RO?

 is a RISC OS Userkillermike on 12/1/08 8:45PM
[ Reply | Permalink | Report ]

In reply to killermike: Imagesoft produced a webcaching app a few years ago. I am not sure if it will work with Netsurf. Here is a link anyway [link]

Netsurf is a great achievement. Producing a version for Linux is a great move as it expands the developer community. Good stuff.

 is a RISC OS Userstevek on 12/1/08 9:01PM
[ Reply | Permalink | Report ]

Im really looking forward in printing webpages with my Iyonix !

 is a RISC OS UserHairy on 12/1/08 9:36PM
[ Reply | Permalink | Report ]


ROOL have released fixed printer drivers that enable Unicode printing to non-PostScript printers. The PostScript printer drivers have not yet been fixed.

 is a RISC OS Usertlsa on 12/1/08 10:07PM
[ Reply | Permalink | Report ]

Are these available ? When I read the article in Drobe I was kinda thinking it would be in a release of Nestsurf. I misunderstood it. Will have to check at the website for ROOL. Sorry

 is a RISC OS UserHairy on 12/1/08 10:24PM
[ Reply | Permalink | Report ]

Don't forget that !Drawprint gets round the printing problem very neatly for the time being.

 is a RISC OS UserDaveW on 13/1/08 12:11AM
[ Reply | Permalink | Report ]

As for "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." I dare to disagree kind of...

For NetSurf to say it's an active project is absolutely correct, for Firefox I think the word 'active' is overdoing it a bit ... and you could have at least mentioned the Phoenix browser from ROOL which might find programmers wanting to look into it.

 is a RISC OS Userhzn on 13/1/08 6:23AM
[ Reply | Permalink | Report ]

hzn: Why would anybody want to do work on Phoenix? It'd be significantly less effort to implement the features it has that are worthwhile that NetSurf does not have in NetSurf, as well as not having any of your contributions placed under an obnoxious licence. Phoenix is so old-fashioned in its support for web standards, it'd take pretty much the same amount of time it's taken to get NetSurf where it is to bring it up to NetSurf's standard: surely that's wasted effort? Phoenix is a nice piece of interesting history, but I think it should be left in the history department.

 is a RISC OS Userrjek on 13/1/08 10:40AM
[ Reply | Permalink | Report ]


The status of Firefox is uncertain, I agree. But the sources have recently been placed in the GCCSDK autobuilder, so there's nothing stopping more work being done on it (AFAIK). Also AFAIK, further progress relies on work being done on the GCC suite, especially support for shared libaries. This is currently being done, so we can't entirely write off more Firefox development in the future.

As for Phoenix, like rjek I don't believe this should divert development time from NetSurf. RISC OS has always been plagued by duplication of effort, with browsers in particular. It seems to me there's a clear need for both NetSurf and Firefox - trying to develop MORE browsers will just splinter the already tiny developer base. There's plenty of other stuff in the ROOL sources which needs urgent attention, from anyone interested in that initiative.

 is a RISC OS Userlym on 13/1/08 12:05PM
[ Reply | Permalink | Report ]

In reply to rjek/lym:

Well, despite the age Phoenix does pretty well and does have JavaScript (old, but it has) so that there are pages where it beats NetSurf. But I agree that it would be best that only one browser is worked upon to bundle the efforts. Currently both, Phoenix and Netsurf have their merits...

As for Firefox: I didn't write it off but just wrote that the word 'active' is overdoing the current progress.

But both rjek any lym suggest to not put effort into Phoenix but to concentrate on NetSurf. Well that might be a viable point of view as for Firefox too - unless someone really speeds that one up to make it usable (by that I mean much more than just twice as fasr) and it is integrated into RISC OS better apart from the odd bug in the current release.

 is a RISC OS Userhzn on 13/1/08 5:30PM
[ Reply | Permalink | Report ]

Phoenix/Browse's Javascript support was never officially released - although that's probably got more to do with the sudden collapse of Acorn and Pace's lack of interest than the quality of the software, given the calibre of the people who worked on it. Still, it's my understanding that there are more people working on Netsurf now than there were on Browse while the Javascript support was added.

Currently, Netsurf almost completely supplants my use of Browse 2.06. I only wish I had the time (and familiarity) to implement the cookie interface, since I seem to remember hearing the backend cookie handling is pretty complete.

 is a RISC OS Userninja on 15/1/08 11:22AM
[ Reply | Permalink | Report ]

lym: "Re the layout issue, I wonder if NetSurf could automatically re-flow things during a long download, say every 5-10 seconds." NetSurf now does this in the latest development build.

 is a RISC OS Usertlsa on 1/3/08 12:15PM
[ Reply | Permalink | Report ]

Please login before posting a comment. Use the form on the right to do so or create a free account.

Search the archives

Today's featured article

  • Archive booklets review part one
    MessengerPro, VirtualRPC, simple networking and programming guides
     20 comments, latest by jlavallin on 19/12/05 3:28PM. Published: 12 Dec 2005

  • Random article

  • An introduction to IP networks
    Part one of masking the 'net
     10 comments, latest by Umair on 9/9/04 10:11PM. Published: 4 Sep 2004

  • Useful links

    News and media:

    Top developers:
    RISCOS LtdRISC OS OpenMW SoftwareR-CompAdvantage SixVirtualAcorn

    CJE MicrosAPDLCastlea4X-AmpleLiquid SiliconWebmonster


    RISCOS.org.ukRISCOS.orgRISCOS.infoFilebaseChris Why's Acorn/RISC OS collectionNetSurf

    Non-RISC OS:
    The RegisterThe InquirerApple InsiderBBC NewsSky NewsGoogle Newsxkcddiodesign

    © 1999-2009 The Drobe Team. Some rights reserved, click here for more information
    Powered by MiniDrobeCMS, based on J4U | Statistics
    "Interesting, what kind of information is spread here? Some people must have really close contacts with insiders in certain companies"
    Page generated in 0.1529 seconds.