surely the hardware 'platform' shouldn't be such an issue - there are literally hundreds of android platforms out there, but applications written to use Android can run on the vast majority of them. I suspect probably because to write for android you must use a specific set of calls encapsulated in development kit.

With Qdos (and probably smsq - I don't really know it well enough), there are a set of standard calls that should be used to program too. If these are used, then a program should be quite portable to all hardware platforms that support that set of calls. E.g. Various Sinclair ROM versions, Minerva versions, ARGOS, and the various hardware booster cards - Aurora, Gold Card, Super Gold Card, and the various storage offerings. Seems to me that programs like the Psion suite run quite happily on all these and on the emulators too.

If you write a program that needs higher than the 2 standard QL resolutions, then it won't run on an awful lot of stuff. I see there are really only 2 platforms.

Those that mimic a QL at the trap / vector and screen level, and those that don't

When you write for android, you tell the development system which target version of android you wish to, ahem, target. The lower the target version, the fewer facilities are available. The higher the target version, the fewer actual devices there are to use your software. Old phones or tablets suddenly stop getting android updates, so they lag behind. I expect IOS for Apple to be the same but I don't 'do' Apple kit so I don't know.

I looked into Android developnent some time back, didn't get on with it and I'm not all that keen on Java!

Why do they put lightning conductors on churches?If at first you don't succeed, don't take up skydiving!If you think your job is pointless, remember, there's someone in Germany who fits indicators to BMWs.

The "hardware" is normally what limits capability: Speed, resolution, colour depth, sound, etc. Usually this cant be changed. The OS interfaces between the hardware and software. There are fundamentally only two different OSes, QDOS and SMSQ/E. To a large degree SMSQ/E is backwardly compatible with QDOS. However, only SMSQ/E caters for capabilities not found on the original BBQL. In practise, there are numerous different platforms, all with varying capabilities. In most cases, when software is written, we are targeting a level of capability, not a particular platform. To ensure that such programs are viable across the majority of platforms actually capable of running such a program, it would be ideal to have some sort of standard. In the case where a program requires specific capabilities which are only available on a single platform, then of course, only that platform can be used. Fair game. No problem. For the rest, it makes sense that a program will run on as many systems as possible! As I wrote at the beginning of this thread:

The nub of what Im trying to achieve is COMPATIBILITY. One dimension ofthis is CAPABILITY. This is a dimension where we may deliberatelychoose to sacrifice compatibility for the sake of improved efficiency,functionality, ease of use, presentation, etc. But at the same level ofcapability it would be "nice" if we could work together to achieve thehighest possible degree of compatibility.