[haiku-development] Re: Haiku, Qt and apps, oh my!

  • From: Karsten Heimrich <host.haiku@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 29 Mar 2009 18:48:04 +0200

Hi Christoph,

Christoph .J Thompson schrieb:
On Sun, 29 Mar 2009 14:53:21 +0200
Karsten Heimrich <host.haiku@xxxxxx> wrote:
Hi,

Christoph .J Thompson schrieb:
On Sun, 29 Mar 2009 00:03:27 +0100
Karsten Heimrich <host.haiku@xxxxxx> wrote:
Hi,

Matt Madia schrieb:
We just need to take steps to encourage new developers to use the Be
API when writing completely new software.
Why?

Since not all devs can live from just love and fresh air, some of them have to produce commercial apps to get money to buy food etc. (even if it's just pizza :) ). So that said, why should one be so dumb and choose a platform specific API to develop a new app tied for that OS?
Because their app will be a native app which is simpler, runs better/faster
Can you proof this?

It's obvious. For Qt to be portable it requires some form of abstraction layer
to work on all platforms.

without the all the portability bloat.
There is no portability bloat, it's all taken care of by Qt. I most cases there is just a simple recompile on the other platform needed.

It's true that the application itself probably isn't more complex. But
the bloat is in Qt itself because it does what the App kit and other
kits do already. Basically it's code duplication and an abstraction
layer.

Sure, I'm not forcing someone to write his app with Qt. But if you are serious about your investment, you can live with such a small compromise. And of course you are not forced to use it.

 It is possible that Qt is more comprehensive than all the Haiku
kits together at the moment. But I think it's better to enhance the
Haiku kits than using Qt in their place.
Portability is mostly only
interesting for corporations to minimize costs.
Let's take for example Wonderbrush, maybe the number one of the teen usefull apps available for Haiku/ BeOS. It probably does not use anything special thats only available on Haiku/ BeOS. I even bet he could have skipped a bunch of code since Qt provides way more then just a GUI layer.

But why would I want to use WonderBrush on any other OS than Haiku? The
main reason why I would want to use Haiku is because I find it better
than other OSes. Unless you are an OS affictionado I don't see why you
need to run several OSes. And furthermore I fail to see why you need
the same applications on all the OSes.

See next.

Assumed there would be a proper Qt port available, wouldn't it be silly to make it only available on Haiku again if Stephan is going to rewrite the thing? He would gain so much more from supporting the 3 major platforms and Haiku. He could still give it away for free on Haiku, while he would have an income from the other platforms.

He sure could rewrite WonderBrush with Qt. Then the Windows people wouldn't
care because they already have Photoshop, GIMP and Krita. The Linux/BSD
people wouldn't care because they already have GIMP and Krita. However
considering that Haiku promises to be much better than
Windows/Linux/BSD/MacOS X altogether, WonderBrush would be the best app
for image editing on Haiku which would be a good reason to pay for it.

So theres exactly the point.

If I would be a graphics designer, I would be glad to run WonderBrush at work and at home on my beloved OS. I'm sure that would be easier then convincing my employer to run an untrusted OS, not capable to perform in cooperated environment just because i know WonderBrush is the best tool out there but simply runs on that platform.

For me its a bit different, I'm forced to run Windows and Linux at work to do development, while at home I run Linux and Haiku. Wouldn't it be nice to have one IDE to develop on all platforms? I would be much more productive this way.

I really don't see what anyone gains from a program being able to run on
several platforms.
Income for the dev? For the user knowing the app and feeling comfortable even if he uses it on a different platform? No need to learn different apps while switching the platform?

If I am satisfied with the apps on other platforms why would I want
to switch to Haiku in the first place?

Not sure. Why would you?

What's important is what you can do with a program,
and how efficient it is when doing what you need it to do.
Sure i wouldn't write the Haiku About with Qt, but what about an Word processor? Why would you spend month, maybe years to get something going when you could collaborate with 10 times more devs to have a proper platform independent solution. Not only you as dev would gain, also the user since it would be tested by thousands more and thus be more stable and feature complete.

It would be better not to do that,

Well, then you have to live with the fact that you have to boot a different OS at some point in time to be able to use a proper Word processor. Or do your work online, where you even can't control what happens to your data.

if not Haiku as a platform will just
become another Linux distribution. One of my pet hates about Linux is
the fact that in order to do anything useful (on the desktop) with it
you need to have Qt3, Qt4, Kdelibs3, Kdelibs4, Gtk+, Gtkmm, WxWidgets,
libgnome[*], python, ruby, perl, mono, lua, guile, java, vala, swig,
gstreamer, xine, ffmpeg, libaudiofile for this, libsndfile for that,
libid3tag for this, taglib for that and id3lib thrown in for good
measure. gnutls? openssl? anyone? ^^ Why did this happen? Because the
devs used what was more convenient to them. To not end up in this hell,
I truly believe it's vital to enforce to the utmost the usage of the
native APIs.

But whats your point here? Imaging I would write a Media app, capable to handle all the task a user expects from such an app. Even if it would be an native app, would you force me to implement id3 tag handling, freedb lookup or whatever native as well? Every time someone implements such an app? Just because you fear to have a bunch of libs on your system? It's all about the OS and how it handles dependencies.

Regards,
Karsten

Other related posts: