Haiku Web Browser

skoe wrote:
umccullough wrote:
noisetonepause wrote:
One thing a few weeks of using Be has shown me is that we need a browser that's as good a Be citizen as Net+ but as capable as Firefox. I rate the web browser as probably the most important thing for an operating system these days and I don't think we should settle for Firefox when we could have something that was lighter and more Be like...

In my opinion, the best solutions I’ve heard tossed around still are an embeddable HTML rendering view either based on KHTML or Gecko and a native wrapper app.

I Agree, however the way the renderer is embeded should be flexible enough to use KHTML AND* Gecko, and also anything else (Say, a native one if ever written).

  • I don’t mean dynamically changing, like netscape does with Gecko/IE. I mean being able to change it in the source code.

This should be part of a more generic Editor/Viewer API (text, images, etc.). For example, then you could embedd BeMail as a viewer in Tracker. Also add a tree view to the left and you have a full-blown email client. Well, not exactly, but with queries and grouping you would have something really cool…

wkornew wrote:
skoe wrote:
umccullough wrote:
In my opinion, the best solutions I've heard tossed around still are an embeddable HTML rendering view either based on KHTML or Gecko and a native wrapper app.

I Agree, however the way the renderer is embeded should be flexible enough to use KHTML AND* Gecko, and also anything else (Say, a native one if ever written).

  • I don’t mean dynamically changing, like netscape does with Gecko/IE. I mean being able to change it in the source code.

This should be part of a more generic Editor/Viewer API (text, images, etc.). For example, then you could embedd BeMail as a viewer in Tracker. Also add a tree view to the left and you have a full-blown email client. Well, not exactly, but with queries and grouping you would have something really cool…

If viewing apps like BeMail were to be embedable without changes, the mechanism would have to work without the app knowing it, so the browser wouldn’t have to do anything special. It might be questionable how useful this approach is, though. You probably wouldn’t want to embed the full app, but rather just a view of the mail content and headers.

For an API to embed parts of other apps wherever you like, we already have replicas. A browser view as a replica would be useful, but I’m not sure whether the replica code should be part of the browser app. With the suggested bhtmlview, one would have the most reusable component IMO, as this could be used by any app directly, and we could also have a tiny app that exposes the bhtmlview as a replica, perhaps with a simple right-click menu interface on top.

Skoe: I think a bhtmlview consisting of a minimalistic code base (wrapper code) on top of the engine would fit your requirement quite nicely. Hopefully the code would only include what one would have to rewrite for each engine anyway, so writing a new view exposing the same API would be a drop-in replacement for the default/first bhtmlview.

umccullough wrote:
noisetonepause wrote:
One thing a few weeks of using Be has shown me is that we need a browser that's as good a Be citizen as Net+ but as capable as Firefox. I rate the web browser as probably the most important thing for an operating system these days and I don't think we should settle for Firefox when we could have something that was lighter and more Be like...

In my opinion, the best solutions I’ve heard tossed around still are an embeddable HTML rendering view either based on KHTML or Gecko and a native wrapper app.

Indeed. There is little point to us writing our own rendering engine - that would go against the point of open source software, wouldn’t it?

As for Gecko vs KHTML, all I can say is that I think Safari (KHTML) is better than Camino (Gecko) but that just be a case of implementation. I’m sure either is fine.

wkornew wrote:
This should be part of a more generic Editor/Viewer API (text, images, etc.). For example, then you could embedd BeMail as a viewer in Tracker. Also add a tree view to the left and you have a full-blown email client. Well, not exactly, but with queries and grouping you would have something really cool...

I think in the case of BeMail - wouldn’t it just be a text view, RTF view, or an HTML view combined with a MIME or UUENCODE decoder? I would think BeMail would be a consumer of these as well.

Personally, I prefer KHTML. Not that that matters much :slight_smile:

Even I prefer KHTML, but someone needs to port it first :roll:

I think the idea of a native web viewing component (html/css/javascript/etc) would be the more Be like approch to the problem. Plus if it is implemented in the classic Be way (modeled after the translation kit) nothing stops people from using a ported Gecko or khtml on their system. I don’t want to get into the “not built here” mentality I just feel that with the level of integration that the web and html has with modern desktops a home grown hierarchy is the way to go.

inseculous wrote:
I think the idea of a native web viewing component (html/css/javascript/etc) would be the more Be like approch to the problem. Plus if it is implemented in the classic Be way (modeled after the translation kit) nothing stops people from using a ported Gecko or khtml on their system. I don't want to get into the "not built here" mentality I just feel that with the level of integration that the web and html has with modern desktops a home grown hierarchy is the way to go.

The browser would be original but, the idea of creating a whole new rendering engine and getting it up to the spec of compatability would 1) be a large undertaking and 2) create another engine to worry about in web development and compatability. KHTML is a strong engine with solid performance and compatability with standards. Building a native kit and getting it to pass acid2 would be challenging and is secondary to the construction of an OS. That is not to say that we should not have an equivilant of WebKit for integration - but I feel that it should be based on KHTML

ar1000 wrote:
KHTML is a strong engine with solid performance and compatability with standards.
I beg to differ. It isn't that swell, and is generally less compliant then Gecko.
ar1000 wrote:
and getting it to pass acid2 would be challenging
Last i checked, Opera/Firefox/IE/Konq/Mozilla/etc all failed the acid 2 test.
ar1000 wrote:
but I feel that it should be based on KHTML
So do i...For now. I think that for R2, a native layout engine should be more appropriate. One thats designed, and designed specifically for use with BeOS features and API.

I think its a nice idea to have html viewing/parsing capabilities built into the system. But i still think to use gecko because its more popular than khtml. Firefox market share is aroudn 10% (maybe more), which makes it good enough to use it despite how annoying it is…

i also DO NOT think that what the os provied is the only way for viewing htmls. people should still be able to install firefox ven if its slower and chunckier. i know i would, even if its lower, jsut for the hell of it!!;D

fanton wrote:
I think its a nice idea to have html viewing/parsing capabilities built into the system. But i still think to use gecko because its more popular than khtml. Firefox market share is aroudn 10% (maybe more), which makes it good enough to use it despite how annoying it is..

Windows is more popular to — why don’t we just use that. The challenge is to find the better web engine not the most popular, I think the better one is KHTML. It is streamlined and more standard compliant.

damnyou got a point;D…kind of hard for me to combat your argument…gecko is not that bad frist of all…damn i cant fight it…probably it doesnt matter too much…well in beos spirit i guess youre right…hmm…ok do that

would it be part of translation or would be a kit all by itself? theres also xhtml, css/css2, xml that are very important…so if khtml can do that…i know for xml you can use something else…then its all fine with me…

im still going to install firefox though…cause im used to it…BUT i would try your kit anyway or broswer out of curiosty…

[edit]popular software is good cause you get a lot of help for it…the more its used the more youve got a change someone solved some problem already…and all you need to do is google…but theres a balance between a crappy popular piece of software and less popular (bit still known) good software…i would nevr go for ie’s crappy rendering madness…NO WAY…

"my kit"

AHH! I actually have no idea how to develop this kit. I conceptually understand the process but I don’t know a programming language yet. I want to learn Objective C though (because I wan’t to develop a restaurant reservation program for Mac)

i have no idea either…thats why i talk so much…i know enough c++ objects to get me started and with enough pations can build a gui app in beos…i also know some networking at c level…but im no expert…

if you really want to you can do it…it will take you a long time…but its possible…i think you can build it in objective c++…not shure but i think beos was build in c++, except the kernel…

coding is mostly about spending time to raed…NOT remembering function names…you need a good khtml refrence and api…a good undestaing how kits/servers work aare made…the midi/translation kits/servers are probably the easiest i think start looking at that…i have no idea…anyeay…some suggetions…i have no idea…i would like to helpbut im not very superconfigend and not much time…but i could do stuff…i know programming enough for me to like it ;p

and i still like gecko…reminds me of fallout 2 hehehe

Assuming that the Haiku browser will be implemented as a special BView, how will developers control it? I would assume that the basic BHtmlView would be created by passing a basic HTML page, in a really large string, to the constructor or similar. However, how would a developer pass externally linked files, like CSS stylesheets and Javascript snippets? For most things, it would probably be possible to just make a single file HTML, such as for help pages, but most Internet web pages aren’t made like that.
So how would this BHtmlView be passed external files?
–Walter Huf–

ar1000 wrote:
Windows is more popular to — why don't we just use that. The challenge is to find the better web engine not the most popular, I think the better one is KHTML. It is streamlined and more standard compliant.

Philosophically, I think it’s a bad idea to challenge too many standards at once. As you point out, Windows is more popular – which means that we are already breaking a standard, as it were, by doing something different. That’s a tough enough hurdle all by itself. Any additional standard-breaking means that we’re just piling more hurdles on top of each other.

Consider productivity suites, for example: I love Gobe Productive dearly, and it will always, always, always be my first choice of productivity software. I dearly hope that Gobe gets going again, or the source code is released, or some other Haiku-like group of coding gods decides to reverse-engineer the thing. It’s just a beautiful program. I like it infinitely better than Microsoft Office, and vastly better than OpenOffice.

HOWEVER, it’s also completley alien to most people, who are stuck with Microsoft office. Some of them, inexplicably, even like it. Now imagine that you’re trying to convince one of them to use Haiku. Here’s your pitch: "Hey, check out this fabulous new operating system: it’ll feel kind of weird for a while, but once you get used to it, you’ll find that it does everything faster and easier and better than Windows does."

You’ll lose some people right away, and, well, those ones who are beyond help. But for the ones who remain, you’ve now got another pitch to make: "Oh, you’ll have to also learn this new productivity suite, which is vastly better but also totally different than your old productivity suite. And as for all your old documents… well, most of them should… kinda… import…" That’s a much bigger hurdle, and you’ll lose most of the rest of them at that point. And that is Haiku’s loss, not just Productive’s.

This is why, even if I don’t like OpenOffice very much, it is essential that it be ported over to Haiku. That way, your second pitch can be: "here’s this Office Suite which is 100% compatible with all of your old documents, and has nearly the same interface and workflow and everything!" That’s a much, much easier sales job. Of course Productive will still be around, and the ones who are smart can catch onto it later. Gotta fight your battles one at a time. I think in the above example, it’s quite obvious why.

Now, when it comes to a HTML layout engine, it’s a much more subtle thing, but this dynamic is still at work. I don’t know anything about how it is to work with KHTML vs. Gecko on the backend of a system, so I can’t address that issue. And I can say that, from the consumer’s point of view, as long as they produce the same output, it doesn’t really make that much of a difference. However, from the perspective of a web designer, I can say that KHTML makes me a little nervous, simply because I’ve never validated any of my pages against it. It isn’t enough of a factor in the market to worry about. So that’s one consideration. Particularly if we’re aiming for Haiku to be accepted in a business environment – and I think there’s no reason not to aim that high – it’s very important that the business be assured that it is seeing exactly what everybody else is seeing.

Another consideration is: how many developers are used to working with Gecko? How many are used to working with KHTML? If one has a much larger number of developers, then that is the one that Haiku should almost certainly use. That gives us a larger base of programmers to recruit from. We can say: "hey, why don’t you develop web applications for this cool new operating system? And look! You can use the same HTML layout engine that you always use! There’s hardly anything new to learn!" See how that’s a much easier argument to make?

Once Haiku has enough users and developers and overall momentum to start throwing some of it’s own weight around, it’ll be another matter. From the beginning, a program should request the particular HTML engine that it’ll be using. If it becomes obvious that a home-grown HTML layout engine would be superior, that can be added on later. You can go ahead and break compatibility, because new and updated applications will have to request the native engine directly, while old applications still use the old engine. That’s a little bit crufty, admittedly, but there’s no reason why it needs to be that way for long. The great thing about free and open-source operating systems and software is that there is never a disincentive to upgrade, so (unlike, say, Windows) there’s no need to keep kruft hanging around forever (except perhaps to support legacy hardware). After a Moore’s generation, the older engine can thus be removed from the default Haiku installation.

All true — but the fact remains that if Haiku is setting out to do something as ambitious as create an OS, it may as well use components that are as strong as possible. Gecko is more forgiving, but KHTML is more predictable and supports more standards. It is currently the only engine to correctly render (pass) the acid2 test. Haiku seeks future adoption and growth so it should use a rendering engine that 1) Is growing in popularity (yes. . it is) 2) Is the most standards compliant 3) Has a stable backing force (a strong community in KDE and a corporate development in Apple Computer). Gecko might take a month less work but in the end, the engine will be less impressive than KHTML. I can’t force it to happen of course, but I would like to see Haiku develop a stable, well os-integrated fork of KHTML.

skybum has a point

plus to be honest…i stil stick by my decision to use firefox. hehe…i never get tired of saying it. because 1. its already made, you don’t have to redo it. 2. its made by smart people dedicated to only making browsers (these peopele know what their doing) and 3. its used by lots of people or enough for me to get help.

but on the other hand, its cool making a browser cause i learn how to program, learn how to build a browser…

the only reason im not using linux is beacuse i don’t have photoshop. and the prices of macs scare me.

if you look closely linux is starting to copy windows interface. why? becuase its trying to steal people away from windows. haiku’s advantage over linux is the gui! that’s it. few tweaks and will look like xwindow/windows gui, which will corrupt people.

so my opinion is use whats already there, for now. and help out with the really important things for example server app, drivers.

fanton wrote:
haiku's advantage over linux is the gui! that's it.

Really? Come on, that’s a large leap of faith there.

fanton wrote:
skybum has a point its made by smart people dedicated to only making browsers (these peopele know what their doing)

Good point.

I still hopes that will be the same with haiku.
Development of a high quality OS, not development of all kinds od programs.