The Haiku alpha is barely out the door, and we already have another important news item about the open source reimplementation of the BeOS. About 18 months ago, Evgeny Abdraimov started porting the Qt4 graphical toolkit to Haiku, and now, we ave some seriously epic screenshots showing a multitude of Qt4 applications running in Haiku, as well as a developer preview release.

Well, in reality, it would be counteractive to their OS efforts to port all of KDE. However, like the KDE on Windows or KDE on Mac efforts that are underway, it should be relatively easy to port the application suite. Additionally, like KDE on Windows, for example, which shows the OS's default file dialogs, the same integration could be achieved for Haiku, or any other Qt-supported OS.

Anyway, I'm sure that there are a few KDE 4 apps that would be useful on the platform, and there's no technical limitation on porting it, so it's just a matter of time. If someone does it, send me screenshots/info and I'll personally look after abusing the KDE marketing machine to promote the Haiku platform as another host for KDE

a) Nobody ports Cairo which is needed by Bezilla 3
b) Webkit porting is not finished and probably its authors don't have a lot of time
c) Bezilla 2 is obsolete and really slow (not a port fault anyway)

Sad but true, I hope a native Webkit will come *very* soon or I was right with the Mockup operating system project I've canceled.

The Webkit port is in development, but it's a big project. I don't see how this is at all related to your Mockup project. Seeing as Haiku is still in heavy development and some way away from a stable release, Firefox 2.x and Arora will make do for the time being.

Anyway, this is fantastic news. Hopefully KOffice makes it over soon as this is an area in which Haiku is sorely lacking and there is no other quick fix for. Amarok would be nice as well. Obviously native applications would be preferable this is a good, practical solution to one of Haiku's biggest problems. It should allow for an updated VLC port too.

What I'm saying here is that we'll have to wait a lot of years to have the same quality and quantity on native Haiku apps.

In the meanwhile we'll end up using Qt4 apps just like we can do on Linux so what's the point on using Haiku?

Qt4 port is fine indeed, for example if the patch will be included in the official tree Haiku will be an official supported platform and we could get some large multiplatform applications on our system.

On the other hands I seriously think that if people won't start working on native applications soon it will be a problem later.

In the meanwhile we'll end up using Qt4 apps just like we can do on Linux so what's the point on using Haiku?

maybe the fact that unlike linux (with the plethora of distributions based on it, sometimes even unable to run binary applications deployed for some-year-old versions of themselves) haiku is a unified desktop platform (which btw has binary compatibility with applications developed and deployed on the BeOS ten yars ago, as its goal)
maybe the fact that, unlike linux (which maintains generality at the cost of case - optimized functionality (*) in its attempt to be everything for all kinds of devices), haiku is born to be none other than a desktop OS - and then (besides facing the user with more simplicity and visual consistency), can be, and is being optimized for desktop usage, since assumptions can be made (even if these would mean implementing desktop specific mechanisms in the kernel (**))

(*): case in point, local message based IPC, implemented over plain sockets in a userspace daemon, while other OS's implement it as a kernel primitive and base the C-library 's sockets on it - or the scheduler, having to rely on heuristics to determine whether a process is interactive, or having no means at all to determine whether a process is running in the foreground or background - both things a desktop native OS "knows" explicitly, should developers choose to leverage this with scheduler optimizations
(**) an example of this is in the icons - stored as compact vector data straight in the inode metadata (saving both space and read passes) - not that such a feature can't be implemented on linux, but it would require much more than a kernel patch...

or, maybe the fact that, unlike linux (where inconsistencies are found at all layers) a unified AND desktop oriented platform like haiku has an inherent higher consistency, both internally and towards the user - and a higher chance of keeping that consistency with the addition of a second API alongside the native one (granted the former is correctly implemented and applications behave/feel -even more importantly than "look"- like native ones)

that is, maybe that for third party application developers (besides users) haiku proves a better QT platform than linux, all in all ...

As the only thing that matters is "which one is faster", are there benchmarks that show notable performance benefits for Haiku message based IPC vs. Unix Domain sockets?

(BTW, They are not plain TCP sockets on Linux/Posix either).

Micro-benchmark are easy to do but they don't really matter, what is much more difficult is to show that it matters 'in real life'..
Case in point: MacOS X has very slow system call (Mach), yet I don't hear many users complaining..

No, really you don't. Your comment reflects a somewhat warped world-view. Qt is a toolkit for those who want a multi-platform code-base, rather than a paltform-specific codebase. So, yes, it does reflect a desire to have code that doesn't just run on Windows, but might also support Linux or Mac OS... but that doesn't mean that it's any more specific to Linux or Mac OS than it is to Windows.

Think about the VirtualBox GUI. I think they use the same Qt GUI on Windows and Linux. There you go: not a Linux app, but a cross-platform app that includes both Linux and Windows as a target.

These three russian guys spent a lot of their spare time (I think so, because Haiku is not a commercial platform in any way..... yet) to port one of the best GUI toolkits available to their favorite platform and you kicked their a**es? If you do not want Haiku, please do not use it; if you do not like Qt applications running on top of Haiku, enjoy your "native world with no applications" then... but the effort of these people is admirable and should be recognized by the community.... "Thanks" is a really nice word that everyone here should say to them....

yup. Haiku is about freedom and choices. Now haiku itself won't have several haiku api's and DE's. Haiku has just one to call its own. Everything within haiku will be nice and clean and under control. But apps outside Haiku can't be expected to meet the standards and wishes of the Haiku devs.

What Haiku can do is provide some sort of 'certification' for quality apps that use native api's and features. This way the user will know what to look for and be in a better position to choose apps that show off Haiku.

If it's the look-and-feel, write a custom Haiku style.
If it's just slow, make it faster.

It's not only about speed and look.
You may get the 'look' somewhat right with a custom theme, but not the 'feel'. The app will not use the non-blocking multithreaded GUI. Little things like the scrolls, shortcuts, menus, button positioning, the messages, etc will work slightly differently. It will duplicate the functionality of the Haiku Kits resulting in more bloat. It may not have features that Haiku users will take for granted (like support for many image formats through the Translator Kit or proper localization through the locale kit).

It's great to have Qt as more applications are much needed, but I hope this won't hamper the development of native Haiku apps.

This is huge! Getting a working Qt port will bring a myriad of applications to Haiku, and will surely make more people interested in doing development of applications for Haiku aswell. And with this developers release i can absolutely see this port becoming a reality.

Qt is definitely the toolkit that fits best into Haiku with it's elegant (and somewhat similar to Haiku) design.

What will be more controversial i think is that this will surely bring up the question of whether kdelibs should be ported as well to gain access to all the applications written with class names beginning with K instead of Q. Is there a slippery slope into becoming a custom kde desktop?

I am worried that this will further discourage developers from developing native apps for the platform.

We saw a similar thing happen with OS/2 Warp. Because it could happily support windows 3.1 apps, no one bothered making native ones.
Making a 3.1 app meant it worked on more platforms for the same dev time. In the long run, this killed off OS/2, I don't want to see the same happen to haiku...

You still have to compile the program to run on Haiku. It's not like some universal binary will be floating around. The OS/2 analogy is a bad example; save that argument when Wine is ported over. In the meantime, Haiku instantly gets the awesome Arora browser, which has been my browser of choice for the past month.

As a developer I would not care about the BeOS frameworks if my application is QT based.

If all functionality that my application requires is provided by the framework is already there, why should I look elsewhere?

This is exactly the problem of multiplatform GUI development.

If you want to take advantage of what makes a certain platform unique, your application will be tied to that system. If on the other hand you want to make your application work everywhere, then you have the problem that your framework can only provide common features.

As a developer I would not care about the BeOS frameworks if my application is QT based.

If all functionality that my application requires is provided by the framework is already there, why should I look elsewhere?

Personally (and I hope to no offense) I hope you don't care about Haiku if you are a QT based developer. I really don't think this is about you if you are already a happy KDE developer, this is about something else altogether. This is about the applications.

As much as I love my Ubuntu desktop I am aware that (thanks to the tireless efforts of Linus Torvalds to cut out developers like Con Kolivas) Linux is not intended to be a desktop operating system, it is intended for servers. Haiku on the other hand has always been intended as a desktop operating system from the start and has performance to match. What the porting over of QT does for us is provide Haiku with the necessary applications any desktop operating system needs to survive.

Thanks to the efforts of FOSS desktop application developers there will be no chicken and the egg issues on other free operating systems like there were in the past for Linux.

moondevil asked...

If you want to take advantage of what makes a certain platform unique, your application will be tied to that system. If on the other hand you want to make your application work everywhere, then you have the problem that your framework can only provide common features.

Which is why I consider these applications to be a stopgap measure. They will eventually be replaced by better applications written for the Haiku platform itself and as such they will perform better and work better than the ports do. The whole pervasive multithreading was always more than just being buzzword-compliant you know...

How can 'simple' ports of QT applications possibly stand up to Haiku applications written to be able to take full advantage of the possibilities Haiku offers?

As much as I love my Ubuntu desktop I am aware that (thanks to the tireless efforts of Linus Torvalds to cut out developers like Con Kolivas) Linux is not intended to be a desktop operating system,

Let's refrain from spreading disinformation. Con did some interesting and important work in bringing completely fair scheduling to Linux. But his scheduler had problems... which is OK. But his attitude was that the people reporting the problems were corner cases and didn't matter... which is not. Linus told Con so in no uncertain terms. Con threw a hissy fit.

Ingo Molnar decided to do more than just talk and wring his hands regarding the issue. He wrote a new completely fair scheduler, which also had its problems at first. But Ingo took on a more responsible and "work with" attitude toward the bugs and his users. Linus selected Ingo's scheduler because of that, and said so. Petulant Con took his ball and went home, but not without posting one last drama piece on the way out.

Of course, recently he has made noises suggesting a return. And early indications suggest that he intends to bring the drama with him.

Let's refrain from spreading disinformation. Con did some interesting and important work in bringing completely fair scheduling to Linux. But his scheduler had problems... which is OK. But his attitude was that the people reporting the problems were corner cases and didn't matter... which is not. Linus told Con so in no uncertain terms. Con threw a hissy fit.

That's not what it looked like to me when I went back and read through the kernel mailing list.

As for Ingo Molnar, as far as I can tell the only reason he was selected was because he was already in the clique. The scheduler he provided did not really help all that much in making Linux work as well on desktops as it does on the big iron. If I were spreading misinformation I'd claim that Molnar "stole" his scheduler by aping Con's work. I did not and do not claim this--not even Con says this. There is no misinformation here.

I just understand that Linus has made it quite clear oiver the years where his focus is--and that is not the desktop.

Which is fine, really, because it means that all projects like Haiku have to do is provide a better desktop oriented operating system and the users will follow them. If the user drain gets large enough we might even see some changes in how responsive the Linux desktop becomes... Ah the joys of competition!

Meanwhile, as I said we have the large pool of FOSS applications from which Haiku can draw and obtain those necessary basic applications until such a time they can be either forked and rewritten as native or native applications are written capable of taking full advantage of the Haiku framework.

No matter what happens the user wins!

Just understand that people will go with what works best on their hardware, so if Linus is more happy fiddling with 4096 CPUs instead of making basic stuff like flash work, well people who want the flash to work will go elsewhere.

Which is fine, really, because it means that all projects like Haiku have to do is provide a better desktop oriented operating system and the users will follow them. If the user drain gets large enough we might even see some changes in how responsive the Linux desktop becomes... Ah the joys of competition!

[snip]

No matter what happens the user wins!

Just understand that people will go with what works best on their hardware, so if Linus is more happy fiddling with 4096 CPUs instead of making basic stuff like flash work, well people who want the flash to work will go elsewhere.

I think you make a very good point. If Haiku manages to get traction as a desktop OS in a way that Linux hasn't, or manages to draw third-party or, gasp commercial software development in a way that Linux hasn't, then the developers of Linux and Linux distros will probably notice, and hopefully change the way they operate in response. A little competitive pressure in the Free OS space will probably have a good effect on the players that are already there.

I had some contact with BeOS back in the day, and still have the old R5 CDs somewhere.

My comment was more to emphasis that contrary to what many people think, multiplatform toolkits also bring problems.

For example, lets say you are targeting MacOS X, then maybe your usage of some CoreXXX APIs is what will set your application from the rest. Or if you are targeting Windows, maybe there are also some Win32 API calls that will make your application shine, when compared with the available applications.

For example, lets say you are targeting MacOS X, then maybe your usage of some CoreXXX APIs is what will set your application from the rest. Or if you are targeting Windows, maybe there are also some Win32 API calls that will make your application shine, when compared with the available applications.

This is of course an experience that cannot be made multiplatform.

Sometimes you can only target a specific platform.

I just have to correct this, because for some reason this is a mistake I see so often from people when talking about cross-platform toolkits (most recently Google made this mistake).

Just because you use Qt doesn't mean you can't put in platform specific stuff. I have apps that run on Windows, Mac, and Linux using Qt. 98% of the code is cross platform using Qt. On Windows there is platform-specific code to do things like speech synthesis and some specific Windows behaviour that's not in Qt. On Mac I have mac-specific code to integrate into system services like spell checking.

Qt doesn't stop you from adding platform specific code to integrate into the environment. If a cross-platform toolkit doesn't provide 100% of people's needs, they seem to be inclined to throw the baby out with the bathwater and just start from scratch. We'll I'd much rather share 98% of my code between platforms than rewrite the UI on every single one.

I partially agree with you, but only when it makes sense to re-implement the missing 2%.

Just for the sake of the example, lets say your application makes heavy use of OLE/COM in Windows. What would you do in another platforms, implement it from scratch? What for? No other application would understand it.

Or your application makes heavy use of the BeOS filesystem metadata. How are you going to provide similiar funcionality in another platforms?

Just for the sake of the example, lets say your application makes heavy use of OLE/COM in Windows. What would you do in another platforms, implement it from scratch? What for? No other application would understand it.

Well what are we using COM for? To allow other applications to control/embed ours? Then we can use Apple events or whatever the equivalent is on OSX, and dbus on Linux.

If we're embedding some OLE app into ours, then that might be a feature we can only offer on Windows. Not the end of the world.

Or your application makes heavy use of the BeOS filesystem metadata. How are you going to provide similiar funcionality in another platforms?

Fake it with an internal database. Whatever, this is completely beside the point. If you didn't use a cross-platform toolkit, you'd be implementing 100% of the functionality on each platform, including that difficult 2%.

Of course there are certain apps that are so dependent on the unique features of a certain platform that they make no sense on others, but that is the extreme minority, and not the subject of this discussion. The whole point here is how to make cross platform apps with minimum effort, while still fitting in on each platform.

That's very much a false choice. Part of your application can use platform-neutral Qt code and part off the application can be platform-specific. In that case, whenever you port to a new platform, you only have to re-write the (ideally small) platform-specific bits. This arrangement makes porting easier, and it makes it much easier to keep the code-bases for the different platforms in sync.

There's a quote from Arthur C. Clarke that went "A faith that cannot survive collision with reality deserves few regrets."

IMO, the same principle applies to alt. OSes and ported applications. Apps written using the native API(s) will be better integrated with the OS, more consistent with other apps on the OS, etc. If those advantages aren't sufficient to make native apps more compelling than their ported equivalents, then that OS is probably "worth few regrets."

If you want to take advantage of what makes a certain platform unique, your application will be tied to that system. If on the other hand you want to make your application work everywhere, then you have the problem that your framework can only provide common features.

That's not entire true, you can use the framework as a gui for you multi-platform app, and for taking advantage of the used OS you can use OS DEFINES procedures.

That said, a lot of apps do not need any OS advantages, so it's fun to have an application that can be compiled on Haiku, Linux, Windows & MacOS (or others) just the same.

If someone would like to port freepascal (should be easy, foundation for BeOS is in the source)/lazarus (This is the hard part) to Haiku, it would rock my day ...

Porting of framworks such as QT will make it easier for developers to port QT applications.
I doubt many will write a dedicated Haiku app in QT.

My fear is that the platform will be completely reliant on ports rather than applications being natively developed. If no apps are native then the benefits of this platform won't be taken advantage of.

I hope not. Haiku has it's own UI and doesn't need KDE or another desktop environment. And Haiku has a nice coding team vith a good vision. I don't want Haiku to became like Linux with 10000 distribution, 10000 desktops, 10000 window managers, 10000 libs that does the same thing.

You don't have to run the entire KDE desktop environment (KWin, Plasma, etc.), that would be silly IMO. But KDE does have some great applications (Kate, Kopete, Konversation, KTorrent and Bomber come to mind).

I hope not. Haiku has it's own UI and doesn't need KDE or another desktop environment. And Haiku has a nice coding team vith a good vision. I don't want Haiku to became like Linux with 10000 distribution, 10000 desktops, 10000 window managers, 10000 libs that does the same thing.

First of all, I'm not aware of any technical reasons why the Haiku applications using the port of Qt4 should - once it's completed - behave more alien than the geniune article. In the end, Qt can be considered a rather thin abstraction layer above the native GUI, input server, etc. . Sure, it will be interesting to see how good phonon, solid et al. will be able to abstract away the corresponding interfaces given that Haiku is a somewhat different beast than your typical *nix plattform, and there is also always the problem of developers having to adhere to - sometimes contradictory - HIG and look&feel conventions, but this is nothing that can't be overcome by a dedicated and knowledgeable team of developers. Moreover, taking the "haiku native, or bust" line of argumentation to it's conclusion, all efforts to port GTK+, wxWidgets, and - heaven forbid - Java would also have to stop.

Furthermore, you can run KDE or Qt applications nicely on top of Windows (and increasingly ReactOs too), without having to drag concepts foreign to the hosting platforms like custom window managers or "desktop environments" along. And while I applaud the haiku devs for their efforts and try to defend them whenever Linux or *BSD users question the prospects of having another alternative OS, they will have a hard time winning me over as an user, if I'm not able to either take my working environment with me (and that consists atm of mainly KDE4 and Qt applications) or if they at least provide an adequat replacement for all those apps that I - and other potential contributors, because, let's face it, this is what Haiku needs in order to sustain organic growth - need.

I don't see a native replacement for Kate/KDevelop (or code::blocks, etc.) on the horizon. I'm also not aware of viable native alternatives to vlc, scribus, koffice, digikam, amarok, marble, kile, kdenlive etc. . At the risk of triggering another puritist vs. pragmatist discussion, but isn't it better to allow potential developers and contributors to use cross-plattform applications (esp. if they are - in the case of KDE4 and most Qt applications - written with cross-plattformness in mind from the very beginning) than to have them leave for greener pastures (or never come to your corner of the FLOSS playground, for that matter). Furthermore, even if native applications start to address these needs, not sharing code in the form of yet-another-1000-libraries-that-all-do-the-same with existing projects like for example koffice, akonadi, etc. would be pretty stupid given that developer time and coffeine are the two most scare ressources in FLOSS development.

Lastly, as a developer using Qt for most of my work, Haiku would become a lot more attrictive as a target plattform at once. It would also be a lot easier convincing the head of our department considering Haiku as an plattform for our embedded computers if the support of this additional plattform could be done with very little additional costs and manpower (provided that the Qt port is kept up to date and is fairly complete. Having KDE recognise Haiku as an official target plattform would help on both of this goals, btw.).

Haiku has never been about being multiplatform or supporting multiple toolkits. This notion frontally contradicts a lot that Haiku has stood for from the very beginning: a compact, lean and mean system, consistent throughout by means of a single API that is both clean and complete (please, read the general FAQ on the Haiku website). This position is in clear contrast with the more complex landscape of mutiple toolkits, DEs, multiple layers of abstraction, etc. that, IMVHO, perpetuate the complexity of Linux on the desktop.

In this context, opening the gate to multiple toolkits would be taking the Linux road, and would signal the beginning of the end of Haiku how it was originally thought out to be. It will also most likely make the native API irrelevant, as nobody will care to use it in the end.

When/if that happens, Haiku is not compelling anymore, and it would become hard to find a valid reason why anyone would want to run in Haiku apps that already run, are more up-to-date and better supported than on Linux; such a scenario would only make Haiku another uninteresting "me too" OS.

Haiku can only become compelling if it has something fundamentally different and better to offer, and offering the very same user space stuff as other more mature platforms will not cut it. Only through native apps that take advantage and expose the unique qualities of the OS (multi-threadedness, extended attributes, data translators, media kit, etc. etc.) to the end user can take you there, even if it takes many more years (which it will).

I do understand the logic behind the desire for something like Qt, but I think it is being driven by an understandable but short-sighted impatience to have more apps in the short term than to stick to the project's original long term vision to develop Haiku into the unique platform that it was set out to be in the first place.

There's another API that's even less responsive and even more inconsistent than any of these other APIs and that's the web+javascript. So if the choice isn't between haiku apps vs qt apps, it will be haiku apps vs google docs running in the browser.

First of all, I would like to say that the geek in me sympathises a lot with what you say in your comment.

With that being said, how can people who see this as a problem prevent such things? Because, and I'm extrapolating here from the comments on this thread and my personal opinion, a lot of people seem to find the prospect of running non-native Haiku applications ontop of an interesting alternative Os like Haiku pretty attractive by itself. It may not be what you or even the core developers envisioned, but since the operating system is licensed under a permissive FLOSS license, people will start to do what they always have done if they have the possibility and means to do it: They will start to tinker and come up with crazy and sometimes even scary ideas.

The problems and inconsistencies you describe are imho not specific to Linux (although the Linux family of OSes is a good subject to study these effects) but are to varying extents part of the whole software development process. If a foo does not provide means to achieve bar and if bar is even remotely related to foo and important/interesting enough for a sufficiant number of participants in the ecosystem, either foo-bar will be developed or somebody will start/port an alternative to foo. The cathedral method tends to stop working once you open the bazaar.

Short of trying to keep the "official" Haiku distro as close to the "vision" as possible and ignoring everything else that happens in this space (which would likely increase the number of distros around, if Haiku by itself is viable enough to generate interest beyond the spheres of BeOS enthusiasts) or trying to make Haiku so cumbersome to work with that nobody even thinks about developing / porting applications for it (which would be a tad counterproductive and does not always work as expected, cf. Symbian :-) ), I'm afrait that I see no way to prevent a scenario where Haiku can be used in ways not desired by the enthusiasts.

I don't think you are right. What does it mean "native"? Qt is a toolkit, and you can use it on BeOS pretty much the way you use MFC, Windows Forms or WPF on Windows. The vast majority of Windows apps is written using MFC not just straight, plain winapi. Does that became a problem for windows? No.

For me, "native" meanse more like natively compiled for BeOS as I not a BeOS purist.

I must add, Qt is a very good tooolkit and enables people to write very good qualityy software in a small amount of time.

They won't be integrated with the rest of the system, sort of Linux. Sorry but I will use Arora for sure until Ryan will complete the native browser but there's no future relying only on ports, in the long run it will hurt Haiku.

They won't be integrated with the rest of the system, sort of Linux. Sorry but I will use Arora for sure until Ryan will complete the native browser but there's no future relying only on ports, in the long run it will hurt Haiku.

If it were all about speed and memory footprint and size on disk, we were still using dos or maybe apps written in assembler on Menuet Os.

Sure, it's nice to have fast and responsive apps but not as a trade for functionality.

I am worried that this will further discourage developers from developing native apps for the platform.

We saw a similar thing happen with OS/2 Warp. Because it could happily support windows 3.1 apps, no one bothered making native ones.
Making a 3.1 app meant it worked on more platforms for the same dev time. In the long run, this killed off OS/2, I don't want to see the same happen to haiku...

OS/2 isn't dead (see eCS), but the reason it's less popular is because of IBM kicking out MS for refusing to abandon Win3.x APIs. Of course, then MS abandoned it anyways for Win32 for more control (although to be fair it's considered better anyways). OS/2 also lacked a lot of drivers, and IBM eventually stopped working on it. Plus, no offense to Serenity, but eCS is way too expensive (and buggy, sheesh, still no updated live CD .iso, old 1.2 won't boot for me).

So, no, compatibility is always good, that never killed any platform. It's when people start getting paranoid and stubborn, refusing to be compatible that things go wrong. Or do you really think nothing good ever came out of Cygwin, FreeDOS, DR-DOS, eCS, WINE, HX, MOSS, DOSBox, DOSEMU, EMX, RSX, DJGPP, OpenWatcom, etc.??

"We saw a similar thing happen with OS/2 Warp. Because it could happily support windows 3.1 apps, no one bothered making native ones."

here's how I see it. IBM wanted you to also buy their IBM PS/2. They didn't want drivers for non-IBM hardware.

Microsoft didn't care what PC you had: if their OS ran on many pc's it would be better for them. IBM's approach was doomed along with Amiga, Apple and all the others that didn't encourage open hardware.

I am very happy to see those news. I actually browsed around a few weeks ago, and found out an old news-item of Qt for Haiku - but it was so outdated, didnt make sense to me. Otherwise, I am interested to learn coding using the Beos API. Everyone has told me that it's something fantastic about it. Yet for me to investigate!

I tried it and it worked great. The Qt (webkit based) demo browser worked no problem and was a lot better than BeZilla, rendered perfectly, also tried a few games, the spreadsheet app, rich text edit and more. All worked without any problems except crashes when exiting the applications. Rendering seemed to be rather quick (though i tested it in a vm so rendering was "just as slow as everything else except bezilla")

I can understand how one can fear that this could impact the development of native applications, but I think this does more good than bad for Haiku. More applications for Haiku makes it more attractive to users - and with it, more attractive to developers who then hopefully will dive into Haiku's code and help with fixing and developing.

I guess now I have to port wxWidgets to restore the balance of power ;-)

Qt on Haiku, doesn't mean only Arora browser. It actually means Firefox 3+ and Open Office on Haiku, because Novell just ported Firefox and Open Office to Qt.

And once those are in, the system is dangerously close to being yet another Linux clone -- especially since, from what I've understood, much of Haiku's strength and uniqueness are in the graphics layer.

Qt abstracts away the way drawing and input events are done, by porting Qt to Haiku, the porters must have implemented Haiku versions of both. That doesn't mean you'll be able to use every cool-new-feature but it does mean Qt apps use whatever haiku is using.

Framebuffer drawing is going away anyways at some point in favor of vector drawing, thats my thought anyways, as multiresolution applications need to be able to scale their drawing abilities and hardware can do it much faster than drawing it all in software.

I'm sorry to disappoint, but we just did some peripheral KDE integration work - showing file dialogs, using preferred applications, etc. This is not a port of the whole app, just extending it with a few Qt bits

The main selling point of BeOS was its reactivity, which if I understood correctly was/is thanks to the 'pervasive' thread usage.
Would applications coded on top of Qt4 be as responsive as application using native BeOS/Haiku guidelines?
I doubt it very much, otherwise KDE would be as reactive as BeOS was, which it isn't (far from it).

So sure having Qt applications available on Haiku is nicer than not have them, but let's hope that Haiku won't need too many of those otherwise there wouldn't be much point running Haiku over running KDE/Linux..

I don't want to sound too harsh here, but if the technology of BeOS/Haiku is so great, then that ought to result in native apps becoming superior to Qt apps anyway.

Uh? Only if there are application developpers who cares about responsiveness.
Given that both Linux and Windows have responsiveness much worse than BeOS had (on much less powerful hardware), it's very doubtful that they care: it's not something easy to measure, so it's not easy to sell..

If Haiku is as promising as the fans say it is (and I don't entirely doubt them)

Fan are fans.. Yes BeOS was much more responsive that current OS are, this doesn't mean that they succeeded commercially and this doesn't mean that Haiku will succeed: I'd be delighted if it does, but I'm not holding my breath.

Well yes, that's what I meant really. If eg. responsiveness is all that Haiku native apps have to offer, then I would be surprised if that alone was enough to set them apart, especially if the apps are lacking in features and general maturity when compared to ported apps. If there are other technological advantages that native apps can make use of, then maybe that will be interesting.

You mention that responsiveness might not be a great selling point alone, which I would agree with. I had the same argument here with someone regarding disk footprint: if nobody cares about that so much then you may as well spend your developent time doing something they do care about instead. That's good tech, and that's what sells.

"I believe that the superior technology will win out in the end.

Yeah right! We are all using BeOS on Alpha CPUs.. "
As I've said elsewhere, I don't suggest this to be a general rule but in Qt apps vs. Haiku native I think this would be the case.

I wasn't stating it as a general rule, I was saying that if Qt runs on Haiku, then native apps will have to compete with that, and that it will be the superior technology out of those two that wins in that situation.

I don't even think that "superior technology wins out in the end" is so beyond argument (for a start, when is "the end"?) but that's not what I said, you have taken my quote out of context.

... but it would be even better if somebody made a BeAPI port to Linux/Windows. It would be absolutely awesome if one could recompile BeOS apps on other platforms. I believe that would actually boost the adoption rate and attract more talent.

What I've heard in the talk with one developer from the Russian trio, is that the Qt4-apps on Haiku works almost as fast as the native software and surpasses the Linux version of Qt 4 big time speed-wise. This is actually very nice to hear, because when you imagine ported software the performance factor is always relevant.

They still have to do some work on font subsystem and Qt theme integration for Haiku. But I'll be very pleased to use some Qt-based software while the native replacements is still in development. I see no sin or evil in this, because Haiku and Linux it's not the same.

That's nice to read but note that speed is very different from reactivity..
A good way to see this is that computers are much faster now than they way in BeOS days, but they aren't really more responsive with the 'normal' OSs that we use now.

What can I say? 3dEyes told me he almost didn't noticed the difference between native and Qt-software while he tested it.

Now I'm just happy that all Qt-related stuff is at least not slow and sluggish as someone said to me years ago. Seems like those words was total BS, especially for the Haiku Qt 4 port. Excuse me sir, I has to stand up and perform "The Happy Haiku Dance" right now...
:)

Sad day for Haiku. You're suposed to use the interface kit for Haiku/BeOS apps not [insert my favorite toolkit here]. If you're not satisfied with the interface kit, improve it. Using QT4 apps will make RAM requirement go up. And once a few QT4 apps are available no one will bother programming native ones. And soon we're back in the Linux rat's nest of stacking up software.

Well, what if we port gtk+, gnome, xfce, kde, lxde, xserver, mono, etcaetera to Haiku? Of course, we will one team who develops kernel, one team who develops feture x, one who develops y and one z. We will need some folks to make some distros, with slightly different kernel versions and patches, different desktops, different package managers and off we go.

"Stacking up software" isn't a bad thing. The problem with Linux is that the development of the various sub-systems isn't being coordinated, which is leading to a patchwork of imperfect integration and competition between multiple solutions to the same problem.

Sad day for Haiku. You're suposed to use the interface kit for Haiku/BeOS apps not [insert my favorite toolkit here]. If you're not satisfied with the interface kit, improve it. Using QT4 apps will make RAM requirement go up. And once a few QT4 apps are available no one will bother programming native ones.

That's just fear-mongering. You'll notice that Qt hasn't injured Mac OS X or Windows development, even tho it's available for those platforms. Apps that target Haiku will still be written using Haiku's native toolkits, in all likelyhood; all the availability of Qt is going to do is make it easy to make existing multiplatform apps that already use Qt available for Haiku, too. And make it easier for developers to move to Haiku. Neither of which are bad things.

one difference is that windows/mac api's are already well developed and qt just adds multi-platform to the mix. Haiku's api is very primitive compared to QT and people may use QT for those features rather than wait for a more robust haiku api.

the other way of looking at it is that QT would be a foundation for a new Haiku api. The haiku api will probably need to be completely overhauled and having qt on haiku means that people can play with some of the concepts before finalizing a new api.

[quote="boldingd"]
"Stacking up software" isn't a bad thing. The problem with Linux is that the development of the various sub-systems isn't being coordinated, which is leading to a patchwork of imperfect integration and competition between multiple solutions to the same problem.
[/quote]

The problems you mention are not the only ones, there's also the problem of there being too much OS portability cruft. For ex. if I use Linux, I want a desktop environment that is custom made for Linux, not one full of portability cruft, abstraction layers so it can run on every platform (that I don't care about) in existence. That's also part of the "stacking up software" problem.

[quote="boldingd"]
That's just fear-mongering. You'll notice that Qt hasn't injured Mac OS X or Windows development, even tho it's available for those platforms. Apps that target Haiku will still be written using Haiku's native toolkits, in all likelyhood; all the availability of Qt is going to do is make it easy to make existing multiplatform apps that already use Qt available for Haiku, too. And make it easier for developers to move to Haiku. Neither of which are bad things. [/quote]

The Linux desktop experience is totally *ruined* because of this, because of portability cruft, competing components, bad integration, incoherent mess etc... Also on Linux you have to learn "10,000" different styles of APIs to get something done as far as programming which is really substandard.

"
"Stacking up software" isn't a bad thing. The problem with Linux is that the development of the various sub-systems isn't being coordinated, which is leading to a patchwork of imperfect integration and competition between multiple solutions to the same problem.

The problems you mention are not the only ones, there's also the problem of there being too much OS portability cruft. For ex. if I use Linux, I want a desktop environment that is custom made for Linux, not one full of portability cruft, abstraction layers so it can run on every platform (that I don't care about) in existence. That's also part of the "stacking up software" problem.
"

People on this site are exagerating the problems with the Linux desktop and software stack. Sure, problems exist, but they're not nearly so extreme as people are making them out to be. I use Linux on a daily basis on two computers, I get along just fine with it, and the UI actually looks pretty damned good (well, on the Ubuntu one; the other's running RHEL4, so... old Gnome).
Another point is that "portability cruft" is only a bad thing if it's A) actually cruft - i.e. poorly written and B) you're not trying to do anything with the software that's in any way unusual. I'm not really even sure what you're talking about, as I can't really think of a good example of something in the desktop stack that's nothing but an unstable portability hack -- but, conceding the point that they do exist, one of the nice things about Linux is that you can do weird stuff with it, like run it off a live CD, or have three different Linux installs (and/or BSD installs, or whatever else) share the same /home/ partition. Or, move to a completely different processor platform and have most of your software available again with a recompile. Stuff that people who use OS's that don't have "portability cruft" might never even think to try.

The point being, you should stop running around screaming "HAIKU WILL BECOME LAYERED LIKE BORKENED LI-NUX!" like it's the end of the world. Linux (distributions) is (are) not suffering nearly so much for their layered design as you're acting like they are.

"
That's just fear-mongering. You'll notice that Qt hasn't injured Mac OS X or Windows development, even tho it's available for those platforms. Apps that target Haiku will still be written using Haiku's native toolkits, in all likelyhood; all the availability of Qt is going to do is make it easy to make existing multiplatform apps that already use Qt available for Haiku, too. And make it easier for developers to move to Haiku. Neither of which are bad things.

The Linux desktop experience, while certainly not the best it could possibly be, is also far from "ruined." See above.

Also on Linux you have to learn "10,000" different styles of APIs to get something done as far as programming which is really substandard.

I'm not an excellent programmer, or even a particularly good programmer, and again, I'm managing to get along pretty well. GTK actually offers a really nice, deep C API. The POSIX interface is, for the most part, quite approachable -- at least, in so far as I've used it. And if you'd like to talk about extreme programmer productivity... PERL.

In short: programming on Linux is not nearly so unpleasant as you're trying to make it sound -- at least, not for the year I've spent doing it; any of the much more experienced and knowledgeable people here are welcome to contradict me. Again, you're trying to make a cataclysm out of a success just so you can scare people into feeling bad about something you don't want to happen.

...I understand that all this makes Haiku more usable and if it weren't for porting code from BSD and other projects this Alpha version would still be a long way off. But it "feels" wrong to me.

BeOS was unique, it was beautiful. I wouldn't want another version of "linux" (not the kernel but the user space and apps) on top of another kernel... If that is the way it is going, perhaps Debian should take it over and simply plop everything on top of the kernel.

The Haiku core devs have taken probably all preventive measurements at their disposal to mitigate a scenario with 1000s of Haiku based and Haiku named distros somewhere down the road and to keep as much control over the core "distro" as possible, but ultimately, a number of competing Haiku distrobutions seems pretty much inevitable to me.

In the end of the day, a distro is nothing inherently evil but just a set of decisions regarding software/library and patch management, preferably, but not necessarily encoded into an easy to use form (e.g. an installation media, etc.). The more dissenting and/or mutual conflicting ways to answer the arising questions regarding these matters are possible, the more likely another distro will pop up. Even OSes like the *BSD's or Solaris are not imune to distrobutions being started, although the availability of a "reference" distro certainly helps to keep the number down.

Regardless, it will be interesting to see how the adventure of further cross - plattform toolkits (and you don't have to be a fortuneteller to predict the availablity of additional toolkits, frameworks, etc. once Haiku goes fully alternative-mainstream, people like to scratch their itches in ways that are already familiar to them. And people had all the time in the world to develop an astonishing asortment of scratching methods in the past) conflicts with the core developers vision of one "official" distro for Haiku.

There is already a built in way to prevent Haiku from becoming like Linux with all of the different confusing distros. It's in the name "Haiku". From what I understand, there is no "official" linux, so when people refer to linux, they could be referring to debian, ubuntu, redhat etc. But with Haiku, even if there were other distros, they wouldn't be "Haiku", so when people refer to Haiku, there is no doubt which one it is.

From what I understand, there is no "official" linux, so when people refer to linux, they could be referring to debian, ubuntu, redhat etc. But with Haiku, even if there were other distros

More precisely (at least as far as I have understood the situation, IANAL etc.) there is a Linux trademark which you have to license from Linus (or the linuxmark organisation, for that matter) in order to use the name "Linux" in your product name, with older cases of useage grandfathered in. So, if you want to call your product/distro "Super Linux", you have to get a license for the Linux trademark. "Supernux", "Supuntu", "nixisuper" are not affected by this regulation, nor will be anybody who refers to a hypothetical "Supix" distro simply as "Linux".

In the same way, there is afaik no way the Haiku devs can prevent (legally, that is) anybody from calling their distro "Haibuntu", "HaiQt", "Poem OS" etc. . And short of monitoring forums and newsgroups and correcting people politely who (erronously) refer to this (again, hypothetical, I don't want to be accused of giving anybody the incentiative to start one of these) distros as "Haiku", there is nothing that will prevent people to use the same sloppy name convention wrt Haiku distros that they tend to already use with Linux based operating systems.

if the Qt4 port is already working, I think porting QtCreator to Haiku is down hill right now. And if QtCreator can be easily been ported; having a good toolkit and having a good IDE opens a world full of new possibilities to Haiku!!

First of all, great work by the Russian developer. I think people should be really greatful for their effort.

Some BeOS user are just plain stupid, "don't destroy our OS by porting frameworks that aren't native". Why is this bad? There is no commercial future in Haiku in the next three years (or ever?), so why should a developer even consider develop native Haiku Applications?

QT Framework is a really good start, and it's probably much easier to move from QT to Haiku API than any other C++ api.

Does anyone know if QT is multi threaded?

For the Haiku developers, will there be a more plain C++ api in the future for Haiku? (If I remember correctly it was much C).

I was very surprised by the QT4 porting efforts and how far this has already come.

I like QT because it adresses a lot of issues you run into while trying to write software for different plattforms.

Of course "native" Apps are better and so on, but QT is very fast and I have no problems with using well done QT applications (like Opera for example). You can't compare it with things as slow as Swing for example.

And it surely will help porting software to HAIKU - so I think it's great news after all.