Amiga.org

Operating System Specific Discussions => Amiga OS => Topic started by: NinjaCyborg on March 10, 2021, 08:15:13 PM

Title: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 10, 2021, 08:15:13 PM
Like the title says, what are your Amiga annoyances that you wish would be fixed after all this time?

Mine are:

Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 11, 2021, 03:10:26 AM
Good idea for a thread! I can't think of any off the top of my head, but I'm sure some will come to me as the discussion progresses.

I agree with your points so far. One note, though:
Quote
Workbench doesn't let you tell it to always show icons for any folder that has no icons in it by default
There are some partial workarounds for this. You can snapshot a window after selecting Show All Files. Then if you copy that drawer's icon to ENVARC:sys/def_drawer.info your new drawers will be set to Show All Files by default. I think you need DefIcons for this to work, not sure about a stock 2.x/3.1 system.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 11, 2021, 08:52:33 AM
That's a good one, and even after all these years still tips to be learned. IIRC the def_drawer def_tool def_project def_trashcan icons only pre-DefIcons feature was that they'd be used as templates when new objects were created in iconedit but not by Workbench when it's trying to fill in iconless files.

Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: cgutjahr on March 11, 2021, 01:57:23 PM
Workbench as a whole is one big annoyance, IMHO. Slow, cumbersome and minimalistic - and the concept of every file having its own icon and storing default tools, positions or whole drawer layouts and settings in there introduces a ton of problems in daily use.

The other thing that always annoyed me was the lack of consistency in the UI interfaces: Some twenty years ago, I counted how many different keyboard shortcuts for answeing a simple yes/no? requester I had to remember. I came up with nine or ten different methods of answering such a requester(Amiga-V/B,Enter/Escape, TAB+Enter, "y"/"ny"...) - most working just for one or two applications, none of them working for all requesters.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 11, 2021, 02:10:49 PM
IMHO the right way to think of Workbench's DiskObjects i.e. .info files is they are equivalent to the Mac resource forks, where extended metadata about a file is stored. Yes they store icons, they also store arbitrary 'extended attributes' i.e. tooltypes.

The difference is on a Mac, the filesystem hides that abstraction for you and treats the resource fork and the data fork (i.e. the actual file) as one atom. This can be seen not only on CrossMac when reading ancient HFS disks, and today when using a FAT disk on a Mac, where the resource fork is what becomes the annoying ._ files.

But yes it would be nice if more things other than workbench were aware of their existence. Or that perhaps the filesystem could take some responsibility for ensuring they move or are deleted with their 'data forks'.

As for shortcuts and UI, it would have been nice if more apps had followed the AUISG suggestions, unfortunately it was pretty hard to get hold of a copy back in the day I recall, although I have one on my shelf. It is/was totally up to developers to choose their shortcuts so it's on each of them. Perhaps if ClassAct/Reaction had seen greater adoption or Commodore had released their own proper set of GUI controls or even just some complete examples of full features 'document' centric applications we might have all then used as a template. The best example I ever saw was Deluxe Music 2, absolutely it set the standard for how to build a font sensitive, style guide compliant, user friendly, and accessible (due to consistent use of shortcuts) document centric application. Heck, even today I can't think of another app that has a global, floating set of toolbars that crucially, can never itself be selected as the active window - something crucial for free floating 'speedbars'.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: cgutjahr on March 11, 2021, 03:20:43 PM
But yes it would be nice if more things other than workbench were aware of their existence. Or that perhaps the filesystem could take some responsibility for ensuring they move or are deleted with their 'data forks'.
One could debate if icons for executables make more or less sense than a resource fork or Linux's '.desktop' files or just storing the information in the executable file's header. But drawers, project files or media featuring their own custom icons just introduces a ton of problems:
Yeah, you could create workarounds for most of these problems. But it would be way easier to just ignore any icon not associated with an executable file, and ignore position data for executable icons. And then let the system handle all that icon business automatically.

Quote
As for shortcuts and UI, it would have been nice if more apps had followed the AUISG suggestions
Agreed, but I think the bigger problem was that people never used the official toolkit(s) because...

...in the eighties there wasn't any (to speak of)
...in the early nineties, most of your users were still on 1.x (and you didn't fancy rewriting your entire GUI)
...in the mid/late nineties, Gadtools was already outdated so everybody was coming up with extensions again
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 11, 2021, 03:21:24 PM
Workbench as a whole is one big annoyance, IMHO. Slow, cumbersome and minimalistic - and the concept of every file having its own icon and storing default tools, positions or whole drawer layouts and settings in there introduces a ton of problems in daily use.
Ah, for me the minimalism is part of the charm of Workbench. I like the total control separate icon files offer. My workflow has always been Workbench for front-end UI, DOpus4 for back-end file operations. But I agree that sometimes some automation would be helpful. Ambient has made moves in this direction, hasn’t it? You can toggle between auto arrangement and icon-defined arrangement in the global prefs. But it would be cool if you could set it at a per-drawer level. i.e., default to one and override to the other either via a drawer tooltype or by, say, holding LeftAmiga while opening a drawer. (Maybe Ambient already does this?)

Quote
The other thing that always annoyed me was the lack of consistency in the UI interfaces: Some twenty years ago, I counted how many different keyboard shortcuts for answeing a simple yes/no? requester I had to remember. I came up with nine or ten different methods of answering such a requester(Amiga-V/B,Enter/Escape, TAB+Enter, "y"/"ny"...) - most working just for one or two applications, none of them working for all requesters.
This is a good one. I thought LeftAmiga V/B was universally recognized by Intuition? I guess not. What could Commodore have done here to enforce standards? I.e., what was baked into 1990s MacOS/Windows APIs so that they didn’t have this problem?
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 11, 2021, 03:42:58 PM
Left amiga shortcuts are universal but there aren't many of them (two in fact). Right amiga shortcuts are application specific.

The comments about Workbench are good, it would be nice if you could set Workbench to (a) ignore default tool on Project icons and read it from the deficon instead, either always, or when the default tool does not exist and (b) set it to ignore the icon image of the project icon and always load the icon from the matching deficon. Only the tooltypes would be preserved which would be ignored when not relevant.

Likewise for drawer icons it would also be nice if you could put Workbench in some kind of 'smart' mode where it picked drawer size and did an auto cleanup of any/all drawers and certainly all drawers with no icons at all by default.

I'd also like it if the RX show ports command only showed ARexx aware ports, not all named ports.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: cgutjahr on March 11, 2021, 04:52:18 PM
My workflow has always been Workbench for front-end UI, DOpus4 for back-end file operations.
Sure, so was mine - and probably every other Amiga user's. But "frontend UI" basically means using WB as a program launcher - and for that little functionality, you had to spend way too much time finetuning it IMHO.

I'm not bashing WB btw. - back in the early nineties, all the desktops had tons of annoying quirks. It's just that WB never evolved, and we've been using it way past it's original expiry date.

I thought LeftAmiga V/B was universally recognized by Intuition?
No, it's an ASL thing, not intuition (IIRC - it's been a while). Meaning that any application not using ASL would usually not respect these shortcuts.

Quote
I guess not. What could Commodore have done here to enforce standards?
The original Kickstart didn't have any UI toolkit worth mentioning, due to lack of time and ressources, and probably Mical's lack of experience and research on the subject. Once you sold millions of machines with that version of the OS, you have a problem. Commodore would have had to come out with a UI toolkit addon ASAP. One that worked under 1.x and was free to install (or distribute with commercial applications). But that's probably asking too much, given Commodore's problems at the time, and the total lack of any UI experience - let alone research on the subject.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 11, 2021, 04:58:02 PM
The comments about Workbench are good, it would be nice if you could set Workbench to (a) ignore default tool on Project icons and read it from the deficon instead, either always, or when the default tool does not exist and (b) set it to ignore the icon image of the project icon and always load the icon from the matching deficon. Only the tooltypes would be preserved which would be ignored when not relevant.
I wonder if (a) could be implemented currently with a commodity. i.e., if a certain hotkey is detected in the input stream (say, Left Amiga) when double-clicking a project it'll re-parse the startup command using the DefIcon.
(b) sounds like it would be harder to implement. As a first step, it would be helpful if the Info window for projects showed both the current icon and the DefIcon and if you could drag them onto each other. i.e., replace the current icon with the DefIcon or replace/update the DefIcon with the current icon, all from a single window.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 11, 2021, 05:12:01 PM
Sure, so was mine - and probably every other Amiga user's. But "frontend UI" basically means using WB as a program launcher - and for that little functionality, you had to spend way too much time finetuning it IMHO.

I'm not bashing WB btw. - back in the early nineties, all the desktops had tons of annoying quirks. It's just that WB never evolved, and we've been using it way past it's original expiry date.
Heh. Maybe I'm like Workbench and never evolved, either. :) I never did much customization or tuning beyond the standard prefs editors and I've gotten so used to the quirks that I hardly remember them.

Quote
The original Kickstart didn't have any UI toolkit worth mentioning, due to lack of time and ressources, and probably Mical's lack of experience and research on the subject. Once you sold millions of machines with that version of the OS, you have a problem. Commodore would have had to come out with a UI toolkit addon ASAP. One that worked under 1.x and was free to install (or distribute with commercial applications). But that's probably asking too much, given Commodore's problems at the time, and the total lack of any UI experience - let alone research on the subject.
That certainly explains the lack of standardization in the 1.x era. But then we had ASL/GadTools with OS2.0. In other words, why didn't that "fix" the problem from then on? Was it too late by that point to get compliance from developers?
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 11, 2021, 05:21:57 PM
@Matt_H

There's a few reasons:
- A lot of the installed user base and a lot of the application developers themselves were US based but stuck on OS 1.3, whether EA or Newtek - and remember if you changed the UI on a pro tool like DPaint or LightWave your pro users would have to re-learn everything. Sometimes simple is best. Anecdotally version 2.0 and up was more likely to be found in UK and europe not least because the 500+ sold so well
- Gadtools was by no means a full featured 'widgets' toolkit, it's pretty bare bones in terms of what it offers, and you have to do things like dynamic font size support and dynamic layout yourself which is a chore. Although apparently there was a gadtools for 1.3 available to developers? Deluxe Music 2 might even have used it for backwards compatibility, I recall reading in a Medium post by Talin, the developer of it
- Whilst there were some options that helped fill that gap such as Olsen's gtlayout library, really only MUI and ClassAct/Reaction came close to providing what you'd get from say, MFC on Windows, and when I say close, I mean still a million miles away. MUI ran like a dog with no legs on unexpanded machines but without it we'd never have got half the software we got back then, whilst ClassAct came really late in the day, like 1997 I think it was first released by which time most developers had moved on (but there was for a while some really promising software that never shipped full versions, like Voodoo, and a news reader, and a web browser that CAldi and co promised)
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: TribbleSmasher on March 11, 2021, 05:25:22 PM
With Kickstart 2 the StyleGuide was introduced, similar to the Macintosh.
Unfortunately, it wasn't mandatory so every developer keep doing horrible things. There wasn't even a default menu struct or clipboard interface one had to use, everything was by choice so they did...
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 11, 2021, 05:30:57 PM
You've reminded me another 'annoyance' - that the clipboard could support 256 clips, but everyone just used unit 0. What would have made most sense I think is for each IFF type to be given a device number so you could always clips one of each type. Sure, at the time they might have thought that's no good, there could be more than 256 data types. In practice though you'll never have more than plain text, rich text, bitmap, vector image, 3d object, audio sample and a handful of others. Heck, check the official IFF registry there are only 37 types of which half are metadata or bitmap types.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: cgutjahr on March 11, 2021, 05:40:16 PM
Quote
That certainly explains the lack of standardization in the 1.x era. But then we had ASL/GadTools with OS2.0. In other words, why didn't that "fix" the problem from then on? Was it too late by that point to get compliance from developers?
Commodore Germany sold about 1.3 million Amigas running Kickstart 1.x (A1000, A500, most A2000s, CDTV) and some 0.2 million Amigas running 2.x (A500+, 600, later A2000s). Obviously, any sane software developer would target Kickstart 1.x.

The situation would only change later, when the A1200 showed up and most A500 users would abandon the platform for the PC.

Gadtools was by no means a full featured 'widgets' toolkit, it's pretty bare bones in terms of what it offers, and you have to do things like dynamic font size support and dynamic layout yourself which is a chore.
Sure, but we're talking 1990 here, I doubt the competition was doing any better back then?
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 11, 2021, 06:47:00 PM
Commodore Germany sold about 1.3 million Amigas running Kickstart 1.x (A1000, A500, most A2000s, CDTV) and some 0.2 million Amigas running 2.x (A500+, 600, later A2000s). Obviously, any sane software developer would target Kickstart 1.x.

The situation would only change later, when the A1200 showed up and most A500 users would abandon the platform for the PC.

Okay, and then by the time most software was being written for 2.0+ in ~1994 we had the other GUI toolkits starting to proliferate, each with their own UI conventions. And that's why the lack of standards has persisted. It makes sense to me now. :) Do I have it right?
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: kolla on March 11, 2021, 06:47:54 PM
What really sucks is when you make drawer on the root of a disk, and just happen to name it “Disk”, confusion ensues... lol

Also sucks that despite having “redraw all”, “update all” and “reset wb” as menu options, NONE of them actually resets the icons to their saved positions on Workbench desktop itself (update all only does it on open volume and drawer windows).
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: TribbleSmasher on March 13, 2021, 12:31:37 PM
I really would like to see the whole ixemul idea properly solved, or, well, discarded for good.
Whatever it seems to provide should be incorporated in one way or another into the AmigaOS environment. keeping an API emulation alive for so many years is bonkers, period.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 13, 2021, 12:44:42 PM
Ixemul provides a POSIX type environment to help with porting of complex Unix applications that need more than just a basic standard C library. On OS4 this was replaced with newlib which does much the same thing but it is much more up to date and a bit more 'Amiga-like' in it's implementation.

On OS3, there is both the 'libnix' option, which is a static library that does much of what ixemul does, except the latter does it as a shared library so in theory you only need one instance of it in memory, whereas if you use libnix you'll carry some of that weight with you in your own binary (though the linker only adds what you actually use). In practice, memory is cheap now and I'd like to think anyone using Amiga for anything serious, including serious hobby, has at least 6MB RAM if not a lot more. There's also clib2 which is a much expanded standard C library (much more than the old c.lib you got with SAS/C for example) that also goes a long way towards giving you POSIX compatibility.

On OS4 there's the also the most extreme option, AmiCygnix which, like it's inspiration Cygwin, attempts to give you the baseline part of a complete Linux distribution.

VBCC also has a POSIX link library which again covers a lot more than just the baseline C library. Indeed, I'm looking at using that to complete an up to date Python port. But I'm hoping for a decent SDK release for OS3.2.

In short, you can port a lot of non-GUI Unix/Linux software to Amiga these days relatively easily, but of course you'll find a lot of the recent stuff needs far more RAM and processing power than a classic Amiga can provide. And you need a more recent build of GCC too. Finally as always, the lack of Unix fork() creates issues.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: TribbleSmasher on March 13, 2021, 01:24:28 PM
So what are the most used posix/ixemul calls that needed to be implemented?
1. fork()
...

Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 13, 2021, 01:32:52 PM
It's more than just the C library, full POSIX compliance dictates shell (command line) behaviour, security model, filesystem conventions, and a baseline set of command line tools. The shell conventions and filesystem can be mostly emulated. The security model can be ignored if you don't care about security. But it's not a small amount of work. But as I said, most of that work has been done, at least for OS4, and you can get by on OS3, I just wish there was a standard SDK baseline we were all using, as collaborating is a pain when everyone has slightly different setups for their toolchain.

fork() is not simple to emulate either if you don't have a Unix-like kernel, and compatible hardware, to begin with. Even Cygwin has to jump through hoops to implement fork(). fork is the tool of lazy developers though too. Dependency on fork is why Apache Web Server is inferior to Nginx for example.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: TribbleSmasher on March 13, 2021, 02:21:09 PM
Is it advised still to persue posix compatibility with AmigaOS just for the sake of faster ports of some nonGUI tools? This ixemul was obviously meant to be a temporarily solution, but seems to stick and i don't like it, it is a sinkhole.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 13, 2021, 03:18:09 PM
Back in the early 90s, Amiga was the only mainstream platform with half decent POSIX compatibility that wasn't itself a Unix. This was of course pre- NextSTEP, pre-Windows NT kernel with unix services, pre-BeOS and pre Linux being anything more than a student project.

I attribute this to two things: the Amiga OS developers taking some inspiration from Unix (and the notorious Unix haters handbook I reckon), and more especially, the geekgadgets work. I'm not sure who even did that work, ixemul and friends seem to have just appeared out of thin air. I'm sure someone else will post with more information about that. I, like you, always found GeekGadgets to be a bit too 'un Amiga' like but the fact is it was necessary for some of the more advanced software we got especially in the absence of a more full featured standard C library.

I believe MorphOS has made it a core part of the platform, rather than going down the OS4 path of integrating newlib, which has turned out I think to be the better solution.

[Edit] - well I did some research and apparently Fred Fish was behind it, and in his day job he also worked on the early GDB which explains his familiarity with the GNU suite of software that it was built on, and he worked at Cygnus i.e. he was part of the Cygwin team. Remember, GNU on its own is the layer of common tools that sits on top of the Linux kernel, to make a mostly POSIX compatible complete Linux operating system. RIP Fred. And look at that photo https://en.wikipedia.org/wiki/Fred_Fish - Matt Dillon (DICE C compiler and lots of other stuff), Oliver Wagner (Voyager and all those other MUI internet tools).
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 13, 2021, 05:02:59 PM
Given that ixemul on 68K has fragmented into so many non-compatible implementations now, I think static/compiler-side linking is the way to go for the future. As said above, memory is cheap now.

And I’ve said this ever since they were introduced, but I think OS4 has its own problems with the SObjs: implementation. With softlinks/hardlinks and different versions of a given SObj mutually incompatible with each other (and none of them have $VER strings), it’s creating dependency hell on AmigaOS. As a user, it feels like it provides zero benefits but lots of headaches. Yes, there’s a convenience factor for developers for porting from *nix, but I’d rather this was handled statically as an improvement to the SDK.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 13, 2021, 05:23:13 PM
Yeah SObjs is bad enough on Linux where it somehow originated as a way to share small amounts of resident code by forcing the MMU to do loads of unnecessary extra work. So much for Torvalds obsession with efficiency. In practice as you say it leads to DLL hell, worse even than on windows where everybody long ago gave up and just keeps their DLLs in their own directory. Releasing things as SObjs in theory incentivises developers to do interface management. In practice they don't. The only advantage it brings to OS4 is making it slightly easier to port code that's structured that way. But if you're going to use it you best put the versions you need in your own application specific PROGDIR:SObjs drawer.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: nyteschayde on March 13, 2021, 07:04:46 PM
Fonts!

The severe lack of fonts. All the tools to get truetype fonts to work are all kludges. The closest to best is using AFAOS, which doesn't always work, but when it does, it adds support for anti-aliasing which makes a huge difference with larger screen resolutions and RTG.

My dream is that 3.2 would support truetype fonts out the door.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Gulliver on March 13, 2021, 08:11:29 PM
Fonts!

The severe lack of fonts. All the tools to get truetype fonts to work are all kludges. The closest to best is using AFAOS, which doesn't always work, but when it does, it adds support for anti-aliasing which makes a huge difference with larger screen resolutions and RTG.

My dream is that 3.2 would support truetype fonts out the door.

Unfortunately, truetype was not planned for 3.2.

However, I reiterate the invitaion to join us, and maybe then you can help us accomplish that for AmigaOS 3.3.

Think about it.  ;)
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 13, 2021, 09:55:49 PM
But if you're going to use it you best put the versions you need in your own application specific PROGDIR:SObjs drawer.

While I hope that the OS4 roadmap calls for phasing out SObjs entirely at some point, this is a great interim/medium-term solution. I admire the OS4 devs' desire to make *nix code more portable, but I think that effort would be better spent on build systems and development libraries rather than new runtime paradigms for users.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: NinjaCyborg on March 13, 2021, 10:05:04 PM
Fonts! Oh a huge annoyance for the longest time was the difficulty of making font aware user interfaces. Thanks be for Reaction and those who did the work in 3.9 and now 3.2 to reimplement everything using it. That's one annoyance that can be crossed off the list.

But I know what @nyteschayde means. Steve Jobs was famously as picky about fonts and font rendering as he was about rounded corners and that's one area where classic MacOS undeniably beat us back in the day. Both the default choice of fonts and the font engine leave a lot to be desired. Praise be also for the freetype2 port.

I'd also settle for a redesign of topaz 8 that is easier on the eye but which has all the same glyph dimensions.

Even OS4 comes with some pretty iffy fonts from the limited pool of fonts that were totally free in 2005. Let's hope the next version leverages some of the nice free for all uses fonts Google has been spitting out in recent years.
Title: Re: What are your top AmigaOS annoyances that you'd like to see addressed?
Post by: Matt_H on March 14, 2021, 01:10:05 AM
OS4 has made some progress on fonts by unifying all (most?) outline font types under a single TypeManager/Intellifont/Fountain-like program. On OS3 we still need separate font install utils for TTF, PostScript, Intellifont, etc. So step 1 would be bringing a similar unified utility to OS3.

Step 2 would be  better font family detection across the board. I'd like to see ASL font requesters display, e.g., just Arial and not all of Arial, Arial Bold, Arial Italic, Arial Bold Italic, etc. The subtype should be selectable from another gadget in the requester. And if I have a font and I set it to be italic I want the system to automatically use the italic variety of that font, not apply some algorithmic distortion to it.

Step 3 would be the ability to drop some .ttf or .otf files into Fonts: and have them just work - without having to "install" them.