Amiga.org

Operating System Specific Discussions => Amiga OS => Amiga OS -- Development => Topic started by: Jose on February 12, 2011, 04:35:14 PM

Title: Reaction vs MUI (as what concerns the API)
Post by: Jose on February 12, 2011, 04:35:14 PM
Not at the user level so please no flamming wars :) I decided I'll take some time to slowly learn one of the APIs and would like advice on advantages/disadvantages of both regarding:
- User ability to make your own Boopsi objects and mix them with Reaction/MUI's own ones.
- Ability to modify Reaction/MUI's own objects to add features / behavious, just like you can do with subclassing a Boopsi object
- Compatiblity regarding AOS4/MOS/Classic. Think MUI is ahead on this one but the users had to buy the licence to run MUI on OS4 or something and it wasn't granted that development would continue. My memory is probably failing on this one but again, please no flame wars, just present the facts.

Thanks!
José
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 12, 2011, 05:06:00 PM
Thread moved from news section ;)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Kronos on February 12, 2011, 06:41:18 PM
- ReAction and BOOPSI ? Should work, just don't ask me...

- MUI has a special class for embeeding BOOPSI-Objects, pretty much straighforward (as far as that can be with raw BOOPSI)

- in MUI you can subclass every class (both builtin and external) and overload every function in that subclass with your own code. But there are allready plenty of good classes available

- ReAction is only available for AOS3.5,3.9 and 4.x (one might get away useing 68k-versions under MorphOS nut no avail for AROS)

- MUI3.8 (or better) is available for AmigaOS3.x,4.x and MorphOS. 68k and OS4 versions require a keyfile to use some configuration options but all MUI-apps works without. Under AROS one can use Zune which offeres some compability with MUI3.x (your mileage may vary)

I'll advice learning MUI:

- it's available on all Amiga-platforms
- it's far more widely used and accepted (maybe not loved by everyone, but still accepted)
- it's more matured
- it's better documented
- finding someone who could help you with problems is easier (as it's more widely used)
- more/better classes available (even if you discount some problematic ones) make developing complex SW much easier.
- MUI RuLeZ !!!
- looks better (not much of an achievment in that competition if you ask me)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 12, 2011, 07:57:10 PM
Quote from: Jose;615078
Not at the user level so please no flamming wars :) I decided I'll take some time to slowly learn one of the APIs and would like advice on advantages/disadvantages of both regarding:
- User ability to make your own Boopsi objects and mix them with Reaction/MUI's own ones.


You can do that but you rarely find any reason to use BOOPSI objects in MUI. BOOPSI objects simply are very archaic compared to MUI classes.

Quote

- Ability to modify Reaction/MUI's own objects to add features / behavious, just like you can do with subclassing a Boopsi object


MUI subclasses are powerful way to extend your existing MUI classes.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Cammy on February 12, 2011, 10:55:21 PM
I would never program for Reaction, what a laborious and unrewarding task that would be compared to writing something for MUI, which can be used on more Amiga OSs including Aros, MorphOS and AmigaOS 2. From the programming point of view as well as accessibility, MUI is by far the wiser choice, not to mention the configuration options to the user are second to none on any platform. MUI3.8 can still be registered online, and eventually Zune should replace MUI3.x on both OS3 and OS4 the way it does in Aros, and should have all the features of MUI4 in MorphOS.

The great thing about MUI/Zune is anyone can code for it and the interface should work on all Amiga systems, reaching the widest audience. You don't even need an Amiga to use it, just a PC running Aros will do. And Aros can run from a USB stick, so it's portable and you can test your system and programs on any PC without installing a thing on the hard drive.

Once Zune is enhanced to MUI4 standards you'll see much more useful and beautiful software ported to Aros, OS3 and OS4, like Ambient and Fab's OWB browser. We just need more poeple to donate towards the bounty: http://www.power2people.org/projects/profile/54
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Minuous on February 13, 2011, 01:35:51 AM
Wow, the MUI-lovers are out in force today :-(

ReAction is the official AmigaOS GUI, this applies to both 3.x and 4.x. If AROS and MOS don't support then that is a lack in those OSes. If those OSes didn't support eg. menus, would there be suggestions along the lines of "don't use menus"?
  ReAction software can run under MOS, it's just a matter of the relevant classes being omitted from the MOS CD for some reason. As for AROS, if/when the 68K emulation ever gets done then ReAction classes will be usable under that too. As it stands, AROS is missing huge chunks of functionality and isn't ready for prime time anyway.

MUI is a third-party hack and rather slow and ugly IMHO, requiring many extra files and not giving any benefit over ReAction. Another case of reinventing the wheel for no real purpose and forcing users to go download and install extra packages instead of using what is already present in the OS.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: save2600 on February 13, 2011, 01:53:30 AM
Quote from: Minuous;615159
MUI is a third-party hack and rather slow and ugly IMHO, requiring many extra files and not giving any benefit over ReAction. Another case of reinventing the wheel for no real purpose and forcing users to go download and install extra packages instead of using what is already present in the OS.
I pretty much expressed the same sentiment about MUI (especially the bit about having to track down files, being slow/ugly) and got flamed for it. Glad to see I'm not the only "uninformed" AmigaOS user or whatever I was called that day.  :lol:
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: jahc on February 13, 2011, 02:53:39 AM
Quote from: Jose;615078
Not at the user level so please no flamming wars :) I decided I'll take some time to slowly learn one of the APIs and would like advice on advantages/disadvantages of both regarding:
- User ability to make your own Boopsi objects and mix them with Reaction/MUI's own ones.
- Ability to modify Reaction/MUI's own objects to add features / behavious, just like you can do with subclassing a Boopsi object
- Compatiblity regarding AOS4/MOS/Classic. Think MUI is ahead on this one but the users had to buy the licence to run MUI on OS4 or something and it wasn't granted that development would continue. My memory is probably failing on this one but again, please no flame wars, just present the facts.

Thanks!
José

It sounds like you'd like to modify a fair bit, or create your own classes.  I just wanted to pick classes that could already do what I needed without needing to put in any extra work. I found that MUI had a nicer listview at the time so I ended up using that for most of my Amiga projects. Whatever the project is, I'd investigate and see which classes are available for Reaction and MUI, and see which fits your project best. Of course, if you want to be multi-Amiga platform, then MUI is the way to go. I didnt realise it at the time, but when you code stuff its good to make it as easily portable as possible.. some things get a bit intertwined, but if can seperate the UI from the business stuff (which I'm trying to do more these days), then it helps when you want to port stuff.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 13, 2011, 02:58:41 AM
Quote from: Minuous;615159
ReAction is the official AmigaOS GUI, this applies to both 3.x and 4.x.

Strange you should say that as just this very evening I booted up a NOS Escom A1200 with Workbench 3.1, which had "MUI-AT" drawer with a readme that said "MUI 3.2 Amiga Technologies Edition".

No Reaction in sight........

Karlos was here with me and can confirm this as it was he who noticed it first.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: mongo on February 13, 2011, 03:44:20 AM
Quote from: Minuous;615159
Wow, the MUI-lovers are out in force today :-(

ReAction is the official AmigaOS GUI, this applies to both 3.x and 4.x. If AROS and MOS don't support then that is a lack in those OSes. If those OSes didn't support eg. menus, would there be suggestions along the lines of "don't use menus"?
  ReAction software can run under MOS, it's just a matter of the relevant classes being omitted from the MOS CD for some reason. As for AROS, if/when the 68K emulation ever gets done then ReAction classes will be usable under that too. As it stands, AROS is missing huge chunks of functionality and isn't ready for prime time anyway.

MUI is a third-party hack and rather slow and ugly IMHO, requiring many extra files and not giving any benefit over ReAction. Another case of reinventing the wheel for no real purpose and forcing users to go download and install extra packages instead of using what is already present in the OS.


ReAction is based on ClassAct from Finale Development and was renamed and added to Amiga OS in version 3.5.

MUI was available 7 years before that.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: matthey on February 13, 2011, 05:05:11 AM
Reaction:
+ fast
+ small
+ expandable (boopsi objects)
+ integrated very well with AmigaOS
- not available on AROS
- not as many ready made custom classes or examples

MUI/Zune:
+ available on all Amiga like platforms
+ expandable (boopsi objects) with many available custom classes
+ very configurable
+ easy and fast to program
+ lots of documentation
- slow
- memory hog
- many different versions and classes make installation a pain
- user interface is non standard (e.g. PSI instead of standard screen mode requestor)

I prefer to use and look at Reaction. MUI is easier to program and powerful (more configurability and ready made custom classes). I hope that all Amiga platforms will support both at this point. I can't image doing without either.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 13, 2011, 07:42:24 AM
Quote from: Minuous;615159
Wow, the MUI-lovers are out in force today :-(

ReAction is the official AmigaOS GUI, this applies to both 3.x and 4.x.

Sorry but I dont remember any Reaction classes on my Workbench 3.1 install disks.

Quote
If AROS and MOS don't support then that is a lack in those OSes. If those OSes didn't support eg. menus, would there be suggestions along the lines of "don't use menus"?

You can download ClassAct/Reaction from Aminet for free.

Quote
ReAction software can run under MOS, it's just a matter of the relevant classes being omitted from the MOS CD for some reason.

There are no Reaction classes to omit. They never got written for MorphOS and I dont think we are going to see Reaction for MorphOS in the future. It just does not make sense when MUI is chosen as the official toolkit.

Quote
MUI is a third-party hack and rather slow and ugly IMHO, requiring many extra files and not giving any benefit over ReAction. Another case of reinventing the wheel for no real purpose and forcing users to go download and install extra packages instead of using what is already present in the OS.

I know bunch of broken 3rd party MUI classes, just like I know tons of Amiga software which only reboots your Amiga without a warning. However, how many 3rd party Reaction classes you have seen in last 10 years? Is it less than zero?

But anyway, real reason to consider Reaction obsolete is that creating UI with Reaction is laborous. You have to invent wheel again and again if you want standard features into your software and it still hasnt got out from this ID based eventloop hell.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 13, 2011, 07:45:01 AM
Quote from: matthey;615196
- user interface is non standard (e.g. PSI instead of standard screen mode requestor)

In MorphOS PSI uses the standard screen mode widget, the very same widget what screen requester is using ;-)

Do you happen to have a screenshot from Reaction screenmode widget?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Tcheko on February 13, 2011, 07:54:57 AM
Quote from: matthey;615196
Reaction:
+ fast
+ small
+ expandable (boopsi objects)
+ integrated very well with AmigaOS
- not available on AROS
- not as many ready made custom classes or examples

MUI/Zune:
+ available on all Amiga like platforms
+ expandable (boopsi objects) with many available custom classes
+ very configurable
+ easy and fast to program
+ lots of documentation
- slow
- memory hog
- many different versions and classes make installation a pain
- user interface is non standard (e.g. PSI instead of standard screen mode requestor)

I prefer to use and look at Reaction. MUI is easier to program and powerful (more configurability and ready made custom classes). I hope that all Amiga platforms will support both at this point. I can't image doing without either.


MUI : Slow? Memory hog? Do you have any numbers?

To make some factual statement, we need to write a GUI benchmarking working on both ui framework : Reaction / MUI.

For example, how long does it take to MUI / Reaction to create a window with 1024 buttons (32 x 32 buttons grid) and release all resources. The window shall be opened and then closed and application exited.

The test should be run on the same hardware (let say a Pegasos2) and execution time measured from start to end of program.

Another version of the program that exit on window close button should be created. This version is for memory test:
- avail flush
- run <>nil: memtestprogram
- avail flush

Compare numbers.

This would give a raw and rough estimation about which one is the fastest (for buttons at least). MUI button should be set to something that looks like Reaction button.

I can write the MUI program test... if anyone feel writing the reaction one.

Both sources shall be published for comparison. No custom startup code allowed. The only allowed optimisation is using gcc -O3.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 13, 2011, 07:57:51 AM
Quote from: matthey;615196

MUI/Zune:
[...]
- slow
- memory hog
- many different versions and classes make installation a pain
- user interface is non standard (e.g. PSI instead of standard screen mode requestor)


That was my impression too. But this is the user-level view. The original poster asked for the developers perspective. MUI fans keep claiming that it´d be so easy and flexible. I´d love to give my perspective on this, but I only coded GadTools and BOOPSI back in the day. I wrote a small Reaction GUI recently, but not enough to tell if it really has a serious advantage to the classic way of writing Amiga GUI, which actually was very straightforward and had all the gadgets my programs ever needed!!!!
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: matthey on February 13, 2011, 08:26:50 AM
Quote from: itix;615210
In MorphOS PSI uses the standard screen mode widget, the very same widget what screen requester is using ;-)

Do you happen to have a screenshot from Reaction screenmode widget?


PSI doesn't use the standard asl.library screen mode requester under AmigaOS 3.x. Reaction leaves it up to the programmer but most use the standard screen mode requester which follows the Amiga User Interface Style Guide. Maybe MOS does something different but then it isn't AmigaOS and has redefined the user interface also. I prefer the AmigaOS and Reaction way as it's straight forward and less cumbersome to open a screen.

@Tcheko
PSI takes about 5 seconds to open it's window with my 68060@75MHz. That's just sad. Enough said.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 13, 2011, 08:29:46 AM
Both suck immensely.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Tcheko on February 13, 2011, 08:47:14 AM
Quote from: matthey;615219
PSI doesn't use the standard asl.library screen mode requester under AmigaOS 3.x. Reaction leaves it up to the programmer but most use the standard screen mode requester which follows the Amiga User Interface Style Guide. Maybe MOS does something different but then it isn't AmigaOS and has redefined the user interface also. I prefer the AmigaOS and Reaction way as it's straight forward and less cumbersome to open a screen.

@Tcheko
PSI takes about 5 seconds to open it's window with my 68060@75MHz. That's just sad. Enough said.


Is it more 4s or 6s?

Perceived time worth nothing.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 13, 2011, 08:49:47 AM
Quote from: matthey;615219
Reaction leaves it up to the programmer but most use the standard screen mode requester which follows the Amiga User Interface Style Guide.

Problem is standard requester is not always what you want. You may wish to embed requester into your window or have custom options there.

Take a file browser as an example. With MUI's filepanel class you can attach standard file requester features into your software without using ASL requesters. It is useful for image viewers for example. If you use GadTools you have to build your own file panel using its crappy listview gadget.

Neither you can have your own GadTools widgets. Your only option is going BOOPSI which again leads you into Reaction or MUI.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 13, 2011, 09:14:08 AM
Quote from: matthey;615219

PSI takes about 5 seconds to open it's window with my 68060@75MHz. That's just sad. Enough said.


Btw I saw your comment on another thread. I think you didnt understand purpose of PSI.

PSI is used to manage public screens for MUI software. Instead of re-implementing screen settings into every MUI application you use PSI to define what screen is used for each program.

When I implemented my BBS offline reader using GadTools aeons ago I had to implement screen mode selector (button which opens ASL screen requester), public screen selector and manager to manage my public screens. And this all have to be re-implemented into every software. And of course every software impements it always differently so behaviour is not consistent. Only advatage is that you get your standard ASL requester but screen management is different and re-implemented for each program.

Another advantage with MUI is that you get many other features as a standard: commodity support, Rexx port, iconify support (configurable as an icon or tools menu), standard fonts and many more. In GadTools application you can only read GfxBase to get your system font (how many implement it properly without potential race condition btw?) or use what is provided by default in your Window rastport. But you still dont get small/large font option and if you want configurable fonts you have to code it all yourself.

That is after all biggest gripe with GadTools. To support basic features properly you have to write thousands lines of code. When I converted good old SnoopDos to Snoopium (SnoopDos with MUI GUI) I could get rid of lot of old support code. MUI GUI version was not only much smaller than the original GadTools version but it was also much faster. Faster because due to reduced code size I could easily redesign its event management.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: matthey on February 13, 2011, 09:19:24 AM
@Tcheko
I apologize. I tried again and PSI came up nearly instantly this time. It must have been that CPU intensive task I had in the background slowing things down :O. MUI does seem to be slower although a fast processor makes it less of an issue.

Quote from: itix;615225
Problem is standard requester is not always what you want. You may wish to embed requester into your window or have custom options there.


True. The MUI way is powerful but it is also different from the standard AmigaOS user interface, slower and less obvious. A good example is in this thread...

http://www.amiga.org/forums/showthread.php?t=56505

Quote

Take a file browser as an example. With MUI's filepanel class you can attach standard file requester features into your software without using ASL requesters.


I don't see anything wrong with asl.library requesters. They are somewhat limiting in order to have a standard user interface.

Quote
If you use GadTools you have to build your own file panel using its crappy listview gadget.


Gadtools in primitive and was only meant to suffice until boopsi/Reaction became more powerful. Boopsi/Reaction/Datatypes is good but never got finished.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 13, 2011, 09:19:38 AM
Quote from: Tcheko;615223
Is it more 4s or 6s?
Perceived time worth nothing.


Even 2,5 seconds is too slow for opening a simple window with hardly any data in it. Furthermore percieved time is actually quite relevant, when you are talking about GUI systems, maybe even more that the actual time measured.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: takemehomegrandma on February 13, 2011, 10:08:19 AM
Quote from: Minuous;615159
ReAction is the official AmigaOS GUI, this applies to both 3.x and 4.x.


The vast support from third party developers made MUI the de facto standard Amiga GUI a long time before Haage&Partner and Hyperion gave things a try. This massive support from developers came from MUI being so easy yet so powerful from a developers point of view (which answers the original post in this thread). Go back and look what people have said about it over the years. Why did Stefan Burström choose MUI for IBrowse for example? It has simply been what most developers prefer!

The reason Haage&Partner (and later Hyperion) used something else, was for intellectual property and money reasons. Technology had probably nothing to do with it at all. This is also yet another example of Hyperion's "OS4" product having to settle with the left-over Amiga standards, after MorphOS already secured the best ones.

From a user's POV, MUI is available for all *miga OS's, and offer great flexibility and level of customization. From a developers POV, MUI is the easiest and most powerful GUI to work with. And don't take my word for it, listen to the testimonies from all the developers who used it during almost two decades.

The choice should be fairly easy! :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Piru on February 13, 2011, 11:00:32 AM
Quote from: Minuous;615159
ReAction is the official AmigaOS GUI, this applies to both 3.x and 4.x.

Not quite. AmigaOS 3.0 and 3.1 official GUI is gadtools. ClassAct was some obscure GUI toolkit needed bu some random applications such as AWeb. It was inferior compared to MUI back then already and making it official GUI toolkit for later AmigaOS versions didn't change that fact.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 13, 2011, 11:27:28 AM
Quote from: nicholas;615173
Strange you should say that as just this very evening I booted up a NOS Escom A1200 with Workbench 3.1, which had "MUI-AT" drawer with a readme that said "MUI 3.2 Amiga Technologies Edition".

No Reaction in sight........

Karlos was here with me and can confirm this as it was he who noticed it first.


Yep. I guess it was to support the included network software?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Tcheko on February 13, 2011, 11:51:43 AM
Quote from: Piru;615238
Not quite. AmigaOS 3.0 and 3.1 official GUI is gadtools. ClassAct was some obscure GUI toolkit needed bu some random applications such as AWeb. It was inferior compared to MUI back then already and making it official GUI toolkit for later AmigaOS versions didn't change that fact.


Simple benchmark with Aminet to confirm Piru's quote.

How many search hits with words : MUI, ClassAct, GadTools, Reaction

MUI scores 793
ClassAct scores 34
GadTools scores 46
Reaction scores 32

Damn. MUI is #1. It can't be that bad then...

Btw, latest OWB using MUI for OS4 looks really promising. And DigiBooster 3 beta 18 too. ^^
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 13, 2011, 01:29:53 PM
Quote from: matthey;615231

I tried again and PSI came up nearly instantly this time. It must have been that CPU intensive task I had in the background slowing things down :O. MUI does seem to be slower although a fast processor makes it less of an issue.


MUI is always slower than simple GadTools based applications. I have seen MUI application running on Amiga 500 @ 7MHz 68000. It is not fast. But then MUI includes an automatic layout engine which takes screen aspect ratio, font sizes and window/screen space into account. There is much more computation involved in MUI window layout.

Quote

True. The MUI way is powerful but it is also different from the standard AmigaOS user interface, slower and less obvious. A good example is in this thread...

http://www.amiga.org/forums/showthread.php?t=56505


I am not so sure. Because MUI preferences dialog is the same for all MUI applications. Once you learn to use it you dont have to re-learn it for every application. It is always in the same place, it always works in the same way.

Quote

I don't see anything wrong with asl.library requesters. They are somewhat limiting in order to have a standard user interface.


In PSI it would mean that you have PSI dialog and then in this PSI dialog you have to open screen mode dialog to select screen mode. It is not necessarily practical because I'd like to see what screen modes are available without really going to select one.

Quote

Gadtools in primitive and was only meant to suffice until boopsi/Reaction became more powerful. Boopsi/Reaction/Datatypes is good but never got finished.


There never was Reaction in C= AmigaOS. They only had couple of BOOPSI classes. But it is not problem for MUI. You can have BOOPSI classes embedded in MUI application. Classic example here is colorwheel.gadget used in MUI settings. And not only that -- also String.mui class in MUI 3.x is the original BOOPSI string class and it is actually reason why built-in String class in MUI feels non-standard (it lacks some standard MUI gestures) and various 3rd party replacements were written.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 13, 2011, 01:53:57 PM
Quote from: Piru;615238
[...] some random applications such as AWeb.
Like QT is for some random desktops like KDE?

AWeb was something you had to install in 1995. AWeb was the modern internet.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Fab on February 13, 2011, 02:37:41 PM
Quote from: lsmart;615251
Like QT is for some random desktops like KDE?

AWeb was something you had to install in 1995. AWeb was the modern internet.


And can you name any other significant application using classact/reaction for 3.x? I can't.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 13, 2011, 03:19:24 PM
Quote from: Fab;615255
And can you name any other significant application using classact/reaction for 3.x? I can't.


I just think that we are reading pointless bashing instead of a well balanced analysis here.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Fab on February 13, 2011, 03:40:16 PM
Quote from: lsmart;615259
I just think that we are reading pointless bashing instead of a well balanced analysis here.


Indeed. Saying Reaction is better because it was renamed from a 3rd party toolkit (classact) and made "official" by Haage&Partner is far from being a well balanced analysis.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: cha05e90 on February 13, 2011, 06:19:00 PM
Quote from: Tcheko;615241

MUI scores 793
ClassAct scores 34
GadTools scores 46
Reaction scores 32


By all respect to the fact that MUI is in many fields superior to other GUI toolkits - especially from  the coders point of view, your "benchmark" is of course ridiculous.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 13, 2011, 06:37:38 PM
Quote from: cha05e90;615306
By all respect to the fact that MUI is in many fields superior to other GUI toolkits - especially from  the coders point of view, your "benchmark" is of course ridiculous.


I've just been on the phone to one OS4's developers and he claims that the PPC native version of MUI 3.9 they ship with OS4 is actually FASTER than the version of Reaction they ship with it.

I shall try to get him to post here ASAP.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 13, 2011, 06:46:44 PM
Quote from: lsmart;615251
Like QT is for some random desktops like KDE?

AWeb was something you had to install in 1995. AWeb was the modern internet.


You had other choices like IBrowse and Voyager.

Reason why ClassAct/Reaction never really took off is they never understood what made MUI so popular.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 13, 2011, 06:54:38 PM
After messing around with Nicholas' vanilla 3.1 installed machine yesterday I have come to the conclusion that Gadtools is king :lol:

Gadtools, on a 2:1 aspect display with topaz 8, ftw.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 13, 2011, 06:57:10 PM
Quote from: itix;615311
You had other choices like IBrowse and Voyager.

Reason why ClassAct/Reaction never really took off is they never understood what made MUI so popular.

 http://www.psi5.com/~silva/afilter/#ox ;)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Tcheko on February 13, 2011, 07:02:33 PM
Quote from: cha05e90;615306
By all respect to the fact that MUI is in many fields superior to other GUI toolkits - especially from  the coders point of view, your "benchmark" is of course ridiculous.


Trolling is always ridiculous.

It is a well known fact that MUI is far superior to any toolkits from every possible pov.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 13, 2011, 08:50:28 PM
Quote from: Tcheko;615314

It is a well known fact that MUI is far superior to any toolkits from every possible pov.


Well, great then. Discussion over.

Oh wait .. I have to buy a Mac now because: "It is a well known fact that Mac OS X is far superior to any operating system from every possible pov."
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Piru on February 13, 2011, 09:01:59 PM
Quote from: lsmart;615251
Like QT is for some random desktops like KDE?

At least QT has some real use outside of a handful of applications.

Quote
AWeb was something you had to install in 1995. AWeb was the modern internet.

Luckily I didn't do internet in 1995. AWeb user interface is just plain horrible.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: runequester on February 13, 2011, 09:04:58 PM
Quote from: lsmart;615332
Well, great then. Discussion over.
 
Oh wait .. I have to buy a Mac now because: "It is a well known fact that Mac OS X is far superior to any operating system from every possible pov."

Im pretty sure around these parts, those are words that would have to be backed up by steel :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Fab on February 13, 2011, 10:01:16 PM
Quote from: lsmart;615332
Well, great then. Discussion over.


If you want to have a real discussion, try to find areas where reaction is superior (preferably not of the "official" or "someone told me..." kind), and then we can talk.

The only remotely relevant argument that was given so far is about speed, but there's no benchmark to prove it, which means it may just be wishful thinking or propaganda fruits.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Crumb on February 14, 2011, 12:23:57 AM
Programs with complex Reaction GUIs don't exist :-)

but if you create one for the shake of it you will notice that these are not faster than MUI and almost block intuition while they are being drawn.

From a coder viewpoint using Reaction means reinventing the wheel over and over: the classes are too simple, each programmer has to implement the same things if you want to choose screenmodes, fonts, backdrops... and there few available classes. Drag'n'drop is crude and primitive with Reaction.

After having written various Reaction GUIs I think that Reaction is some kind of enhanced Gadtools with automatic gadget resizing.

I heard more arguments against Reaction like it blocking input.device (perhaps that's the Reason it almost freezes your computer when it draws a big GUI)

MUI is more elegant:*you don't have to create ultralong event loops like you do in Reaction.

MUI*is more portable:*it runs on a plain 68000 Amiga, comes as standard with OS4.x, AROS is MUI compatible and it's bundled with MorphOS too. In contrast Reaction doesn't.

PS:*IBrowse1.22 was better than AWeb in the old times :-P
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 14, 2011, 12:35:36 AM
Quote from: lsmart;615332
Well, great then. Discussion over.

Oh wait .. I have to buy a Mac now because: "It is a well known fact that Mac OS X is far superior to any operating system from every possible pov."
Hmmm, well Cocoa is more lovely than either MUI or Reaction... But that wasn't the question, to which the answer is MUI ;)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 14, 2011, 12:53:43 AM
Quote from: bloodline;615370
Hmmm, well Cocoa is more lovely than either MUI or Reaction... But that wasn't the question, to which the answer is MUI ;)

puke ;)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 06:15:02 AM
Quote from: Piru;615335
AWeb user interface is just plain horrible.


Well, you can turn it off and just create your own UI with MUI or whatever. Can one do that with OWB?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 06:21:06 AM
Quote from: kolla;615408
Well, you can turn it off and just create your own UI with MUI or whatever. Can one do that with OWB?


Turn it off, exactly how? And when I turn it off how its display compares to, lets say, Links?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 06:29:45 AM
Quote from: itix;615311
Reason why ClassAct/Reaction never really took off is they never understood what made MUI so popular.


MUI is nice, but it's also ridden with annoyances. just to name a few:
* Too bloody many options, why do I have to configure each and type of "box" or "list" or whatever individually for each and every class? Why is there no cascading of styles? "Apply this to all string input gadgets"
* No overview of which MUI apps that have individual settings, have to check this manually in env:mui/envarc:mui, and also (iirc), no way to set MUI settings for a certain app back to default settings (other than deleting the corresponding file in envarc:mui/env:mui
* No quality control of third party classes whatsoever, no official "approved" list, no warnings from the system when well known broken classes are called upon.
* Legal situation that only favours MorphOS.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 14, 2011, 06:32:18 AM
Quote from: Crumb;615364
Programs with complex Reaction GUIs don't exist :-)


From the users point of view, a simple GUI is always better than a complex one.

I can see how MUI is superior when it comes to the number of classes and the number of systems it runs on. That was well spoken for. But nobody aparently has used both long enough to speak about the merits of Reaction from a developers point of view. Experience in other feilds show a high probability that there are.

I can only talk about GadTools & BOOPSI from experience. They have extremely low overhead and are completely modular. Your program is small in size and you dont have to make sure that there are certain files in certain places at the users machine (i.e. no worry about BetterListview.mcc, trallala). Programming GadTools/BOOPSI is not easy. You have to do a bit of reading upfront, but after your second program you have learned all the shortcuts and you don´t have to think about the GUI much and can concentrate on the real code. I don´t recommend copying GUIs from Windows in GadTools though. Windows GUI is overly complex and this will be hard to recreate with GadTools.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 06:44:16 AM
Quote from: Fab;615339
The only remotely relevant argument that was given so far is about speed, but there's no benchmark to prove it, which means it may just be wishful thinking or propaganda fruits.


No, speed is not the big issue - memory consumption is.

I've been one of those who prefer ClassAct apps over MUI alternatives, simply becuase with CA options left my system with much more RAM free. Also, the development of CA at the time was much more open than that of MUI, the devs were all easily reachable online. Stuntzi was always away on some bicycle trip or whatever.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 07:05:34 AM
Quote from: kolla;615411
MUI is nice, but it's also ridden with annoyances. just to name a few:
* Too bloody many options, why do I have to configure each and type of "box" or "list" or whatever individually for each and every class? Why is there no cascading of styles? "Apply this to all string input gadgets"


Ideally there should be only one string input class and all 3rd party string input classes inherit style from String.mui. They dont however.

But good point.

Quote

* No overview of which MUI apps that have individual settings, have to check this manually in env:mui/envarc:mui, and also (iirc), no way to set MUI settings for a certain app back to default settings (other than deleting the corresponding file in envarc:mui/env:mui


Unless you start that application and from its MUI settings you select "Restore defaults". But yes, good point, again.

Quote

* No quality control of third party classes whatsoever, no official "approved" list, no warnings from the system when well known broken classes are called upon.


In practise it would rule out all MUI classes not maintained by the MorphOS team.

Quote

* Legal situation that only favours MorphOS.


"Nopeat syö hitaat". (Old Finnish saying.)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 07:23:58 AM
Quote from: lsmart;615412
Programming GadTools/BOOPSI is not easy. You have to do a bit of reading upfront, but after your second program you have learned all the shortcuts and you don´t have to think about the GUI much and can concentrate on the real code. I don´t recommend copying GUIs from Windows in GadTools though.

Let me guess: your GadTools applications have one big eventloop where you control all possible events using switch/case construct?

And let me guess more: you copy/paste your GUI engine from your previous projects because you can not get arsed to write all that code again and again? It probably implements your own CloseWindowSafely(), CreateGadgetXYZ(), MyAddGadget(), MyRemGadget() and half of Intuition re-implemented because low level Intuition calls are, well, low level?

And probably because you never heard about screennotify.library your window blocks Workbench from closing when user tries to change resolution? You probably dont support snapshotting or iconifying your windows, either. And of course you dont offer localization option because localized strings probably would exceed allocated space and you can't be arsed to TextLength() every UI string when calculating your UI layout. You do calculate your UI layout runtime, don't you?

I really appreciate your enthusiasm. I have written fully scalable GUI engine using GadTools and only in 68k asm. It was really good as it supported most of MUI features and was blazingly fast. But when localized strings didnt fit to their allocated space anymore I realized I was only reinventing wheel. Only just worse as my GUI engine still didnt allow tweaking GUI layout easily, so why bother... instead I started writing MUI applications in 68k asm :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: jacadcaps on February 14, 2011, 07:28:25 AM
Quote from: nicholas;615374
puke ;)


Where are your Cocoa apps then? I'd assume you did not write any - easy to bash something you don't know. No Amigaoid toolkit comes close to the Cocoa classes in terms of features, completeness, documentation, etc.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 14, 2011, 07:35:38 AM
Quote from: itix;615416
Let me guess: your GadTools applications have one big eventloop where you control all possible events using switch/case construct?


Ick.

Observer and Mediator patterns, ftw ;)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: jahc on February 14, 2011, 07:57:56 AM
Quote from: Fab;615339
If you want to have a real discussion, try to find areas where reaction is superior (preferably not of the "official" or "someone told me..." kind), and then we can talk.

The only remotely relevant argument that was given so far is about speed, but there's no benchmark to prove it, which means it may just be wishful thinking or propaganda fruits.


Yeah, speed isnt an issue if you're running non-classic hardware. MUI and Reaction feel exactly the same on the next-gen setups I've been using.. everything happens instantly.

Anyway, the focus should be on what sort of functionality they can provide, and whether it can speed up development (through ease or features).
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 10:42:33 AM
Quote from: kolla;615414
No, speed is not the big issue - memory consumption is.

It is true. When I had Internet on my unexpanded Amiga 1200 I had to use AWeb only. After launching Miami there was not enough RAM left to run IBrowse or Voyager anymore. With 800kB RAM free I could run AWeb and visit some web sites using 4 colours. Without images though since despite of amazing memory efficieness of ClassAct it didnt help with memory consumpting JPEG images at all.

But pretty much after fast RAM expansion it becomes non-issue. It does not mean much when you have 4 MB fast. You always run out of chip ram first.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 10:50:34 AM
Quote from: itix;615415
In practise it would rule out all MUI classes not maintained by the MorphOS team.


Yes, isn't that what you want?

Quote
"Nopeat syö hitaat". (Old Finnish saying.)


In this context, that saying makes no sense - MUI and MorphOS too are very much in the slow lane.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 10:55:37 AM
Quote from: itix;615445
But pretty much after fast RAM expansion it becomes non-issue. It does not mean much when you have 4 MB fast. You always run out of chip ram first.


... when browsing the web, perhaps.

You make it sound as if web browsing is the only task you'd use the computer for, but then... why on earth bother with an amiga system in the first place?

And you do know that you can run Miami without _any_ GUI engine? :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: jacadcaps on February 14, 2011, 12:28:50 PM
Quote from: kolla;615447
Yes, isn't that what you want?


Not quite. If we did, we wouldn't be handling MCC key ID requests coming from developers.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 14, 2011, 12:45:04 PM
Quote from: jacadcaps;615417
Where are your Cocoa apps then? I'd assume you did not write any - easy to bash something you don't know. No Amigaoid toolkit comes close to the Cocoa classes in terms of features, completeness, documentation, etc.

I prefer C++ to Obj-C.  Cocoa provides a very nice set of classes but Obj-C is from the devil.

I type this from my 17" Macbook Pro 4,1 (and looking over my shoulder at the 3 Cocoa and 2 Obj-C books on my shelves.)

It's easy to bash someone you know nothing about.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: jacadcaps on February 14, 2011, 01:02:50 PM
Quote from: nicholas;615470
I prefer C++ to Obj-C.  Cocoa provides a very nice set of classes but Obj-C is from the devil.


You puked at Cocoa, not Obj-C.

Then again, Obj-C's method invocation is actually pretty close to BOOPSI - just replace [] with DoMethod and use : to separate arguments rather than , :) That makes it easy to switch to Obj-C/Cocoa when you're a MUI programmer. At least it took me far less time to learn Obj-C & Cocoa than to learn C++ with its imho obscure GUI toolkits like Qt or MFC.

Quote from: nicholas;615470

I type this from my 17" Macbook Pro 4,1 (and looking over my shoulder at the 3 Cocoa and 2 Obj-C books on my shelves.)
It's easy to bash someone you know nothing about.


Wrong:
http://dreamolers.binaryriot.org/fuhquake/
http://iconsole.pl
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 14, 2011, 01:16:26 PM
Quote from: nicholas;615470
I prefer C++ to Obj-C.  Cocoa provides a very nice set of classes but Obj-C is from the devil.


For me it's all about the right tool for the job... When doing low-level microcontroller work, I want C++... When doing high-level application development I love Obj-C, though I admit that over 60% of Obj-C's appeal comes from the maturity and elegance of Cocoa (really OpenStep).

Due to the rigid enforcement of design patterns in Cocoa and Obj-C programs can still be understood if the code has been ignored for nearly a year!
C++ offers too much freedom, I look back on a project written in C++ and spend a good deal oftime trying to figure out what I did and why, the comments only help so far :-/ (this is my limitation not C++).

The Amiga misses a tool as powerful as Interface Builder, also I don't know if any of the Amiga toolkits have a common inheritance from a single UIview class like cocoa does... That is a very important design advantage!

Quote

I type this from my 17" Macbook Pro 4,1 (and looking over my shoulder at the 3 Cocoa and 2 Obj-C books on my shelves.)


I really need to get a Cocoa book, I rely too much on learning from examples, often I'll not realise there is already a class/protocol/method that does what I want :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 01:48:25 PM
Quote from: kolla;615447
Yes, isn't that what you want?


Users still have to run their existing software so no, it isn't. However the goal is that users don't have to depend on 3d party classes but everything you need is in the OS.

Quote

In this context, that saying makes no sense - MUI and MorphOS too are very much in the slow lane.


It is still better than Reaction which hasnt got any progress since Hack & Patch OS 3.5.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 02:54:35 PM
Quote from: kolla;615448
... when browsing the web, perhaps.

You make it sound as if web browsing is the only task you'd use the computer for, but then... why on earth bother with an amiga system in the first place?

Hmm... actually you are right there, (apart from coding for fun) I dont see any other use for computers than web browsing. And of course gaming.

Quote
And you do know that you can run Miami without _any_ GUI engine? :)

Not Miami 1.x I had in 1995 or so. Miami 3.x or Miami Deluxe offered chance to run without GUI but I don't think I ever used that version. But why bother when you had 16 MB fast ram which was more than you ever would need on Amiga? :-) In 90s you could run MacOS on Shapeshifter at the same time while browsing the web.

And why really bother when 90% of quality software for Amiga used MUI. Not just good old IBrowse 1.22 I was using but AmIRC, AmFTP and AmTelnet to mention few classics from the 90s.

But maybe you should point out what you can do with Amigas. I even have got an Amiga you can use for demonstration. My Amiga 500 has got only Kickstart 1.3 on it but I can upgrade Kickstart to version 3.1. CPU or memory upgrade is not obviously needed because ClassAct is so efficient (there is 512kB memory expansion already). I guess I should download ClassAct 2.2 from Aminet first. I don't have a hard disk but I know how to split OS into several disks so it is not really issue here. Now, where is that cool application I can run on my Amiga?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on February 14, 2011, 05:31:34 PM
Quote from: itix;615416
Let me guess: your GadTools applications have one big eventloop where you control all possible events using switch/case construct?

No, the event loop just gathers enough information to continue. The rest is done elsewhere. But you are obviously thinking that I have written Amiga software after 1995. But I did most of my Amiga development before that. And much of it wasn´t in C.

Quote from: itix;615416

And let me guess more: you copy/paste your GUI engine from your previous projects because you can not get arsed to write all that code again and again?

I never copy/paste code in bigger chunks. I tend write software modules for re-use.

Quote from: itix;615416
You probably dont support snapshotting or iconifying your windows, either. And of course you dont offer localization option because localized strings probably would exceed allocated space and you can't be arsed to TextLength() every UI string when calculating your UI layout. You do calculate your UI layout runtime, don't you?

I do adapt to language and font-size. Iconify wasn´t useful in my software and frankly I don´t know what snappshotting means in an Amiga application context. But I do know that there are a million great Amiga programms that don´t use MUI or Reaction.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 14, 2011, 05:48:38 PM
Quote from: jacadcaps;615473
You puked at Cocoa, not Obj-C.


Hence the wink.  Matt knows I like to tease him about his passion for coding for Cocoa in ObjC, you apparently don't.

Quote

Then again, Obj-C's method invocation is actually pretty close to BOOPSI - just replace [] with DoMethod and use : to separate arguments rather than , :) That makes it easy to switch to Obj-C/Cocoa when you're a MUI programmer. At least it took me far less time to learn Obj-C & Cocoa than to learn C++ with its imho obscure GUI toolkits like Qt or MFC.



Wrong:
http://dreamolers.binaryriot.org/fuhquake/
http://iconsole.pl


That has *what* exactly to do with you bashing me despite knowing nothing about me?????
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 14, 2011, 05:57:36 PM
Quote from: bloodline;615475
For me it's all about the right tool for the job... When doing low-level microcontroller work, I want C++... When doing high-level application development I love Obj-C, though I admit that over 60% of Obj-C's appeal comes from the maturity and elegance of Cocoa (really OpenStep).

Due to the rigid enforcement of design patterns in Cocoa and Obj-C programs can still be understood if the code has been ignored for nearly a year!
C++ offers too much freedom, I look back on a project written in C++ and spend a good deal oftime trying to figure out what I did and why, the comments only help so far :-/ (this is my limitation not C++).

The Amiga misses a tool as powerful as Interface Builder, also I don't know if any of the Amiga toolkits have a common inheritance from a single UIview class like cocoa does... That is a very important design advantage!



I really need to get a Cocoa book, I rely too much on learning from examples, often I'll not realise there is already a class/protocol/method that does what I want :)


When doing high level application development I use very expensive proprietary tools. As you say, each job requires a different tool.

For good Cocoa books you could do worse than these http://www.bignerdranch.com/books
Very well written and informative they are.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 06:36:10 PM
Quote from: itix;615498
Now, where is that cool application I can run on my Amiga?


http://aminet.net/package/dev/misc/AWNP_2-54 and you're all set.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 06:38:44 PM
Quote from: lsmart;615530
frankly I don´t know what snappshotting means in an Amiga application context


Snapshotting the window location and size.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 06:40:05 PM
Quote from: lsmart;615530
No, the event loop just gathers enough information to continue. The rest is done elsewhere. But you are obviously thinking that I have written Amiga software after 1995. But I did most of my Amiga development before that. And much of it wasn´t in C.


Then it changes quite lot.

Quote
I do adapt to language and font-size. Iconify wasn´t useful in my software and frankly I don´t know what snappshotting means in an Amiga application context. But I do know that there are a million great Amiga programms that don´t use MUI or Reaction.


Sure there are and I dont want to mockup that old software. Programmers did their best with tools they had available. But this was almost 20 years ago!
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 06:41:30 PM
Quote from: kolla;615544
http://aminet.net/package/dev/misc/AWNP_2-54 and you're all set.


Great, so I can install multifunction pipe on my Amiga 500. What now?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 06:44:25 PM
Quote from: itix;615551
Great, so I can install multifunction pipe on my Amiga 500. What now?


Now you pass data through that pipe, to build GUIs and do whatever you like.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 14, 2011, 06:52:12 PM
Quote from: nicholas;615535
When doing high level application development I use very expensive proprietary tools. As you say, each job requires a different tool.

For good Cocoa books you could do worse than these http://www.bignerdranch.com/books
Very well written and informative they are.
The very same books recommended to me by my (rather more successful) iPhone developer friend :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 14, 2011, 07:15:20 PM
Quote from: kolla;615553
Now you pass data through that pipe, to build GUIs and do whatever you like.


So, it seems ClassAct is not much use at all.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 14, 2011, 09:38:08 PM
Quote from: bloodline;615557
The very same books recommended to me by my (rather more successful) iPhone developer friend :)


I have two of them and they are a joy to read, I just feel "uncomfortable" writing ObjC.  To me it similar to blonde hair and white skin on a woman, does nothing for me.

Ain't choice great? :D
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Crumb on February 14, 2011, 09:49:43 PM
Quote from: bloodline;615475
When doing low-level microcontroller work, I want C++

Assembly is usually better suited for that.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 14, 2011, 09:58:10 PM
Quote from: Crumb;615579
Assembly is usually better suited for that.


Some embedded devices are well supported. Amtel AVR springs to mind. Also remember that what is referred to as "C++" on embedded systems is usually a carefully-selected subset of the full language specification.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 14, 2011, 10:41:19 PM
Quote from: Crumb;615579
Assembly is usually better suited for that.
For PIC work, yes, but my Atmel and ARM microcontrollers are well supported with C/C++ compilers.

With the atmel AVRMega328 (my favourite 8bit), I use a mixture of C and assembler (it has a really elegant ISA)... But withe my ARM M3 chips it is almost 90% C++

On my iPhone Dev work I use obj-c :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 14, 2011, 10:51:27 PM
Quote from: nicholas;615576
I have two of them and they are a joy to read, I just feel "uncomfortable" writing ObjC.  To me it similar to blonde hair and white skin on a woman, does nothing for me.

Ain't choice great? :D
My tastes in women depend on the woman in question... I've been with my current girl friend for nary 3 years and she's Chinese!

I really understand where you are coming from with Obj-C! I totally hated it, I just couldn't get used to the syntax and the odd terms for things. But I realise now that my biggest problem came from thinking too low level, I didn't like being forced into MVC and Delegate patterns, I didn't realised Obj-C has runtime features I'm not used to in Asm and C++, frankly I just couldn't understand how my classes fitted into the anatomy of a program... It was only after forcing myself to plough on with it (I had to make an iPhone app, failure was not an option) that I got it... I'm by a long way a much better coder for learning the rules that Obj-C demands :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kolla on February 14, 2011, 11:06:33 PM
Quote from: itix;615563
So, it seems ClassAct is not much use at all.


Well, there's Grapevine IRC client and AmiFTP - the only native Amiga ftp client that grasps VMS servers.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 15, 2011, 12:21:38 AM
Quote from: bloodline;615585
My tastes in women depend on the woman in question... I've been with my current girl friend for nary 3 years and she's Chinese!

My wife of four years is a very "exotic" mix: Jewish/English/Argentinean Native/Italian/Spanish/Black Brazillian/Portugese and she grew up in Iran during the war with Iraq. :)

It's always amusing when she has to fill out a form and it asks her what ethnicity, "too many" is a common answer. lol
 
Quote
I really understand where you are coming from with Obj-C! I totally hated it, I just couldn't get used to the syntax and the odd terms for things. But I realise now that my biggest problem came from thinking too low level, I didn't like being forced into MVC and Delegate patterns, I didn't realised Obj-C has runtime features I'm not used to in Asm and C++, frankly I just couldn't understand how my classes fitted into the anatomy of a program... It was only after forcing myself to plough on with it (I had to make an iPhone app, failure was not an option) that I got it... I'm by a long way a much better coder for learning the rules that Obj-C demands :)

You want to try coding big apps in the stuff I've used professionally since '97. Nothing like ANYTHING you've ever seen before and seriously head mashing.  I hated it for a long time and then one day I fell in love! :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Jose on February 15, 2011, 05:58:32 PM
I like brunettes don't know why... :)

Regarding Reaction the biggest stumble I've found so far is that there isn't much documentation! The original ClassAct release on Aminet has some stuff, also the NDK3.9 has descriptions on each class and there are some examples on the DevCD. Should be enouph. There's also a PDF tutorial somone did wich seems more oriented towards OS4 but should be usefull.
MUI docs on the contrary seem to be very good.
I've only read part of the intro on the ClassAct release and it seems every class on Reaction/ClassAct is a boopsi object, wich makes it usable from any other Boopsi object. Someone above mentioned that to use Boopsi classes on MUI you have to encapsulate them in a MUI class so maybe the result is the same, does it work the other way around too, i.e. can you call a MUI class method from a standard Boopsi object ?

Pah, I guess the best way is try both. I might even do some benchmark program thing.
Granted I expect each one to have it's advantages/disadvantages depending on each context.

BTW, regarding complex GUIs with Reaction, I've recently read the Boopsi chapter on the RKRMs and it seems to me that a lot of people jumped into MUI/Reaction without knowing Boopsi, I think if you know how interconnection Boopsi classes work you can do very complex GUIS pretty straightforward, maybe it takes a bit more code to set up your connection objects but it didn't seem that much. And it's very flexible.

Anyway, when I get the time I'm gonna try both that's for sure...
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 15, 2011, 06:47:11 PM
Quote from: Jose;615740
Someone above mentioned that to use Boopsi classes on MUI you have to encapsulate them in a MUI class so maybe the result is the same, does it work the other way around too, i.e. can you call a MUI class method from a standard Boopsi object ?


See this (http://www.sasg.com/mui/autodocs/MUI_Boopsi.html) for BOOPSI objects in MUI.

It can not be done other way around (embedding MUI objects into Reaction GUI), mostly due to the notification system which does not exist in Reaction.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: itix on February 15, 2011, 07:04:08 PM
Getting back to the topic (sorry we got carried far away to sideline) I think notification system is one of strong points in MUI API. You can add callback hooks and methods to events so you dont have to mess with this in your event loop. It also allows simple automation of events i.e. when user presses a button MUI could automatically window title for example.

Another difference in MUI is that you can define window or context menus as objects. You dont necessarily have to define static menu structure (but you can if you want to). They can be used to store attributes and they are part of notification system so menu selections can be automated just like everything else. You can expand and shrink menus simply by adding or removing objects from them.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 15, 2011, 08:53:31 PM
Quote from: itix;615760
Getting back to the topic (sorry we got carried far away to sideline) I think notification system is one of strong points in MUI API. You can add callback hooks and methods to events so you dont have to mess with this in your event loop. It also allows simple automation of events i.e. when user presses a button MUI could automatically window title for example.


If Reaction lacks notification then I would consider it obsolete! I think this answers the OP question, MUI is the more modern design.

Quote

Another difference in MUI is that you can define window or context menus as objects. You dont necessarily have to define static menu structure (but you can if you want to). They can be used to store attributes and they are part of notification system so menu selections can be automated just like everything else. You can expand and shrink menus simply by adding or removing objects from them.


MUI wins, topic closed :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 15, 2011, 09:18:59 PM
Quote from: bloodline;615769
If Reaction lacks notification then I would consider it obsolete! I think this answers the OP question, MUI is the more modern design.


Actually, if you know how to use design patterns, this is never a limitation. You can wrap an observer mechanism around absolutely anything that needs event handling to be decoupled from the event source, no matter how old and retarded it is.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: nicholas on February 15, 2011, 09:40:16 PM
Quote from: Karlos;615775
Actually, if you know how to use design patterns, this is never a limitation. You can wrap an observer mechanism around absolutely anything that needs event handling to be decoupled from the event source, no matter how old and retarded it is.

Kitab al-Karlos (http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612/ref=sr_1_1?s=books&ie=UTF8&qid=1297805946&sr=1-1) ;)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Kronos on February 15, 2011, 10:39:57 PM
@jose

Back in the day (1999-2001) I wrote some BOOPSI-classes for was then (not) known as AmiDraw. Very clumsly lots of code and all I got was a simple toolbar and a special palette gadget.

Those 2 classes are actually also costum classes in the MUI-version even less known as SteamDraw, and while offering more features than the old BOOPSI-variants they only took a fraction of the code to implement.

BOOPSI is primitive, powerfull but still primitive. MUI adds ease of use and to some degree even elegance to that while improving on the "powerfull" part.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: Karlos on February 15, 2011, 11:46:12 PM
Quote from: nicholas;615780
Kitab al-Karlos (http://www.amazon.co.uk/Design-patterns-elements-reusable-object-oriented/dp/0201633612/ref=sr_1_1?s=books&ie=UTF8&qid=1297805946&sr=1-1) ;)

Seriously, I cannot recommend that book enough. It's examples are all based on C++ and Smalltalk but no matter which language you use (provided it supports or can achieve basic object orientation), the principles in there can be utilised to great effect. After a while, you see the patterns described therein all over the place, often in interesting combinations. The chances are, you've independently "reinvented" more than one of them without even knowing it. However, once you have seen them formally catalogued (and the book is by no means exhaustive but instead considers the the most fundamental structural/creational/behavioural patterns to which all others can be reduced) and dissected it's very easy to see how to go about solving whatever awkward development job lands on your plate.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: bloodline on February 16, 2011, 10:24:56 AM
@Karlos

A quick read through, suggests that a fair few of these design patterns are easier to implement with Obj-C... Or at least to me seem more natural in Obj-C than in C++... This isn't a criticism of C++, simply an observation. I submit that this could be due to Obj-C's dependence on the cocoa framework which seems to have been built with only this book as reference! But I feel Obj-C's runtime nature is key here :)
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kamelito on May 11, 2012, 12:08:04 PM
Maybe OpenStep should be ported to Amiga using Gnustep source code...

Kamel
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: lsmart on May 11, 2012, 05:25:15 PM
Quote from: kamelito;692726
Maybe OpenStep should be ported to Amiga using Gnustep source code...
This may have been a good idea in 1999, but as it turns out open source hasn`t really caught on in the Mac world and today you would have to ask yourself if there is more than one person that would use it. GNUSTEP itself is a project that is moving slowly and isn't really used much. Porting it to AmigaOS would not make Amiga developers switch API and no new developers will gain interest.
While Objective-C is a great language, the Cocoa Toolkit is evolving and rivals the Java class libraries in complexity and feature creep. It is beyond the might of a single coder to maintain a compatible implementation. Furthermore a lot of the stuff that was added, when Apple bought NeXT is more demanding in terms of performance. Take UAE on MacOS: it has a significant lower frame rate than it's windows counterpart on the same machine. NeXT computers were quite snappy for business use but they were speced with a high-end 68030 at the least. And a NeXT Station did not even do double buffering in games or screensavers to avoid slow movement. Mind we are talking about 4 grey tones in 1024x1024pixels - not truecolor! I guess MUI is significantly faster than GNUSTEP on the same hardware.

If you want to build a great toolkit that will run on an Amiga 1200 you'd better code it in 68k assembly language and limit configurability to fonts and colors only. Then you can do really amazing dynamic interfaces without allocating half of your memory for stack.

 If what you need is just what you see in something like Cygnus ED, you can safely stick to the regular Boobsie Gadtools and forget about the gradients and fancy list/table-gadgets of MUI. At least I won`t miss it.

Heck, in my day  a list/table was a sequence of characters. Why do people now want a whole spreadsheet application in a window that will just list the tracks of an audio-CD?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: golem on May 11, 2012, 05:56:53 PM
Just from a user and cosmetic point of view; I like the Thick sliders you can do with OS3.9 Reaction apps. I really like that 3D type look. Can MUI apps do the same?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: kamelito on May 11, 2012, 08:05:09 PM
Well I suppose that Cocotron got better than GNUStep in less time.  Kamel http://www.cocotron.org/  
Quote from: lsmart;692757
This may have been a good idea in 1999, but as it turns out open source hasn`t really caught on in the Mac world and today you would have to ask yourself if there is more than one person that would use it. GNUSTEP itself is a project that is moving slowly and isn't really used much. Porting it to AmigaOS would not make Amiga developers switch API and no new developers will gain interest.
While Objective-C is a great language, the Cocoa Toolkit is evolving and rivals the Java class libraries in complexity and feature creep. It is beyond the might of a single coder to maintain a compatible implementation. Furthermore a lot of the stuff that was added, when Apple bought NeXT is more demanding in terms of performance. Take UAE on MacOS: it has a significant lower frame rate than it's windows counterpart on the same machine. NeXT computers were quite snappy for business use but they were speced with a high-end 68030 at the least. And a NeXT Station did not even do double buffering in games or screensavers to avoid slow movement. Mind we are talking about 4 grey tones in 1024x1024pixels - not truecolor! I guess MUI is significantly faster than GNUSTEP on the same hardware.

If you want to build a great toolkit that will run on an Amiga 1200 you'd better code it in 68k assembly language and limit configurability to fonts and colors only. Then you can do really amazing dynamic interfaces without allocating half of your memory for stack.

 If what you need is just what you see in something like Cygnus ED, you can safely stick to the regular Boobsie Gadtools and forget about the gradients and fancy list/table-gadgets of MUI. At least I won`t miss it.

Heck, in my day  a list/table was a sequence of characters. Why do people now want a whole spreadsheet application in a window that will just list the tracks of an audio-CD?
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: amigadave on September 08, 2012, 07:03:29 AM
I haven't read all of this thread, so go ahead and shoot me if I post anything that has already been discussed.

From what little I have read, it appears that MUI is more modern (*) than Reaction or ClassAct.  Because some version of MUI is available on all, or almost all flavors of Amiga inspired platforms, or architectures, it makes more sense to use it for any programs which the author would like to port to other Amiga inspired platforms.

I am only just beginning to learn how to program on/for any flavor Amiga platform, so I am not educated about which is better and why.  It just seems to make more sense to use tools that are available on all the platforms you are interested in, common tools, so you don't have to convert your software from one set of tools to another, if/when you want to port your software from one platform to another.  If that common sense approach doesn't apply in this situation, please educate me on why this is not the case for programmers interested in writing software for AmigaOS1.x to 3.x, AmigaOS4.x, MorphOS3.x, and AROS (**).

(*) Probably both MUI and ReAction/ClassAct are outdated compared to the same type of tools used on mainstream systems.  This is just an assumption of mine, not based in any facts.

(**) I own and use all forms of the Amiga experience, and want all of them to succeed and prosper.

I am not implying that programming with Reaction or ClassAct is a bad idea, but if you have any plans to make your code portable to MorphOS in particular, where it is difficult, or much more time consuming to port a Reaction or ClassAct program and it would be so much easier to program it from the start with MUI, then I would opt for using MUI.

Now for the stumbling block that everyone outside the loop of Development Team insiders may know, but the rest of us plain Amiga, AmigaOne, AROS, & MorphOS users probably don't know.........

Why doesn't the author of MUI create, or allow a MUI4.0 version for AmigaOS4.x, or even AmigaOS3.x?  As far as I know, the last version of MUI for AmigaOS3.x is the 3.8 version, for AmigaOS4.1.5, the last, or highest version of MUI is MUI3.9, but for MorphOS3.1, MUI4.0 has been available for years.

AmigaOS4.1.5 developers want to have MUI4.0 and any versions that come after that, but the hint I got from a reliable source told me that MUI4.0 is not available for AmigaOS4.1.5 for unknown reasons.

This makes it look like some kind of political reason between the author of MUI and the management, or ownership of AmigaOS4.1.5.  I have no idea what is behind these reasons, or what the reasons are.  I don't need to know and don't want to know, but I sure would like what ever parties are preventing MUI4.0 and beyond from being spread to every Amiga and Amiga-Like platform available, to get together and work out what ever past differences they have, so Amiga programmers can use the same, latest version of MUI on any Amiga, or Amiga-Like (hate that term) system they want to use, or program for.

I know that I am sticking my neck out to get my head chopped off for bringing this subject up, and maybe I am just ignorant about something that everyone else knows about already.  Or this subject is Taboo and that is why I have never seen anyone else ask the question "Why can't we get MUI4.0 for AmigaOS4.1.5, or AmigaOS3.9, or AROS (maybe AROS has MUI4.0 and I just don't know it)?  Maybe there isn't any problem between the author of MUI and the owners, or management of AmigaOS4.x, and there is some other logical reason why we have had MUI4.0 for MorphOS for years and AmigaOS4.1.5 only has MUI3.9.

Although I do not agree with the author of MUI stopping support for AmigaOS3.x, I can understand that he might want to use his limited spare programming time on just one platform, or architecture, and if he decided to support a Next Gen PPC platform, he might wish to stop further maintenance and improvements for the 68k Amiga computers.  I don't understand why he wouldn't write MUI4.0 for both AmigaOS4.1 and MorphOS3.1, since they are both PPC Next Gen. Amiga computer platforms and are very similar in many ways.

Now let me find my flameproof suit and prepare for the attacks on my stupid questions, and/or suggestions.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: krashan on September 08, 2012, 08:14:48 AM
When we talk about AROS, it has its own MUI clone named Zune. Nothing stops AROS developers to upgrade Zune to be compatible with MUI 4, the same way nothing stopped them to make it compatible with 3.8.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: wawrzon on September 08, 2012, 10:58:28 AM
krashan, can i contact you because of remaining problem of digibooster3 beta under aros68k. perhaps yet another zune bug. id like to know what could cause that.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: wawrzon on September 08, 2012, 11:09:38 AM
Quote from: amigadave;707131


Why doesn't the author of MUI create, or allow a MUI4.0 version for AmigaOS4.x, or even AmigaOS3.x?  As far as I know, the last version of MUI for AmigaOS3.x is the 3.8 version, for AmigaOS4.1.5, the last, or highest version of MUI is MUI3.9, but for MorphOS3.1, MUI4.0 has been available for years.

AmigaOS4.1.5 developers want to have MUI4.0 and any versions that come after that, but the hint I got from a reliable source told me that MUI4.0 is not available for AmigaOS4.1.5 for unknown reasons.

This makes it look like some kind of political reason between the author of MUI and the management, or ownership of AmigaOS4.1.5.  I have no idea what is behind these reasons, or what the reasons are.  I don't need to know and don't want to know, but I sure would like what ever parties are preventing MUI4.0 and beyond from being spread to every Amiga and Amiga-Like platform available, to get together and work out what ever past differences they have, so Amiga programmers can use the same, latest version of MUI on any Amiga, or Amiga-Like (hate that term) system they want to use, or program for.

I know that I am sticking my neck out to get my head chopped off for bringing this subject up, and maybe I am just ignorant about something that everyone else knows about already.  Or this subject is Taboo and that is why I have never seen anyone else ask the question "Why can't we get MUI4.0 for AmigaOS4.1.5, or AmigaOS3.9, or AROS (maybe AROS has MUI4.0 and I just don't know it)?  Maybe there isn't any problem between the author of MUI and the owners, or management of AmigaOS4.x, and there is some other logical reason why we have had MUI4.0 for MorphOS for years and AmigaOS4.1.5 only has MUI3.9.

Although I do not agree with the author of MUI stopping support for AmigaOS3.x, I can understand that he might want to use his limited spare programming time on just one platform, or architecture, and if he decided to support a Next Gen PPC platform, he might wish to stop further maintenance and improvements for the 68k Amiga computers.  I don't understand why he wouldn't write MUI4.0 for both AmigaOS4.1 and MorphOS3.1, since they are both PPC Next Gen. Amiga computer platforms and are very similar in many ways.

Now let me find my flameproof suit and prepare for the attacks on my stupid questions, and/or suggestions.


same reason why os4 developers do not allow for fixing warp3d on 68k. luckily they have not much to offer anyway, as far as im concerned, they can keep all their code to themselves, nothing essential gets lost that way.

the only ground to have some sort of cooperation upon, beyond what parts us, is and ever was aros. it works or will soon work on almost every hardware we expect to have supported inclusive x86, 68k, ppc like sams and likely mini-macs at some point. perhaps even x1k, as some developers were willing to get one. whoever commits to aros commits to the whole. the rest everybody has to answer for himself. thats it.
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: takemehomegrandma on September 08, 2012, 12:44:06 PM
@amigadave

Back around when Amiga officially died, there were an effort made to create a new system to evolve the Amiga independently of Commodore/Escom/Gateway/Etc. The people behind this effort were many of those who made/kept Amiga really useful during the later part of its life time, by giving it PowerPC/PowerUP, retargetable graphics, retargetable audio, USB, a modern GUI environment, etc, etc, etc. Developers were hired, stuff were licensed/bought, and the result was MorphOS (and the Pegasos) which built on all the best Amiga standards and technologies available, and continued evolving from that.

When the Linux game porting company Hyperion a few years later was about to give their shot of doing the same thing, they essentially had to settle with much of the leftovers stuff that MorphOS hadn't already snatched. To remedy this, they started massive FUD campaigns against MorphOS and its technologies to rally their followers, and MUI has always been one of the targets for this. You even see examples of the results from this in this very thread (http://www.amiga.org/forums/showpost.php?p=615159&postcount=6). They (both OS4 core developers (like the Friedens) and others) have made it perfectly clear what they think about MUI over the years, there can be no misinterpretations. To put it mildly, they don't want it, they don't need it, and Reaction is so much better so *this* is what OS4 is using.

MUI was never free, money has been invested by Genesi/MorphOS into MUI development and to have it in MorphOS, it's being developed by the MorphOS team, Stefan Stuntz is considered a core MorphOS developer, MUI is tightly integrated as a central core component in MorphOS, nothing like the third party add-on it was back in the days. MUI4 is one of many clear and obvious competitive advantages of MorphOS, one of many easily perceived reasons to use MorphOS instead of OS4. Anyone persisting in using OS4 (for whatever reason) must learn to live with the limitations of the OS4 standards and technologies (after all, those technologies and standards are the reasons you choose it in the first place, right?), anyone wanting the many benefits of MorphOS should simply start using MorphOS, it's as simple as that!


@Krashan
Quote
nothing stopped them to make it compatible with 3.8.


I didn't know that it was? In full?

Edit:

I found this page: http://aros.sourceforge.net/introduction/status/zune.php
Title: Re: Reaction vs MUI (as what concerns the API)
Post by: krashan on September 08, 2012, 06:15:44 PM
@wawrzon

Sent you a PM, but I'm not sure it worked. I've got a message the PM was sent, but do not have it in "sent" folder. Simply write to krashan at teleinfo pb edu pl, or use Facebook if you find it convenient.