[Netsurf-develop] Thoughts and planning

Phil Mellor phil at mellor123.freeuk.com
Tue Jul 30 19:53:41 BST 2002

In message <ab11cc5d4b.james at a7000.strcprstskrzkrk.co.uk> you wrote:

> > > - HTTP implementation (libcurl ?)
> I've managed to get libcurl to fetch a page on
> RISC OS, so at least we could start by using it.

OK.  I have no idea what libcurl is (although I can make an
educated guess, and when I connect to send this, I'll make an
educated google search), but if you say it works, that's good 
enough for me.

> > > - image renderers / converters
> > 
> Definitely incorporate into the code for speed. Apparently 
> launching helper applications is one of the things that makes 
> Webster slow.

Right ho.  So we need source or library conversion routines.
The source for InterGif exists on the net; it might be worth
contacting Peter if we can use it.  Or there's the FYEO2
source code; FYEO multitasks when it's converting images, so it
might be useful.

Of course there are plenty of other things available, but InterGif
and FYEO are probably already optimised for RISC OS usage, and
convert to Sprites.

> I guess we could try direct rendering, and if it's too slow convert
> instead. I find the OS JPEG renderer slow when I'm using Browse.

It should be easy enough to cater for both, and make it a user option.

> > [nested window manager, multiple windows and frames]
> For me, frames are low priority, since few good websites use them anymore.

Fair enough.  If you're looking for features that 'good' websites
use, what about JavaScript? ;)

> > [wimp/os libraries]
> I've used OSLib so far. OSLib is just a C interface to RISC OS SWIs, not a
> WIMP library. I think we should use the WIMP directly through OSLib.

OK.  That's another thing to dig through my CDs for.

> > > - font handling (unicode ?)
> > 
> > I think we need to be future-proofed for Unicode, even if the
> > Font Manager can't render it.  
> Libxml converts other encodings to UTF-8 when it parses HTML files, so
> maybe it would be better to use that or another Unicode encoding
> everywhere.

I think implementing UTF-8 is probably enough to be getting on with.
Although any part of the program that uses text shouldn't assume it 
*will* be UTF-8, it needs to be future-proof.  Any time a string is
passed, the encoding type should be too.

> > * Embeddedness
> Lots of apps could find this useful. It would need an option to disable
> fetching external stuff.

The protocol shouldn't be NetSurf-centric.  It should be designed
so that any browser could implement it.

Hmmm... I like the sound of a URL like "wimp://Messenger/INBOX/64" !!!

> > * Rendering
> I think direct rendering is best, not DrawFiles. We could do the sprite
> thing if it's too slow.

But let's have Draw export, just to tempt Oregano users.
It might make printing easier too.

> > * Multitasking
> > [psuedo-code]
> Looks complicated. I'd prefer to avoid splitting up code if possible,
> because things like the layout code are very recursive. It would be
> possible to add Wimp_Polls which only handle urgent events and queue the
> rest at places in it though, to give other apps CPU time. 

Well... okay.  How will formatting HTML pages work when all the data
hasn't been received yet?  Or is it easier to download the entire page,
and then format it?  I guess the latter is easier. With the takeup
of broadband, it's becoming less relevant anyway.

> Ideally it'll be
> so fast that it won't be necessary ;->.

Depends what computer you're running it on!

What is the target machine/OS we're aiming for?  If I had a better computer
I'd suggest RISC OS 3.6, since nice things like dynamic areas, deep sprites,
and JPEG rendering can be assumed, but I've only got access to RISC OS 3.1, 
so I'm recommending that!

> I guess the first priority is making sure you can compile it. You'll need
> libxml, oslib, and libcurl. I could upload compiled libxml and libcurl if
> you want. I think the RO CVS port can download from SourceForge CVS.

I've downloaded CVS, so I'll have a go using it later this evening.
Are there any particular obscure magic runes I need to know for accessing
the Netsurf Sourceforge stuff?

It would be helpful if you could upload the libxml and libcurl stuff,
unless you know if they already exist on any AU CDs or anything.
It probably makes sense for everybody to use the same versions of the


More information about the netsurf-users mailing list