log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Elsear brings super-fast Networking to Risc PC/A7000/A7000+ (News:)
- Latest hardware upgrade from RISCOSbits (News:)
- RISCOSbits releases a new laptop solution (News:4)
- Announcing the TIB 2024 Advent Calendar (News:2)
- RISC OS London Show Report 2024 (News:1)
- Code GCC produces that makes you cry #12684 (Prog:39)
- Rougol November 2024 meeting on monday (News:)
- Drag'n'Drop 14i1 edition reviewed (News:)
- WROCC November 2024 talk o...ay - Andrew Rawnsley (ROD) (News:2)
- October 2024 News Summary (News:3)
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
 
View on Mastodon
@www.iconbar.com@rss-parrot.net
Site Search
 
Article archives
The Icon Bar: General: Web browsers
 
  Web browsers
  This is a long thread. Click here to view the threaded list.
 
moss Message #4000, posted at 10:26, 19/4/2002, in reply to message #3999
Unregistered user I like !Surf...
  ^[ Log in to reply ]
 
Hertzsprung Message #4001, posted at 10:28, 19/4/2002, in reply to message #4000
Unregistered user Shout now or the TIB browser is going to be called Surf. If you don't like it - moan now - you have 2 hours...
  ^[ Log in to reply ]
 
moss Message #4002, posted at 10:29, 19/4/2002, in reply to message #4001
Unregistered user Working title maybe?
  ^[ Log in to reply ]
 
I don't have tourettes you're just a cun Message #4003, posted by [mentat] at 10:38, 19/4/2002, in reply to message #3977
[mentat]Fear is the mind-killer
Posts: 6266
LeMAR Broswer?

(Lets Make a RISCOS Browser)

  ^[ Log in to reply ]
 
Hertzsprung Message #4005, posted at 10:41, 19/4/2002, in reply to message #4004
Unregistered user No, just say "Surf is okay". At least as a working title...
  ^[ Log in to reply ]
 
bmsh Message #4006, posted at 10:54, 19/4/2002, in reply to message #4005
Unregistered user I think Surf is the best name but there's already a SourceForge project called that... and it's not even a browser!
  ^[ Log in to reply ]
 
moss Message #4013, posted at 12:12, 19/4/2002, in reply to message #4011
Unregistered user
Err, that's all I can think of for now. I've got some other work to do. T'will be interesting to see how this pans out.

Chris

Looks good Chris. It will be interesting...

Surely the main work here is to get the basics done. Once they are over, it should be *relatively* easy to add CSS stuff, for instance, shouldn't it?

  ^[ Log in to reply ]
 
mfrissen Message #4018, posted at 12:25, 19/4/2002, in reply to message #4010
Unregistered user
I've been doing Python (seriously cool language) at work. Looking forward to this.

[ot]How's python doing on ROS, any good? I used to work with it on my *nix, and rather liked it.

  ^[ Log in to reply ]
 
I don't have tourettes you're just a cun Message #4019, posted by [mentat] at 12:26, 19/4/2002, in reply to message #4014
[mentat]Fear is the mind-killer
Posts: 6266

now the name is not very important, but what about BROS?

NO!

  ^[ Log in to reply ]
 
Hertzsprung Message #4026, posted at 12:41, 19/4/2002, in reply to message #4023
Unregistered user How do you know so much?? I completely agree about 'having a go' - I have learn an enormous amount about many aspects of programming during my 'year out'. Never thought I would be writing a web browser though! Must be the biggest task I've undertaken!
  ^[ Log in to reply ]
 
andypoole Message #4031, posted at 15:20, 19/4/2002, in reply to message #4029
Unregistered user
just to make sure:
is there consensus on:
- language (my bet: c)?

Sounds good.. It may be possble to use some basic or assembler (or both!) to link bits..

- compiler set (all developers should use the same suite, otherwise you'll get weird side effects and communication issues regarding switches and such)

Ah. I've got Acorn Desktop C version.. 4 I think.. I never did get GCC to work. I've also got EasyC I think lurking somewhere from when I bought the computer...

- CVS (eh, I guess sf arranges that one)

There is a web based CVS on the SF website.

BTW, I've started a simple template set, and I'll have a look into other browsers across the board (windows and linux ones too) to see the general look and feel of a browser. Are we modelling on any particular one?

I need to change machines to do anything else now.. let me power on the RiscPC...

Will we be able to set something more permanent up on the SF website to discuss this or shall I lend you a bit of my F9 space? (I've got plenty of F9 space... and we can't really use the TIB forums for this can we?)<br><br>[Edited by andypoole at 16:21, 19/4/2002]

[Edited by andypoole at 16:22, 19/4/2002]

  ^[ Log in to reply ]
 
ninj Message #4032, posted at 18:14, 19/4/2002, in reply to message #4027
Unregistered user
Netsurf.. mwa, not bad..

except that it is used *a loT*:

Gah! It'll do fine for the sourceforge name - the product doesn't have to be called the same thing. Personally I thought !Link would be kind of cute.

I'd promise to do some coding in my spare time but (a) I don't have a lot of spare time (b) given my track record, it's best not to promise things before they exist and (c) other nasty stuff. It's (c) I'm most concerned about. Shame, as I did my dissertation on HTML parsing. It was pretty evil though, as I didn't really know how to code properly back then.

Even a pars-r that takes valid HTML is a knotty problem. Considering browsers are meant to cope with invalid (elements in the wrong place), badly formed (tags don't match) and just plain broken HTML (mismatched quotes, <> ), writing a decent pars-r is a very interesting problem.

P.S. Don't even try to write one in anything less than C. I wouldn't even like to write one in anything less than C++/Java (half decent OO is ideal for SGML - but Python/Perl OO isn't even half decent). Hell, don't write anything that doesn't output AOF at least.

[Edited by ninj at 19:18, 19/4/2002]

  ^[ Log in to reply ]
 
mavhc Message #4033, posted at 18:34, 19/4/2002, in reply to message #4011
Unregistered user
You worry me. A title is a title. It can be changed. You have bigger things to worry about:
Apart from the sourgeforge project name apparently

http, ftp: Acorn's Browse modules for these are available from http://www.castle.org.uk/oregano/orgsupp.htm#boot
It would be worth using them, at least until you clone better versions.
html, xhtml, css: This is the most difficult part, I'd suggest using Mozilla's renderer, Gecko, writing your own is A LOT of work. If you see what DHTML can do now (Play Asteroids, fake a desktop with draggable windows, scrollbars etc, all in HTML) and compare it to what Fresco/Browse can do, it's a whole new level, and in a year or 5 when you've finished it it'll be out of date again. If you do try to write your own, make sure you have the DOM structure from the start so CSS and JS will work properly.

The browser would own the toolbar and when given a URL to fetch, it would call the fetcher and place it in a queue. The queue is polled until an event occurs, such as the fetcher receiving data. The memory manager allocates chunks of memory to slot the fetched data into. The p4rser is queued so that it translates the html/css/xhtml into a simple binary format for the redraw code to quickly use to reproduce the webpage on the screen. The p4rser also queues up more fetchers to grab images required for the page. The redrawer is also queued to redraw the translated html/css/xhtml as it comes in. When all done, the queue can be used to close the fetcher and inform the memory manager that we're done. When the WIMP tells us to redraw the page, we can use the translated binary to reproduce the webpage.
Seems to make sense. My suggestion is to look into making the HTML renderer a plugin, then we get a free HTML renderer for other apps, like IE does on windows. Then the browser basically becomes a UI/Fetcher, as the fetchers would be modules others could write their own UI bits.

Also, the fetcher should be configured to work with a cache manager so pages and images are first pulled from disc then from the network. Also, the cache manager is queued to save rendered pages and fetched images to disc.
Well, there's webserve, which could be used until it was cloned.

A image manager will be needed to vector jpg/png/gif conversions out to separate applications, these all exist. RISC OS Select includes jpg and png suport as standard.
Does Select support progressive jpegs?
I always found the speed decrease by plotting the JPEG in realtime wasn't worth the memory saving.
Anyway, make sure it works progressively and fast.

Then there's the plugin for flash/java/the works system- there's so many protocols to choose from, we don't need to devise our own.
Indeed, stick to the Acorn plugin system.

The UI is starightforward, the hotlist and history managers will be more interesting. I can see us using linked lists and panes.
Panes? We have the nested window manager now. Panes are evil, see Windows
Re the UI, steal all the good bits from: IE: url bar history is great, the searchable history list is great too (That should be another plugin). The multiple Back/Forward button drop downs are great. As is the option to save a whole webpage and images.

K-Meleon (A Windows Gecko based browser) and I think recent Mozillas have a nice feature to stop windows opening when you haven't clicked something, which reduces popup ads.

Fresco has some great features: F8 to edit a page via OLE, toolbar buttons to turn on/off JS and Images, menu opens for turning off colours, and frames/tables for testing, the Image menu to save/info/reload an image.

In conclusion, it's possible, it's difficult, it'll take a while. Try to make sure your code is flexible enough to work with future requirements, otherwise your work will be wasted. Copy/steal what's already been done, a good design is the basis of a successful program, everyone has seen programs that tried to extend beyond breaking point.

If you make everything modular and base what you can on existing systems you can use things already written whilst you write the important parts, http/ftp/file/gopher modules, nested wimp, jpeg, toolbox stuff, esp toolaction for forms, webserve, wget/cURL. Apparently WebsterXL can even be used as a plugin which could be useful for testing to start with.

  ^[ Log in to reply ]
 
mfrissen Message #4035, posted at 20:45, 19/4/2002, in reply to message #4031
Unregistered user

BTW, I've started a simple template set, and I'll have a look into other browsers across the board (windows and linux ones too) to see the general look and feel of a browser. Are we modelling on any particular one?

Well, if you can, take a look at netpositive on BeOS (look on inet to see screenshots if you need) or voyager from QNX RtP.
I think the browser should be lean and mean, and extra functions should be added using a plugin mechanism.
this way, you have the bare browser, and you can use 'spinoffs' to fit into it.

and I'm all for gcc or lcc usage. (actually, after playing around with lcc, I think that one is even better for c .. )

  ^[ Log in to reply ]
 
TheDoctor Message #4037, posted at 23:36, 19/4/2002, in reply to message #4036
Unregistered user Why not just create the rendering engine (like Gecko) and let anyone else who wants to create a browser around it do so?
Or is that what you're talking about anyway?
--
Not a programmer!
  ^[ Log in to reply ]
 
diomus Message #4040, posted at 11:53, 21/4/2002, in reply to message #4037
Unregistered user
Why not just create the rendering engine (like Gecko) and let anyone else who wants to create a browser around it do so?

Well if the system was modular then the rendering, fetching, enviroment management, cacheing, queuing. plugin and 3rd-party-app vectoring sub-systems could be interchanged and developed separately.

Chris

  ^[ Log in to reply ]
 
diomus Message #4041, posted at 12:15, 21/4/2002, in reply to message #4038
Unregistered user

- library (is it going to be a port from *nix -- UnixLib needed)

Or netlib. To make life really simple, a port of STLport would help no end. The STL with GCC is not very good to say the least.

What is it with your obession with p0rting libraries, or more to the point, asking people to p0rt them for you?



What I would also suggest is that prior to a single line of code getting written, it is fully mapped out with a step through pathway of the main areas of source.

Please, let's not do a FRX again. It made good comedy though.


Second to that, follow the same sort of setup as GCC. There it is one person (Nick Burett) with overall control and a pile of contributers. All code has to go through him before it's committed to CVS.

I have to agree with you Paul. This project needs direction and competence if it's to get beyond idle chatter/opinions on an online forum.

Chris

  ^[ Log in to reply ]
 
bluebottle Message #4042, posted at 16:31, 21/4/2002, in reply to message #4041
Unregistered user

- library (is it going to be a port from *nix -- UnixLib needed)

Or netlib. To make life really simple, a port of STLport would help no end. The STL with GCC is not very good to say the least.

What is it with your obession with p0rting libraries, or more to the point, asking people to p0rt them for you?

I'm not asking for anything. I am pointing out that a port of something like STLport would aid no end in the development of a web-browser, especially if you borrow bits from something like Gecko.

What I would also suggest is that prior to a single line of code getting written, it is fully mapped out with a step through pathway of the main areas of source.

Please, let's not do a FRX again. It made good comedy though.

So are you saying that the whole project should be allowed to be a mish-mash without any form of direction, with people working on bits that others are working on and in the end everyong producing something which has glaring holes in?

Talk like that and you'll soon be working for Micros**t

  ^[ Log in to reply ]
 
moss Message #4044, posted at 17:16, 21/4/2002, in reply to message #4043
Unregistered user So, what's happening with Sourceforge then?
  ^[ Log in to reply ]
 
james Message #4047, posted at 20:32, 21/4/2002, in reply to message #4045
Unregistered user I think we should move technical discussion to the SourceForge forums. Go to http://sf.net/projects/netsurf/, and click on Forums.
  ^[ Log in to reply ]
 
Hertzsprung Message #4048, posted at 20:54, 21/4/2002, in reply to message #4047
Unregistered user Agreed. I'll attempt to get to grips with these sf.net admin thingies tomorrow...
  ^[ Log in to reply ]
 
ninj Message #4053, posted at 17:46, 22/4/2002, in reply to message #4052
Unregistered user To all those wanting to write in C: You can't do a DOM implementation without objects.

Well, that's not strictly true. You can do objects in anything, but you'd have to bend the API so much that I wouldn't be happy calling it a DOM any more. A DOM implmentation in Java is child's play, and not much more work in C++. In C it would be a mammoth task.

I think C Front (Norcroft) would be up to doing a DOM implementation and an XML pa**er with HTML extensions (or full SGML if anyone was up to it!). It doesn't require namespaces, or even anything more than public inheritance really. But if you restrict yourself to Norcroft, you're restricting who can develop.

Remember that C++ is backwards compatible; you can write C inside a C++ API wrapper, or just plain C. And if you use something that can spit out AOF (that's both GCC and Norcroft, right?) you can link in assembler and fortran sections (though granted the mangled method names in C++ are a nuisance).

  ^[ Log in to reply ]
 
johnstlr Message #4054, posted at 17:55, 22/4/2002, in reply to message #4050
Unregistered user
Waste processor time? I don't think so, it's just an extension to Wimp_Poll'ing with the OS. Call Wimp_Poll, decode reason code, perform internal upkeep, call Wimp_Poll etc. I'd suggest using the wimp message system. Either that or write your own threading library, which in itself will be fun.

My apologies I misunderstood your original post. I thought you meant coming off a wimp poll and going round all your modules to see what (if anything) had changed. Obviously you meant that the modules should generate a message across the wimp when done.

  ^[ Log in to reply ]
 
ninj Message #4055, posted at 18:17, 22/4/2002, in reply to message #4054
Unregistered user Actually, I don't think most people have got past thinking of it as a simple WIMP application just 'scaled up a bit'. Anyway, whether it's event driven or polled, the biggest concern of having no threading is being able to split up your tasks into similar length calls.

The vast majority of things can either be divided up easily (buffering for reading/writing sockets) or completes fast enough to be done in one poll cycle. The most obvious tricky part is multitasking redraw - and that needs a heavyweight architecture if it's going to be smoother than Browse. You could just write a helper class to queue many short function calls and execute them as and when, though hopefully that's not the simplest way of doing it.

I'm out of practice at writing big systems without threads, in case you couldn't tell!

Oh, and C++ would be nice because it supports exceptions. That's the easiest way to make sure most screwups only take down the minimum of code necessary and don't type=5 at every turn. In my opinion.

[Edited by ninj at 19:18, 22/4/2002]

  ^[ Log in to reply ]
 
monkeyson Message #4061, posted at 11:18, 24/4/2002, in reply to message #4060
Unregistered user Last night, rather than getting on with my final year project, I came up with a few NetSurf logos.
  ^[ Log in to reply ]
 
Hertzsprung Message #4063, posted at 11:43, 24/4/2002, in reply to message #4061
Unregistered user Wow! Cheers for those - they're ace!
  ^[ Log in to reply ]
 
Hertzsprung Message #4065, posted at 13:33, 24/4/2002, in reply to message #4064
Unregistered user Wow - I'm catching up with Mr. Arenaman. How long have you been on TIB, Michael?
  ^[ Log in to reply ]
 
Hertzsprung Message #4028, posted at 13:58, 15/6/2002, in reply to message #4027
Unregistered user http://netsurf.iconbar.com ?

grin

[Edited by Hertzsprung at 13:46, 19/4/2002]

  ^[ Log in to reply ]
 
mfrissen Message #4029, posted at 13:58, 15/6/2002, in reply to message #4028
Unregistered user just to make sure:
is there consensus on:
- language (my bet: c)?
- library (is it going to be a port from *nix -- UnixLib needed)
- compiler set (all developers should use the same suite, otherwise you'll get weird side effects and communication issues regarding switches and such)
- CVS (eh, I guess sf arranges that one)

etc... smile
oh, and anyone interested in writing a decent email client with pop3 protocol built-in (I hate the usage of a seperate pop3 handler..) grin

[Edited by mfrissen at 14:07, 19/4/2002]

  ^[ Log in to reply ]
 
arenaman Message #4064, posted at 13:58, 15/6/2002, in reply to message #4061
Unregistered user Oooh nice smile
  ^[ Log in to reply ]
 
Pages (5): |< < 2 > >|

The Icon Bar: General: Web browsers